/* Delivery UI 1.0.0. Presentation only; override --du-* in an application stylesheet. */
.du-shell {
  --du-ground: #f3f5f6; --du-surface: #fff; --du-text: #24313b; --du-muted: #586975;
  --du-border: #dfe5e9; --du-control-border: #899ba7; --du-active: #edf1f3;
  --du-primary: #24313b; --du-primary-text: #fff; --du-accent: #287c70;
  --du-danger: #9c3030; --du-danger-bg: #fff1ef; --du-success: #246e50;
  --du-success-bg: #eef5f0; --du-warning: #805414; --du-warning-bg: #fff6e8;
  --du-info: #315b70; --du-info-bg: #edf4f7;
  --du-radius: 8px; --du-control-radius: 6px; --du-gap: 20px; --du-width: 1240px;
  --du-font: system-ui, -apple-system, "Segoe UI", sans-serif;
  background: var(--du-ground); color: var(--du-text); font-family: var(--du-font);
}
.du-shell *, .du-shell *::before, .du-shell *::after { box-sizing: border-box; }
.du-container { max-width: var(--du-width); padding: 0 24px; margin: 0 auto; }
.du-header { padding: 18px 0; background: var(--du-surface); border-bottom: 1px solid var(--du-border); margin-bottom: 28px; }
.du-skip { position: absolute; top: -100px; left: 16px; z-index: 2000; padding: 12px; background: var(--du-surface); color: var(--du-text); }
.du-skip:focus { top: 10px; }
.du-shell :focus-visible { outline: 3px solid var(--du-accent); outline-offset: 3px; }
.du-muted { color: var(--du-muted); }
.du-page-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--du-gap); margin: 0 0 24px; }
.du-page-header h1 { font-size: 1.625rem; line-height: 1.25; font-weight: 600; letter-spacing: -.025em; margin: 0 0 6px; }
.du-page-header p { margin: 0; }
.du-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font: inherit; min-height: 38px; padding: 8px 14px; border: 1px solid var(--du-control-border); border-radius: var(--du-control-radius); background: var(--du-surface); color: var(--du-text); text-decoration: none; }
.du-button:hover { background: var(--du-active); color: var(--du-text); }
.du-button-primary { background: var(--du-primary); border-color: var(--du-primary); color: var(--du-primary-text); }
.du-button-primary:hover { background: var(--du-primary); color: var(--du-primary-text); filter: brightness(1.15); }
.du-button:disabled { opacity: .55; cursor: not-allowed; }
.du-field { min-width: 0; margin-bottom: 6px; }
.du-field fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.du-label { display: block; font-size: .875rem; font-weight: 500; margin: 0 0 6px; }
.du-required { color: var(--du-muted); }
.du-control { display: block; width: 100%; max-width: 100%; min-height: 38px; font: inherit; padding: 8px 10px; color: var(--du-text); background-color: var(--du-surface); border: 1px solid var(--du-control-border); border-radius: var(--du-control-radius); }
textarea.du-control { min-height: 100px; resize: vertical; }
.du-control:disabled, .du-control[readonly] { background-color: var(--du-active); }
.du-control[aria-invalid=true] { border-color: var(--du-danger); }
.du-help { margin-top: 5px; color: var(--du-muted); font-size: .8125rem; }
.du-errors { margin: 5px 0 0; padding: 0; list-style: none; font-size: .875rem; color: var(--du-danger); }
.du-check-row { display: flex; align-items: baseline; gap: 8px; }
.du-check { accent-color: var(--du-accent); width: 18px; height: 18px; }
.du-notice { padding: 12px 16px; margin-bottom: 16px; border-radius: var(--du-control-radius); color: var(--du-info); background: var(--du-info-bg); overflow-wrap: anywhere; }
.du-notice[data-ui-notice=success] { color: var(--du-success); background: var(--du-success-bg); }
.du-notice[data-ui-notice=danger] { color: var(--du-danger); background: var(--du-danger-bg); }
.du-notice[data-ui-notice=warning] { color: var(--du-warning); background: var(--du-warning-bg); }
.du-shell [data-ui-status] { display: inline-flex; align-items: center; padding: 3px 7px; border-radius: 4px; font-size: .8125rem; font-weight: 500; white-space: nowrap; color: var(--du-muted); background: var(--du-active); }
.du-shell [data-ui-status=info] { color: var(--du-info); background: var(--du-info-bg); }
.du-shell [data-ui-status=success] { color: var(--du-success); background: var(--du-success-bg); }
.du-shell [data-ui-status=warning] { color: var(--du-warning); background: var(--du-warning-bg); }
.du-shell [data-ui-status=danger] { color: var(--du-danger); background: var(--du-danger-bg); }
.du-shell [data-ui-progress] { display: flex; align-items: center; justify-content: flex-end; gap: 8px; font-variant-numeric: tabular-nums; }
.du-shell [data-ui-progress] .mini-progress { width: 64px; height: 4px; background: var(--du-active); border-radius: 2px; overflow: hidden; flex-shrink: 0; }
.du-shell [data-ui-progress] .mini-progress-bar { height: 100%; background: var(--du-accent); }
.du-shell [data-ui-progress] .progress-value { min-width: 3em; font-size: .8125rem; text-align: right; }
.du-empty { padding: 32px 20px; text-align: center; }
.du-empty p { margin: 0 0 10px; }
.du-table-frame { overflow-x: auto; max-width: 100%; background: var(--du-surface); border: 1px solid var(--du-border); border-radius: var(--du-radius); }
.du-dialog { width: min(760px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid var(--du-border); border-radius: var(--du-radius); background: var(--du-surface); color: var(--du-text); }
.du-dialog::backdrop { background: rgb(0 0 0 / 35%); }
.du-dialog-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; border-bottom: 1px solid var(--du-border); }
.du-dialog-head h2 { font: inherit; font-weight: 600; margin: 0; }
.du-dialog-body { padding: 20px; }
.du-shell [data-ui-busy][aria-busy=true] { opacity: .7; }
@media (max-width: 575px) {
  .du-container { padding: 0 16px; }
  .du-control { font-size: 16px; min-height: 44px; }
  .du-button { min-height: 44px; }
  .du-page-header h1 { font-size: 1.375rem; }
}
@media (prefers-reduced-motion: reduce) { .du-shell *, .du-shell *::before, .du-shell *::after { scroll-behavior: auto !important; transition: none !important; } }
