/* Dark theme for Nocan (scoped to .nocan) */
.nocan{
  /* Backwards-compat variables used in views */
  --nocan-st-reg: var(--nocan-stage-registration);
  --nocan-st-shoot: var(--nocan-stage-shooting);
  --nocan-st-sort: var(--nocan-stage-sorting);
  --nocan-st-basic: var(--nocan-stage-base-edit);
  --nocan-st-pick: var(--nocan-stage-selection);
  --nocan-st-retouch: var(--nocan-stage-retouch);
  --nocan-st-layout: var(--nocan-stage-layout);
  --nocan-st-verify: var(--nocan-stage-verification);
  --nocan-st-print: var(--nocan-stage-print);
  --nocan-st-mail: var(--nocan-stage-mailing);
  --nocan-st-photo: var(--nocan-stage-shooting);

  background:var(--nocan-bg);
  color:var(--nocan-text);
}

/* Layout */
.nocan .sticky-top-lite{position:sticky;top:0;z-index:1020;background:var(--nocan-surface-overlay);backdrop-filter:saturate(140%) blur(10px);padding-top:12px}

/* Typography */
.nocan .mini-muted{font-size:.86rem;color:var(--nocan-muted)}
.nocan .text-muted{color:var(--nocan-muted)}

/* Tabs: modern pill-like */
.nocan .nav-tabs{border-bottom:0; gap:.35rem; flex-wrap:wrap}
.nocan .nav-tabs .nav-link{border:1px solid transparent; color:var(--nocan-muted); border-radius:999px; padding:.45rem .8rem}
.nocan .nav-tabs .nav-link:hover{border-color:var(--nocan-border); color:var(--nocan-text)}
.nocan .nav-tabs .nav-link.active{background:var(--nocan-surface-active); border-color:var(--nocan-border-strong); color:var(--nocan-text)}
.nocan .tab-stage{font-weight:500}

/* Cards & surfaces */
.nocan .card, .nocan .modal-content, .nocan .dropdown-menu{background:var(--nocan-surface); border:1px solid var(--nocan-border); border-radius:16px}
.nocan .card{box-shadow:var(--nocan-shadow-card)}
.nocan .modal-header, .nocan .modal-footer{border-color:var(--nocan-border)}

/* Inputs */
.nocan .form-control, .nocan .form-select{
  background:var(--nocan-surface-active);
  border:1px solid var(--nocan-border);
  color:var(--nocan-text);
  border-radius:14px;
}
.nocan .form-control:focus, .nocan .form-select:focus{
  border-color:var(--nocan-border-strong);
  box-shadow:0 0 0 .25rem var(--nocan-focus-ring);
}

/* List: turn list-group into spaced cards */
.nocan .list-group{display:flex; flex-direction:column; gap:.75rem}
.nocan .list-group-item{background:var(--nocan-surface); border:1px solid var(--nocan-border); border-radius:16px; margin:0}
.nocan .list-group-item-action{color:var(--nocan-text)}
.nocan .list-group-item-action:hover{background:var(--nocan-surface-hover)}
.nocan .card-hover:hover{background:var(--nocan-surface-hover)}

/* Search dropdown: avoid “transparent” hover look on results */
.nocan #nocanSearchDropdown .list-group-item-action:hover,
.nocan #nocanSearchDropdown .list-group-item-action:focus{
  background-color: var(--nocan-surface-2);
  color: var(--nocan-text);
  opacity: 1;
}

/* Stronger specificity to override global/theme hover rules that set a light background */
.nocan a.list-group-item.list-group-item-action.card-hover:hover,
.nocan .list-group-item.card-hover:hover {
  background-color: var(--nocan-surface-hover);
  color: var(--nocan-text);
}

/* Stage markers */
.nocan .stage-dot{width:10px;height:10px;border-radius:50%;display:inline-block;vertical-align:middle; box-shadow:var(--nocan-shadow-dot); opacity:.65; background:var(--nocan-muted)}
.nocan .stage-bar{width:3px;border-radius:999px; display:none; background:var(--nocan-issue-bar-bg)}

/* Tabs/legend: stage color only via dot (pale palette) */
.nocan [data-stage-key="registration"] .stage-dot{background:var(--nocan-st-reg)}
.nocan [data-stage-key="shooting"] .stage-dot{background:var(--nocan-st-shoot)}
.nocan [data-stage-key="sorting"] .stage-dot{background:var(--nocan-st-sort)}
.nocan [data-stage-key="base_edit"] .stage-dot{background:var(--nocan-st-basic)}
.nocan [data-stage-key="selection"] .stage-dot{background:var(--nocan-st-pick)}
.nocan [data-stage-key="retouch"] .stage-dot{background:var(--nocan-st-retouch)}
.nocan [data-stage-key="layout"] .stage-dot{background:var(--nocan-st-layout)}
.nocan [data-stage-key="verification"] .stage-dot{background:var(--nocan-st-verify)}
.nocan [data-stage-key="print"] .stage-dot{background:var(--nocan-st-print)}
.nocan [data-stage-key="mailing"] .stage-dot{background:var(--nocan-st-mail)}

/* Cards: stage color only via a dedicated dot next to neutral stage badge */
.nocan [data-order-card="1"][data-stage="registration"] .stage-dot--stage{background:var(--nocan-st-reg)}
.nocan [data-order-card="1"][data-stage="shooting"] .stage-dot--stage{background:var(--nocan-st-shoot)}
.nocan [data-order-card="1"][data-stage="sorting"] .stage-dot--stage{background:var(--nocan-st-sort)}
.nocan [data-order-card="1"][data-stage="base_edit"] .stage-dot--stage{background:var(--nocan-st-basic)}
.nocan [data-order-card="1"][data-stage="selection"] .stage-dot--stage{background:var(--nocan-st-pick)}
.nocan [data-order-card="1"][data-stage="retouch"] .stage-dot--stage{background:var(--nocan-st-retouch)}
.nocan [data-order-card="1"][data-stage="layout"] .stage-dot--stage{background:var(--nocan-st-layout)}
.nocan [data-order-card="1"][data-stage="verification"] .stage-dot--stage{background:var(--nocan-st-verify)}
.nocan [data-order-card="1"][data-stage="print"] .stage-dot--stage{background:var(--nocan-st-print)}
.nocan [data-order-card="1"][data-stage="mailing"] .stage-dot--stage{background:var(--nocan-st-mail)}

/* Stage bar is allowed ONLY for problems */
.nocan [data-order-card="1"][data-deadline-status="paused"] .stage-bar,
.nocan [data-order-card="1"][data-deadline-status="overdue"] .stage-bar,
.nocan [data-order-card="1"][data-open-issues-count]:not([data-open-issues-count="0"]) .stage-bar,
.nocan [data-order-card="1"][data-open-admin-issues-count]:not([data-open-admin-issues-count="0"]) .stage-bar{
  display:block;
}

/* Unified chips (cards + stage tabs) */
.nocan .badge-stage,
.nocan .badge-deadline,
.nocan .badge-issue,
.nocan .badge-count-total,
.nocan .badge-count-attention{
  font-weight:600;
  letter-spacing:.2px;
  font-size:.78rem;
  padding:.34rem .55rem;
  border-radius:999px;
}

.nocan .badge-stage{
  background:var(--nocan-stage-bg);
  color:var(--nocan-stage-text);
}

.nocan .badge-count-total{
  background:var(--nocan-count-total-bg);
  color:var(--nocan-count-total-text);
}

.nocan .badge-count-attention{
  background:var(--nocan-count-attention-bg);
  color:var(--nocan-count-attention-text);
}

.nocan .badge-issue{
  background:var(--nocan-issue-bg);
  color:var(--nocan-issue-text);
  padding:.18rem .45rem;
  font-size:.76rem;
  min-width:18px;
  text-align:center;
}

.nocan .badge-deadline{
  background:var(--nocan-deadline-ok-bg);
  color:var(--nocan-deadline-ok-text);
}
.nocan .badge-deadline[data-deadline-status="ok"]{
  background:var(--nocan-deadline-ok-bg);
  color:var(--nocan-deadline-ok-text);
}
.nocan .badge-deadline[data-deadline-status="near"],
.nocan .badge-deadline[data-deadline-status="due_soon"]{
  background:var(--nocan-deadline-near-bg);
  color:var(--nocan-deadline-near-text);
}
.nocan .badge-deadline[data-deadline-status="overdue"],
.nocan .badge-deadline[data-deadline-status="paused"]{
  background:var(--nocan-deadline-overdue-bg);
  color:var(--nocan-deadline-overdue-text);
}

.nocan .deadline-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  color:var(--nocan-muted);
  opacity:.9;
}
.nocan .deadline-icon:hover{opacity:1}
.nocan .deadline-icon i{font-size:16px; line-height:1}

.nocan .nocan-deadline-popover{
  min-width:260px;
}
.nocan .nocan-deadline-popover .form-control{
  border-radius:12px;
}

/* Badges: "soft" (reduce 2010 neon) */
.nocan .badge{font-weight:600; letter-spacing:.2px}
.nocan .text-bg-danger{background:var(--nocan-badge-danger-bg);color:var(--nocan-badge-danger-text)}
.nocan .text-bg-warning{background:var(--nocan-badge-warning-bg);color:var(--nocan-badge-warning-text)}
.nocan .text-bg-success{background:var(--nocan-badge-success-bg);color:var(--nocan-badge-success-text)}
.nocan .text-bg-secondary{background:var(--nocan-badge-secondary-bg);color:var(--nocan-badge-secondary-text)}
.nocan .text-bg-dark{background:var(--nocan-badge-dark-bg);color:var(--nocan-badge-dark-text);border:1px solid var(--nocan-border)}
.nocan .text-bg-light{background:var(--nocan-badge-light-bg);color:var(--nocan-badge-light-text);border:1px solid var(--nocan-border)}

/* Buttons: calmer outlines */
.nocan .btn-outline-secondary, .nocan .btn-outline-dark{
  border-color:var(--nocan-border-strong);
  color:var(--nocan-badge-dark-text);
}
.nocan .btn-outline-secondary:hover, .nocan .btn-outline-dark:hover{
  background:var(--nocan-surface-active);
  border-color:var(--nocan-btn-outline-border);
}

/* Ghosts */
.nocan .ghost{opacity:.62}
.nocan .ghost.attn{opacity:1}

/* Chip */
.nocan .chip{border:1px solid var(--nocan-border); color:var(--nocan-badge-dark-text)}

/* Admin-only block (still visible, but not screaming) */
.nocan .admin-only{border-style:dashed; border-color:var(--nocan-border-strong)}

/* Search panel */
.nocan #searchPanel{background:var(--nocan-surface); border-color:var(--nocan-border)}

/* Small helper */
.nocan .stage-pill{display:inline-flex;align-items:center;gap:.45rem}
.nocan .kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85em}

/* Nocan highlight (keep existing behaviour but toned down) */
.nocan .nocan-highlight{
  box-shadow: 0 0 0 .25rem var(--nocan-focus-ring);
  border-color: var(--nocan-focus-border);
}
