body{background:var(--bg-alt)}
.admin-bar{background:var(--dark);color:#fff;padding:14px 0;border-bottom:3px solid var(--brand)}
.admin-bar .container{display:flex;align-items:center;justify-content:space-between;gap:16px}
.admin-bar .logo-name{color:#fff}
.admin-bar .tag{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.14);padding:4px 10px;border-radius:999px;margin-left:12px}
.admin-bar-actions{display:flex;align-items:center;gap:12px;font-size:.9rem}
.login-wrap{min-height:calc(100vh - 62px);display:grid;place-items:center;padding:40px 20px}
.login-card{background:#fff;border-radius:18px;box-shadow:var(--shadow-lg);padding:32px;width:100%;max-width:400px}
.admin-main{padding:30px 0 70px}
.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:20px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:11px;font:inherit;font-size:.95rem;resize:vertical;min-height:70px}
textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,194,18,.22)}
.city{border:1px solid var(--line);border-radius:14px;margin-bottom:14px;background:var(--bg-alt)}
.city[open]{background:#fff;box-shadow:var(--shadow)}
.city>summary{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;
  font-weight:700;list-style:none;border-radius:14px}
.city>summary::-webkit-details-marker{display:none}
.city>summary::before{content:"▸";color:var(--brand);font-size:.9rem}
.city[open]>summary::before{content:"▾"}
.city-title{flex:1}
.city-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:0 18px 16px}
.city>.pkg,.city>p{margin-left:18px;margin-right:18px}
.city>*:last-child{margin-bottom:18px}
.pkg{border:1px solid var(--line);border-radius:14px;margin-bottom:16px;background:#fff}
.pkg.is-popular{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,194,18,.15)}
.pkg>summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;cursor:pointer;
  font-weight:700;list-style:none;border-radius:14px}
.pkg>summary::-webkit-details-marker{display:none}
.pkg>summary::before{content:"▸";color:var(--brand);font-size:.9rem}
.pkg[open]>summary::before{content:"▾"}
.pkg>summary:hover{background:var(--bg-alt)}
.pkg-title{flex:1;min-width:120px}
.pkg-flag{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  background:rgba(255,194,18,.22);color:#8a6100;padding:3px 9px;border-radius:999px}
.pkg-body{padding:0 18px 18px}
.pkg-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.pkg-head .field{flex:1;min-width:160px;margin:0}
.feat-row{display:grid;grid-template-columns:210px 1fr 40px;gap:10px;margin-bottom:8px;align-items:start}
.feat-row textarea{min-height:0;font-size:.88rem;line-height:1.5}
.feat-row .icon-btn{margin-top:0}
.feat-head{font-size:.74rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#94a3b8}
.icon-btn{border:1px solid var(--line);background:#fff;border-radius:9px;width:38px;height:40px;cursor:pointer;font-size:1.05rem;line-height:1;color:#dc2626}
.icon-btn:hover{background:#fef2f2;border-color:#fecaca}
.check{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;white-space:nowrap;padding-bottom:10px}
.check input{width:auto}
.save-bar{position:sticky;bottom:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;box-shadow:var(--shadow);z-index:5}
.leads-table{width:100%;border-collapse:collapse;font-size:.9rem}
.leads-table th,.leads-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.leads-table th{font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8}
.dirty{color:#b45309;font-weight:700}
.alert{border-radius:10px;padding:11px 16px;font-weight:600;font-size:.9rem;margin-bottom:16px}
.alert.ok{background:#ecfdf3;color:#12A150;border:1px solid #bbf7d0}
.alert.err{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
@media (max-width:760px){.grid-3{grid-template-columns:1fr}.feat-row{grid-template-columns:1fr;gap:6px}.feat-head{display:none}}
