/* PhotoX — photographer portal. Dense product register. */
.dash { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: var(--s-7); align-items: start; }
@media (max-width: 960px) { .dash { grid-template-columns: 1fr; } }
.up-stage { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--s-6); align-items: start; }
@media (max-width: 960px) { .up-stage { grid-template-columns: 1fr; } }
.uplog { font-family: var(--font-mono); font-size: var(--t-12); color: var(--ink-2); max-height: 220px; overflow: auto; background: var(--surface); border-radius: var(--r-card); padding: var(--s-3) var(--s-4); box-shadow: var(--elev-card); }
.uplog div { padding: 3px 0; border-bottom: var(--rule); display: flex; gap: var(--s-3); }
.uplog .ok { color: var(--success-ink); } .uplog .err { color: var(--danger-ink); } .uplog .dup { color: var(--warning-ink); }
.wizard { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: var(--s-7); }
.wizard-steps { list-style: none; margin: 0; padding: var(--s-2); position: sticky; top: 76px; background: var(--surface); border-radius: var(--r-card); box-shadow: var(--elev-card); }
.wizard-steps li { display: flex; gap: var(--s-3); align-items: center; padding: var(--s-3); font-size: var(--t-14); color: var(--muted); border-radius: var(--r-ctl); }
.wizard-steps li .n { width: 24px; height: 24px; border-radius: 50%; border: var(--rule-strong); display: grid; place-items: center; font-family: var(--font-mono); font-size: var(--t-11); flex: none; }
.wizard-steps li.done .n { background: var(--success-soft); border-color: transparent; color: var(--success-ink); }
.wizard-steps li.now { color: var(--on-primary); font-weight: 700; background: var(--primary); } .wizard-steps li.now .n { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
@media (max-width: 800px) { .wizard { grid-template-columns: 1fr; } .wizard-steps { position: static; display: flex; gap: var(--s-3); overflow-x: auto; } .wizard-steps li { border: 0; white-space: nowrap; } }
.chips { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.chips .tagchip button { border: 0; background: none; padding: 0; margin-left: 2px; color: var(--muted); cursor: pointer; display: inline-flex; }
.price-grid { display: grid; grid-template-columns: minmax(220px, 1fr) 140px 140px 90px; gap: 0 var(--s-4); align-items: center; font-size: var(--t-14); }
.price-grid > div { padding: var(--s-2) 0; border-bottom: var(--row-rule); }
.price-grid .h { font-size: var(--t-12); color: var(--muted); border-bottom: var(--rule-strong); }
.price-grid .input { width: 120px; text-align: right; }
.price-grid > div:nth-child(4n+3), .price-grid > div:nth-child(4n+4) { font-family: var(--font-mono); text-align: right; }
.price-grid > div.h { font-family: var(--font-body); }
.table .ov { width: 96px; text-align: right; min-height: var(--h-ctl-sm); padding: 0 var(--s-2); }
@media (max-width: 720px) { .price-grid { grid-template-columns: 1fr 1fr; } }
.gmanage { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--s-6); align-items: start; }
@media (max-width: 960px) { .gmanage { grid-template-columns: 1fr; } }
.bulkbar { position: sticky; bottom: calc(var(--pocbar-h) + var(--s-3)); z-index: var(--z-sticky); display: none; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-4); background: var(--drench); color: var(--on-drench); border-radius: var(--r-lg); box-shadow: var(--elev-pop); margin-top: var(--s-4); }
.bulkbar.is-on { display: flex; }
.bulkbar .n { font-family: var(--font-mono); }
.bulkbar .btn { min-height: var(--h-ctl-sm); }

.wizard form > section { background: var(--surface); border-radius: var(--r-card); padding: var(--pad-card); box-shadow: var(--elev-card); }
.gmanage .tabs, #prog { background: var(--surface); border-radius: var(--r-card); padding: var(--pad-card); box-shadow: var(--elev-card); }
.gmanage .tabs { margin-bottom: var(--s-3); }
#prog.hide { display: none; }
.up-stage .form-grid { background: var(--surface); border-radius: var(--r-card); padding: var(--pad-card); box-shadow: var(--elev-card); }

/* profile editor */
.p-profile form > .stack-lg > section { background: var(--surface); border-radius: var(--r-card); padding: var(--pad-card); box-shadow: var(--elev-card); }
.p-profile form > .stack-lg > section > h2 { margin-bottom: var(--s-2); }
.p-profile .textarea { min-height: 72px; }
.p-profile .notif { display: grid; gap: var(--s-2); }
.p-profile .notif .toggle { justify-content: space-between; flex-direction: row-reverse; padding: var(--s-2) var(--s-3); background: var(--surface-2); border-radius: var(--r-ctl); }
.p-profile main aside > div { background: var(--surface); border-radius: var(--r-card); padding: var(--pad-card); box-shadow: var(--elev-card); }
.p-profile main aside > .notice { background: var(--surface-2); box-shadow: none; }
