*{box-sizing:border-box}body{margin:0;font-family:Inter,Roboto,system-ui,-apple-system,Segoe UI,sans-serif;background:#f4f6f7;color:#1a1a1a}a{color:inherit}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#10262c;color:#fff;padding:28px 20px}.brand{font-size:24px;font-weight:800;margin-bottom:28px}.brand span{display:block;font-size:13px;color:#9cc8d1;letter-spacing:1px;text-transform:uppercase}.admin-sidebar nav{display:grid;gap:8px}.admin-sidebar a{padding:12px 14px;border-radius:8px;text-decoration:none;color:#e9f5f7}.admin-sidebar a:hover{background:#173942}.admin-main{margin-left:240px;min-height:100vh;padding:28px}.admin-topbar{display:flex;justify-content:flex-end;margin-bottom:22px;color:#53636a}.admin-topbar strong{display:block;color:#1a1a1a}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head h1{font-size:30px;margin:0}.panel,.stats>div{background:#fff;border:1px solid #e3eaed;border-radius:8px;box-shadow:0 10px 28px rgba(10,30,35,.05)}.panel{padding:22px}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.stats strong{display:block;font-size:36px}.stats span{color:#607076}.stats>div{padding:22px}.btn,button{border:0;border-radius:8px;background:#e8eef0;color:#15343b;padding:10px 14px;text-decoration:none;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.primary,button.primary,.login-card button{background:#015E73;color:#fff}.btn.small{font-size:13px;padding:7px 10px}.btn.danger,.danger{background:#b42318;color:#fff}.flash,.alert{padding:12px 14px;border-radius:8px;margin-bottom:14px}.flash{background:#e8f7ee;color:#17663a}.alert{background:#fff0ed;color:#9d2418}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #edf1f2;vertical-align:top}small,.muted{color:#6a7a80}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions form{display:inline}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.login-card label{display:grid;gap:7px;font-weight:700;color:#34464c}.form-grid input,.form-grid textarea,.form-grid select,.login-card input{width:100%;border:1px solid #d7e0e3;border-radius:8px;padding:11px;background:#fff;font:inherit}.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#eef5f6,#fff)}.login-card{width:min(420px,100%);display:grid;gap:14px;background:#fff;border:1px solid #dfe8eb;border-radius:8px;padding:30px;box-shadow:0 18px 45px rgba(10,30,35,.12)}.login-card h1{margin:0;color:#015E73}.login-card p{margin:0;color:#607076}.dropzone{display:grid;place-items:center;min-height:160px;border:2px dashed #a8c4cb;border-radius:8px;background:#f8fbfc;color:#31535b;font-weight:800;text-align:center}.dropzone input{margin-top:14px}.file-preview{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.file-preview span{background:#eef4f5;border-radius:999px;padding:7px 10px}.photo-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.photo-card{position:relative;background:#fff;border:1px solid #e3eaed;border-radius:8px;padding:10px}.photo-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.photo-card form{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.badge{position:absolute;top:18px;left:18px;background:#015E73;color:#fff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}@media(max-width:800px){.admin-sidebar{position:static;width:auto}.admin-main{margin:0;padding:18px}.page-head,.actions{align-items:flex-start}.form-grid,.stats{grid-template-columns:1fr}}
 .upload-notice{margin-top:12px;color:#53636a}.upload-progress{width:100%;height:12px;background:#e8eef0;border-radius:999px;overflow:hidden;margin-top:12px}.upload-progress-bar{height:100%;width:0;background:#015E73;transition:width .25s ease}.upload-percent{margin-top:6px;font-weight:800;color:#15343b}
