.dverp-section[hidden] { display: none; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.dverp-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 20px 0; }

.dverp-form label,
.dverp-inline label { display: grid; gap: 7px; color: var(--dverp-muted); font-size: 12px; font-weight: 700; }

.dverp-form small { color: var(--dverp-tertiary); font-weight: 500; }

.dverp-form input,
.dverp-form select,
.dverp-form textarea,
.dverp-filter input,
.dverp-filter select,
.dverp-inline input,
.dverp-inline select {
  border: 1px solid var(--dverp-border-strong);
  border-radius: 8px;
  padding: 0 11px;
  background: var(--dverp-surface);
  color: var(--dverp-text);
  font: inherit;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025), inset 0 2px 8px rgba(0, 0, 0, .12);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.dverp-form input:hover,
.dverp-form select:hover,
.dverp-form textarea:hover,
.dverp-filter input:hover,
.dverp-filter select:hover,
.dverp-inline input:hover,
.dverp-inline select:hover { border-color: #4a5258; }

.dverp-form input:focus,
.dverp-form select:focus,
.dverp-form textarea:focus,
.dverp-filter input:focus,
.dverp-filter select:focus,
.dverp-inline input:focus,
.dverp-inline select:focus {
  outline: none;
  border-color: var(--dverp-lime);
  box-shadow: 0 0 0 3px rgba(168, 255, 62, .12);
}

.dverp-form input::placeholder,
.dverp-filter input::placeholder,
.dverp-inline input::placeholder { color: var(--dverp-tertiary); }

.dverp-form input,
.dverp-form select:not([multiple]),
.dverp-filter input,
.dverp-filter select,
.dverp-inline input,
.dverp-inline select { height: 42px; }

.dverp-form select[multiple] { min-height: 142px; padding: 8px; }
.dverp-form textarea { padding: 10px 11px; resize: vertical; }
.dverp-form fieldset { border: 1px solid var(--dverp-border); border-radius: 9px; }
.dverp-form legend { color: var(--dverp-muted); padding: 0 7px; }
.dverp-wide { grid-column: 1 / -1; }

.dverp-form button,
.dverp-table button,
.dverp-filter button,
.dverp-inline button {
  border: 1px solid var(--dverp-lime);
  border-radius: 8px;
  background: var(--dverp-lime);
  color: var(--dverp-bg);
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(168, 255, 62, .1), inset 0 1px 0 rgba(255, 255, 255, .32);
  transition: background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.dverp-form button:hover,
.dverp-table button:hover,
.dverp-filter button:hover,
.dverp-inline button:hover { background: #b8ff61; border-color: #b8ff61; transform: translateY(-1px); box-shadow: 0 8px 22px rgba(168, 255, 62, .12); }

.dverp-form button:focus-visible,
.dverp-table button:focus-visible,
.dverp-filter button:focus-visible,
.dverp-inline button:focus-visible { outline: 3px solid rgba(168, 255, 62, .22); outline-offset: 2px; }

.dverp-form > button { align-self: end; height: 42px; }
.dverp-filter, .dverp-inline { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; margin: 18px 0; }
.dverp-filter input { min-width: 240px; }
.dverp-table { margin-top: 18px; border-top: 1px solid var(--dverp-border); background: rgba(10, 12, 13, .12); border-radius: 8px; overflow: hidden; }

.dverp-table > div {
  display: grid;
  grid-template-columns: 1.25fr 1.35fr 1.35fr 1fr auto;
  gap: 15px;
  align-items: center;
  padding: 13px 8px;
  border-bottom: 1px solid var(--dverp-border);
  color: var(--dverp-muted);
  font-size: 12px;
  transition: background .14s ease, color .14s ease;
}

.dverp-table > div:hover { background: rgba(255, 255, 255, .026); color: var(--dverp-text); }
.dverp-table > div > span:first-child { color: var(--dverp-text); }
.dverp-table button:disabled { opacity: .38; cursor: not-allowed; transform: none; box-shadow: none; }
.dverp-actions { display: flex; gap: 6px; flex-wrap: wrap; }

.dverp-actions button + button { background: transparent; color: #ffaaa6; border-color: rgba(239, 106, 101, .6); }
.dverp-actions button + button:hover { background: var(--dverp-danger-bg); border-color: var(--dverp-danger); box-shadow: none; }
.dverp-empty { color: var(--dverp-tertiary); padding: 13px 8px; margin: 0; }
.dverp-alert-success { background: rgba(168, 255, 62, .08); color: var(--dverp-lime-soft); border: 1px solid rgba(168, 255, 62, .3); }
body[data-theme="light"] .dverp-alert-success { background: #ecfdf3; color: #19723a; border-color: #b7ebc8; }
body[data-theme="light"] .dverp-alert-error { background: #fff0f3; color: #a92845; border-color: #f3b8c5; }
body[data-theme="light"] .dverp-actions button + button { color: #a92845; }
body[data-theme="light"] .dverp-payment-options span { background: #f8fafc; }
body[data-theme="light"] .dverp-payment-options input:checked + span { color: #111827; }

.dverp-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dverp-metrics article { min-height: 120px; position: relative; overflow: hidden; }

.dverp-metrics article::after {
  content: "";
  position: absolute;
  right: -24px;
  bottom: -34px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(168, 255, 62, .12), transparent 67%);
  pointer-events: none;
}

.dverp-metrics article[role="link"] { cursor: pointer; }
.dverp-metrics article[role="link"]:hover,
.dverp-metrics article[role="link"]:focus { outline: 1px solid rgba(168, 255, 62, .62); background: linear-gradient(150deg, rgba(47, 55, 58, .98), rgba(34, 40, 42, .98)); transform: translateY(-2px); box-shadow: 0 20px 52px rgba(0, 0, 0, .34), 0 0 22px rgba(168, 255, 62, .055), inset 0 1px 0 rgba(255, 255, 255, .065); }

.dverp-module-list b.is-blocked { color: var(--dverp-danger); }

.dverp-chart,
.dverp-chart-panel { background: linear-gradient(155deg, rgba(39, 45, 49, .96), rgba(25, 29, 32, .98)); border: 1px solid rgba(255, 255, 255, .06); border-radius: 10px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 14px 36px rgba(0, 0, 0, .2); }
.dverp-chart .series-primary, .dverp-chart-panel .series-primary { color: var(--dverp-lime); stroke: var(--dverp-lime); fill: rgba(168, 255, 62, .16); filter: drop-shadow(0 0 5px rgba(168, 255, 62, .22)); }
.dverp-chart .series-secondary, .dverp-chart-panel .series-secondary { color: var(--dverp-green); stroke: var(--dverp-green); fill: rgba(84, 217, 107, .12); }
.dverp-chart .series-muted, .dverp-chart-panel .series-muted { color: var(--dverp-lime-deep); stroke: var(--dverp-lime-deep); fill: rgba(94, 159, 30, .12); }

.dverp-secondary-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dverp-secondary-metrics article { min-height: 96px; padding: 16px; }
.dverp-quick-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 4px; }
.dverp-quick-actions button { border: 1px solid rgba(168,255,62,.38); border-radius: 9px; padding: 10px 14px; background: rgba(168,255,62,.08); color: var(--dverp-lime-soft); font-weight: 750; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
.dverp-quick-actions button:first-child { background: var(--dverp-lime); color: var(--dverp-bg); box-shadow: 0 6px 18px rgba(168,255,62,.12), inset 0 1px 0 rgba(255,255,255,.32); }
.dverp-quick-actions button:hover { border-color: var(--dverp-lime); transform: translateY(-1px); }
.dverp-advanced { border: 1px solid var(--dverp-border); border-radius: 9px; padding: 12px 14px; background: rgba(10,12,13,.14); }
.dverp-advanced summary { color: var(--dverp-text); font-weight: 750; cursor: pointer; }
.dverp-advanced[open] summary { margin-bottom: 12px; color: var(--dverp-lime-soft); }
.dverp-pos-form fieldset { grid-column: 1 / -1; padding: 16px; }
.dverp-pos-preview { min-height: 76px; display: grid; align-content: center; gap: 4px; padding: 11px 13px; border: 1px solid rgba(168,255,62,.22); border-radius: 9px; background: rgba(168,255,62,.055); }
.dverp-pos-preview span,.dverp-pos-preview small { color: var(--dverp-muted); }
.dverp-pos-preview strong { color: var(--dverp-lime-soft); font-size: 20px; }
.dverp-sale-summary { display:grid; grid-template-columns:repeat(4,minmax(140px,1fr)); gap:10px; }
.dverp-sale-summary span { padding:12px; border:1px solid var(--dverp-border); border-radius:10px; background:rgba(255,255,255,.025); color:var(--dverp-muted); }
.dverp-sale-summary strong { display:block; margin-top:4px; color:var(--dverp-text); font-size:18px; }
.dverp-payment-fields output { display:block; min-height:43px; padding:10px 12px; border:1px solid var(--dverp-border); border-radius:8px; color:var(--dverp-lime-soft); font-weight:700; }
#dverp-pos-submit[disabled] { opacity:.65; cursor:wait; }
@media (max-width:780px){.dverp-sale-summary{grid-template-columns:1fr 1fr;}}
.dverp-payment-options { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; margin: 8px 0 14px; }
.dverp-payment-options label { position: relative; cursor: pointer; }
.dverp-payment-options input { position: absolute; opacity: 0; pointer-events: none; }
.dverp-payment-options span { display: grid; min-height: 58px; place-items: center; padding: 9px; border: 1px solid var(--dverp-border-strong); border-radius: 9px; background: rgba(10,12,13,.25); color: var(--dverp-muted); font-weight: 760; text-align: center; }
.dverp-payment-options input:checked + span { border-color: var(--dverp-lime); background: var(--dverp-lime); color: var(--dverp-bg); box-shadow: 0 7px 20px rgba(168,255,62,.15), inset 0 1px 0 rgba(255,255,255,.3); }
.dverp-payment-options input:focus-visible + span { outline: 3px solid rgba(168,255,62,.2); outline-offset: 2px; }
.dverp-user-table > div { grid-template-columns: 1.2fr .7fr 1fr 1fr minmax(260px,auto); }
.dverp-user-table span { white-space: pre-line; }
.dverp-table-wide { overflow-x: auto; }
.dverp-table-wide > div { min-width: 1080px; grid-template-columns: .65fr 1fr 1.2fr 1fr 1.1fr 1.6fr; }

@media (max-width: 1000px) {
  .dverp-payment-options { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dverp-secondary-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) { .dverp-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media (max-width: 700px) {
  .dverp-form, .dverp-metrics { grid-template-columns: 1fr; }
  .dverp-wide { grid-column: auto; }
  .dverp-table > div { grid-template-columns: 1fr; gap: 7px; }
  .dverp-table button { justify-self: start; }
  .dverp-filter { align-items: stretch; }
  .dverp-filter input, .dverp-filter select, .dverp-filter button { width: 100%; }
  .dverp-payment-options,.dverp-secondary-metrics { grid-template-columns: 1fr 1fr; }
  .dverp-quick-actions { display: grid; grid-template-columns: 1fr; }
}

@media print {
  :root { color-scheme: light; }
  body.dverp-app-page { background: #fff !important; color: #000 !important; }
  .dverp-sidebar, .dverp-topbar, .dverp-main > .dverp-page-heading, .dverp-form, .dverp-actions, .dverp-alert { display: none !important; }
  .dverp-workspace, .dverp-main, .dverp-panel { margin: 0 !important; padding: 0 !important; box-shadow: none !important; width: 100% !important; background: #fff !important; color: #000 !important; border: 0 !important; }
  .dverp-section[hidden], .dverp-section:not([data-panel="report-centre"]) { display: none !important; }
  .dverp-section[data-panel="report-centre"] { display: block !important; }
  .dverp-section[data-panel="report-centre"] h2::before { content: "Dillys Ventures — "; }
  .dverp-table > div { break-inside: avoid; color: #000 !important; background: #fff !important; border-color: #bbb !important; }
  .dverp-table > div > span { color: #000 !important; }
}
