:root{color-scheme:dark;--bg:#171b22;--panel:#202630;--panel2:#252d38;--line:#343e4b;--text:#f2f5f9;--muted:#a5afbd;--soft:#d6dde7;--accent:#e8edf4;--danger:#d66d75}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}.topbar{height:76px;border-bottom:1px solid #2b333e;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1180px)/2));background:#191e26}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text);font-size:14px;font-weight:800;letter-spacing:.12em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent);color:#171b22;font-size:20px;letter-spacing:0}.shell{width:min(1120px,calc(100% - 40px));margin:0 auto;min-height:calc(100vh - 140px)}.intro{padding:42px 0 32px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;color:#aab6c5;margin:0 0 10px}.intro h1{font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-.045em;margin:0;font-weight:750}.intro h1 span{color:#9ba7b7}.intro-copy{color:var(--muted);margin:13px 0 0}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px}.tab{border:1px solid transparent;background:transparent;color:var(--muted);padding:11px 17px;border-radius:10px;font-weight:650}.tab.active{background:var(--accent);color:#171b22}.count{font-size:11px;opacity:.7;margin-left:5px}.gallery-heading{display:flex;align-items:end;justify-content:space-between;margin:25px 0 15px}.gallery-heading h2{margin:0;font-size:22px;letter-spacing:-.025em}.gallery-heading p{margin:3px 0 0;color:var(--muted);font-size:13px}.page-label{font-size:12px!important}.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.media-card{min-width:0;background:var(--panel);border:1px solid #2b3440;border-radius:13px;overflow:hidden;transition:transform .15s,border-color .15s}.media-card:hover{transform:translateY(-2px);border-color:#586575}.media-thumb{width:100%;aspect-ratio:4/5;display:block;object-fit:cover;background:#303946;cursor:pointer}.thumb-placeholder{width:100%;aspect-ratio:4/5;display:grid;place-items:center;background:linear-gradient(145deg,#394553,#252d38);font-size:40px;color:#c7d0dc;cursor:pointer}.media-card-body{padding:11px 12px 13px}.media-title{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.media-meta{font-size:11px;color:var(--muted);margin:5px 0 0;display:flex;justify-content:space-between;gap:6px}.play-badge{position:absolute;bottom:10px;left:10px;background:#10151bc9;border:1px solid #ffffff30;border-radius:30px;padding:5px 8px;font-size:11px}.thumb-wrap{position:relative}.notice{font-size:13px;color:var(--muted);padding:8px 0}.notice.error{color:#f4a5aa}.empty{border:1px dashed #414c5a;border-radius:14px;padding:45px 20px;text-align:center;color:var(--muted)}.empty-icon{font-size:35px;color:#8793a3}.empty h3{color:var(--text);margin:9px 0 5px}.empty p{margin:0;font-size:13px}.hidden{display:none!important}.pagination{display:flex;justify-content:center;align-items:center;gap:18px;padding:28px 0 45px;color:var(--muted);font-size:12px}.button{border:1px solid transparent;border-radius:9px;padding:10px 14px;font-weight:650;font-size:12px;transition:opacity .15s}.button:disabled{opacity:.35;cursor:not-allowed}.button-primary{background:var(--accent);color:#171b22}.button-outline{background:transparent;border-color:#3a4553;color:var(--text)}.button-quiet{background:#252d38;color:#e4eaf2;border-color:#303a47}.button-danger{background:#49272d;color:#ffdce0;border-color:#764047}.full{width:100%;margin-top:10px}.footer{border-top:1px solid #2b333e;display:flex;justify-content:space-between;gap:15px;padding:20px max(22px,calc((100vw - 1120px)/2));font-size:11px;color:#8793a3}.dialog{background:transparent;border:0;padding:0;color:var(--text);width:min(440px,calc(100% - 28px));max-width:none}.dialog::backdrop{background:#080b10c9;backdrop-filter:blur(5px)}.dialog-card,.viewer-card{position:relative;background:#202630;border:1px solid #3b4654;border-radius:17px;padding:28px;box-shadow:0 24px 80px #0007}.dialog-card h2,.viewer-info h2{margin:0 0 7px;font-size:24px}.muted{color:var(--muted);font-size:13px}.dialog-card label{display:block;font-size:12px;font-weight:650;margin:18px 0 7px}.dialog-card input[type=password],.dialog-card input[type=text],.dialog-card input[type=file]{width:100%;border:1px solid #3c4755;background:#171c23;color:var(--text);border-radius:9px;padding:12px}.dialog-card input[type=file]{font-size:12px}.dialog-close{position:absolute;right:13px;top:10px;background:transparent;border:0;color:#b8c2d0;font-size:27px;line-height:1}.form-error{color:#ffabb2;font-size:12px}.hint{font-size:11px;color:var(--muted)}.progress-wrap{margin-top:14px}.progress{height:7px;background:#141920;border-radius:9px;overflow:hidden}.progress span{display:block;width:0;height:100%;background:#e5ebf3;transition:width .15s}.viewer-dialog{width:min(900px,calc(100% - 24px))}.viewer-card{padding:16px}.viewer-media{display:grid;place-items:center;max-height:72vh;min-height:200px;background:#11161d;border-radius:11px;overflow:hidden}.viewer-media img,.viewer-media video{display:block;max-width:100%;max-height:72vh;object-fit:contain}.viewer-info{padding:15px 6px 3px}.viewer-info h2{font-size:18px}.viewer-info .button{margin-top:10px}
@media(max-width:900px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.intro{padding-top:32px}}
@media(max-width:600px){.topbar{height:64px;padding:0 16px}.brand{font-size:12px}.brand-mark{width:30px;height:30px}.shell{width:calc(100% - 28px)}.intro{padding:29px 0 25px}.intro h1{font-size:32px}.intro-copy{font-size:13px}.tab{flex:1;padding:10px 8px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.media-card{border-radius:10px}.media-card-body{padding:9px}.gallery-heading{margin-top:21px}.gallery-heading h2{font-size:20px}.footer{padding:18px 15px;flex-direction:column;gap:5px}.dialog-card{padding:24px 20px}.pagination{gap:12px}.button{padding:9px 11px}}
/* ===== Minhas Galerias: acrescentos ===== */
a.tab,a.button,a.page-link{text-decoration:none;display:inline-block}
.tab{text-align:center}
.brand-tag{font-size:9px;letter-spacing:.2em;border:1px solid #3a4553;border-radius:6px;padding:3px 6px;color:var(--muted)}
.top-actions{display:flex;gap:8px;align-items:center}
.layout{display:flex;justify-content:center;gap:24px;padding:0 16px}
.layout .shell{flex:0 1 1120px;min-width:0;width:auto}
.ad-side{display:none;flex:0 0 160px;padding-top:42px}
.ad-side.has-ad{display:block}
.ad-side .ad-slot{position:sticky;top:16px}
@media(max-width:1480px){.ad-side{display:none!important}}
.ad-slot:empty{display:none}
.ad-wide{margin:18px 0;text-align:center;overflow:hidden}
.pagination{flex-wrap:wrap;gap:8px}
.page-link{border:1px solid #3a4553;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:650;color:var(--text);min-width:38px;text-align:center}
.page-link:hover:not(.disabled):not(.current){background:#252d38}
.page-link.current{background:var(--accent);color:#171b22;border-color:var(--accent)}
.page-link.disabled{opacity:.35}
.page-gap{color:var(--muted)}
.viewer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.viewer-actions .button{margin-top:4px}
.upload-box{background:var(--panel);border:1px solid #3b4654;border-radius:14px;padding:20px;margin:22px 0 4px}
.upload-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.upload-head h3{margin:0 0 3px;font-size:20px}
.upload-head label.button{padding:13px 20px;font-size:13px;cursor:pointer}
.upload-fields{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.upload-fields input{flex:1 1 240px;border:1px solid #3c4755;background:#171c23;color:var(--text);border-radius:9px;padding:12px}
.upload-box .hint{margin:6px 0 0;word-break:break-word}
.login-screen{min-height:calc(100vh - 140px);display:grid;place-items:center;padding:30px 16px}
.login-card{width:min(420px,100%)}
.login-card input{width:100%;border:1px solid #3c4755;background:#171c23;color:var(--text);border-radius:9px;padding:12px}
.intro-admin{padding-bottom:22px}
@media(max-width:600px){.layout{padding:0 14px}.brand-tag{display:none}.upload-box{padding:16px}.upload-head label.button{width:100%;text-align:center}}
