/* Hallmark · genre: modern-minimal · design-system: design.md · designed-as-app
 * Core commerce and ledger surfaces: readability, short actions, no decorative motion.
 * Pre-emit critique: P4 H4 E4 S4 R5 V4 */
:root {
  --dp-paper: #fff;
  --dp-ink: #172a25;
  --dp-muted: #52645f;
  --dp-line: #dfe7e2;
  --dp-soft: #f4f6f3;
  --dp-accent: #0d5947;
  --dp-accent-ink: #fff;
  --dp-focus: #a77b30;
  --dp-danger: #a6312b;
  --dp-nav-ink: #d5dfd9;
  --dp-nav-active: #e2c384;
  --dp-selection: #e8f3ef;
  --dp-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.sf-app.dp-storefront-shell .dp-hero h1,
.sf-app.dp-storefront-shell .dp-light-head h2,
.sf-app.dp-storefront-shell .dp-value-grid h3,
.sf-app.dp-storefront-shell .dp-about-grid h2 { color: var(--dp-accent-ink); }
.sf-app.dp-storefront-shell .dp-desktop-nav a { font-size: 12px; padding-inline: 14px; }
.sf-app.dp-storefront-shell .dp-nav-search input { font-size: 13px; }
.sf-app.dp-storefront-shell .dp-nav-icon,
.sf-app.dp-storefront-shell .dp-nav-search button { width: 40px; height: 44px; }
.sf-app.dp-storefront-shell .dp-quote-link { min-height: 40px; font-size: 11px; }
.sf-app.dp-storefront-shell .dp-button { min-height: 48px; font-size: 12px; }
.sf-app.dp-storefront-shell .dp-category-card p,
.sf-app.dp-storefront-shell .dp-program-card p,
.sf-app.dp-storefront-shell .dp-value-grid p,
.sf-app.dp-storefront-shell .dp-process-grid p { font-size: 14px; line-height: 1.6; }
.sf-app.dp-storefront-shell .dp-section { padding-block: 56px; }
.sf-app.dp-storefront-shell .dp-category-card { min-height: 180px; }
.sf-app.dp-storefront-shell .sf-icon-button { min-width: 44px; min-height: 44px; }
.sf-app.dp-storefront-shell .sf-status { color: var(--dp-muted); }
.sf-app.dp-storefront-shell :is(a, button, input, select, textarea):focus-visible,
.dingpai-admin-shell :is(a, button, input, select, textarea, [tabindex]):focus-visible,
.ant-modal :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--dp-focus); outline-offset: 3px;
}
.storefront-support-loader { position: fixed; right: 24px; bottom: 24px; z-index: 95; font-family: var(--dp-font); }
.storefront-support-loader button { min-height: 48px; padding: 0 20px; border: 0; border-radius: 6px; background: var(--dp-accent); color: var(--dp-accent-ink); cursor: pointer; font: inherit; }
.storefront-support-loader button:disabled { opacity: .65; cursor: wait; }
.storefront-support-loader p { max-width: 240px; padding: 10px; border: 1px solid var(--dp-line); background: var(--dp-paper); color: var(--dp-danger); }
.dingpai-admin-shell .table-page-search-wrapper { padding: 16px 16px 4px; background: var(--dp-soft); border-color: var(--dp-line); }
.dingpai-admin-shell .table-page-search-wrapper .ant-form-item { margin-bottom: 12px; }
.dingpai-admin-shell .table-operator { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0 !important; }
.dingpai-admin-shell .table-operator > .ant-btn { margin: 0 !important; }
.dingpai-admin-shell .table-operator .ant-btn,
.dingpai-admin-shell .table-page-search-wrapper .ant-btn { min-height: 36px; white-space: nowrap; }
.dingpai-admin-shell .ant-table-thead > tr > th { font-size: 13px; font-weight: 600; background: var(--dp-soft); }
.dingpai-admin-shell .ant-table-tbody > tr > td { font-size: 13px; font-variant-numeric: tabular-nums; }
.dingpai-admin-shell .ant-table-tbody > tr > td a { display: inline-flex; align-items: center; min-height: 28px; white-space: nowrap; }
.dingpai-admin-shell .ant-table-row-selected > td { background: var(--dp-selection); }
.ant-modal .ant-modal-title { font-size: 18px; font-weight: 600; color: var(--dp-ink); }
.ant-modal .ant-modal-header { border-bottom-color: var(--dp-line); }
.ant-modal .ant-modal-footer { position: sticky; bottom: 0; z-index: 2; background: var(--dp-paper); border-top-color: var(--dp-line); }
.ant-modal .ant-modal-footer .ant-btn { min-height: 38px; white-space: nowrap; }
.ant-modal .ant-modal-footer .ant-btn-primary:not(:disabled) { border-color: var(--dp-accent); background: var(--dp-accent); }
@media (hover: hover) and (pointer: fine) {
  .storefront-support-loader button:hover { filter: brightness(1.1); }
  .sf-app.dp-storefront-shell .dp-category-card:hover { border-color: var(--dp-accent); }
}
@media (max-width: 1050px) and (min-width: 901px) {
  .sf-app.dp-storefront-shell .dp-desktop-nav a { font-size: 11px; padding-inline: 10px; }
}
@media (max-width: 900px) {
  .sf-app.dp-storefront-shell .dp-hero-media { height: clamp(200px, 45vw, 360px); aspect-ratio: auto; }
  .sf-app.dp-storefront-shell .dp-hero h1 { font-size: clamp(32px, 4.2vw, 40px); }
  .storefront-support-loader { right: 16px; bottom: calc(80px + env(safe-area-inset-bottom)); }
  .sf-app.dp-storefront-shell .dp-mobile-menu { max-height: calc(100dvh - 140px); }
  .sf-app.dp-storefront-shell .dp-mobile-menu > a { white-space: nowrap; }
}
@media (max-width: 600px) {
  .sf-app.dp-storefront-shell .dp-hero-copy { padding: 24px 16px 28px; }
}
@media (max-width: 760px) {
  .dingpai-admin-shell .table-page-search-wrapper { padding: 12px; }
  .dingpai-admin-shell .table-operator .ant-btn,
  .dingpai-admin-shell .table-page-search-wrapper .ant-btn,
  .ant-modal .ant-modal-footer .ant-btn { min-height: 44px; }
  .dingpai-admin-shell .table-page-search-wrapper .ant-input,
  .dingpai-admin-shell .table-page-search-wrapper .ant-select-selection--single { min-height: 40px; }
  .dingpai-admin-shell .table-page-search-wrapper .ant-select-selection__rendered { line-height: 38px; }
  .ant-modal .ant-modal-footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
  .ant-modal .ant-modal-footer .ant-btn { margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .sf-app.dp-storefront-shell *, .dingpai-admin-shell *, .ant-modal * { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.dingpai-admin-shell .dingpai-admin-sider .ant-menu-item a { color: var(--dp-nav-ink); }
.dingpai-admin-shell .dingpai-admin-sider .ant-menu-item-selected a { color: var(--dp-nav-active); }
@media (max-width: 760px) {
  .dingpai-admin-shell .ant-card-body { padding: 12px; }
  .dingpai-admin-shell .table-page-search-wrapper .ant-form-item { flex-direction: column; }
  .dingpai-admin-shell .table-page-search-wrapper .ant-form-item-label { flex: 0 0 auto; width: 100%; max-width: none; padding: 0; line-height: 24px; }
  .dingpai-admin-shell .table-page-search-wrapper .ant-form-item-control-wrapper { flex: 0 0 auto; width: 100%; margin-left: 0; }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .dingpai-admin-shell .table-page-search-wrapper .ant-row > .ant-col-md-6 { width: 50%; }
  .dingpai-admin-shell .table-page-search-submitButtons { float: none !important; display: block; clear: both; }
  .dingpai-admin-shell .table-page-search-submitButtons > .ant-col { width: 100%; }
}
@media (max-width: 760px) {
  .dingpai-admin-shell .table-page-search-submitButtons > .ant-col { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
  .dingpai-admin-shell .table-page-search-submitButtons .ant-btn,
  .dingpai-admin-shell .table-page-search-submitButtons a { margin: 0 !important; white-space: nowrap; flex: 0 0 auto; }
  .dingpai-admin-shell .table-page-search-wrapper .ant-calendar-range-picker-input { font-size: 12px; }
}
