:root{--ink:#111;--green:#178b55;--paper:#f3f5f3;--line:#ddd;--danger:#a7332a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}main{width:min(1120px,calc(100% - 32px));margin:0 auto}.login-card{width:min(430px,100%);margin:7vh auto;background:#fff;padding:38px;border-radius:14px;box-shadow:0 25px 70px rgba(0,0,0,.12)}.login-card img{width:70px}.kicker{color:var(--green);font-weight:800;font-size:11px;letter-spacing:.15em}.login-card h1,header h1{font:800 38px Manrope;margin:5px 0}.login-card>p{color:#666}.login-card label{display:block;font-weight:700;font-size:13px;margin:18px 0}.login-card input{display:block;width:100%;padding:13px;border:1px solid var(--line);border-radius:8px;margin-top:7px}.login-card button,.actions button{border:0;border-radius:7px;background:#111;color:#fff;padding:12px 16px;font-weight:700}.login-card button{width:100%;margin-bottom:20px}.login-card a,header a{color:var(--green)}.error{color:var(--danger)!important;font-size:13px;min-height:18px}#dashboard{padding:40px 0 80px}header{display:flex;justify-content:space-between;align-items:center}header>div:last-child{display:flex;gap:18px;align-items:center}.secondary{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:7px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.stats article{background:#fff;padding:20px;border-radius:10px}.stats span{display:block;color:#666;font-size:12px}.stats strong{font:800 34px Manrope}.filters{display:flex;gap:8px;margin:20px 0}.filters button{border:1px solid var(--line);background:#fff;padding:9px 14px;border-radius:99px}.filters .active{background:#111;color:#fff}.admin-feed{display:grid;gap:14px}.item{display:grid;grid-template-columns:210px 1fr;background:#fff;border-radius:12px;overflow:hidden}.item>img{width:100%;height:100%;min-height:210px;object-fit:cover}.item-body{padding:20px}.item-top{display:flex;justify-content:space-between;color:#777;font-size:12px}.badge{padding:5px 9px;border-radius:99px;font-weight:700}.badge.approved{background:#dcf7e7;color:#126b3c}.badge.review{background:#fff0c7;color:#785600}.badge.hidden{background:#eee;color:#555}.item-body p{font-size:17px}.item-body>a{display:block;color:var(--green);font-weight:700;margin-bottom:8px}.item-body small{color:#777}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.actions .warn{background:#9b6c00}.actions .danger{background:var(--danger)}.actions .outline{background:#fff;color:var(--danger);border:1px solid var(--danger)}.empty{text-align:center;padding:70px;color:#777}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);opacity:0;background:#111;color:#fff;padding:12px 18px;border-radius:99px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:650px){.login-card{padding:28px 20px}.stats{grid-template-columns:1fr}.item{grid-template-columns:1fr}.item>img{height:230px}.item-top{gap:10px}header{align-items:flex-start}header h1{font-size:30px}header>div:last-child{flex-direction:column;align-items:flex-end}.actions button{flex:1 1 45%}}

.admin-setting{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#fff7cf;border:1px solid #efd767;border-radius:14px;padding:14px 16px;margin:18px 0}.admin-setting label{font-weight:800}.admin-setting input{width:80px;margin:0 6px;padding:9px;border:1px solid #c9b45d;border-radius:8px}.admin-setting button{border:0;border-radius:9px;background:#111;color:#fff;padding:10px 14px;font-weight:800}.feature-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0}.feature-controls input{width:68px;padding:8px;border:1px solid #ddd;border-radius:7px}.feature-controls select{padding:8px;border:1px solid #ddd;border-radius:7px}.feature-badge{display:inline-block;margin:7px 0;padding:5px 9px;border-radius:999px;background:#ffd31a;color:#171717;font-size:11px;font-weight:900}
.forgot-btn{width:100%;margin:10px 0;border:1px solid #d8d8d2!important;background:#fff!important;color:#222!important;border-radius:10px;padding:11px;font-weight:800}.login-card[hidden]{display:none}

.admin-menu{position:sticky;top:0;z-index:5;display:flex;gap:7px;overflow:auto;margin:22px 0;padding:10px;background:rgba(243,245,243,.95);backdrop-filter:blur(10px)}.admin-menu button{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:#fff;padding:10px 15px;font-weight:800}.admin-menu button.active{background:#111;color:#fff}.panel-section{padding:8px 0 50px}.panel-section[hidden]{display:none}.panel-section h2{font:800 30px Manrope;margin:4px 0 18px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.search-input,.section-head select{min-width:260px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff}.help{color:#666}.table-wrap{max-width:100%;overflow:auto;background:#fff;border-radius:12px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 12px;text-align:left;border-bottom:1px solid #eee;white-space:nowrap}th{position:sticky;top:0;background:#f8f8f5}td select,td input{padding:8px;border:1px solid var(--line);border-radius:7px}.limit-control{display:flex;gap:5px}.limit-control input{width:74px}.limit-control button,.admin-form button,.feature-controls button{border:0;border-radius:7px;background:#111;color:#fff;padding:9px 12px;font-weight:800}.admin-form{background:#fff;padding:22px;border-radius:14px}.admin-form label{display:grid;gap:7px;font-weight:800;font-size:13px;margin-bottom:15px}.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit}.admin-form textarea{min-height:110px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px}.mini-stats{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.mini-stats span{background:#fff;padding:10px 14px;border-radius:9px}.chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.chart-grid article{background:#fff;padding:18px;border-radius:12px}.bar-row{display:grid;grid-template-columns:110px 1fr 35px;align-items:center;gap:8px;margin:9px 0;font-size:12px}.bar-row i{height:10px;width:var(--w);background:linear-gradient(90deg,#ffd31a,#e8502e);border-radius:99px}.analytics-stats{grid-template-columns:repeat(6,1fr)}.plan-pill{display:inline-block;margin:6px 0;padding:4px 8px;border-radius:99px;background:#eee;font-size:11px;font-weight:900}.plan-pill.plus{background:#fff0a8}.plan-pill.xpro{background:#111;color:#ffd31a}
@media(max-width:760px){.admin-menu{margin-left:-16px;margin-right:-16px}.section-head{align-items:stretch;flex-direction:column}.search-input,.section-head select{min-width:0;width:100%}.form-grid,.chart-grid{grid-template-columns:1fr}.analytics-stats{grid-template-columns:repeat(2,1fr)}.bar-row{grid-template-columns:90px 1fr 30px}}
.menu-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;border-radius:99px;background:#e32929;color:#fff;font-size:10px}.menu-badge[hidden]{display:none}.request-list{display:grid;gap:12px}.request-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;background:#fff;border:1px solid var(--line);border-left:5px solid #e8b400;border-radius:12px}.request-card h3{margin:10px 0 5px}.request-card p{margin:5px 0;line-height:1.6}.requested-value{padding:10px;border-radius:8px;background:#fff7cf}.request-card .actions{min-width:190px}@media(max-width:650px){.request-card{align-items:stretch;flex-direction:column}.request-card .actions{min-width:0}}
.admin-contact-edit{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto;gap:6px;margin:10px 0}.admin-contact-edit input{min-width:0;padding:9px;border:1px solid var(--line);border-radius:7px}.admin-contact-edit button,#usersTable [data-save-contact]{border:0;border-radius:7px;background:#176b48;color:#fff;padding:9px 11px;font-weight:800}@media(max-width:650px){.admin-contact-edit{grid-template-columns:1fr}.admin-contact-edit button{width:100%}}
