/* Administration screens and review tools. */
:root {
  --ink:#112333;
  --navy:#172936;
  --muted:#64756e;
  --orange:#c56a32;
  --olive:#68775e;
  --paper:#f7f4ed;
  --line:#dcded1;
  --serif:'Storybook Serif','Songti SC','SimSun',serif;
  --sans:'Segoe UI','Microsoft YaHei',sans-serif;
  color:var(--ink);
  font-family:var(--sans);
  background:var(--paper);
  font-synthesis:none;
}

* {
  box-sizing:border-box;
}

body {
  margin:0;
  font-size:15px;
  line-height:1.65;
  background:var(--paper) url('/assets/paper-fibers.webp') repeat;
  background-size:620px;
}

[hidden] {
  display:none!important;
}

button,input,select,textarea {
  font:inherit;
  color:inherit;
}

button,a {
  touch-action:manipulation;
}

button {
  border:0;
  cursor:pointer;
}

button:disabled {
  opacity:.55;
  cursor:not-allowed;
}

input,textarea {
  cursor:text;
  user-select:text;
  -webkit-user-select:text;
}

select {
  cursor:pointer;
}

a {
  color:inherit;
  text-decoration:none;
}

a:focus-visible,button:focus-visible,[tabindex]:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:4px;
}

input,select,textarea {
  width:100%;
  min-height:48px;
  padding:11px 14px;
  border:1px solid #bdc8bb;
  border-radius:6px;
  background:#fffdf8;
  color:var(--ink);
  outline:none;
  transition:border-color .15s,box-shadow .15s;
}

input:focus,select:focus,textarea:focus {
  border-color:var(--olive);
  box-shadow:0 0 0 3px #68775e20;
}

input::placeholder {
  color:#7d887f;
  font-size:14px;
}

label {
  display:block;
  font-size:14px;
  font-weight:600;
}

label>input {
  margin-top:8px;
}

h1,h2,h3 {
  font-family:var(--serif);
  line-height:1.45;
  margin:0;
  font-weight:700;
}

p {
  margin:0 0 16px;
}

.muted {
  color:var(--muted);
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:46px;
  padding:12px 22px;
  border:1px solid transparent;
  border-radius:7px;
  font-size:15px;
  font-weight:600;
  transition:background .18s,box-shadow .18s,transform .18s;
}

.button:hover:not(:disabled) {
  transform:translateY(-1px);
  box-shadow:0 5px 14px #17293618;
}

.primary {
  background:var(--navy);
  color:#fffdf7;
}

.primary:hover:not(:disabled) {
  background:#294653;
}

.text-link {
  display:inline-flex;
  align-items:center;
  background:none;
  padding:6px 0;
  font-size:14px;
  color:#455b4a;
}

.text-link:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}

.form-message {
  color:#a7472c;
  font-size:14px;
  margin:12px 0 0;
  overflow-wrap:anywhere;
}

.form-message:empty {
  display:none;
}

.small {
  font-size:13px;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.login-screen {
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  padding:0 clamp(20px,4vw,64px);
}

.admin-brand-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:94px;
  border-bottom:1px solid #bfc1b1;
}

.story-brand {
  display:flex;
  align-items:center;
  gap:17px;
  font:700 24px/1.4 var(--serif);
}

.story-brand svg {
  width:43px;
  height:40px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  flex:none;
}

.brand-caption {
  font-size:16px;
  font-weight:500;
  display:block;
  letter-spacing:1px;
  color:var(--muted);
  margin-top:3px;
}

.login-book {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:1fr 1fr;
  width:min(1320px,100%);
  margin:40px auto 28px;
  background:#fffdf7;
  border:1px solid #d9d9ca;
  border-radius:4px 12px 12px 4px;
  box-shadow:inset 12px 0 13px -12px #52654b66,0 4px 0 -1px #e2dfd2,0 8px 0 -2px #d4d8c9,0 18px 42px #17293612;
  flex:1;
  min-height:620px;
}

.login-book::after {
  content:'';
  position:absolute;
  inset:0 auto 0 50%;
  width:34px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,#a3a68b12 38%,#747d6124 49%,#fffdf744 52%,transparent);
  pointer-events:none;
  z-index:0;
}

.login-art,.login-main {
  position:relative;
  z-index:1;
  min-width:0;
}

.login-art {
  padding:30px 40px 28px;
  display:flex;
  flex-direction:column;
}

.book-page-meta {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
  font-size:13px;
  color:var(--muted);
}

.kia-logo {
  width:77px;
  height:auto;
  filter:brightness(0);
  opacity:.88;
}

.login-art h1 {
  font-size:clamp(27px,2.4vw,38px);
  line-height:1.55;
  margin:24px 0 20px;
  letter-spacing:.025em;
}

.login-art h1 span,.admin-page-heading h1 span {
  color:var(--orange);
}

.login-art figure {
  margin:0;
  display:flex;
  flex:1;
  flex-direction:column;
  justify-content:center;
  min-height:0;
}

.login-illustration {
  display:block;
  width:100%;
  max-height:430px;
  aspect-ratio:1.18;
  object-fit:cover;
  border:1px solid #e8e4d6;
  border-radius:2px;
}

.login-art figcaption {
  font:16px/1.7 var(--serif);
  color:#66715f;
  text-align:center;
  margin-top:16px;
}

.login-main {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px clamp(24px,4vw,64px);
}

.login-form-wrap {
  width:100%;
  max-width:440px;
}

.login-form-wrap h2 {
  font-size:clamp(26px,2.3vw,34px);
  margin-bottom:13px;
}

.login-form-wrap>.muted {
  font-size:15px;
  padding-bottom:24px;
  margin-bottom:26px;
  border-bottom:1px solid var(--line);
}

.login-form-wrap label {
  margin:20px 0 8px;
}

.login-form-wrap .button {
  width:100%;
  margin-top:28px;
  min-height:52px;
  font-family:var(--serif);
  font-size:18px;
}

.login-form-wrap>.small {
  font-size:13px;
  color:var(--muted);
  margin:20px 0 24px;
}

.login-footer {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:18px 0 24px;
  font:14px/1.5 var(--serif);
  color:var(--muted);
}

.dashboard {
  display:grid;
  grid-template-columns:236px minmax(0,1fr);
  min-height:100dvh;
}

.admin-sidebar {
  position:sticky;
  top:0;
  height:100dvh;
  display:flex;
  flex-direction:column;
  padding:36px 22px;
  background:var(--navy) url('/assets/paper-fibers.webp');
  background-blend-mode:multiply;
  background-size:620px;
  color:#f3f0e6;
}

.admin-sidebar>.brand-mark {
  display:block;
  width:92px;
  margin:3px 12px 26px;
}

.brand-mark img {
  display:block;
  width:100%;
}

.sidebar-title {
  font:600 19px/1.5 var(--serif);
  margin:0 12px 5px;
}

.sidebar-sub {
  color:#bdc7b8;
  font-size:13px;
  margin:0 12px 38px;
}

.sidebar-section {
  font-size:12px;
  letter-spacing:1px;
  color:#b8c4b6;
  margin:0 12px 14px;
}

.sidebar-nav {
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border:1px solid transparent;
  border-radius:6px;
  color:#e0e4da;
  background:transparent;
  text-align:left;
  margin-bottom:8px;
  font-size:18px;
}

.sidebar-nav span {
  font-size:15px;
}

.sidebar-nav.active {
  background:#f3f0e612;
  border-color:#cbd2be60;
  color:#fffdf7;
}

.sidebar-nav:hover {
  background:#f3f0e61c;
}

.sidebar-bottom {
  margin-top:auto;
  padding:20px 12px 0;
  font-size:12px;
  color:#bdc7b8;
  border-top:1px solid #b8c4b62b;
}

.status-dot {
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#b9c797;
  margin-right:5px;
}

.sidebar-bottom button {
  display:block;
  color:#fffdf7;
  background:none;
  padding:12px 0 0;
  font-size:14px;
}

.admin-main {
  min-width:0;
}

.admin-topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  min-height:82px;
  padding:18px 36px;
  border-bottom:1px solid var(--line);
  font-size:14px;
}

.crumb {
  color:var(--muted);
  margin-left:8px;
}

.admin-avatar {
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--muted);
  font-size:13px;
}

.admin-avatar b {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  background:#e6e9dd;
  border-radius:50%;
  font-family:var(--serif);
  color:#4b5e47;
}

.admin-content {
  max-width:1600px;
  margin:auto;
  padding:34px 36px 48px;
}

.admin-page-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-bottom:28px;
}

.admin-page-heading h1 {
  font-size:clamp(27px,2.5vw,38px);
  margin-bottom:9px;
}

.admin-page-heading p {
  font-size:14px;
  margin:0;
}

.admin-page-heading .button {
  flex-shrink:0;
}

.eyebrow {
  font-size:12px;
  letter-spacing:1px;
  color:var(--olive);
}

.stats-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-bottom:26px;
}

.stat {
  padding:23px 24px;
  background:#fffdf8;
  border:1px solid var(--line);
  border-radius:4px 8px 8px 4px;
  box-shadow:inset 5px 0 0 #e7e8de;
}

.stat>span {
  font:600 17px/1.5 var(--serif);
}

.stat strong {
  display:block;
  font:500 42px/1.3 var(--serif);
  margin:13px 0 8px;
}

.stat strong small {
  font:13px var(--sans);
  color:var(--muted);
  margin-left:9px;
}

.stat p {
  font-size:12px;
  color:var(--muted);
  margin:0;
}

.selected-stat {
  background:#edf0e5;
  box-shadow:inset 5px 0 0 #9faa8d;
}

.selected-stat strong {
  color:#536744;
}

.admin-collection {
  background:#fffdf8;
  border:1px solid var(--line);
  border-radius:5px 10px 10px 5px;
  box-shadow:0 6px 22px #17293605;
  overflow:hidden;
}

.collection-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:24px 26px 18px;
}

.collection-heading>div {
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

.collection-heading h2 {
  font-size:23px;
}

.collection-heading span {
  font-size:12px;
  color:var(--muted);
}

.table-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 26px 22px;
}

.admin-filters {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.admin-filters button {
  background:none;
  border:1px solid transparent;
  border-radius:5px;
  color:var(--muted);
  font-size:14px;
  padding:8px 12px;
  min-height:40px;
  white-space:nowrap;
}

.admin-filters button.active {
  background:#e9eddf;
  border-color:#cdd6c2;
  color:#3e533b;
}

.admin-filters button:hover {
  background:#f0f1e8;
}

.search-box {
  width:310px;
  max-width:100%;
  flex-shrink:0;
}

.search-box input {
  min-height:44px;
  font-size:14px;
  margin:0;
  background:#faf9f3;
}

.table-scroll {
  overflow-x:auto;
}

table {
  border-collapse:collapse;
  width:100%;
  text-align:left;
  font-size:14px;
}

th {
  white-space:nowrap;
  font-weight:500;
  background:#f1f2e9;
  color:#60705c;
  font-size:13px;
  border-block:1px solid #e1e4d6;
  padding:14px 22px;
}

td {
  padding:20px 22px;
  border-bottom:1px solid #e9eadf;
  max-width:270px;
  color:#40564e;
  overflow-wrap:anywhere;
}

tbody tr:hover {
  background:#f8f6ee;
}

td strong {
  display:block;
  font-size:15px;
  color:var(--ink);
  font-weight:600;
}

td small {
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-top:5px;
}

td .entry-title {
  display:block;
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink);
}

td .text-link {
  white-space:nowrap;
  min-height:38px;
}

.badge {
  display:inline-block;
  border-radius:4px;
  padding:4px 9px;
  font-size:12px;
  white-space:nowrap;
  background:#f0f0e9;
  color:#65725c;
}

.badge.pending {
  color:#98623b;
  background:#faf0de;
}

.badge.selected {
  color:#526841;
  background:#eaf0df;
}

.badge.reviewed {
  color:#416072;
  background:#edf0f1;
}

.table-bottom {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:16px 26px;
  font-size:12px;
  color:var(--muted);
  background:#faf9f3;
}

.empty-state {
  text-align:center;
  padding:48px 24px;
  color:var(--muted);
}

.empty-state>span {
  font-size:34px;
  color:var(--olive);
}

.empty-state h3 {
  font-size:23px;
  margin:10px 0;
}

.empty-state p {
  font-size:14px;
  margin:0;
}

.deployment-note {
  display:flex;
  align-items:center;
  gap:18px;
  padding:22px 4px;
  color:var(--muted);
}

.deployment-note>span {
  font-size:24px;
  color:var(--olive);
}

.deployment-note strong {
  font-size:14px;
  font-weight:500;
}

.deployment-note p {
  font-size:13px;
  margin:3px 0 0;
  overflow-wrap:anywhere;
}

#dashboard-error {
  margin:0 26px 15px;
}

.detail-dialog {
  padding:0;
  border:1px solid var(--line);
  border-radius:5px 12px 12px 5px;
  width:min(860px,calc(100% - 32px));
  max-height:90dvh;
  overflow:auto;
  background:#fffdf7;
  color:var(--ink);
  box-shadow:0 24px 90px #17293640;
}

.detail-dialog::backdrop {
  background:#17293688;
  backdrop-filter:blur(3px);
}

.dialog-bar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:16px 28px;
  background:#f5f4eb;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:1;
}

.dialog-bar strong {
  font:600 17px var(--serif);
}

.icon-button {
  width:42px;
  height:42px;
  border-radius:50%;
  background:#e9ecdf;
  font-size:26px;
  line-height:1;
}

.detail-body {
  padding:28px 34px;
}

.person-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 28px;
  padding:22px;
  margin:0;
  background:#f1f3e9;
  border:1px solid #e0e4d3;
  border-radius:6px;
}

.person-grid dt {
  font-size:12px;
  color:var(--muted);
}

.person-grid dd {
  font-size:15px;
  margin:6px 0 0;
  overflow-wrap:anywhere;
}

.detail-story {
  margin:28px 0 32px;
}

.detail-story h2 {
  font-size:29px;
  margin:12px 0 20px;
  overflow-wrap:anywhere;
}

.detail-story>p {
  font:17px/2 var(--serif);
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  user-select:text;
  -webkit-user-select:text;
}

.detail-controls {
  display:flex;
  align-items:end;
  gap:18px;
  border-top:1px solid var(--line);
  padding-top:22px;
}

.detail-controls label {
  flex:1;
}

.detail-controls select {
  margin-top:8px;
}

.detail-controls .button {
  min-height:48px;
}

.toast {
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  background:var(--navy);
  color:white;
  padding:12px 20px;
  border-radius:6px;
}

@media(min-width:1700px) {
  .login-book {
    margin-top:54px;
    margin-bottom:38px;
    max-height:900px;
  }

  .login-art {
    padding:36px 48px;
  }

  .login-illustration {
    max-height:480px;
  }
}

@media(max-width:1150px) {
  .dashboard {
    grid-template-columns:200px minmax(0,1fr);
  }

  .admin-sidebar {
    padding:28px 14px;
  }

  .admin-content {
    padding:28px 24px;
  }

  .admin-topbar {
    padding-inline:24px;
  }

  .table-toolbar {
    flex-wrap:wrap;
  }

  .search-box {
    width:100%;
  }

  .stat {
    padding:18px 16px;
  }

  .login-art {
    padding:26px;
  }

  .login-main {
    padding:32px;
  }

  .stats-grid {
    gap:12px;
  }

  .admin-page-heading {
    align-items:start;
  }

  .admin-page-heading h1 {
    font-size:28px;
  }
}

@media(max-width:760px) {
  .login-screen {
    padding:0 18px;
  }

  .admin-brand-header {
    min-height:84px;
    gap:14px;
  }

  .story-brand {
    font-size:19px;
    gap:10px;
  }

  .story-brand svg {
    width:31px;
  }

  .brand-caption {
    font-size:12px;
  }

  .admin-brand-header>.text-link {
    font-size:12px;
    max-width:66px;
    text-align:right;
  }

  .login-book {
    grid-template-columns:1fr;
    margin:24px auto;
    min-height:0;
    flex:none;
  }

  .login-book::after {
    display:none;
  }

  .login-art {
    padding:22px 24px;
    border-bottom:1px solid var(--line);
  }

  .login-art h1 {
    font-size:27px;
    margin:18px 0;
  }

  .login-illustration {
    max-height:240px;
    aspect-ratio:1.8;
    object-position:center 42%;
  }

  .login-art figcaption {
    font-size:14px;
    margin-top:12px;
  }

  .login-main {
    padding:30px 24px;
  }

  .login-form-wrap h2 {
    font-size:27px;
  }

  .login-form-wrap>.muted {
    font-size:14px;
    margin-bottom:20px;
    padding-bottom:20px;
  }

  .login-footer {
    font-size:12px;
    padding-top:0;
  }

  .dashboard {
    grid-template-columns:1fr;
  }

  .admin-sidebar {
    position:relative;
    height:auto;
    flex-direction:row;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 12px;
    padding:20px;
  }

  .admin-sidebar>.brand-mark {
    width:70px;
    margin:0 8px 0 0;
  }

  .sidebar-title {
    font-size:17px;
    margin:0;
    flex:1;
  }

  .sidebar-sub,.sidebar-section {
    display:none;
  }

  .sidebar-nav {
    margin:6px 0 0;
    padding:8px 10px;
    font-size:16px;
  }

  .sidebar-nav span {
    font-size:13px;
  }

  .sidebar-bottom {
    margin:0;
    padding:0;
    border:0;
    font-size:0;
  }

  .sidebar-bottom .status-dot {
    display:none;
  }

  .sidebar-bottom button {
    padding:10px 0;
    font-size:12px;
  }

  .admin-topbar {
    min-height:62px;
    padding:12px 20px;
    font-size:12px;
  }

  .admin-avatar {
    font-size:12px;
  }

  .admin-avatar b {
    display:none;
  }

  .admin-content {
    padding:26px 18px;
  }

  .admin-page-heading {
    flex-direction:column;
    gap:18px;
  }

  .admin-page-heading h1 {
    font-size:28px;
  }

  .stats-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .stat strong {
    font-size:36px;
  }

  .stat p {
    font-size:11px;
  }

  .stat>span {
    font-size:16px;
  }

  .collection-heading {
    padding:20px 16px 16px;
  }

  .collection-heading h2 {
    font-size:21px;
  }

  .table-toolbar {
    padding:0 16px 18px;
    gap:14px;
  }

  .admin-filters {
    gap:2px;
  }

  .admin-filters button {
    padding:8px 9px;
    font-size:13px;
  }

  th,td {
    padding:14px 16px;
    min-width:125px;
  }

  td:nth-child(3) {
    min-width:200px;
  }

  td:last-child {
    min-width:84px;
  }

  .table-bottom {
    flex-direction:column;
    gap:5px;
    padding:14px 16px;
  }

  .detail-body {
    padding:22px 20px;
  }

  .dialog-bar {
    padding:12px 20px;
  }

  .person-grid {
    padding:16px;
    gap:16px;
  }

  .detail-story h2 {
    font-size:25px;
  }

  .detail-story>p {
    font-size:16px;
  }

  .detail-controls {
    flex-wrap:wrap;
  }

  .detail-controls label,.detail-controls .button {
    width:100%;
    flex-basis:100%;
  }
}

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

.admin-pagination {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:16px;
  border-top:1px solid var(--line);
  font-size:14px;
}

.detail-history,.detail-recovery {
  border-top:1px solid var(--line);
  margin-top:24px;
  padding-top:18px;
}

summary {
  cursor:pointer;
  font-weight:600;
}

.detail-history h3 {
  margin:18px 0 8px;
  font-size:18px;
}

.history-item {
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-block:10px;
}

.detail-history ol {
  padding-left:20px;
  font-size:13px;
}

.detail-recovery p {
  margin:14px 0;
}

.identity-check {
  display:flex;
  align-items:center;
  gap:10px;
  margin:16px 0;
}

.identity-check input {
  width:18px;
  min-height:18px;
  height:18px;
  margin:0;
}

#receipt-result {
  margin-top:16px;
}

#new-receipt {
  font-size:13px;
}

/* Dashboard: shared alignment and clear reading hierarchy. */
#dashboard .admin-topbar { justify-content:flex-end; min-height:68px; padding:12px clamp(24px,3vw,48px); border-bottom:0; }
#dashboard .admin-content { max-width:1480px; padding:18px clamp(24px,3vw,48px) 48px; }
#dashboard .admin-page-heading { margin-bottom:30px; gap:24px; align-items:center; }
#dashboard .admin-page-heading h1 { margin:0; font-size:clamp(28px,2.4vw,38px); line-height:1.45; }
#dashboard .admin-page-heading h1 span { color:var(--navy); }
#dashboard .admin-page-heading .button { min-height:48px; padding:12px 22px; border-radius:8px; }
#dashboard .stats-grid { gap:16px; margin-bottom:28px; }
#dashboard .stat { padding:24px; border-radius:10px; box-shadow:none; border-color:#dfe1d5; }
#dashboard .stat>span { font:500 15px/1.5 var(--sans); color:#50645b; }
#dashboard .stat strong { font-size:44px; margin:12px 0 8px; font-variant-numeric:tabular-nums; }
#dashboard .stat p { font-size:13px; line-height:1.6; }
#dashboard .selected-stat { background:#edf0e5; border-color:#cbd3bd; }
#dashboard .admin-collection { border-radius:12px; box-shadow:0 8px 28px #17293606; }
#dashboard .collection-heading { padding:26px 26px 20px; }
#dashboard .collection-heading h2 { margin:0; font:600 23px/1.4 var(--serif); }
#dashboard .collection-heading h2 span { font:inherit; color:var(--navy); }
#dashboard #result-count { font:13px/1.5 var(--sans); color:var(--muted); }
#dashboard .collection-heading .text-link { min-height:44px; padding:8px 12px; }
#dashboard .table-toolbar { align-items:center; flex-wrap:wrap; gap:16px; padding-bottom:24px; }
#dashboard .admin-filters { gap:6px; }
#dashboard .admin-filters button { min-height:44px; padding:9px 13px; border-radius:7px; }
#dashboard .search-box { width:340px; margin:0; margin-left:auto; }
#dashboard .search-box input { min-height:46px; border-radius:7px; background:#fffefb; }
#dashboard th { padding:16px 24px; font-size:13px; }
#dashboard td { padding:24px; font-size:15px; line-height:1.65; }
#dashboard .admin-pagination { padding:20px 24px; }
#dashboard .table-bottom { padding:16px 24px; line-height:1.6; }
#dashboard .sidebar-sub { font-size:14px; letter-spacing:2px; margin-top:6px; }
#dashboard .sidebar-nav { min-height:48px; }
#dashboard :is(button,a,input):focus-visible { outline:2px solid #a98738; outline-offset:3px; }
@media (max-width:1100px) {
 #dashboard .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #dashboard .search-box { width:100%; }
}
@media (max-width:640px) {
 #dashboard .admin-topbar { padding:10px 18px; }
 #dashboard .admin-content { padding:12px 18px 32px; }
 #dashboard .admin-page-heading { align-items:flex-start; gap:18px; margin-bottom:24px; }
 #dashboard .admin-page-heading h1 { font-size:27px; }
 #dashboard .stats-grid { gap:10px; margin-bottom:22px; }
 #dashboard .stat { padding:17px 14px; }
 #dashboard .stat strong { font-size:36px; }
 #dashboard .stat p { font-size:12px; }
 #dashboard .collection-heading { padding:18px 16px 12px; }
 #dashboard .table-toolbar { padding:0 16px 18px; }
 #dashboard .admin-filters { gap:3px; }
 #dashboard .admin-filters button { padding:8px 10px; }
 #dashboard th,#dashboard td { padding:16px; }
 #dashboard .table-bottom { padding:14px 16px; }
}
