:root {
  color-scheme: light;
  font-family: system-ui, -apple-system, "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
  line-height: 1.65;

  /* 溫暖友善校園風配色 */
  --navy-900: #0d3b53;
  --navy-800: #114b66;
  --navy-700: #155f80;   /* 主色：溫暖海藍 */
  --navy-600: #1b6e92;
  --blue-600: #1877a3;
  --blue-500: #2f93bd;
  --accent: #e8a13a;     /* 暖陽金 */
  --accent-deep: #cf7d1c;
  --accent-soft: #fdf1dc;

  /* 四大服務主題色（皆達 WCAG AA：白字與白底文字對比 ≥ 4.5） */
  --c-booking: #1e73a8;  /* 預約：海藍 */
  --c-repair: #a85c0e;   /* 修繕：暖琥珀 */
  --c-lending: #1d8257;  /* 借用：森綠 */
  --c-bookbox: #8562b0;  /* 書箱：紫藤 */

  --ink: #24313c;
  --ink-soft: #556472;
  --line: #dcd6c9;
  --line-soft: #ece7dc;
  --page: #f8f4ec;       /* 暖米白底 */
  --surface: #ffffff;
  --surface-alt: #fbf8f2;
  --tint-blue: #e6f2f8;
  --tint-warm: #fbf3e4;
  --success: #1d8257;
  --warning: #c9791f;
  --danger: #c23a2f;
  --muted: #616b76;
  --shadow-sm: 0 1px 3px rgb(78 60 30 / 9%);
  --shadow-md: 0 4px 14px rgb(78 60 30 / 12%);
  --shadow-lg: 0 12px 30px rgb(48 40 25 / 18%);
  --radius: .85rem;
  --radius-sm: .5rem;

  color: var(--ink);
  background: var(--page);
}

* { box-sizing: border-box; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

/* 暖色背景，加上柔和的角落光暈（純 CSS 漸層，無需圖片） */
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(38rem 26rem at 100% -6%, rgba(232, 161, 58, .16), transparent 60%),
    radial-gradient(34rem 24rem at -6% 8%, rgba(47, 158, 111, .13), transparent 60%),
    radial-gradient(40rem 30rem at 50% 120%, rgba(30, 115, 168, .10), transparent 60%),
    var(--page);
  background-attachment: fixed;
}
a { color: var(--blue-600); }
a:hover { color: var(--navy-800); }

.skip-link { position: absolute; left: 1rem; top: -5rem; padding: .75rem 1rem; border-radius: var(--radius-sm); background: #fff; box-shadow: var(--shadow-md); z-index: 10; }
.skip-link:focus { top: 1rem; }

/* 頁首：溫暖海藍漸層 + 細點裝飾圖案（SVG data URI）+ 暖金下緣 */
.site-header {
  display: flex; gap: 2rem; justify-content: space-between; align-items: center;
  padding: 1.5rem max(1rem, calc((100% - 72rem) / 2));
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Ccircle cx='3' cy='3' r='1.4' fill='%23ffffff' fill-opacity='0.10'/%3E%3C/svg%3E"),
    linear-gradient(120deg, var(--navy-800) 0%, var(--navy-700) 55%, var(--navy-600) 100%);
  color: #fff;
  border-bottom: 4px solid var(--accent);
  box-shadow: var(--shadow-md);
}
.site-header h1, .school-name { margin: 0; }
.site-header h1 { font-size: 1.65rem; letter-spacing: .05em; text-shadow: 0 1px 2px rgb(0 0 0 / 18%); }
.school-name { font-size: .9rem; font-weight: 600; letter-spacing: .2em; color: #ffe6bd; }
#account { text-align: right; }
#account p { margin: 0 0 .25rem; }
.role-text { font-size: .85rem; color: #cfe6f1; }
.account-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: .5rem; }
.notification-link { position: relative; }

/* 主導覽列 */
.primary-nav { padding: 0 max(1rem, calc((100% - 72rem) / 2)); background: var(--surface); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.primary-nav ul { margin: 0; padding: 0; list-style: none; }
.primary-nav > .nav-root-list { display: flex; flex-wrap: wrap; gap: .2rem; padding: .45rem 0; }
.primary-nav a { display: block; padding: .6rem .9rem; border-radius: 999px; color: var(--navy-700); font-weight: 600; text-decoration: none; transition: background .15s, color .15s; }
.primary-nav a:hover { background: var(--tint-blue); color: var(--navy-800); }
.primary-nav a[aria-current="page"] { color: #fff; background: var(--navy-700); }
.nav-group { position: relative; }
.nav-group summary { padding: .6rem .9rem; border-radius: 999px; color: var(--navy-700); font-weight: 600; cursor: pointer; list-style: none; transition: background .15s, color .15s; }
.nav-group summary:hover { background: var(--tint-blue); }
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group summary::after { content: " ▾"; font-size: .8em; color: var(--muted); }
.nav-group details[open] > summary, .nav-group-current > summary { color: #fff; background: var(--navy-700); }
.nav-group details[open] > summary::after, .nav-group-current > summary::after { content: " ▴"; color: #ffe6bd; }
.nav-submenu { position: absolute; z-index: 8; top: calc(100% + .35rem); left: 0; display: grid; min-width: 13rem; padding: .4rem !important; border: 1px solid var(--line); border-top: 3px solid var(--accent); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow-lg); }
.nav-submenu a { white-space: nowrap; border-radius: var(--radius-sm); }

main { max-width: 72rem; margin: auto; padding: 2rem 1rem 4rem; }
main > h2 { position: relative; margin: 0 0 1.25rem; padding-bottom: .55rem; font-size: 1.5rem; color: var(--navy-800); border-bottom: 2px solid var(--line-soft); }
main > h2::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 4rem; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--accent), var(--accent-deep)); }

.status { padding: .85rem 1.1rem; border-left: .4rem solid var(--blue-500); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--tint-blue); color: var(--navy-800); box-shadow: var(--shadow-sm); }
.status[data-type="success"] { border-color: var(--success); background: #e7f7ef; color: #155f43; }
.status[data-type="error"] { border-color: var(--danger); background: #fdeeec; color: #8a281f; }

/* 服務卡片：四大服務各有主題色（純 CSS 分區，無需圖片） */
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1.35rem; margin-top: 1.5rem; }
.card {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; padding: 1.5rem;
  border: 1px solid var(--line); border-top: 4px solid var(--card-accent, var(--navy-700));
  border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm);
  transition: box-shadow .18s, transform .18s;
  --card-accent: var(--navy-700);
}
/* 右上角柔和色塊，取代裝飾圖片 */
.card::after { content: ""; position: absolute; top: -2.5rem; right: -2.5rem; width: 6rem; height: 6rem; border-radius: 50%; background: var(--card-accent, var(--navy-700)); opacity: .1; }
.card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.card h3 { margin-top: 0; margin-bottom: .5rem; color: var(--card-accent, var(--navy-800)); }
.card p { margin-top: 0; color: var(--ink-soft); flex: 1; }
.card .button { align-self: flex-start; margin-top: .75rem; background: var(--card-accent, var(--blue-600)); }
.card .button:hover { filter: brightness(.92); background: var(--card-accent, var(--navy-700)); }
.card-grid .card:nth-child(4n+1) { --card-accent: var(--c-booking); }
.card-grid .card:nth-child(4n+2) { --card-accent: var(--c-repair); }
.card-grid .card:nth-child(4n+3) { --card-accent: var(--c-lending); }
.card-grid .card:nth-child(4n+4) { --card-accent: var(--c-bookbox); }

/* 按鈕 */
.button { display: inline-block; min-height: 2.75rem; padding: .55rem 1.25rem; border: 2px solid transparent; border-radius: 999px; background: var(--blue-600); color: #fff; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; transition: background .15s, box-shadow .15s, filter .15s; }
.button:hover { background: var(--navy-700); }
.button-secondary { background: var(--surface); color: var(--navy-700); border-color: var(--line); }
.button-secondary:hover { background: var(--tint-blue); color: var(--navy-800); }
.button-danger { background: var(--danger); }
.button-danger:hover { background: #b23a2f; }

.warning-panel,
.error-panel,
.success-panel {
  border: 2px solid var(--accent-deep);
  border-radius: var(--radius-sm);
  padding: .85rem 1.1rem;
  background: var(--accent-soft);
}

.error-panel { border-color: var(--danger); background: #fdeeec; }
.success-panel { border-color: var(--success); background: #e7f7ef; }
.archive-actions { display: grid; gap: .65rem; margin-top: 1rem; max-width: 48rem; }
.archive-actions input { width: 100%; }
.archive-table { max-width: 42rem; }
.button-small { min-height: 2.35rem; padding: .35rem .85rem; }
.button:disabled { cursor: wait; opacity: .7; }
.button[aria-disabled="true"] { background: var(--muted); border-color: transparent; cursor: not-allowed; }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: .2rem solid #ffbf47; outline-offset: .2rem; }
label, legend { font-weight: 700; color: var(--navy-800); }
input, select, textarea { width: 100%; min-height: 2.75rem; padding: .55rem .7rem; border: 1px solid #b6ad9c; border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font: inherit; }
input:focus, select:focus, textarea:focus { border-color: var(--blue-600); box-shadow: 0 0 0 3px rgb(47 147 189 / 18%); }
textarea { resize: vertical; }
.field { display: grid; gap: .3rem; }

.filter-panel { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem; padding: 1.15rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.button-row { display: flex; flex-wrap: wrap; gap: .65rem; align-items: end; margin: 1rem 0; }
.button-row select { width: auto; min-width: 12rem; }
.week-summary { font-weight: 700; color: var(--navy-800); }

.week-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1.15rem; align-items: start; }
.day-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); overflow: hidden; }
.day-card h3 { margin: 0; padding: .8rem 1rem; background: linear-gradient(120deg, var(--navy-700), var(--navy-600)); color: #fff; font-size: 1.05rem; }
.slot-list { margin: 0; padding: 0; list-style: none; }
.slot { display: flex; gap: .75rem; justify-content: space-between; align-items: center; min-height: 4.25rem; padding: .75rem 1rem; border-top: 1px solid var(--line-soft); }
.slot:first-child { border-top: 0; }
.slot-details { display: grid; gap: .1rem; }
.slot-details span { font-size: .9rem; color: var(--ink-soft); }
.slot.is-open { border-left: .4rem solid var(--success); background: #f2fbf6; }
.slot.is-booked { border-left: .4rem solid var(--warning); background: #fdf4e6; }
.slot.is-closed { border-left: .4rem solid var(--muted); background: var(--surface-alt); }

.booking-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; }
.booking-card p { margin: .35rem 0; }
.empty-state { padding: 1.15rem; border: 1px dashed #b6ad9c; border-radius: var(--radius-sm); background: var(--surface-alt); color: var(--ink-soft); }

.dialog { width: min(34rem, calc(100% - 2rem)); max-height: calc(100% - 2rem); padding: 1.5rem; border: 1px solid var(--line); border-top: 5px solid var(--accent); border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.dialog::backdrop { background: rgb(20 40 55 / 55%); }
.dialog h2 { margin-top: 0; color: var(--navy-800); }
.dialog-content { display: grid; gap: .5rem; }
.dialog-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: .75rem; margin-top: 1rem; }

/* 管理區塊 */
.admin-section { margin-top: 1.5rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.admin-section > h3 { position: relative; margin-top: 0; padding-left: .8rem; color: var(--navy-800); border-left: .35rem solid var(--accent); }
.inline-form { display: flex; flex-wrap: wrap; gap: .65rem; align-items: end; }
.inline-form input, .inline-form select { width: auto; min-width: min(100%, 13rem); }
.inline-feedback { align-self: center; min-width: 10rem; font-weight: 700; color: var(--navy-800); }
.admin-list { display: grid; gap: .75rem; margin-top: 1rem; }
.admin-list-row { display: grid; grid-template-columns: auto minmax(10rem, 1fr) auto auto; gap: .65rem; align-items: center; padding: .85rem; border: 1px solid var(--line-soft); border-radius: var(--radius-sm); background: var(--surface-alt); }
.checkbox-field { display: flex; gap: .45rem; align-items: center; }
.checkbox-field input { width: 1.25rem; min-height: 1.25rem; }
.resource-editor { display: grid; gap: 1rem; margin-top: 1.25rem; }
.editor-fieldset { display: grid; gap: .75rem; min-width: 0; margin: 0; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.editor-fieldset > legend { padding: 0 .4rem; }
.weekly-editor { grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); align-items: start; }
.weekly-editor > legend, .weekly-editor > .button-row { grid-column: 1 / -1; }
.weekday-fieldset { display: grid; gap: .35rem; min-width: 0; padding: .65rem; border: 1px solid var(--line-soft); border-radius: var(--radius-sm); }
.role-sections { display: grid; gap: 1rem; }
.management-list { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.management-list li { display: flex; gap: .75rem; justify-content: space-between; align-items: center; padding: .8rem; border: 1px solid var(--line-soft); border-radius: var(--radius-sm); background: var(--surface-alt); }

/* 修繕 */
.repair-form, .repair-update-form { display: grid; gap: 1rem; }
.repair-list-section { margin-top: 2rem; }
.repair-list { display: grid; gap: 1rem; }
.repair-card { border-left: .45rem solid var(--muted); }
.repair-card.status-pending { border-left-color: var(--warning); }
.repair-card.status-in_progress { border-left-color: var(--blue-500); }
.repair-card.status-repaired { border-left-color: var(--success); }
.repair-card.status-cancelled { border-left-color: var(--muted); }
.repair-status { font-weight: 800; }
.repair-description { padding: .85rem; border: 1px solid var(--line-soft); border-radius: var(--radius-sm); background: var(--surface-alt); white-space: pre-wrap; }
.timeline-section { margin-top: 1rem; }
.repair-timeline { display: grid; gap: .75rem; margin: 0; padding-left: 1.5rem; }
.repair-timeline li { padding-left: .25rem; }
.repair-timeline p { margin: .2rem 0; }
.timeline-heading { font-weight: 700; color: var(--navy-800); }
.repair-update-form { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.repair-filter { margin-bottom: 1.5rem; }
.repair-filter-actions { margin: 0; align-self: end; }
.repair-results h3 { margin-bottom: .75rem; color: var(--navy-800); }

/* 表格 */
.repair-table { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.repair-table caption { padding: .85rem; text-align: left; font-weight: 700; color: var(--navy-800); }
.repair-table th, .repair-table td { padding: .75rem; border: 1px solid var(--line-soft); text-align: left; vertical-align: top; }
.repair-table th { background: linear-gradient(120deg, var(--navy-700), var(--navy-600)); color: #fff; font-weight: 700; }
.repair-table tbody tr:nth-child(even) { background: var(--surface-alt); }
.repair-table tbody tr:hover { background: var(--tint-blue); }
.repair-table td:first-child, .repair-table td:nth-child(5) { white-space: nowrap; }
.repair-compact-summary { display: grid; gap: .15rem; min-width: 14rem; max-width: 34rem; }
.repair-compact-summary span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }

.status-text { display: inline-block; padding: .2rem .55rem; border: 1px solid currentColor; border-radius: 999px; font-weight: 800; font-size: .85rem; white-space: nowrap; }
.status-text.status-pending { color: #9a5a12; }
.status-text.status-in_progress { color: var(--blue-600); }
.status-text.status-repaired { color: var(--success); }
.status-text.status-cancelled { color: var(--muted); }
.repair-dialog { width: min(48rem, calc(100% - 2rem)); }

/* 物品借用 */
.lending-form { display: grid; gap: 1.25rem; }
.lending-date-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.lending-category-filter { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; }
.lending-category-filter .button { min-width: 10rem; }
.lending-inventory-results { margin-top: .25rem; }
.lending-item-summary { display: grid; gap: .15rem; }
.lending-item-summary span { color: var(--ink-soft); }
.lending-row-actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: end; }
.lending-row-actions .field { min-width: 8rem; flex: 1 1 8rem; }
.lending-row-actions .button { flex: 0 0 auto; }
.lending-cart-section { padding: 1.15rem; border: 1px solid var(--line); border-top: 4px solid var(--c-lending); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.lending-cart-section h3 { margin-top: 0; color: var(--navy-800); }
.inventory-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.inventory-card { box-shadow: none; }
.inventory-card input[type="number"] { max-width: 9rem; }
.loan-item-list { display: grid; gap: .4rem; }
.lending-dialog { width: min(52rem, calc(100% - 2rem)); }
.inventory-editor { border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.inventory-editor summary { padding: .85rem; font-weight: 800; color: var(--navy-800); cursor: pointer; }
.inventory-editor-body { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: .75rem; padding: 1rem; border-top: 1px solid var(--line-soft); }
.lending-configuration-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 1rem; margin-top: 1rem; }
.configuration-editor { padding: 1rem; border: 1px solid var(--line-soft); border-radius: var(--radius-sm); background: var(--surface-alt); }
.configuration-editor h4 { margin-top: 0; color: var(--navy-800); }
.configuration-editor-row { display: grid; grid-template-columns: minmax(10rem, 1fr) auto auto; gap: .65rem; align-items: end; padding: .85rem; border: 1px solid var(--line-soft); border-radius: var(--radius-sm); background: var(--surface); }
.configuration-editor-row .inline-feedback { grid-column: 1 / -1; }
.inventory-description-field { grid-column: 1 / -1; }
.checkout-note-fields { display: grid; gap: .75rem; }
.status-text.loan-requested { color: #9a5a12; }
.status-text.loan-approved { color: var(--blue-600); }
.status-text.loan-denied, .status-text.loan-cancelled { color: var(--muted); }
.status-text.loan-checked_out { color: #7150a8; }
.status-text.loan-returned { color: var(--success); }
.status-text.loan-overdue { color: var(--danger); }
.status-text.bookbox-available { color: var(--success); }
.status-text.bookbox-reserved { color: #9a5a12; }
.status-text.bookbox-on_loan { color: #7150a8; }
.status-text.bookbox-returned { color: var(--blue-600); }
.status-text.bookbox-cancelled { color: var(--muted); }
.bookbox-table td:nth-child(2) { min-width: 10rem; }

/* 通知中心 */
.notification-list { display: grid; gap: .8rem; }
.notification-card { padding: 1rem 1.15rem; border: 1px solid var(--line); border-left: .4rem solid var(--muted); border-radius: var(--radius-sm); background: var(--surface); box-shadow: var(--shadow-sm); }
.notification-card.is-unread { border-left-color: var(--blue-600); background: var(--tint-blue); }
.notification-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.notification-heading h3 { margin: 0; color: var(--navy-800); }
.notification-state { flex: 0 0 auto; font-weight: 800; color: var(--blue-600); }
.notification-card.is-read .notification-state { color: var(--muted); }
.notification-time { color: var(--ink-soft); font-size: .9rem; }
.overdue-row { border-left: .4rem solid var(--danger); background: #fdeeec !important; }
.status-text.bookbox-overdue { color: var(--danger); }

footer { padding: 1.5rem; border-top: 3px solid var(--accent); background: var(--surface); color: var(--muted); text-align: center; font-size: .9rem; }

@media (max-width: 42rem) {
  .site-header { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .site-header h1 { font-size: 1.4rem; }
  #account { text-align: left; }
  .account-actions { justify-content: start; }
  main { padding-top: 1rem; }
  .primary-nav > .nav-root-list { display: grid; grid-template-columns: 1fr; }
  .primary-nav > .nav-root-list > li > a, .nav-group summary { width: 100%; }
  .nav-submenu { position: static; min-width: 0; margin-top: .25rem !important; box-shadow: none; }
  .nav-submenu a { padding-left: 1.5rem; white-space: normal; }
  .slot { align-items: flex-start; flex-direction: column; }
  .slot .button { width: 100%; }
  .admin-list-row { grid-template-columns: 1fr; }
  .management-list li { align-items: stretch; flex-direction: column; }
  .inline-form { align-items: stretch; flex-direction: column; }
  .inline-form input, .inline-form select, .button-row select { width: 100%; }
  .repair-table, .repair-table tbody, .repair-table tr, .repair-table td { display: block; width: 100%; }
  .repair-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .repair-table tr { margin-bottom: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); overflow: hidden; }
  .repair-table td { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .75rem; border: 0; border-top: 1px solid var(--line-soft); }
  .repair-table td:first-child { border-top: 0; }
  .repair-table td::before { content: attr(data-label); color: var(--navy-800); font-weight: 800; }
  .repair-table td:last-child .button { width: 100%; }
  .repair-compact-summary { min-width: 0; }
  .lending-date-grid { grid-template-columns: 1fr; }
  .lending-category-filter { grid-template-columns: 1fr; }
  .lending-category-filter .button, .lending-row-actions .button { width: 100%; }
  .configuration-editor-row { grid-template-columns: 1fr; }
  .configuration-editor-row .inline-feedback { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
