.register-browser,.register-viewer{--surface:var(--card);--border:var(--line);--bg:var(--paper);--text:var(--ink)}
.register-browser{margin-top:24px}
.register-browser-heading,.register-date-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.register-browser-heading h2,.register-date-heading h2{margin:0}
.register-browser-heading p,.register-date-heading span{color:var(--muted)}
.register-filters{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin:20px 0 28px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:16px}
.register-filters label{display:grid;gap:7px;font-size:14px;font-weight:600;min-width:0}
.register-search{flex:1 1 240px}
.register-filters input,.register-filters select{width:100%;min-width:0;min-height:42px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:9px;padding:9px 12px;font:inherit;color-scheme:dark}
[data-theme=light] .register-filters input,[data-theme=light] .register-filters select{color-scheme:light}
.register-filter-error{flex-basis:100%;color:var(--red,#c0392b);margin:0}
.register-date-group{margin-bottom:30px}
.register-date-heading{padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:18px}
.register-date-heading h2{font-size:18px}
.register-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:18px}
.register-card{min-width:0;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}
.register-preview-button{position:relative;display:block;width:100%;aspect-ratio:3/4;padding:12px;border:0;border-bottom:1px solid var(--border);background:var(--bg);cursor:zoom-in;color:var(--text)}
.register-thumbnail{display:block;width:100%;height:100%;object-fit:contain}
.register-preview-label{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:7px 12px;border-radius:8px;background:#18202de6;color:#fff;font-size:13px}
.register-preview-button:hover .register-preview-label{background:#111}
.register-preview-button:focus-visible{outline:3px solid var(--brand);outline-offset:-4px}
.register-card-body{padding:16px}
.register-card-body h3{margin:0 0 10px;font-size:17px}
.register-card-body p{display:flex;flex-wrap:wrap;gap:6px;min-height:24px;margin:0 0 14px}
.register-customer{font-size:13px;border:1px solid var(--border);border-radius:6px;padding:4px 8px;overflow-wrap:anywhere}
.register-untagged{color:var(--muted);font-size:14px}
.register-card-actions .entry-action{width:100%;justify-content:center}
.register-image-error{padding:10px 16px;font-size:14px;color:var(--red,#c0392b)}
.register-viewer{box-sizing:border-box;width:calc(100vw - 32px);max-width:1500px;height:calc(100dvh - 32px);max-height:none;padding:0;border:1px solid var(--border);border-radius:16px;background:var(--bg);color:var(--text);overflow:hidden}
.register-viewer[open]{display:flex;flex-direction:column}
.register-viewer::backdrop{background:#080b12db}
.register-viewer header,.register-viewer footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;flex-wrap:wrap}
.register-viewer header h2{margin:0;font-size:20px}
.register-viewer header p{margin:4px 0 0;color:var(--muted)}
.register-viewer-toolbar{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;padding:12px;border-block:1px solid var(--border)}
.register-viewer-position{min-width:60px;text-align:center}
.register-viewer-stage{flex:1;min-height:0;overflow:auto;text-align:center;padding:16px;background:#202530}
.register-viewer-canvas{position:relative;margin:auto}
.register-viewer-stage img{position:absolute;left:50%;top:50%;max-width:none;object-fit:contain;transform-origin:center}
.register-viewer footer{font-size:14px;overflow-wrap:anywhere}
.register-viewer footer span{flex:1;min-width:0}
.register-viewer-error{color:#fff}
.register-viewer [hidden],.register-browser [hidden]{display:none!important}
@media(max-width:600px){
  .register-filters{padding:14px;gap:12px}
  .register-filters label{flex:1 1 120px}
  .register-filters .register-search{flex-basis:100%}
  .register-filters>.btn{width:100%}
  .register-viewer{width:100vw;height:100dvh;border-radius:0;border:0}
  .register-viewer header,.register-viewer footer{padding:12px}
  .register-viewer-toolbar{gap:6px;padding:8px}
  .register-viewer-toolbar .btn{font-size:12px;padding:6px 9px}
}
