:root{color:#1f2937;background:#f5f3ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{color:#fff;cursor:pointer;background:#111827;border:0;border-radius:999px;padding:.75rem 1rem;transition:transform .15s,opacity .15s}button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55}button.danger{background:#7f1d1d}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0 48px}.hero{grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:24px;display:grid}.eyebrow{color:#9a3412;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.07em;margin-bottom:12px;font-size:clamp(2.2rem,7vw,5.5rem);line-height:.92}h2{margin-bottom:16px;font-size:1.35rem}.hero-copy{color:#57534e;max-width:680px;font-size:1.08rem}.stats{grid-template-columns:repeat(3,minmax(110px,1fr));gap:12px;display:grid}.stats div{background:#fffaf2;border:1px solid #e7dfd2;border-radius:24px;padding:16px;box-shadow:0 12px 30px #4f463a14}.stats strong{font-size:2rem;line-height:1;display:block}.stats span{color:#78716c;font-size:.88rem}.panel{background:#fffaf2e6;border:1px solid #e7dfd2;border-radius:28px;margin-bottom:24px;padding:24px;box-shadow:0 18px 50px #4f463a1a}.upload-form{grid-template-columns:repeat(4,1fr);align-items:end;gap:16px;display:grid}.upload-form label,.filters{gap:8px;display:grid}.upload-form label{color:#57534e;font-weight:650}.upload-form label:nth-child(4){grid-column:span 2}input,select,textarea{color:#1f2937;background:#fff;border:1px solid #d6d3d1;border-radius:16px;outline:none;width:100%;padding:.8rem .9rem}textarea{resize:vertical;min-height:48px}input:focus,select:focus,textarea:focus{border-color:#9a3412;box-shadow:0 0 0 4px #9a34121f}.helper-text{color:#78716c;font-size:.82rem;font-weight:500}.error{color:#991b1b;background:#fee2e2;border-radius:16px;margin:16px 0 0;padding:12px 14px}.toolbar{justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px;display:flex}.toolbar p{color:#78716c;margin-bottom:0}.filters{grid-template-columns:220px 180px}.gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;display:grid}.card{background:#fff;border:1px solid #e7dfd2;border-radius:24px;overflow:hidden}.card img,.missing-image{aspect-ratio:1;object-fit:cover;background:#e7e5e4;width:100%;display:block}.missing-image{color:#78716c;place-items:center;display:grid}.card-body{padding:16px}.card-heading{justify-content:space-between;align-items:start;gap:8px;display:flex}.card-heading h3{margin-bottom:4px;font-size:1rem}.badge{text-transform:capitalize;border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:750}.badge.unsorted{color:#9a3412;background:#ffedd5}.badge.reviewed{color:#166534;background:#dcfce7}.badge.archived{color:#57534e;background:#e7e5e4}.type-label{color:#57534e;margin-bottom:8px;font-weight:700}.notes{color:#78716c;font-size:.92rem}.actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.actions button{padding:.55rem .7rem;font-size:.8rem}.empty-state{text-align:center;color:#78716c;background:#fafaf9;border:1px dashed #d6d3d1;border-radius:20px;padding:28px}@media (width<=900px){.hero,.toolbar{grid-template-columns:1fr;display:grid}.stats,.upload-form,.filters{grid-template-columns:1fr}.upload-form label:nth-child(4){grid-column:auto}}.auth-shell{place-items:center;min-height:100vh;display:grid}.auth-panel{width:min(520px,100%)}.auth-form{gap:16px;margin-top:24px;display:grid}.auth-form label{color:#57534e;gap:8px;font-weight:650;display:grid}.hero-side{gap:12px;display:grid}.account-card{background:#fffaf2;border:1px solid #e7dfd2;border-radius:24px;gap:8px;padding:16px;display:grid;box-shadow:0 12px 30px #4f463a14}.account-card span{color:#78716c;font-size:.82rem}.account-card strong{word-break:break-word}.account-card button{justify-self:start;padding:.55rem .8rem;font-size:.82rem}@media (width<=900px){.hero-side{grid-template-columns:1fr}}
