/* Owner photo workflow: the shared Editorial + Pulse theme remains last. */
body.photo-manager{margin:0;background:#fff;color:#000;font-size:16px;line-height:1.6}
html body.photo-manager .bar{position:relative;top:0;background:#fff;color:#000}
html body.photo-manager .photo-header{width:min(880px,calc(100% - 40px));margin:auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
html body.photo-manager .photo-shell{width:min(880px,calc(100% - 40px));margin:24px auto 64px}
html body.photo-manager .photo-shell h1{font-size:clamp(38px,7vw,64px)}
html body.photo-manager :is(p,label){max-width:70ch;overflow-wrap:anywhere}
html body.photo-manager :is(section,form){border:0;box-shadow:none;background:#fff}
html body.photo-manager section{padding:24px 0;border-top:1px solid #e5e5e5;margin-top:24px}
html body.photo-manager form{display:grid;gap:12px;max-width:560px;padding:24px 0;margin:0}
html body.photo-manager form h3{margin:0}
html body.photo-manager :is(button,.action){font-size:16px;min-height:44px;padding:10px 16px;border:1px solid #e5e5e5;border-radius:8px;background:#fff;color:#000;cursor:pointer;max-width:100%}
html body.photo-manager .button{background:#d60000;color:#fff;border-color:#d60000}
html body.photo-manager .button:hover{background:#aa0000;border-color:#aa0000;transform:none}
html body.photo-manager .action:hover{background:#f5f5f5;color:#000;transform:none}
html body.photo-manager :is(button,input,select):disabled{opacity:.55;cursor:not-allowed}
html body.photo-manager :is(input,select){font-size:16px;min-height:44px;min-width:0;max-width:100%;width:100%;box-sizing:border-box}
html body.photo-manager input[type=file]{white-space:normal}
html body.photo-manager :is(.photo-links,.photo-actions){display:flex;flex-wrap:wrap;gap:12px;align-items:center}
html body.photo-manager .photo-links a{min-height:44px;display:inline-flex;align-items:center}
html body.photo-manager .owner-album{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}
html body.photo-manager .owner-photo{min-width:0;margin:0}
html body.photo-manager .owner-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:8px;display:block}
html body.photo-manager .owner-photo figcaption{padding:8px 0;font-size:16px}
html body.photo-manager .owner-photo .photo-actions{gap:8px}
html body.photo-manager .owner-photo button{width:100%;font-size:16px;padding:8px}
html body.photo-manager .local-preview{display:block;max-width:100%;width:220px;max-height:280px;object-fit:contain;background:#fff}
html body.photo-manager dialog{width:min(480px,calc(100% - 64px));max-height:85dvh;overflow:auto;border:1px solid #e5e5e5;border-radius:12px;padding:24px;background:#fff;color:#000}
html body.photo-manager dialog::backdrop{background:#0008}
html body.photo-manager [hidden]{display:none!important}
html body.photo-manager :is(button,a,input,select):focus-visible{outline:3px solid #aa0000;outline-offset:4px}
@media(max-width:600px){html body.photo-manager .owner-album{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}html body.photo-manager .photo-shell{margin-top:16px}html body.photo-manager .photo-header{min-height:64px}}
@media(prefers-reduced-motion:reduce){html body.photo-manager *,html body.photo-manager *::before,html body.photo-manager *::after{animation:none!important;transition:none!important;scroll-behavior:auto}}
