@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-elevated: #1a1a1a;--border: #262626;--text-primary: #fafafa;--text-secondary: #a1a1a1;--accent: #3b82f6;--accent-hover: #2563eb;--accent-soft: rgba(59, 130, 246, .15)}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:Space Grotesk,system-ui,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{cursor:pointer;font-family:inherit}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.brand{font-size:1.5rem;font-weight:700}nav{display:flex;flex-direction:column;gap:.5rem}nav a{color:var(--text-secondary);padding:.5rem .75rem;border-radius:.5rem}nav a:hover{color:var(--text-primary);background:var(--bg-elevated)}.user{margin-top:auto;display:flex;flex-direction:column;gap:.75rem;font-size:.9rem;color:var(--text-secondary)}.user button{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);padding:.5rem .75rem;border-radius:.5rem}.content{padding:2rem 2.5rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h1{font-size:2rem;margin-bottom:.25rem}.page-header p{color:var(--text-secondary)}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;margin-bottom:2rem}.panel-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}input{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.6rem .75rem;border-radius:.5rem;min-width:180px}button{background:var(--accent);color:#fff;border:none;padding:.6rem 1rem;border-radius:.5rem;transition:background .2s}button.secondary{background:var(--bg-secondary);border:1px solid var(--border)}button:disabled{opacity:.6;cursor:not-allowed}.table,.list{display:grid;gap:.75rem}.row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:1rem;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:.75rem;border:1px solid var(--border)}.row .actions button{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);margin-left:.5rem}.row .name{cursor:pointer}.empty{color:var(--text-secondary)}.error{background:#2b1111;border:1px solid #4c1b1b;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem}.auth{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth .card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:1rem;padding:2rem;min-width:320px;display:flex;flex-direction:column;gap:1rem}.auth label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.auth .link{text-align:center}.public-page{min-height:100vh;padding:3rem;display:flex;flex-direction:column;gap:1rem}.button{display:inline-block;background:var(--accent);color:#fff;padding:.6rem 1rem;border-radius:.5rem}.loading{padding:2rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.gallery-grid .card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:.75rem;padding:.75rem}.gallery-grid .thumb{background:var(--bg-secondary);border-radius:.5rem;padding:1rem;min-height:100px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:.75rem;padding:1rem}.stat-card .label{color:var(--text-secondary);font-size:.9rem}.stat-card .value{font-size:1.5rem;font-weight:600;margin-top:.35rem}.toggle{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap}nav{flex-direction:row;flex-wrap:wrap}.row{grid-template-columns:1fr}}
