:root{color-scheme:dark;--bg:#10171b;--panel:#172126;--line:#34434b;--text:#f0f3f4;--muted:#b5c0c7;--accent:#91d1cd;--amber:#f3c581}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 Arial,Helvetica,sans-serif}a{color:var(--accent);text-decoration:none}button,.button{font:inherit;cursor:pointer;padding:10px 16px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:3px}button:hover,.button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:wait}button[aria-pressed=true],.selected button.select-action{background:#274a4a;border-color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button.primary,#publish,#confirm-publish{background:var(--accent);color:#102628;border-color:var(--accent)}.masthead{padding:25px 4vw;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{font-size:17px;letter-spacing:2px;color:var(--text)}.brand span{display:block;font-size:12px;color:var(--muted);letter-spacing:2px;margin-top:5px}nav{display:flex;gap:25px}main{max-width:1800px;margin:auto;padding:32px 4vw 80px}.intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:28px}.eyebrow{font-size:13px;color:var(--accent);letter-spacing:2px;font-weight:600}.intro h1{font:normal clamp(32px,4vw,52px)/1.08 Georgia,serif;margin:8px 0 15px}.intro p:not(.eyebrow){max-width:660px;color:var(--muted);margin:12px 0}.publication{max-width:410px;display:flex;flex-wrap:wrap;gap:8px}.publication p{width:100%;font-size:14px}.notice{padding:12px 18px;margin:20px 0;border-left:3px solid var(--amber);background:#29251d;color:#f7dbb2}.notice:empty{display:none}.summary{position:sticky;top:0;z-index:5;background:#10171bf5;border-block:1px solid var(--line);padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;backdrop-filter:blur(12px)}.summary strong{font-size:18px}.summary span{font-size:14px;color:var(--accent)}.layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:34px}aside{position:sticky;top:84px;align-self:start;padding-top:22px}#collection-nav{display:grid;gap:8px}#collection-nav button{text-align:left;display:flex;flex-direction:column;gap:3px;padding:12px;font-size:14px}#collection-nav small{font-size:13px;color:var(--muted)}.pool-tabs{display:grid;gap:8px;margin-top:28px}.aside-note{font-size:14px;color:var(--muted)}.collection{padding:32px 0 48px;border-bottom:1px solid var(--line);scroll-margin-top:90px}.collection-head{display:flex;justify-content:space-between;gap:20px}.collection-head h2{font:normal 32px/1.16 Georgia,serif;margin:6px 0}.collection-count{color:var(--accent);font-size:16px}.over-target{color:var(--amber)}.recovery-note{padding:12px 16px;border:1px solid #68553e;background:#231f19;color:#e9c99d;font-size:14px;margin:18px 0}.collection-controls{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.collection-controls button{font-size:14px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-card{margin:0;border:1px solid var(--line);background:var(--panel);min-width:0}.photo-card.selected{border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}.preview{width:100%;padding:0;border:0;border-radius:0;background:#0b0e11;display:flex;align-items:center;justify-content:center;height:260px}.preview img{display:block;width:100%;height:100%;object-fit:contain}.card-meta{padding:14px 16px}.selection-label{display:flex;align-items:center;gap:10px;min-height:35px;cursor:pointer;color:var(--accent);font-size:15px}.selection-label input{width:22px;height:22px;margin:0;accent-color:var(--accent);flex-shrink:0}.filename{font:15px/1.4 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere;margin:10px 0 5px}.metadata{color:var(--muted);font-size:14px;margin:3px 0;overflow-wrap:anywhere}.flags{color:var(--amber);font-size:13px;margin:7px 0}.compare-link{font-size:14px;padding:6px 10px;margin-top:8px}.subcollection-heading{grid-column:1/-1;font:normal 24px Georgia,serif;padding-top:15px;margin:10px 0}.empty{padding:30px;border:1px dashed #625343;color:#e1c9a5;background:#1d1c1a;font-size:16px}.sign-in{max-width:650px;border:1px solid var(--line);padding:30px;margin:35px 0}.sign-in p{color:var(--muted)}.button{display:inline-block}footer{border-top:1px solid var(--line);padding:24px 4vw;font-size:14px;color:var(--muted)}dialog{color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:24px;max-width:96vw;max-height:96dvh}dialog::backdrop{background:#020608e8}#lightbox{width:96vw;height:94dvh}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.dialog-head>div{display:flex;gap:8px;flex-wrap:wrap}.dialog-head button{font-size:14px}#lightbox-body{height:calc(94dvh - 205px);display:grid;place-items:center}#lightbox-body>img{width:100%;height:100%;object-fit:contain}#lightbox-caption{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:15px 0}#lightbox-caption p{margin:0;font-size:14px}.comparison{width:100%;height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;overflow:auto}.compare-card{background:var(--panel);border:1px solid var(--line);padding:12px;min-height:240px}.compare-card img{width:100%;height:calc(100% - 70px);max-height:350px;object-fit:contain}.compare-card .filename{margin:3px 0}.compare-card.selected{border-color:var(--accent)}#publish-confirm{max-width:580px}.confirm-actions{display:flex;justify-content:end;gap:12px;margin-top:28px}[hidden]{display:none!important}@media(min-width:1650px){.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:205px minmax(0,1fr);gap:22px}.preview{height:235px}}@media(max-width:750px){.masthead{align-items:start;flex-direction:column;gap:16px}nav{gap:18px;font-size:14px}main{padding:25px 5vw 60px}.intro{display:block}.publication{margin-top:22px}.layout{display:block}aside{position:static}#collection-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.pool-tabs{display:flex;flex-wrap:wrap;margin-top:20px}.summary{align-items:start;flex-direction:column;gap:5px;padding:12px 0}.collection-head{display:block}.photo-grid{gap:12px}.card-meta{padding:12px}.preview{height:190px}.collection-head h2{font-size:28px}.dialog-head{align-items:start;flex-direction:column}.dialog-head>p{margin:0}#lightbox-body{height:calc(94dvh - 260px)}.comparison{grid-template-columns:1fr;overflow:auto}.compare-card{min-height:330px}.collection-controls button{flex:1 1 auto}.intro h1{font-size:38px}}@media(max-width:480px){.photo-grid{grid-template-columns:1fr}.preview{height:290px}.collection{padding-top:25px}.confirmation-actions{flex-direction:column}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Private candidate intake: readable across desktop and mobile, never part of the public gallery. */
.import-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 22px;padding:22px 26px;border:1px solid #436165;border-radius:8px;background:#1b2a2f}
.import-panel h2{font:normal 26px/1.25 Georgia,serif;margin:4px 0 10px;color:#f0f3f4}
.import-panel p{max-width:780px;margin:4px 0 8px;color:#d9e5e9;font-size:15px}
#import-progress{font-weight:600;color:#a3e3de}
.import-picker{display:flex;flex-direction:column;gap:10px;min-width:240px;padding:13px;border:1px solid #79bbb7;border-radius:6px;color:#ddf5f3;font-weight:700;cursor:pointer}
.import-picker input{display:block;max-width:100%;font:14px Arial,Helvetica,sans-serif;color:#e7f5f5}
.import-picker input::file-selector-button{background:#91d1cd;color:#102628;border:0;border-radius:4px;padding:10px;margin-right:9px;font-weight:700;cursor:pointer}
.import-panel[aria-busy="true"]{opacity:.8}
.private-loading{background:#172126;min-height:60px}
@media(max-width:800px){.import-panel{flex-direction:column;align-items:stretch;padding:18px}.import-picker{min-width:0}.import-panel h2{font-size:23px}}

/* Owner bank can assign a photograph to multiple collections without publishing. */
.collection-picker{display:block;width:100%;margin-top:12px;border:1px solid var(--line);
  background:var(--panel);color:var(--text);padding:10px 12px;border-radius:5px;
  font:inherit;font-size:.88rem;cursor:pointer}
.collection-picker:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.remove-from-collection{display:block;width:100%;margin-top:8px;border:1px solid #695054;
  background:transparent;color:#f6c4bf;border-radius:5px;padding:9px;
  font:inherit;font-size:.83rem;cursor:pointer;text-align:center}
.remove-from-collection:hover{background:#38272a}
.remove-from-collection:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.gallery-bank .photo-grid{margin-top:16px}
.gallery-bank .recovery-note{max-width:70ch}

.add-to-target,.back-to-collection{display:block;margin:10px 0 0;width:100%;
  border:1px solid var(--accent);background:#214341;color:#efffff;
  padding:10px 12px;border-radius:5px;font:inherit;font-size:.89rem;font-weight:700;
  cursor:pointer}
.add-to-target:hover,.back-to-collection:hover{background:#2e5754}
.add-to-target:focus-visible,.back-to-collection:focus-visible{outline:2px solid #fff;outline-offset:3px}


/* Multi-file intake: explicit thumbnail checkboxes after the native Files picker.
   Import stays owner-only and private until the independent Publish action. */
.import-actions{display:grid;gap:12px;min-width:min(100%,310px)}
.destination-picker{display:flex;flex-direction:column;gap:7px;font-size:15px;color:#effafa;font-weight:700}
.destination-picker select{width:100%;background:#102125;color:#f6ffff;border:1px solid #79bbb7;
  border-radius:6px;padding:11px;font:inherit}
.import-staging{margin:0 0 28px;padding:20px;border:1px solid #557e7f;border-radius:8px;background:#17262b}
.staging-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.staging-head h2{font:normal 27px/1.25 Georgia,serif;margin:6px 0}
.staging-head p:not(.eyebrow){color:#d9e5e9;margin:4px 0}
#stage-count{color:#a9e4dc;font-size:16px}
.staging-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.staging-toolbar button{min-height:44px}
.staging-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.staging-card{border:2px solid #405359;display:flex;flex-direction:column;cursor:pointer;min-width:0;
  border-radius:7px;overflow:hidden;background:#0c171b}
.staging-card.checked{border-color:#91d1cd;background:#183b39}
.staging-card img{width:100%;height:165px;object-fit:contain;background:#080d0f;display:block}
.staging-choice{display:flex;align-items:center;gap:9px;padding:10px;min-width:0;overflow-wrap:anywhere;
  color:#f2fcfd;font-size:13px}
.staging-choice input{width:23px;height:23px;min-width:23px;margin:0;accent-color:#91d1cd}
@media(max-width:1050px){.staging-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){.staging-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staging-toolbar button{flex:1 1 45%}.staging-card img{height:155px}}
@media(max-width:420px){.staging-card img{height:120px}.staging-choice{font-size:12px;padding:8px}}

/* Distinguish current confirmed imports from historical audit notes. */
.collection-import-status{border-left:3px solid var(--accent);padding:9px 13px;background:#182b2d;
  color:#d6e9e7;font-size:14px;line-height:1.55;margin:16px 0}
.audit-details{color:var(--muted);font-size:13px;margin:8px 0 14px}
.audit-details summary{cursor:pointer;display:list-item;width:fit-content;text-decoration:underline;text-underline-offset:3px}
.audit-details summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.audit-details p{padding:10px 12px;border:1px solid var(--line);border-radius:4px;margin:8px 0}

/* Compact mobile upload recovery controls; no claim of true background transfer. */
.resume-status{margin:8px 0 0;color:#bddedb;font-size:13px;line-height:1.5;max-width:80ch}
#pause-import:not([hidden]){border:1px solid #e2b36e;color:#ffe7bb;background:#33281b}
#pause-import:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Owner-only, collapsed quality review: not part of the public gallery. */
.resolution-audit{margin:18px 0 24px;padding:14px 18px;border:1px solid var(--line);border-radius:7px;background:#18272b}
.resolution-audit summary{cursor:pointer;font-size:15px;color:var(--accent);font-weight:700}
.resolution-audit summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.resolution-audit p{font-size:13px;color:var(--muted);max-width:90ch;line-height:1.65}
.resolution-audit button{min-height:44px}
.resolution-audit #resolution-review-details{font-size:13px;color:var(--text)}
.resolution-audit #resolution-review-details ul{padding-left:22px;line-height:1.75}
