:root {
  --petrol: #164e5a;
  --petrol-deep: #123f49;
  --petrol-soft: #2f6f78;
  --sand: #c8a86b;
  --sand-soft: #efe2c3;
  --canvas: #f5f3ee;
  --surface-warm: #fffdfa;
  --navy: var(--petrol-deep);
  --navy-2: var(--petrol);
  --ink: #263433;
  --muted: #6d7773;
  --line: #e3ded3;
  --bg: var(--canvas);
  --surface: var(--surface-warm);
  --accent: var(--sand);
  --success: #2d725c;
  --danger: #a84a4f;
  --warning-bg: #fbf4e4;
  --shadow: 0 18px 44px rgba(24, 56, 60, .09);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--ink); }
button, input { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }
.eyebrow { margin: 0 0 .45rem; font-size: .72rem; letter-spacing: .12em; font-weight: 800; color: var(--navy-2); }
.muted { color: var(--muted); }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: 1.15fr .85fr; background: var(--surface); }
.login-brand { padding: clamp(2.5rem, 7vw, 7rem); background: linear-gradient(145deg, #10283e 0%, #214e6d 70%, #2d637d 100%); color: white; display: flex; flex-direction: column; justify-content: center; gap: 1.6rem; position: relative; overflow: hidden; }
.login-brand::after { content: ""; position: absolute; width: 35rem; height: 35rem; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; right: -15rem; bottom: -15rem; box-shadow: 0 0 0 4rem rgba(255,255,255,.025), 0 0 0 8rem rgba(255,255,255,.018); }
.brand-mark { width: 72px; height: 72px; border-radius: 20px; display: grid; place-items: center; background: var(--accent); color: #1c2b36; font: 900 2.2rem Georgia, serif; box-shadow: 0 10px 25px rgba(0,0,0,.18); }
.brand-mark.small { width: 42px; height: 42px; border-radius: 12px; font-size: 1.3rem; box-shadow: none; flex: 0 0 auto; }
.login-brand .eyebrow { color: #d9e8f2; }
.login-brand h1 { margin: 0; font-family: Georgia, serif; font-size: clamp(2.5rem, 5.2vw, 5.3rem); line-height: .98; max-width: 8ch; }
.brand-copy { max-width: 30rem; font-size: 1.08rem; color: #dce8ef; line-height: 1.6; }
.feature-chips { display: flex; flex-wrap: wrap; gap: .7rem; z-index: 1; }
.feature-chips span { padding: .65rem .9rem; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; background: rgba(255,255,255,.07); }
.login-panel { display: grid; place-items: center; padding: 2rem; }
.login-card { width: min(100%, 420px); }
.login-card h2 { font-size: 2rem; margin: 0 0 .45rem; }
.login-card label { display: block; font-weight: 750; margin: 1.1rem 0 .45rem; }
.login-card input { width: 100%; border: 1px solid #cdd9e1; border-radius: 12px; padding: .9rem 1rem; background: #fbfcfd; outline: none; transition: .18s; }
.login-card input:focus { border-color: var(--navy-2); box-shadow: 0 0 0 4px rgba(36,77,109,.1); background: white; }
.password-row { display: flex; gap: .5rem; }
.password-row input { flex: 1; }
.icon-button { width: 48px; border: 1px solid #cdd9e1; border-radius: 12px; background: #fff; color: var(--navy); }
.primary-button { width: 100%; border: 0; border-radius: 12px; padding: .95rem 1rem; margin-top: 1.4rem; background: var(--navy); color: white; font-weight: 800; box-shadow: 0 8px 18px rgba(23,50,77,.18); }
.primary-button:hover { background: #214866; }
.primary-button:disabled { opacity: .58; cursor: wait; }
.link-button { width: 100%; border: 0; background: transparent; color: var(--navy-2); font-weight: 700; padding: .9rem; }
.form-error { color: var(--danger); min-height: 1.25rem; font-size: .9rem; margin: .35rem 0 0; }
.mobile-logo { display: none; align-items: center; gap: .75rem; margin-bottom: 2rem; color: var(--navy); }
.loading-view { min-height: 100vh; display: grid; place-items: center; align-content: center; gap: 1rem; }
.spinner { width: 42px; height: 42px; border-radius: 50%; border: 4px solid #d7e3ea; border-top-color: var(--navy); animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 254px 1fr; }
.sidebar { position: sticky; top: 0; height: 100vh; background: #122b40; color: white; padding: 1.2rem .85rem; display: flex; flex-direction: column; z-index: 30; }
.sidebar-brand { display: flex; align-items: center; gap: .75rem; padding: .2rem .5rem 1.2rem; }
.sidebar-brand span:last-child { display: flex; flex-direction: column; line-height: 1.05; }
.sidebar-brand small { color: #aac1d2; margin-top: .2rem; }
.main-nav { display: flex; flex-direction: column; gap: .25rem; overflow: auto; padding-right: .15rem; }
.nav-item { width: 100%; border: 0; background: transparent; color: #d8e4ec; display: flex; align-items: center; gap: .8rem; text-align: left; padding: .78rem .8rem; border-radius: 10px; font-weight: 650; }
.nav-item:hover, .nav-item.active { background: rgba(255,255,255,.10); color: white; }
.nav-item[disabled] { opacity: .44; cursor: not-allowed; }
.nav-item .nav-icon { width: 1.25rem; text-align: center; }
.sidebar-footer { margin-top: auto; border-top: 1px solid rgba(255,255,255,.1); padding-top: .8rem; }
.logout { color: #ffd9dc; }
.app-main { min-width: 0; }
.topbar { min-height: 82px; background: var(--surface); border-bottom: 1px solid var(--line); padding: .95rem clamp(1rem, 3vw, 2.2rem); display: flex; align-items: center; gap: 1rem; position: sticky; top: 0; z-index: 20; }
.topbar h2 { margin: 0; font-size: 1.35rem; }
.topbar .eyebrow { margin-bottom: .2rem; }
.menu-button { display: none; border: 1px solid var(--line); background: white; width: 44px; height: 44px; border-radius: 10px; }
.profile-pill { margin-left: auto; display: flex; align-items: center; gap: .7rem; }
.avatar { width: 42px; height: 42px; border-radius: 50%; background: #e5edf2; color: var(--navy); display: grid; place-items: center; font-weight: 900; }
.profile-copy { display: flex; flex-direction: column; font-size: .88rem; }
.profile-copy span { color: var(--muted); font-size: .78rem; }
.content { padding: clamp(1rem, 3vw, 2.3rem); max-width: 1500px; margin: 0 auto; outline: none; }
.welcome-card { background: linear-gradient(120deg, #fff 0%, #f9fbfc 100%); border: 1px solid var(--line); border-radius: 18px; padding: 1.5rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; box-shadow: 0 8px 24px rgba(23,50,77,.05); }
.welcome-card h3 { margin: 0; font-size: 1.65rem; }
.welcome-card p:last-child { margin-bottom: 0; color: var(--muted); }
.access-badge { border-radius: 999px; padding: .55rem .8rem; background: #e8f2ed; color: var(--success); font-size: .78rem; font-weight: 900; letter-spacing: .06em; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 1.2rem 0; }
.stat-card { background: white; border: 1px solid var(--line); border-radius: 16px; padding: 1.2rem; min-width: 0; }
.stat-card span { color: var(--muted); font-size: .86rem; }
.stat-card strong { display: block; margin-top: .5rem; font-size: 1.8rem; color: var(--navy); }
.section-block { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 1.3rem; margin-top: 1rem; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.section-heading h3 { margin: 0; }
.quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.quick-card { border: 1px solid var(--line); background: #fbfcfd; border-radius: 14px; padding: 1rem; text-align: left; transition: .18s; min-height: 110px; }
.quick-card:hover:not(:disabled) { transform: translateY(-2px); border-color: #b4c7d5; box-shadow: 0 8px 20px rgba(23,50,77,.08); }
.quick-card:disabled { opacity: .5; cursor: not-allowed; }
.quick-card .quick-icon { font-size: 1.5rem; display: block; margin-bottom: .8rem; }
.quick-card strong { display: block; }
.quick-card small { display: block; color: var(--muted); margin-top: .25rem; line-height: 1.35; }
.catalog-alert { margin-top: 1rem; padding: 1rem 1.1rem; border-radius: 14px; background: var(--warning-bg); border: 1px solid #ecd79b; color: #67531a; }
.panel-card { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 1.3rem; }
.empty-state { text-align: center; padding: 3.5rem 1rem; }
.empty-icon { font-size: 2.5rem; }
.toast-region { position: fixed; right: 1rem; bottom: 1rem; z-index: 100; display: grid; gap: .5rem; max-width: min(380px, calc(100vw - 2rem)); }
.toast { background: #122b40; color: white; padding: .85rem 1rem; border-radius: 12px; box-shadow: var(--shadow); }
.toast.error { background: var(--danger); }
.toast.success { background: var(--success); }

@media (max-width: 1050px) {
  .stats-grid, .quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .login-shell { grid-template-columns: 1fr; }
  .login-brand { display: none; }
  .login-panel { min-height: 100vh; }
  .mobile-logo { display: flex; }
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; left: -280px; width: 254px; transition: .22s ease; box-shadow: var(--shadow); }
  .sidebar.open { left: 0; }
  .menu-button { display: grid; place-items: center; }
}
@media (max-width: 560px) {
  .login-panel { padding: 1.25rem; }
  .stats-grid, .quick-grid { grid-template-columns: 1fr; }
  .profile-copy { display: none; }
  .welcome-card { align-items: flex-start; flex-direction: column; }
  .topbar { min-height: 72px; }
  .content { padding: 1rem; }
}
.search-form { display: flex; gap: .55rem; min-width: min(100%, 430px); }
.search-form input, .stack-form input { width: 100%; border: 1px solid #cdd9e1; border-radius: 10px; padding: .78rem .9rem; background: #fbfcfd; outline: none; }
.search-form input:focus, .stack-form input:focus { border-color: var(--navy-2); box-shadow: 0 0 0 3px rgba(36,77,109,.09); background: white; }
.secondary-button { border: 1px solid #bdcbd5; background: white; color: var(--navy); border-radius: 10px; padding: .72rem .9rem; font-weight: 750; white-space: nowrap; }
.secondary-button:hover { background: #f3f7f9; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.data-table { width: 100%; border-collapse: collapse; min-width: 720px; }
.data-table th, .data-table td { padding: .85rem .9rem; text-align: left; border-bottom: 1px solid var(--line); vertical-align: middle; }
.data-table th { background: #f5f8fa; color: #506372; font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fbfdfe; }
.table-loading, .empty-inline, .inline-error { padding: 2rem; text-align: center; color: var(--muted); }
.inline-error { color: var(--danger); }
.status-pill { display: inline-flex; padding: .32rem .55rem; border-radius: 999px; background: #eef2f5; font-size: .7rem; font-weight: 850; letter-spacing: .04em; }
.status-pill.student { color: #1f5f91; background: #e9f3fa; }
.status-pill.staff { color: #6b4b12; background: #fff3d6; }
.status-pill.ok { color: var(--success); background: #e8f5ef; }
.status-pill.off { color: #687887; }
.status-pill.late { color: var(--danger); background: #fdecef; }
.scanner-note { margin-bottom: 1rem; padding: .9rem 1rem; border: 1px solid #b9d5e3; border-radius: 12px; background: #eef7fb; color: #2b5368; }
.circulation-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.operation-card h3 { margin-top: 0; }
.stack-form { display: grid; gap: .55rem; }
.stack-form label { font-weight: 740; margin-top: .4rem; }
.primary-button.compact { margin-top: .8rem; width: auto; justify-self: start; min-width: 190px; }
.form-feedback { min-height: 1.2rem; margin: .5rem 0 0; color: var(--muted); font-size: .9rem; }
.form-feedback.success { color: var(--success); }
.form-feedback.error { color: var(--danger); }
.recent-loans { margin-top: 1rem; }
@media (max-width: 850px) {
  .circulation-grid { grid-template-columns: 1fr; }
  .responsive-heading { align-items: stretch; flex-direction: column; }
  .search-form { min-width: 0; width: 100%; }
}
@media (max-width: 520px) {
  .search-form { flex-direction: column; }
  .primary-button.compact { width: 100%; }
}

/* Importação de acervo */
.import-hero { display: flex; justify-content: space-between; gap: 1.25rem; align-items: flex-start; margin-bottom: 1rem; }
.import-hero h3, .import-card h3 { margin: 0; }
.permission-note { max-width: 360px; padding: .9rem 1rem; border-radius: 12px; background: #fff7df; border: 1px solid #ead79c; color: #66531d; display: grid; gap: .25rem; }
.permission-note.ok { background: #eaf6ef; border-color: #b8dec8; color: #256444; }
.permission-note span { font-size: .84rem; line-height: 1.4; }
.import-card { margin-top: 1rem; }
.file-drop { min-height: 150px; border: 2px dashed #b9cad5; border-radius: 16px; background: #f9fbfc; display: grid; place-items: center; align-content: center; gap: .35rem; text-align: center; padding: 1.25rem; cursor: pointer; }
.file-drop:hover { border-color: var(--navy-2); background: #f4f8fa; }
.file-drop input { position: absolute; opacity: 0; pointer-events: none; }
.file-drop-icon { font-size: 2rem; color: var(--navy-2); }
.file-drop small { color: var(--muted); }
.import-file-info { margin-top: .8rem; padding: .8rem 1rem; background: #eef5f8; border-radius: 10px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; }
.mapping-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .7rem; margin-bottom: 1rem; }
.mapping-item { border: 1px solid var(--line); border-radius: 10px; padding: .75rem; background: #fbfcfd; min-width: 0; }
.mapping-item span { display: block; color: var(--muted); font-size: .72rem; margin-bottom: .25rem; text-transform: uppercase; letter-spacing: .03em; }
.mapping-item strong { display: block; overflow: hidden; text-overflow: ellipsis; }
.mapping-item select { width: 100%; min-width: 0; border: 1px solid #c9d5dd; border-radius: 8px; background: white; color: var(--navy); padding: .58rem .65rem; font: inherit; font-size: .86rem; outline: none; }
.mapping-item select:focus { border-color: var(--navy-2); box-shadow: 0 0 0 3px rgba(36,77,109,.09); }
.mapping-missing { color: var(--danger) !important; text-transform: none !important; letter-spacing: 0 !important; }
.import-preview-shell { min-width: 0; }
.import-preview-list { display: grid; gap: .75rem; }
.import-preview-row { border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: .9rem 1rem; min-width: 0; }
.preview-title { display: grid; gap: .22rem; padding-bottom: .7rem; border-bottom: 1px solid var(--line); }
.preview-title span { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; font-weight: 800; }
.preview-title strong { color: var(--navy); font-size: 1rem; overflow-wrap: anywhere; }
.preview-fields { margin: .75rem 0 0; display: grid; grid-template-columns: 1.5fr .8fr 1fr .7fr 1fr; gap: .7rem; }
.preview-fields div { min-width: 0; }
.preview-fields dt { color: var(--muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .2rem; }
.preview-fields dd { margin: 0; color: #243746; overflow-wrap: anywhere; }
.import-progress-wrap { margin-top: 1rem; }
.progress-track { height: 12px; background: #e5edf2; border-radius: 999px; overflow: hidden; }
.progress-bar { width: 0; height: 100%; background: var(--navy-2); border-radius: inherit; transition: width .18s ease; }
.import-stats { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: .7rem; margin-bottom: 1rem; }
.mini-stat { border: 1px solid var(--line); border-radius: 12px; padding: .9rem; background: #fbfcfd; }
.mini-stat span { display: block; color: var(--muted); font-size: .75rem; }
.mini-stat strong { display: block; margin-top: .35rem; font-size: 1.25rem; color: var(--navy); }
@media (max-width: 1050px) { .mapping-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .import-stats { grid-template-columns: repeat(3,minmax(0,1fr)); } .preview-fields { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 720px) { .import-hero { flex-direction: column; } .permission-note { max-width: none; width: 100%; } .mapping-grid, .import-stats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { .mapping-grid, .import-stats, .preview-fields { grid-template-columns: 1fr; } }

.preview-warning {
  display: inline-flex;
  width: fit-content;
  margin-top: .35rem;
  padding: .25rem .55rem;
  border-radius: 999px;
  background: #fff4d8;
  color: #7a5300;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.25;
}

/* Importação do acervo — piloto v10 */
.import-result-actions { display: flex; align-items: center; justify-content: flex-end; gap: .65rem; flex-wrap: wrap; }
.secondary-button.compact-row { padding: .55rem .7rem; font-size: .8rem; }
.permission-inline, .completion-note { display: inline-flex; align-items: center; min-height: 42px; padding: .65rem .8rem; border-radius: 10px; font-size: .82rem; font-weight: 750; }
.permission-inline { background: #fff7df; border: 1px solid #ead79c; color: #66531d; }
.completion-note { background: #eaf6ef; border: 1px solid #b8dec8; color: #256444; }
.issues-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin: 1rem 0 .65rem; }
.issues-heading span { color: var(--muted); font-size: .78rem; }
@media (max-width: 720px) {
  .import-result-actions { width: 100%; justify-content: stretch; }
  .import-result-actions .primary-button.compact, .permission-inline, .completion-note { width: 100%; justify-content: center; }
  .issues-heading { align-items: flex-start; flex-direction: column; }
}

/* Acervo — piloto v12 */
.acervo-search-meta { min-height: 1.5rem; color: var(--muted); font-size: .86rem; margin: -.35rem 0 .7rem; }
.acervo-pagination { display: flex; align-items: center; justify-content: flex-end; gap: .8rem; padding-top: .85rem; color: var(--muted); font-size: .86rem; }
.compact-button { padding: .52rem .7rem; font-size: .82rem; }
.compact-button:disabled { opacity: .45; cursor: not-allowed; }
.acervo-table { min-width: 1080px; }
.acervo-table td:nth-child(5) { text-align: center; }
.acervo-detail { margin-top: 1.2rem; border: 1px solid var(--line); border-radius: 14px; padding: 1rem; background: #fbfcfd; }
.acervo-detail-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: .85rem; }
.acervo-detail-heading h3 { margin: 0; }
.acervo-detail-heading .muted { margin-bottom: 0; }
.exemplares-table { min-width: 900px; background: white; }
@media (max-width: 700px) {
  .acervo-pagination { justify-content: space-between; }
  .acervo-detail-heading { flex-direction: column; }
}

/* Usuários — piloto v13 */
.users-heading { align-items: flex-start; }
.users-actions { display: flex; align-items: center; justify-content: flex-end; gap: .6rem; flex-wrap: wrap; }
.users-search-form { margin-bottom: 1rem; }
.users-table { min-width: 1050px; }
.users-table code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .82rem; }
.cell-note { display: block; margin-top: .25rem; color: var(--muted); font-size: .72rem; }
.row-actions { display: flex; gap: .45rem; flex-wrap: wrap; }

.app-dialog { width: min(760px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); overflow: auto; border: 0; border-radius: 18px; padding: 0; box-shadow: 0 24px 70px rgba(18,37,52,.28); color: inherit; }
.app-dialog::backdrop { background: rgba(14,29,40,.52); backdrop-filter: blur(2px); }
.dialog-form { padding: 1.25rem; }
.dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.dialog-heading h3 { margin: 0; }
.icon-button { width: 38px; height: 38px; border-radius: 999px; border: 1px solid var(--line); background: white; color: var(--navy); font-size: 1.35rem; line-height: 1; cursor: pointer; }
.icon-button:hover { background: #f3f7f9; }
.form-grid { display: grid; gap: .9rem; }
.form-grid.two-columns { grid-template-columns: repeat(2, minmax(0,1fr)); }
.form-grid label, .excel-picker { display: grid; gap: .38rem; font-weight: 760; color: #344c5d; }
.form-grid label small { color: var(--muted); font-weight: 500; }
.form-grid input, .form-grid select, .excel-picker input { width: 100%; border: 1px solid #cdd9e1; border-radius: 10px; padding: .78rem .9rem; background: #fbfcfd; color: #1f3443; font: inherit; outline: none; }
.form-grid input:focus, .form-grid select:focus, .excel-picker input:focus { border-color: var(--navy-2); box-shadow: 0 0 0 3px rgba(36,77,109,.09); background: white; }
.check-row { display: flex; align-items: center; gap: .55rem; margin-top: 1rem; font-weight: 750; }
.check-row input { width: 18px; height: 18px; }
.form-hint { margin: .8rem 0 0; padding: .75rem .85rem; border-radius: 10px; background: #eef6fa; color: #355a70; font-size: .85rem; }
.dialog-actions { display: flex; justify-content: flex-end; gap: .65rem; margin-top: 1rem; flex-wrap: wrap; }
.import-users-dialog { width: min(820px, calc(100vw - 2rem)); }
.excel-picker { margin: 1rem 0; padding: 1rem; border: 1px dashed #b9cad5; border-radius: 12px; background: #f9fbfc; }
.import-users-summary { padding: .85rem 1rem; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfd; color: #435968; }
.import-user-errors { margin-top: .8rem; padding: .85rem 1rem; border: 1px solid #ebc5cb; border-radius: 10px; background: #fff5f6; color: #7b2d39; }
.import-user-errors ul { margin: .55rem 0 0; padding-left: 1.2rem; }
.import-user-errors li { margin: .25rem 0; }
.import-user-errors small { display: block; margin-top: .55rem; }
@media (max-width: 760px) {
  .users-actions { width: 100%; justify-content: stretch; }
  .users-actions > button { flex: 1 1 180px; }
  .form-grid.two-columns { grid-template-columns: 1fr; }
  .dialog-actions > button { flex: 1 1 160px; }
}
@media (max-width: 520px) {
  .app-dialog { width: calc(100vw - 1rem); max-height: calc(100vh - 1rem); }
  .dialog-form { padding: 1rem; }
  .users-actions { display: grid; grid-template-columns: 1fr; }
  .users-actions > button, .dialog-actions > button { width: 100%; }
  .dialog-actions { display: grid; grid-template-columns: 1fr; }
}

/* V14 — Carteirinhas e Etiquetas */
.cards-module .table-wrap,.labels-module .table-wrap{margin-top:1rem}
.card-dialog{width:min(980px,94vw)}
.library-card-preview{display:grid;grid-template-columns:150px minmax(220px,1fr) 230px;gap:20px;align-items:center;background:linear-gradient(135deg,#f9fbfc,#eef5f8);border:1px solid #cbd9e2;border-radius:20px;padding:22px;min-height:230px;box-shadow:0 16px 34px rgba(15,45,66,.08)}
.card-photo-wrap{width:140px;height:170px;border-radius:16px;overflow:hidden;border:1px solid #c9d5dd;background:#fff}
.card-photo,.card-photo-placeholder{width:100%;height:100%;object-fit:cover}.card-photo-placeholder{display:grid;place-items:center;background:#e8eff3;color:#163a55;font-size:54px;font-weight:800}
.card-brand{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#17405f}.card-main h4{font-size:1.45rem;margin:.35rem 0 .55rem;color:#152c3e}.card-main p{margin:.35rem 0;color:#496273}.card-code-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;color:#172f43!important}
.card-codes{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.card-codes canvas:first-child{width:130px!important;height:130px!important}.card-codes canvas:last-child{max-width:220px;width:100%!important;height:auto!important;background:#fff}
.card-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;border-top:1px solid #d5e0e7;padding-top:10px;color:#607381;font-size:.86rem}
.photo-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.danger-soft{color:#8d2730;border-color:#e2bcc0}.camera-panel{margin-top:14px;border:1px solid #d6e0e6;border-radius:16px;padding:14px;background:#0f2636}.camera-panel video{width:min(520px,100%);aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block;margin:auto;background:#000}.camera-actions{display:flex;justify-content:center;gap:10px;margin-top:12px}.card-dialog-actions{flex-wrap:wrap}
.label-dialog{width:min(920px,94vw)}.label-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start}.internal-label-preview,.spine-label-preview{border:1px dashed #8c9ba7;background:#fff;padding:22px;border-radius:14px}.internal-label-preview{min-height:250px}.label-kicker{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#49677c;margin-bottom:10px}.internal-label-preview h4{margin:0 0 10px;font-size:1.1rem}.internal-label-preview p{margin:7px 0}.internal-label-preview canvas{display:block;max-width:360px;width:100%!important;height:auto!important;margin:18px auto 0}.spine-label-preview{min-height:250px;display:flex;flex-direction:column;justify-content:center}.spine-position-options{border:0;padding:0;margin:0 0 14px;display:flex;gap:14px;flex-wrap:wrap}.spine-position-options legend{font-size:.78rem;font-weight:800;color:#405c70;margin-bottom:7px}.spine-position-options label{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;color:#334d60}.spine-label-layout{display:grid;grid-template-columns:minmax(74px,30%) 1fr;gap:12px;align-items:center;width:100%;min-height:100px}.spine-label-layout.spine-barcode-right .spine-text{order:1}.spine-label-layout.spine-barcode-right .spine-barcode-wrap{order:2;justify-content:flex-end}.spine-label-layout.spine-barcode-left .spine-barcode-wrap{order:1;justify-content:flex-start}.spine-label-layout.spine-barcode-left .spine-text{order:2}.spine-label-preview #spine-lines{font-size:1.25rem;font-weight:800;line-height:1.3;text-align:center}.spine-author-prefix{font-size:1.05rem;margin-top:4px}.spine-barcode-wrap{display:flex;align-items:center;min-width:0}.spine-barcode-wrap canvas{display:block;max-width:205px;width:100%!important;height:auto!important;background:#fff}
@media(max-width:820px){.library-card-preview{grid-template-columns:110px 1fr}.card-photo-wrap{width:105px;height:135px}.card-codes{grid-column:1/-1;flex-direction:row;justify-content:center;flex-wrap:wrap}.card-codes canvas:first-child{width:105px!important;height:105px!important}.label-preview-grid{grid-template-columns:1fr}.spine-label-preview{min-height:180px}.spine-label-layout{grid-template-columns:minmax(74px,30%) 1fr}}
@media(max-width:560px){.library-card-preview{display:block}.card-photo-wrap{margin:0 auto 14px}.card-main{text-align:center}.card-codes{margin-top:16px}.card-footer{margin-top:16px;flex-direction:column;text-align:center}.photo-actions>*{flex:1 1 140px}}

/* V15 - Relatórios e configurações */
.report-tabs{display:flex;gap:.55rem;flex-wrap:wrap;margin:1rem 0 1.2rem}.report-tab{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:.65rem 1rem;font-weight:800;cursor:pointer}.report-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.report-title{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.report-title h3{margin:.15rem 0 0}.report-title small{color:var(--muted)}.report-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:0 0 1rem}.report-stats.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:650px}.report-table{min-width:680px}.report-limit-note{margin:.8rem 0 0}.settings-form{display:grid;gap:1rem}.settings-section{border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.settings-grid label,.rule-card label{display:grid;gap:.35rem;font-weight:700;color:#344b5d}.settings-grid input,.rule-card input[type="number"]{width:100%;padding:.75rem .8rem;border:1px solid #cbd8e1;border-radius:10px;font:inherit;background:#fff}.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.rule-card{border:1px solid var(--line);border-radius:14px;padding:1rem;display:grid;gap:.75rem;background:#f9fbfc}.rule-card h4{margin:0 0 .2rem;font-size:1.05rem}.check-row{display:flex!important;align-items:center;gap:.55rem!important;font-weight:600!important}.check-row input{width:18px;height:18px}.settings-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.reports-module .status-pill{white-space:nowrap}
@media(max-width:800px){.report-stats,.report-stats.two,.settings-grid,.rules-grid{grid-template-columns:1fr 1fr}.report-title{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.report-stats,.report-stats.two,.settings-grid,.rules-grid{grid-template-columns:1fr}.report-tabs{display:grid;grid-template-columns:1fr}.report-tab{border-radius:10px}}
@media print{body{background:#fff}.sidebar,.topbar,.toast-region,#print-report,.report-tabs{display:none!important}.app-shell{display:block!important}.main-shell{margin:0!important}.content{padding:0!important}.panel-card{border:0!important;box-shadow:none!important;padding:0!important}.report-content{font-size:10pt}.report-stats{grid-template-columns:repeat(4,1fr)!important}.table-wrap{overflow:visible!important;border-color:#bbb}.data-table{min-width:0!important}.data-table th,.data-table td{padding:.4rem .5rem}.reports-module .report-title{margin-top:0}}


/* V16 — identidade institucional premium */
html,body{background:var(--canvas);color:var(--ink)}
body{background-image:radial-gradient(circle at 92% 0%,rgba(200,168,107,.10),transparent 26rem)}
.eyebrow{color:var(--petrol);letter-spacing:.14em;font-size:.68rem;font-weight:800}
.login-shell{background:var(--surface-warm)}
.login-brand{background:linear-gradient(145deg,#123f49 0%,#164e5a 58%,#2f6f78 100%)}
.login-brand::after{border-color:rgba(239,226,195,.16);box-shadow:0 0 0 4rem rgba(239,226,195,.04),0 0 0 8rem rgba(239,226,195,.025)}
.brand-mark{background:linear-gradient(145deg,#d8bf88,#c8a86b);color:#173b40;box-shadow:0 12px 28px rgba(8,37,42,.24)}
.login-brand .eyebrow{color:#efe2c3}.login-brand h1{font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-.035em}
.brand-copy{color:#e5efed}.feature-chips span{border-color:rgba(239,226,195,.26);background:rgba(255,255,255,.055);color:#f7f0df}
.login-card{background:rgba(255,253,250,.88);border:1px solid rgba(227,222,211,.9);border-radius:18px;padding:1.6rem;box-shadow:0 24px 70px rgba(30,62,64,.09)}
.login-card input,.search-form input,.stack-form input,.form-grid input,.form-grid select,.excel-picker input,.settings-grid input,.rule-card input[type="number"]{background:#fffefa;border-color:#d9d4c9;border-radius:9px}
.login-card input:focus,.search-form input:focus,.stack-form input:focus,.form-grid input:focus,.form-grid select:focus,.excel-picker input:focus{border-color:var(--petrol);box-shadow:0 0 0 3px rgba(22,78,90,.10)}
.primary-button{background:linear-gradient(135deg,#164e5a,#123f49);border-radius:9px;box-shadow:0 10px 24px rgba(18,63,73,.19);letter-spacing:.01em}
.primary-button:hover{background:linear-gradient(135deg,#1b5c68,#164955);transform:translateY(-1px)}
.secondary-button{border-color:#d6d0c4;border-radius:9px;color:var(--petrol-deep);background:#fffdfa}
.secondary-button:hover{background:#f8f4eb;border-color:#c7bca8}
.app-shell{grid-template-columns:266px 1fr}
.sidebar{background:linear-gradient(180deg,#123f49 0%,#164e5a 62%,#1c5b65 100%);padding:1.35rem .9rem;box-shadow:8px 0 30px rgba(18,63,73,.08)}
.sidebar-brand{padding:.15rem .55rem 1.35rem}.sidebar-brand strong{font-weight:750;letter-spacing:-.01em}.sidebar-brand small{color:#c2d5d2}
.main-nav{gap:.18rem}.nav-item{color:#dbe7e4;border-radius:8px;padding:.72rem .8rem;font-weight:620;transition:background .16s ease,color .16s ease,transform .16s ease}
.nav-item:hover{background:rgba(255,255,255,.075);color:#fff}.nav-item.active{background:rgba(255,253,250,.11);color:#fff;box-shadow:inset 3px 0 0 var(--sand)}
.nav-item .nav-icon{width:1.4rem;height:1.4rem;display:grid;place-items:center;flex:0 0 1.4rem}.nav-icon svg,.quick-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.sidebar-footer{border-top-color:rgba(255,255,255,.13)}.logout{color:#f1d7d4}
.topbar{min-height:86px;background:rgba(255,253,250,.91);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(218,212,199,.9);box-shadow:0 1px 0 rgba(255,255,255,.65)}
.topbar h2{font-size:1.45rem;letter-spacing:-.025em;font-weight:750}.profile-pill{padding:.35rem .45rem .35rem .35rem;border:1px solid #e6e0d5;border-radius:999px;background:rgba(255,255,255,.62)}
.avatar{background:#e8e4d9;color:var(--petrol-deep)}
.content{max-width:1540px;padding:clamp(1.15rem,2.5vw,2.4rem)}
.welcome-card{background:linear-gradient(115deg,#fffdfa 0%,#faf6ed 100%);border-color:#e4ded1;border-radius:14px;box-shadow:0 14px 36px rgba(30,62,64,.055);position:relative;overflow:hidden}
.welcome-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--sand)}
.access-badge{background:#edf4ef;color:#2d725c;border:1px solid #d6e7dd}
.stat-card{background:#fffdfa;border-color:#e4ded2;border-radius:13px;padding:1.25rem;position:relative;overflow:hidden;box-shadow:0 8px 26px rgba(30,62,64,.045)}
.stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--petrol),var(--sand))}
.stat-card strong{color:var(--petrol-deep);letter-spacing:-.035em}
.section-block,.panel-card{background:#fffdfa;border-color:#e4ded2;border-radius:14px;box-shadow:0 12px 34px rgba(30,62,64,.05)}
.section-heading h3,.report-title h3{letter-spacing:-.02em}.quick-card{background:#fffefa;border-color:#e5dfd4;border-radius:12px;min-height:108px;box-shadow:0 5px 16px rgba(30,62,64,.025)}
.quick-card:hover:not(:disabled){border-color:#ccb98f;box-shadow:0 12px 28px rgba(30,62,64,.07);transform:translateY(-2px)}
.quick-card .quick-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;margin-bottom:.75rem;background:#edf3f1;color:var(--petrol)}
.data-table th{background:#f3efe6;color:#465652;font-size:.72rem;letter-spacing:.045em}.data-table tbody tr:hover{background:#fbf8f1}
.table-wrap{border-color:#e3ddd1;border-radius:12px}.status-pill{border-radius:999px;font-weight:800}
.report-tab{background:#fffdfa;border-color:#ded7cb;border-radius:9px}.report-tab.active{background:var(--petrol);border-color:var(--petrol);box-shadow:0 7px 18px rgba(22,78,90,.16)}
.settings-section,.rule-card{background:#fffdfa;border-color:#e4ded2}.rule-card{background:#fbf8f1}
.form-hint{background:#eef4f2;color:#355e60}.excel-picker{background:#fbf8f1;border-color:#cfc5b3}
.app-dialog{border-radius:14px;box-shadow:0 28px 80px rgba(20,52,56,.25)}.app-dialog::backdrop{background:rgba(16,40,43,.52)}
.toast{background:var(--petrol-deep);border:1px solid rgba(255,255,255,.08)}
.library-card-preview{background:linear-gradient(135deg,#fffdfa,#f4efe5);border-color:#ddd4c5;box-shadow:0 16px 34px rgba(30,62,64,.07)}
.card-brand{color:var(--petrol)}.card-main h4{color:var(--petrol-deep)}
@media(max-width:800px){.sidebar{width:266px;left:-292px}}


/* =========================================================
   V17 — Identidade Editorial Contemporânea
   ========================================================= */
:root{
  --olive:#455a45;
  --olive-deep:#314136;
  --olive-soft:#71806f;
  --terracotta:#b96f52;
  --terracotta-deep:#94523c;
  --ivory:#f5f0e6;
  --paper:#fffaf1;
  --paper-2:#fbf6ec;
  --ink:#2f332e;
  --muted:#77766d;
  --line:#ded6c8;
  --line-strong:#cbbfad;
  --bg:var(--ivory);
  --surface:var(--paper);
  --navy:var(--olive-deep);
  --navy-2:var(--olive);
  --accent:var(--terracotta);
  --success:#55735b;
  --danger:#a6554d;
  --warning-bg:#f5ead6;
  --shadow:0 10px 28px rgba(64,58,47,.07);
  --font-display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --font-ui:Aptos,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  font-family:var(--font-ui);
}
html,body{background:var(--ivory);color:var(--ink)}
body{background-image:radial-gradient(circle at 25% 0%,rgba(185,111,82,.045),transparent 30rem)}
h1,h2,h3,.login-card h2,.section-heading h3,.report-title h3{font-family:var(--font-display);font-weight:650;letter-spacing:-.025em;color:var(--ink)}
.eyebrow{color:var(--terracotta-deep);letter-spacing:.16em;font-size:.68rem;font-weight:800}

/* Login editorial */
.login-shell{background:var(--ivory);grid-template-columns:.92fr 1.08fr}
.login-brand{background:var(--olive-deep);padding:clamp(2.5rem,7vw,7rem);gap:2rem}
.login-brand::after{border-color:rgba(255,250,241,.11);box-shadow:0 0 0 5rem rgba(255,250,241,.025),0 0 0 10rem rgba(255,250,241,.015)}
.login-brand h1{font-family:var(--font-display);font-weight:500;max-width:10ch;font-size:clamp(2.7rem,5.4vw,5.6rem)}
.login-brand .eyebrow{color:#e9d7c9}.brand-copy{color:#e5e0d5}.feature-chips span{border-radius:2px;border-color:rgba(255,250,241,.24);background:transparent}
.brand-mark{background:var(--terracotta);color:var(--paper);border-radius:50%;box-shadow:none;font-family:var(--font-display);font-weight:700}
.brand-mark.small{border-radius:50%}
.login-panel{background:var(--paper)}
.login-card{width:min(100%,440px)}
.login-card input{background:#fffdf8;border-color:var(--line);border-radius:4px}
.login-card input:focus{border-color:var(--olive);box-shadow:0 0 0 3px rgba(69,90,69,.11)}

/* Estrutura principal claramente diferente da V16 */
.app-shell{min-height:100vh;display:grid;grid-template-columns:218px 1fr}
.sidebar{position:sticky;top:0;height:100vh;background:#f0eadf;color:var(--ink);padding:1.5rem .72rem 1rem;display:flex;flex-direction:column;z-index:30;border-right:1px solid var(--line);box-shadow:none}
.sidebar-brand{gap:.7rem;padding:.1rem .55rem 1.65rem;border-bottom:1px solid var(--line);margin-bottom:.85rem}
.sidebar-brand strong{font-family:var(--font-display);font-size:1.04rem;font-weight:650;color:var(--olive-deep)}
.sidebar-brand small{color:var(--muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.sidebar .brand-mark.small{width:36px;height:36px;font-size:1.1rem;background:var(--olive);color:var(--paper)}
.main-nav{gap:.05rem;padding-right:0}
.nav-item{color:#5f655d;padding:.72rem .72rem;border-radius:0;font-weight:650;border-left:3px solid transparent;gap:.72rem}
.nav-item:hover{background:rgba(255,250,241,.55);color:var(--olive-deep)}
.nav-item.active{background:#fffaf1;color:var(--olive-deep);border-left:3px solid var(--terracotta);box-shadow:none}
.nav-item[disabled]{opacity:.38}.nav-item .nav-icon{color:var(--olive-soft)}
.sidebar-footer{border-top:1px solid var(--line);padding-top:.8rem}.logout{color:#8b5445}

.app-main{min-width:0;background:transparent}
.topbar{min-height:auto;background:transparent;border-bottom:0;padding:2rem clamp(1.25rem,4vw,4rem) .75rem;display:flex;align-items:flex-start;gap:1rem;position:relative;top:auto;z-index:20;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.topbar h2{font-family:var(--font-display);font-size:clamp(1.9rem,3.1vw,2.75rem);font-weight:550;line-height:1;margin:0;color:var(--ink)}
.topbar .eyebrow{margin-bottom:.45rem;color:var(--terracotta-deep)}
.profile-pill{margin-left:auto;display:flex;align-items:center;gap:.6rem;padding:.15rem 0;border:0;border-radius:0;background:transparent}
.avatar{width:34px;height:34px;border-radius:50%;background:#e6dfd1;color:var(--olive-deep);font-family:var(--font-display);font-weight:700}
.profile-copy strong{font-family:var(--font-display);font-size:.94rem;font-weight:650}.profile-copy span{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.content{padding:.75rem clamp(1.25rem,4vw,4rem) 3rem;max-width:1600px;margin:0 auto}

/* Dashboard editorial: sem cartão grande de boas-vindas */
.dashboard-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;padding:1.7rem 0 2rem;border-bottom:1px solid var(--line-strong);background:transparent}
.dashboard-intro h3{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.65rem);font-weight:500;line-height:1.03;margin:.15rem 0 .65rem;color:var(--olive-deep)}
.dashboard-intro p:last-child{margin:0;max-width:42rem;color:var(--muted);font-size:1rem;line-height:1.6}
.access-badge{align-self:center;border-radius:2px;padding:.48rem .68rem;background:transparent;border:1px solid #bcae99;color:var(--olive);font-size:.68rem;font-weight:800;letter-spacing:.14em}
.dashboard-metrics{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);margin:1.65rem 0 2.1rem;gap:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:rgba(255,250,241,.34)}
.stat-card{background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;padding:1.35rem 1.25rem;box-shadow:none;position:relative;overflow:visible}
.stat-card::before{display:none}.stat-card:last-child{border-right:0}
.stat-card span{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.stat-card strong{font-family:var(--font-display);display:block;margin-top:.4rem;font-size:2.15rem;font-weight:500;color:var(--olive-deep);letter-spacing:-.035em}

.section-block.editorial-actions{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin-top:0}
.editorial-actions .section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px);align-items:end;gap:2rem;padding-bottom:1rem;border-bottom:1px solid var(--line-strong)}
.editorial-actions .section-heading h3{font-size:1.65rem;font-weight:550}.section-note{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.quick-card{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:1.15rem .35rem;min-height:0;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:.9rem;text-align:left;transition:.18s}
.quick-card:nth-child(odd){padding-right:1.25rem}.quick-card:nth-child(even){padding-left:1.25rem;border-left:1px solid var(--line)}
.quick-card:hover:not(:disabled){transform:none;border-color:var(--line-strong);box-shadow:none;background:rgba(255,250,241,.48)}
.quick-card .quick-icon{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;margin:0;background:#e6dfd1;color:var(--olive-deep)}
.quick-card strong{font-family:var(--font-display);font-size:1.04rem;font-weight:650;color:var(--olive-deep)}
.quick-card small{margin-top:.18rem;color:var(--muted);font-size:.82rem}

/* Demais módulos: papel, linhas finas, menos “dashboard genérico” */
.panel-card,.section-block,.welcome-card{background:rgba(255,250,241,.78);border:1px solid var(--line);border-radius:4px;box-shadow:none}
.panel-card{padding:1.45rem}.section-block{padding:1.45rem}
.section-heading{padding-bottom:.8rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.section-heading h3{font-size:1.45rem;font-weight:550}
.primary-button{background:var(--olive);border-radius:3px;box-shadow:none;font-weight:700;letter-spacing:.01em}
.primary-button:hover{background:var(--olive-deep)}
.secondary-button{border-color:var(--line-strong);background:transparent;color:var(--olive-deep);border-radius:3px}.secondary-button:hover{background:#f0eadf}
.search-form input,.stack-form input,.form-grid input,.form-grid select,.excel-picker input{border-color:var(--line);border-radius:3px;background:#fffdf8;color:var(--ink)}
.search-form input:focus,.stack-form input:focus,.form-grid input:focus,.form-grid select:focus,.excel-picker input:focus{border-color:var(--olive);box-shadow:0 0 0 3px rgba(69,90,69,.09)}
.table-wrap{border-color:var(--line);border-radius:3px;background:var(--paper)}
.data-table th{background:#eee7db;color:#615e55;font-size:.69rem;letter-spacing:.09em}.data-table tbody tr:hover{background:#fff8ed}
.status-badge,.badge{border-radius:2px}
.app-dialog{border-radius:5px;box-shadow:0 24px 60px rgba(61,55,45,.22)}
.dialog-form{background:var(--paper)}
.catalog-alert{border-radius:3px;background:#f2e7d3;border-color:#dcc9a8}
.toast{border-radius:3px;background:var(--olive-deep)}

/* Ajustes responsivos */
@media(max-width:1050px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card:nth-child(2){border-right:0}.stat-card:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:800px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:fixed;left:-244px;width:218px;transition:.22s ease;box-shadow:10px 0 30px rgba(61,55,45,.12)}
  .sidebar.open{left:0}.topbar{padding-top:1.25rem}.menu-button{display:grid;place-items:center;border-radius:2px;background:var(--paper);border-color:var(--line)}
  .dashboard-intro{grid-template-columns:1fr;gap:1rem;align-items:start}.access-badge{justify-self:start}
  .editorial-actions .section-heading{grid-template-columns:1fr;gap:.5rem}
}
@media(max-width:620px){.dashboard-metrics{grid-template-columns:1fr}.stat-card{border-right:0;border-bottom:1px solid var(--line)}.stat-card:last-child{border-bottom:0}.quick-grid{grid-template-columns:1fr}.quick-card:nth-child(even){padding-left:.35rem;border-left:0}.quick-card:nth-child(odd){padding-right:.35rem}.profile-copy{display:none}.content{padding-left:1rem;padding-right:1rem}.topbar{padding-left:1rem;padding-right:1rem}}

/* V18 - acesso de usuários */
.warning-note{border:1px solid #d9c39d;background:#fbf3e3;padding:.85rem 1rem;margin:.3rem 0 1rem;color:#6b4b16}.credential-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin:.8rem 0 1rem}.credential-grid>div{padding:1rem;display:grid;gap:.4rem}.credential-grid>div+div{border-left:1px solid var(--line)}.credential-grid span{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.credential-grid code{font-size:1rem;overflow-wrap:anywhere}.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1rem;margin:.8rem 0}.users-table{min-width:1320px}@media(max-width:700px){.credential-grid,.permissions-grid{grid-template-columns:1fr}.credential-grid>div+div{border-left:0;border-top:1px solid var(--line)}}

/* V19.3 — diretório de usuários + importação de listas reais */
.user-directory-tabs{display:flex;gap:.55rem;flex-wrap:wrap;margin:.2rem 0 1rem}.user-directory-tab{border:1px solid var(--line);background:#fffdfa;color:var(--ink);border-radius:999px;padding:.62rem .9rem;font:inherit;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.user-directory-tab span{min-width:1.65rem;padding:.08rem .42rem;border-radius:999px;background:#eef2ef;color:var(--muted);font-size:.78rem;text-align:center}.user-directory-tab.active{background:var(--petrol);border-color:var(--petrol);color:#fff;box-shadow:0 7px 18px rgba(22,78,90,.16)}.user-directory-tab.active span{background:rgba(255,255,255,.18);color:#fff}.operational-summary{display:block;min-width:180px;line-height:1.35;color:#405866}.users-table-students{min-width:1180px}.users-table-staff{min-width:1260px}@media(max-width:620px){.user-directory-tabs{display:grid;grid-template-columns:1fr}.user-directory-tab{justify-content:space-between;border-radius:10px}}

/* V20 — identidade institucional, licença e governança */
.sidebar-brand-copy{min-width:0;display:flex;flex-direction:column;line-height:1.08}.library-brand-name{display:block;max-width:155px;font-family:var(--font-display,Georgia,serif);font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}.institution-brand-name{display:block;max-width:155px;margin-top:.22rem;font-size:.68rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9cafaa}.governance-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:0 0 .38rem;padding:.3rem .55rem;border-radius:999px;font-size:.68rem;font-weight:850;letter-spacing:.035em;line-height:1.1}.governance-badge.principal{background:#e5efe8;color:#305c43;border:1px solid #bdd4c4}.governance-badge.auxiliary{background:#edf0f4;color:#4c5964;border:1px solid #d6dde2}.danger-button{border:1px solid #d9b8b9;background:#fff7f7;color:#9b4045;border-radius:3px;padding:.72rem .9rem;font-weight:750;white-space:nowrap}.danger-button:hover{background:#fdeaea}.license-blocked{max-width:720px;margin:3rem auto}.v20-settings{display:grid;gap:1.15rem}.v20-settings>.section-heading{margin-bottom:0}.settings-section{padding:1.15rem 0 1.4rem;border-bottom:1px solid var(--line)}.settings-section:last-child{border-bottom:0}.library-identity-preview{display:grid;gap:.12rem;margin:0 0 1rem;padding:1.1rem 1.2rem;border-left:4px solid var(--olive);background:#f5f0e6}.library-identity-preview strong{font-family:var(--font-display,Georgia,serif);font-size:clamp(1.35rem,2.4vw,2rem);font-weight:600;color:var(--olive-deep)}.library-identity-preview span{font-size:.82rem;color:var(--muted)}.license-admin-summary{display:grid;gap:1rem}.license-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:#fffdf8}.license-overview-grid article{padding:1rem;border-right:1px solid var(--line);min-width:0}.license-overview-grid article:last-child{border-right:0}.license-overview-grid span{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.license-overview-grid strong{display:block;margin-top:.35rem;overflow-wrap:anywhere;color:var(--olive-deep)}.aux-admin-list{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.aux-admin-list>strong{font-family:var(--font-display,Georgia,serif)}.aux-admin-list ul{margin:0;padding-left:1.25rem}.row-actions{align-items:center}.compact-button{margin:.12rem}.operational-summary+.governance-badge{margin-top:.35rem}
@media(max-width:960px){.license-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.license-overview-grid article:nth-child(2){border-right:0}.license-overview-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:620px){.library-brand-name,.institution-brand-name{max-width:140px}.license-overview-grid{grid-template-columns:1fr}.license-overview-grid article{border-right:0;border-bottom:1px solid var(--line)}.license-overview-grid article:last-child{border-bottom:0}.governance-badge{white-space:normal}}
.card-institution-brand{display:block;margin:.08rem 0 .35rem;color:var(--muted);font-size:.66rem;line-height:1.2}.report-institution-header{display:grid;gap:.08rem;margin:0 0 1rem;padding:0 0 .8rem;border-bottom:1px solid var(--line)}.report-institution-header strong{font-family:var(--font-display,Georgia,serif);font-size:1.45rem;color:var(--olive-deep)}.report-institution-header span{font-size:.78rem;color:var(--muted)}
@media print{.report-institution-header{display:grid!important}.report-institution-header strong{font-size:16pt}.report-institution-header span{font-size:9pt}}

/* V20.1 — catalogação assistida por ISBN */
.catalog-module{display:grid;gap:1rem}.catalog-heading{margin-bottom:0}.catalog-isbn-panel{display:grid;gap:.55rem}.catalog-isbn-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:.75rem;align-items:end}.catalog-isbn-form label{display:grid;gap:.38rem;font-weight:760;color:#344c5d}.catalog-isbn-form input{width:100%;border:1px solid var(--line);border-radius:3px;padding:.78rem .9rem;background:#fffdf8;color:var(--ink);font:inherit;outline:none}.catalog-isbn-form input:focus{border-color:var(--olive);box-shadow:0 0 0 3px rgba(69,90,69,.09)}.catalog-form{display:grid;gap:1rem}.catalog-work-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:1.25rem;align-items:start}.catalog-cover-box{display:grid;gap:.6rem;justify-items:center;position:sticky;top:1rem}.catalog-cover,.catalog-cover-placeholder{width:150px;aspect-ratio:2/3;border:1px solid var(--line);background:#f1eadf;object-fit:cover}.catalog-cover-placeholder{display:grid;place-items:center;color:var(--muted);font-size:.82rem;text-align:center;padding:1rem}.catalog-cover-box small{text-align:center;line-height:1.35;overflow-wrap:anywhere}.catalog-fields{min-width:0}.catalog-long-fields{margin-top:.9rem}.catalog-long-fields textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:3px;padding:.78rem .9rem;background:#fffdf8;color:var(--ink);font:inherit;outline:none;min-height:70px}.catalog-long-fields textarea:focus{border-color:var(--olive);box-shadow:0 0 0 3px rgba(69,90,69,.09)}.catalog-save-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;bottom:0;padding:1rem 1.1rem;border:1px solid var(--line);background:rgba(255,250,241,.96);backdrop-filter:blur(8px);z-index:4}.catalog-save-bar .form-feedback{margin:0;flex:1}.form-feedback.warning{color:#7a5a18}.catalog-copy-card .section-heading{margin-bottom:1rem}@media(max-width:820px){.catalog-work-layout{grid-template-columns:1fr}.catalog-cover-box{position:static}.catalog-isbn-form{grid-template-columns:1fr}.catalog-save-bar{position:static;display:grid}.catalog-save-bar .row-actions{justify-content:stretch}.catalog-save-bar .row-actions button{flex:1}}@media(max-width:520px){.catalog-cover,.catalog-cover-placeholder{width:125px}.catalog-save-bar .row-actions{display:grid;grid-template-columns:1fr}.catalog-save-bar .row-actions button{width:100%}}

.catalog-title-fallback {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border, #d9d9d9);
}
.catalog-title-fallback > strong { display: block; margin-bottom: .65rem; }
.catalog-title-fallback .catalog-isbn-form { align-items: end; }

/* V20.2 — catalogação multibase e leitura por câmera */
.catalog-isbn-actions{display:flex;gap:.65rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.catalog-scanner-panel{margin-top:.65rem;padding:.9rem;border:1px solid var(--line);border-radius:4px;background:#fffdf8}.catalog-scanner-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.75rem}.catalog-scanner-reader{width:100%;max-width:620px;margin:0 auto;min-height:220px;background:#171717;border-radius:4px;overflow:hidden}.catalog-title-form{grid-template-columns:minmax(220px,1fr) minmax(200px,.75fr) auto}.catalog-search-results{display:grid;gap:.7rem;margin-top:.85rem}.catalog-result-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:4px;background:#fffdf8}.catalog-result-main{display:grid;gap:.2rem;min-width:0}.catalog-result-main strong{color:var(--ink);font-size:1rem}.catalog-result-main span,.catalog-result-main small{color:var(--muted);overflow-wrap:anywhere}.catalog-result-source{width:max-content;font-size:.72rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--olive);background:#edf1e8;border:1px solid #cfd8c7;border-radius:999px;padding:.2rem .5rem}.catalog-result-card button{flex:0 0 auto}@media(max-width:820px){.catalog-isbn-actions{display:grid;grid-template-columns:1fr}.catalog-isbn-actions button{width:100%}.catalog-title-form{grid-template-columns:1fr}.catalog-result-card{align-items:stretch;display:grid}.catalog-result-card button{width:100%}.catalog-scanner-reader{min-height:180px}}

/* V20.3 · conferência de empréstimo e seleção de aba legada */
.lookup-results {
  display: grid;
  gap: .35rem;
  max-height: 16rem;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: .45rem;
  background: var(--paper);
  box-shadow: 0 12px 28px rgba(18, 63, 73, .10);
}
.lookup-results.hidden { display: none; }
.lookup-option {
  display: grid;
  gap: .18rem;
  width: 100%;
  text-align: left;
  border: 0;
  border-radius: 9px;
  padding: .65rem .75rem;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.lookup-option:hover,
.lookup-option:focus-visible { background: var(--paper-2); outline: none; }
.lookup-option span,
.lookup-status { color: var(--muted); font-size: .84rem; }
.lookup-status { padding: .65rem .75rem; }
.lookup-status.error { color: var(--danger); }
.loan-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: .8rem .9rem;
  background: var(--paper-2);
}
.loan-preview.hidden { display: none; }
.loan-preview > div { display: grid; gap: .18rem; }
.loan-preview small { font-size: .7rem; letter-spacing: .08em; font-weight: 700; color: var(--muted); }
.loan-preview strong { font-size: 1rem; }
.loan-preview span:not(.status-pill) { color: var(--muted); font-size: .86rem; }
.legacy-sheet-wrap {
  display: grid;
  gap: .35rem;
  margin-top: .85rem;
  max-width: 38rem;
}
.legacy-sheet-wrap.hidden { display: none; }
.legacy-sheet-wrap > span { font-weight: 700; }
.legacy-sheet-wrap select {
  width: 100%;
  min-height: 2.7rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: .55rem .7rem;
  background: var(--paper);
  color: inherit;
}
.legacy-sheet-wrap small { color: var(--muted); }

/* V20.4 CSP-safe styles */
.v204-actions{display:flex;gap:.45rem;flex-wrap:wrap}.v204-danger{border-color:#b42318!important;color:#b42318!important}.v204-dialog{width:min(760px,calc(100vw - 24px));border:0;border-radius:20px;padding:0;box-shadow:0 24px 80px #0004}.v204-dialog::backdrop{background:#15202b99}.v204-dialog-shell{padding:22px}.v204-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.v204-dialog-head h3{margin:.15rem 0 0}.v204-dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v204-dialog-grid label,.v204-filter-bar label,.v204-label-controls label{display:grid;gap:6px;font-weight:650}.v204-dialog-grid input,.v204-dialog-grid select,.v204-filter-bar input,.v204-filter-bar select,.v204-label-controls input,.v204-label-controls select{min-height:42px;border:1px solid var(--border,#d0d5dd);border-radius:10px;padding:8px 10px;background:#fff;color:#111}.v204-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;flex-wrap:wrap}.v204-color-dot{display:inline-block;width:14px;height:14px;border:1px solid #667085;border-radius:4px;vertical-align:-2px;margin-right:5px}.v204-color-pair{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v204-color-empty{font-size:.82rem;color:#667085}.v204-local-panel{margin:0 0 18px}.v204-local-results{display:grid;gap:8px;margin-top:12px}.v204-local-row{border:1px solid var(--border,#e4e7ec);border-radius:12px;padding:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.v204-local-row small{display:block;color:#667085;margin-top:3px}.v204-filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:0 0 14px;padding:12px;border:1px solid var(--border,#e4e7ec);border-radius:14px;background:#f8fafc}.v204-filter-bar label{min-width:150px;flex:1}.v204-filter-bar .fit{flex:0 1 180px}.v204-label-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.v204-spine-preview{border:1px solid #344054;border-radius:8px;overflow:hidden;background:#fff;min-height:250px;display:flex;flex-direction:column}.v204-spine-colors-preview{height:58px;display:flex;flex-direction:column;flex:none}.v204-spine-colors-preview.single span{height:100%}.v204-spine-colors-preview.double span{height:50%}.v204-spine-body{flex:1;display:flex;gap:10px;padding:12px;align-items:stretch}.v204-spine-body.left{flex-direction:row-reverse}.v204-spine-lines{flex:1;display:flex;flex-direction:column;justify-content:space-between;align-items:center;font-weight:800;font-size:1.12rem;line-height:1.05}.v204-spine-preview.no-colors .v204-spine-lines{justify-content:space-evenly;font-size:1.3rem}.v204-spine-barcode{width:34%;display:flex;align-items:center;justify-content:center}.v204-spine-barcode canvas{max-width:100%!important;height:auto!important}.v204-print-mode-note{font-size:.82rem;color:#667085}.v204-rank{font-weight:800;font-size:1.1rem}.v204-report-meta{margin:.35rem 0 1rem;color:#667085}.v204-empty{padding:24px;text-align:center;color:#667085}.v204-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v204-label-dialog .dialog-form{max-width:940px}.v204-label-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.v204-internal-preview{border:1px solid #d0d5dd;border-radius:12px;padding:14px;background:#fff}.v204-internal-preview canvas{max-width:100%}.v204-color-select-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v204-report-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 16px}.v204-report-tabs button{border:1px solid #d0d5dd;border-radius:999px;padding:8px 13px;background:#fff;cursor:pointer}.v204-report-tabs button.active{background:#111827;color:#fff;border-color:#111827}
    @media(max-width:760px){.v204-dialog-grid,.v204-label-controls,.v204-label-grid,.v204-color-select-row{grid-template-columns:1fr}.v204-local-row{align-items:flex-start;flex-direction:column}.v204-spine-preview{min-height:220px}}
.v204-color-amarelo{background:#F4D03F}
.v204-color-azul-claro{background:#75BCEB}
.v204-color-azul-escuro{background:#285A9F}
.v204-color-bege{background:#E7D6B4}
.v204-color-laranja{background:#ED8B32}
.v204-color-marrom{background:#8B5A2B}
.v204-color-rosa{background:#F29AC2}
.v204-color-roxo{background:#7848A8}
.v204-color-verde-claro{background:#8BCB88}
.v204-color-verde-escuro{background:#2F7D4A}
.v204-color-vermelho-claro{background:#EE7777}
.v204-color-vermelho-escuro{background:#A52A2A}
.v204-color-vinho{background:#722F37}
.v204-color-laranja-quente{background:#F15A24}
.v204-color-branco{background:#FFFFFF}
.v204-color-turquesa-escuro{background:#197C78}


/* V20.4.1 mixed label queue */
.v204-print-queue{margin-top:18px}
.v204-queue-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.v204-queue-header h3{margin:.25rem 0}
.v204-queue-counter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.v204-queue-counter strong{white-space:nowrap}
.v204-queue-list{display:grid;gap:10px;margin:14px 0 18px}
.v204-queue-row{display:grid;grid-template-columns:minmax(0,1fr) 92px auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line,#ded7ca);border-radius:12px;background:rgba(255,255,255,.55)}
.v204-queue-copy{min-width:0;display:grid;gap:3px}.v204-queue-copy strong,.v204-queue-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v204-queue-qty{display:grid;gap:4px;font-size:.78rem}.v204-queue-qty input{width:78px}
.v204-queue-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.v204-sheet-controls{display:grid;grid-template-columns:minmax(220px,1fr) 160px minmax(280px,1fr);gap:14px;align-items:end;padding-top:14px;border-top:1px solid var(--line,#ded7ca)}
.v204-sheet-controls>label{display:grid;gap:6px}.v204-sheet-controls .spine-position-options{margin:0}
.v204-sheet-actions{margin-top:12px}.v204-warning{color:#a33b25;font-weight:700}
@media(max-width:900px){.v204-queue-header{flex-direction:column}.v204-queue-counter{justify-content:flex-start}.v204-queue-row{grid-template-columns:1fr 90px}.v204-queue-actions{grid-column:1/-1;justify-content:flex-start}.v204-sheet-controls{grid-template-columns:1fr}.v204-queue-copy strong,.v204-queue-copy small{white-space:normal}}

/* V20.4.3 — alinhamento bibliotecário da etiqueta de lombada */
.v204-spine-lines {
  align-items: flex-start !important;
  text-align: left !important;
}
.v204-spine-lines > div {
  width: 100%;
  text-align: left !important;
}

/* V20.4.3 — Cutter/PHA cataloging assistant */
.catalog-cutter-assistant {
  grid-column: 1 / -1;
  border: 1px solid var(--line, #d8d0c3);
  border-radius: 14px;
  padding: 14px;
  display: grid;
  gap: 10px;
  background: color-mix(in srgb, var(--surface, #fff) 92%, var(--accent, #8c4f32) 8%);
}
.catalog-cutter-assistant-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.catalog-cutter-assistant-head > div {
  display: grid;
  gap: 3px;
}
.catalog-cutter-assistant-head small,
.catalog-cutter-credit {
  color: var(--muted, #736b60);
}
.catalog-cutter-assistant-head label {
  min-width: 210px;
}
.catalog-cutter-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.catalog-cutter-readonly {
  background: #f4f0e8;
  font-weight: 700;
  letter-spacing: .03em;
}
.catalog-cutter-credit a {
  color: inherit;
  text-decoration: underline;
}
@media (max-width: 700px) {
  .catalog-cutter-assistant-head { align-items: stretch; }
  .catalog-cutter-assistant-head label { width: 100%; min-width: 0; }
}



/* V20.4.3 — painel central de licenças */
.table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.central-license-module .stats-grid {
  margin: 1rem 0 1.25rem;
}
.central-license-module textarea {
  width: 100%;
  resize: vertical;
}
