@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--bg:#0b0b0d;--panel:#141418;--panel2:#1a1a20;--text:#f4f1eb;--muted:#a8a5a0;--line:#2a292f;--accent:#d7b078;--accent2:#b98c52;--danger:#e77979}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:"DM Sans",Arial,sans-serif}body{overflow-x:hidden}
.ambient{position:fixed;border-radius:50%;filter:blur(90px);opacity:.14;pointer-events:none}.ambient-1{width:420px;height:420px;background:#9b6b35;top:-180px;right:-100px}.ambient-2{width:350px;height:350px;background:#6b3c74;bottom:-180px;left:-130px}
.upload-shell{width:min(620px,calc(100% - 36px));margin:0 auto;padding:70px 0 50px;text-align:center;position:relative}
.brand-mark,.mini-logo{display:inline-grid;place-items:center;border:1px solid rgba(215,176,120,.5);color:var(--accent);font-family:"Playfair Display";font-weight:600}
.brand-mark{width:48px;height:48px;border-radius:50%;font-size:22px;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--accent);font-weight:700;margin:0 0 12px}
h1{font-family:"Playfair Display",serif;font-size:clamp(40px,8vw,64px);line-height:1.02;font-weight:500;letter-spacing:-1.5px;margin:0}h1 span{color:var(--accent)}
.lead{color:var(--muted);line-height:1.65;margin:20px auto 36px;font-size:15px}
.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;border:1px dashed #49474e;background:rgba(255,255,255,.025);border-radius:20px;cursor:pointer;transition:.2s;padding:30px}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:rgba(215,176,120,.05);transform:translateY(-1px)}.dropzone input{display:none}
.drop-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:25px;color:var(--accent);margin-bottom:15px}.dropzone strong{font-size:16px}.dropzone span{color:var(--muted);font-size:13px;margin-top:5px}.dropzone small{color:#77757a;font-size:11px;margin-top:18px}
.preview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0}.preview-item{min-width:0}.preview-item img,.file-icon{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}.file-icon{display:grid;place-items:center;color:var(--accent);font-size:10px;font-weight:700}.preview-item span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#858188;font-size:9px;margin-top:4px}
.field{text-align:left;margin:20px 0}.field label{display:block;font-size:12px;color:#d6d2cb;margin:0 0 8px}.field label span{color:#77757a}.field input,#search{width:100%;height:52px;background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--text);padding:0 15px;outline:none;font:inherit}.field input:focus,#search:focus{border-color:var(--accent)}
.primary-btn,.secondary-btn{border:0;cursor:pointer;border-radius:12px;font:600 14px "DM Sans";display:flex;align-items:center;justify-content:space-between;gap:30px;text-decoration:none}.primary-btn{width:100%;height:56px;background:var(--accent);color:#17130e;padding:0 20px;transition:.2s}.primary-btn:hover{background:#e1bd8b}.primary-btn:disabled{opacity:.4;cursor:not-allowed}.primary-btn.loading{opacity:.65}.secondary-btn{height:44px;padding:0 15px;background:var(--panel2);border:1px solid var(--line);color:var(--text)}
.message{min-height:22px;margin-top:17px;color:var(--muted);font-size:13px}.message.success{color:#9ed7ae}.message.error{color:var(--danger)}.privacy{font-size:11px;color:#68666c;margin-top:30px}
.admin-page{background:#0b0b0d}.login-card{width:min(430px,calc(100% - 36px));margin:10vh auto 0;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:40px}.login-card .brand-mark{margin-bottom:22px}.login-card h1{font-size:40px;margin-bottom:8px}.muted{color:var(--muted);font-size:14px}
.admin-top{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1320px)/2))}.admin-top>div{display:flex;align-items:center;gap:11px}.mini-logo{width:30px;height:30px;border-radius:50%;font-size:14px}.logout{color:var(--muted);font-size:13px;text-decoration:none}.admin-shell{width:min(1320px,calc(100% - 36px));margin:0 auto;padding:42px 0 70px}.admin-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.admin-heading h1{font-size:48px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:25px}.stats>div{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}.stats span{font-size:10px;letter-spacing:1.5px;color:#7d7a80}.stats strong{display:block;font-size:30px;margin-top:5px}.toolbar{display:flex;gap:10px;margin-bottom:18px}.toolbar #search{flex:1}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.photo-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.photo-thumb{aspect-ratio:1;background:#101014;display:grid;place-items:center}.photo-thumb img{width:100%;height:100%;object-fit:cover}.heic{font-size:13px;letter-spacing:2px;color:var(--accent)}.select{position:absolute;top:10px;left:10px;z-index:2}.select input{display:none}.select span{display:block;width:22px;height:22px;border-radius:7px;background:rgba(10,10,12,.7);border:1px solid #777}.select input:checked+span{background:var(--accent);border-color:var(--accent)}.select input:checked+span:after{content:"✓";display:block;color:#17130e;text-align:center;font-size:14px;font-weight:700}.photo-meta{padding:13px}.photo-meta strong,.photo-meta span,.photo-meta small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-meta strong{font-size:13px}.photo-meta span{font-size:11px;color:#8b888e;margin-top:3px}.photo-meta small{font-size:10px;color:#67656b;margin-top:6px}.card-actions{display:flex;gap:10px;margin-top:12px}.card-actions a,.card-actions button{font:600 11px "DM Sans";color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:none}.card-actions button{color:var(--danger)}.empty{text-align:center;padding:80px 20px;background:var(--panel);border:1px solid var(--line);border-radius:20px}.empty>div{font-size:40px}.empty h2{font-family:"Playfair Display";font-weight:500}.empty p{color:var(--muted)}
@media(max-width:900px){.admin-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.upload-shell{padding-top:45px}.preview-grid{grid-template-columns:repeat(4,1fr)}.admin-heading{align-items:start;flex-direction:column}.admin-heading h1{font-size:40px}.admin-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr}.toolbar{flex-direction:column}.login-card{padding:28px}}
