:root{--ink:#20282f;--ink2:#2c3941;--paper:#fffdf9;--stone:#f2efe8;--tile:#527889;--paint:#c86a3a;--plaster:#c89f63;--muted:#6d767d;--line:#e6e1d9;--shadow:0 18px 50px rgba(32,40,47,.11)}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Tahoma,sans-serif;background:#f5f2ec;color:var(--ink);line-height:1.6}a{text-decoration:none;color:inherit}button,input,select{font:inherit}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px max(20px,calc((100vw - 1200px)/2));background:#20282ff7;color:#fff;border-bottom:4px solid transparent;border-image:linear-gradient(90deg,var(--tile),var(--paint),var(--plaster)) 1}
.brand-row{display:flex;align-items:center;gap:12px}.brand-row strong{display:block;font-size:18px}.brand-row span{display:block;font-size:12px;color:#cbd3d7}.brand-mark{width:70px;height:70px;border-radius:20px;background:linear-gradient(145deg,var(--paint),var(--plaster));display:grid;place-items:center;color:#fff;font:900 32px Georgia,serif;box-shadow:0 12px 30px #0002}.brand-mark.small{width:46px;height:46px;border-radius:13px;font-size:22px}.topbar nav{display:flex;gap:10px;flex-wrap:wrap}.topbar nav a{padding:9px 12px;border:1px solid #ffffff30;border-radius:10px;font-size:13px}.topbar nav a:hover{background:#ffffff12}.topbar .logout{border-color:#c86a3a99}
.dashboard{max-width:1200px;margin:0 auto;padding:34px 20px 60px}.welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.welcome h1{font-size:38px;margin:0 0 4px}.welcome p{margin:0;color:var(--muted);max-width:720px}.status{white-space:nowrap;background:#e8f4ec;color:#23723d;padding:9px 13px;border-radius:999px;font-weight:700;font-size:12px}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#29a052;margin-left:6px;box-shadow:0 0 0 6px #29a05220}
.alert{padding:13px 16px;border-radius:12px;margin:0 0 18px;font-weight:700}.alert.ok{background:#e9f6ed;color:#236b3a;border:1px solid #cce8d5}.alert.error{background:#fff0ed;color:#9b3923;border:1px solid #ffd1c6}
.upload-card,.panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.upload-card{padding:23px;margin-bottom:26px}.upload-card h2{margin:0 0 16px}.upload-grid{display:grid;grid-template-columns:1fr 1.7fr auto;gap:14px;align-items:end}.upload-grid label{display:flex;flex-direction:column;gap:7px;font-weight:800;font-size:13px}.upload-grid select,.upload-grid input[type=file]{width:100%;padding:12px;border:1px solid #d9d3c8;border-radius:11px;background:#fff}.file-box span{font-size:11px;color:var(--muted);font-weight:400}.upload-grid button,.auth-card button{border:0;border-radius:11px;padding:13px 21px;background:var(--paint);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 9px 22px #c86a3a35}.upload-grid button:hover,.auth-card button:hover{background:#a94f25}
.service-panels{display:grid;gap:22px}.panel{overflow:hidden}.panel>header{padding:19px 22px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#fff,#faf8f3)}.panel>header>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel h2{margin:0;font-size:21px}.panel header span{background:var(--stone);padding:5px 9px;border-radius:999px;color:var(--muted);font-size:11px;font-weight:800}.gallery{padding:17px;display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.gallery figure{margin:0;height:185px;position:relative;border-radius:14px;overflow:hidden;background:#ddd}.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:.3s}.gallery figure:hover img{transform:scale(1.04)}.delete{position:absolute;top:9px;left:9px;width:34px;height:34px;border:0;border-radius:50%;background:#20282fdd;color:#fff;font-size:23px;line-height:1;cursor:pointer;box-shadow:0 4px 14px #0004}.delete:hover{background:#b3442c}.empty{padding:34px;text-align:center;color:var(--muted);background:#faf9f6}.admin-footer{text-align:center;color:#8a9297;padding:20px;font-size:12px}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 20%,#52788922,transparent 30%),radial-gradient(circle at 80% 80%,#c86a3a20,transparent 30%),#f2efe8}.auth-card{width:min(440px,100%);background:#fff;padding:34px;border-radius:24px;box-shadow:0 30px 80px #20282f22;text-align:center;border:1px solid #e6e0d6}.auth-card .brand-mark{margin:0 auto 13px}.auth-card h1{margin:0;font-size:29px}.auth-card>p{margin:5px 0 22px;color:var(--muted)}.auth-card form{text-align:right;display:grid;gap:13px}.auth-card label{display:grid;gap:6px;font-size:13px;font-weight:800}.auth-card input{padding:12px;border:1px solid #d9d3c8;border-radius:11px;outline:none}.auth-card input:focus{border-color:var(--tile);box-shadow:0 0 0 3px #52788918}.auth-card small{display:block;color:var(--muted);margin-top:15px}
@media(max-width:850px){.upload-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.welcome{align-items:flex-start;flex-direction:column}.topbar{align-items:flex-start}.topbar nav{justify-content:flex-end}.welcome h1{font-size:31px}}
@media(max-width:520px){.gallery{grid-template-columns:1fr}.gallery figure{height:220px}.topbar{padding:11px 14px}.brand-row span{display:none}.topbar nav a:first-child{display:none}.dashboard{padding:26px 14px 45px}.upload-card{padding:17px}}
