:root { --green:#0c665c; --dark:#063c35; --lime:#dff06d; --bg:#f3f6f2; --line:#d7e3de; --muted:#687a74; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:#172019; font-family:Arial,sans-serif; line-height:1.5; }
a { color:inherit; text-decoration:none; }
.login-page { display:grid; min-height:100vh; place-items:center; padding:24px; background:linear-gradient(145deg,#063c35,#0c665c); }
.login-card { width:min(430px,100%); padding:42px; border-radius:14px; background:white; box-shadow:0 25px 80px rgba(0,0,0,.25); }
.admin-logo,.admin-brand span { display:grid; width:46px; height:46px; place-items:center; border-radius:9px; background:var(--green); color:var(--lime); font-weight:800; }
.login-card h1 { margin:22px 0 4px; font-size:28px; }
.login-card p { margin:0 0 25px; color:var(--muted); }
label { display:block; margin:16px 0 7px; font-size:13px; font-weight:700; }
input,textarea,select { width:100%; min-height:48px; padding:11px 13px; border:1px solid #cbd4ca; border-radius:7px; background:white; font:inherit; }
textarea { resize:vertical; }
.admin-btn { display:inline-flex; min-height:46px; align-items:center; justify-content:center; margin-top:18px; padding:0 20px; border:0; border-radius:7px; background:var(--green); color:white; font-weight:700; cursor:pointer; }
.admin-btn.small { min-height:38px; margin:0; font-size:13px; }
.login-card .admin-btn { width:100%; }
.back-link { display:block; margin-top:20px; color:var(--green); font-size:13px; text-align:center; }
.admin-header { position:sticky; z-index:10; top:0; display:flex; height:68px; align-items:center; justify-content:space-between; padding:0 28px; background:var(--dark); color:white; }
.admin-brand { display:flex; align-items:center; gap:12px; }
.admin-brand span { width:38px; height:38px; }
.admin-header nav { display:flex; gap:22px; font-size:13px; }
.admin-shell { display:grid; min-height:calc(100vh - 68px); grid-template-columns:230px 1fr; }
.admin-sidebar { padding:28px 16px; background:white; border-right:1px solid var(--line); }
.admin-sidebar a { display:block; margin-bottom:5px; padding:11px 14px; border-radius:7px; font-size:14px; font-weight:700; }
.admin-sidebar a:hover { background:#e2f2ed; color:var(--green); }
.admin-main { width:100%; max-width:1300px; padding:40px; }
.admin-page-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; }
.admin-link { color:var(--green); font-size:13px; font-weight:700; }
.admin-page-head p { margin:0; color:var(--green); font-size:12px; font-weight:800; text-transform:uppercase; }
.admin-page-head h1 { margin:3px 0 0; font-size:32px; }
.dashboard-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:24px; }
.metric,.admin-panel { padding:26px; border:1px solid var(--line); border-radius:10px; background:white; }
.metric span { display:block; color:var(--muted); font-size:13px; }
.metric strong { display:block; margin-top:10px; color:var(--green); font-size:28px; }
.admin-panel { margin-bottom:24px; }
.panel-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.panel-head h2,.admin-panel h2 { margin:0; font-size:20px; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; }
th,td { padding:15px 12px; border-bottom:1px solid var(--line); font-size:14px; text-align:left; vertical-align:top; }
th { color:var(--muted); font-size:11px; text-transform:uppercase; }
td small { display:block; color:#89918b; }
.status { display:inline-block; padding:4px 8px; border-radius:20px; background:#e2f2ed; color:var(--green); font-size:11px; font-weight:700; text-transform:capitalize; }
.actions { display:flex; align-items:center; gap:15px; color:var(--green); font-size:13px; font-weight:700; }
.actions form { margin:0; }
.actions button { padding:0; border:0; background:none; color:#b53434; cursor:pointer; font:inherit; font-weight:700; }
.alert { margin-bottom:22px; padding:14px 16px; border-radius:7px; font-size:14px; }
.alert.error { background:#fee7e7; color:#8e2525; }
.alert.success { background:#e5f5e9; color:#185b31; }
.alert.warning { background:#fff3cc; color:#6b5312; }
.admin-form { max-width:850px; }
.admin-form > p { margin-top:5px; color:var(--muted); font-size:14px; }
.integration-form { max-width:980px; }
.integration-form textarea { min-height:210px; background:#0d211e; color:#dff06d; font-family:Consolas,"Courier New",monospace; font-size:12px; line-height:1.55; }
.integration-form textarea:focus { border-color:var(--green); outline:2px solid rgba(12,102,92,.16); }
.integration-note { display:flex; flex-direction:column; gap:4px; margin:20px 0 8px; padding:15px 17px; border-left:4px solid var(--green); border-radius:6px; background:#e2f2ed; color:#31584f; font-size:13px; }
.integration-help { max-width:980px; }
.integration-help ol { margin:12px 0 0; padding-left:20px; color:var(--muted); font-size:13px; }
.integration-help li { margin:8px 0; }
.field { margin-bottom:20px; }
.field small { display:block; margin-top:6px; color:var(--muted); font-size:12px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
hr { margin:32px 0; border:0; border-top:1px solid var(--line); }
.media-upload-panel { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.media-upload-panel p { margin:6px 0 0; color:var(--muted); font-size:13px; }
.media-upload-form { display:flex; min-width:360px; align-items:center; gap:12px; }
.media-upload-form input { min-height:auto; padding:8px; font-size:12px; }
.media-upload-form .admin-btn { flex:0 0 auto; margin:0; white-space:nowrap; }
.media-count { color:var(--muted); font-size:12px; }
.media-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.media-card { overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#fff; }
.media-card > img { display:block; width:100%; height:130px; object-fit:cover; }
.media-card > div { padding:13px 13px 5px; }
.media-card strong,.media-card small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.media-card strong { font-size:12px; }
.media-card small { margin-top:4px; color:var(--muted); font-size:10px; }
.media-card form { padding:0 13px 13px; }
.media-delete { padding:0; border:0; background:none; color:#b53434; font-size:11px; font-weight:700; cursor:pointer; }
.media-delete:disabled { color:#929b96; cursor:not-allowed; }
.hero-admin-list { display:grid; gap:14px; }
.hero-admin-card { display:grid; grid-template-columns:190px 1fr auto; gap:20px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:10px; }
.hero-admin-card > img { width:190px; height:108px; border-radius:7px; object-fit:cover; }
.hero-admin-copy h2 { margin:8px 0 5px; font-size:18px; }
.hero-admin-copy p,.hero-admin-copy small { margin:0; color:var(--muted); font-size:12px; }
.hero-admin-actions { display:flex; align-items:center; gap:14px; color:var(--green); font-size:12px; font-weight:700; }
.hero-admin-actions form { margin:0; }
.hero-admin-actions button { padding:0; border:0; background:none; color:#b53434; font:inherit; font-weight:700; cursor:pointer; }
.empty-admin-state { padding:40px 10px; text-align:center; }
.empty-admin-state h2 { margin:0 0 6px; }
.empty-admin-state p { color:var(--muted); font-size:13px; }
.media-picker { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:0 0 22px; }
.media-picker label { position:relative; display:block; margin:0; cursor:pointer; }
.media-picker input { position:absolute; opacity:0; }
.media-picker img { display:block; width:100%; height:100px; border:2px solid transparent; border-radius:7px; object-fit:cover; }
.media-picker input:checked + img { border-color:var(--green); box-shadow:0 0 0 3px rgba(12,102,92,.12); }
@media(max-width:960px){.media-grid{grid-template-columns:repeat(3,1fr)}.media-picker{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{display:flex;overflow-x:auto;padding:10px;border-right:0;border-bottom:1px solid var(--line)}.admin-sidebar a{white-space:nowrap;margin:0}.admin-main{padding:24px 16px}.dashboard-grid,.form-row{grid-template-columns:1fr}.admin-header{padding:0 16px}.admin-header nav a:first-child{display:none}.admin-page-head{align-items:flex-start}.login-card{padding:30px 24px}}
@media(max-width:760px){.media-upload-panel,.media-upload-form{align-items:stretch;flex-direction:column}.media-upload-form{min-width:0}.media-grid,.media-picker{grid-template-columns:repeat(2,1fr)}.hero-admin-card{grid-template-columns:1fr}.hero-admin-card>img{width:100%;height:170px}.hero-admin-actions{justify-content:space-between}}
