/* 振家地产 · 每月奖励公告 —— 管理后台样式 */
body.admin{padding-bottom:calc(env(safe-area-inset-bottom) + 96px)}
.wrap.wide{max-width:1000px}

.ah{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 0 12px}
.ah .t{flex:1;min-width:180px}
.ah .t b{display:block;font-size:19px;font-weight:900;letter-spacing:.6px;
  background:linear-gradient(92deg,#ffe49a,var(--gold),var(--gold-2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ah .t small{display:block;color:var(--muted);font-size:11.5px;margin-top:3px}

.btn{
  border:1px solid var(--line-2);background:var(--panel-2);color:var(--text);
  font-size:13px;font-weight:700;padding:8px 14px;border-radius:11px;cursor:pointer;
  transition:.15s;font-family:inherit;
}
.btn:hover{border-color:var(--gold-bd);color:var(--gold)}
.btn.sm{padding:5px 10px;font-size:12px;border-radius:9px}
.btn.main{
  background:linear-gradient(135deg,var(--gold),var(--gold-2));border:none;color:#2a1c05;
  box-shadow:0 10px 22px -12px rgba(255,180,70,.9);
}
.btn.main:hover{color:#2a1c05;filter:brightness(1.06)}
.btn.danger:hover{border-color:var(--red-bd);color:var(--red)}
.btn.icon{padding:5px 8px;font-size:12px;line-height:1;border-radius:8px}

.bar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;
}
.bar label{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.4px}
.bar select,.bar input[type=text]{
  font-family:inherit;font-size:13.5px;color:var(--text);background:rgba(255,255,255,.06);
  border:1px solid var(--line-2);border-radius:10px;padding:7px 10px;min-width:150px;
}
.bar select:focus,.bar input:focus,.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--gold-bd);background:rgba(255,205,110,.07)}
.spacer{flex:1}
.saved{font-size:11.5px;color:var(--muted)}
.saved.ok{color:#5fe0a8}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:11px;margin-top:12px}
.fld{display:flex;flex-direction:column;gap:5px}
.fld span{font-size:11.5px;color:var(--muted);font-weight:700;letter-spacing:.4px}
.fld input,.fld textarea,.fld select{
  font-family:inherit;font-size:13.5px;color:var(--text);background:rgba(255,255,255,.05);
  border:1px solid var(--line-2);border-radius:10px;padding:8px 11px;width:100%;resize:vertical;
}
.fld input::placeholder,.fld textarea::placeholder{color:#5d6580}

.acard{margin-top:14px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:15px 15px 16px}
.acard.hi{border-color:var(--gold-bd);background:linear-gradient(158deg,rgba(255,205,110,.10),rgba(255,255,255,.03))}
.acard-hd{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.acard-hd .ico{
  width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:var(--panel-2);border:1px solid var(--line);font-size:16px;flex:0 0 auto;cursor:pointer;
}
.acard-hd .ico input{
  width:100%;height:100%;background:transparent;border:none;text-align:center;font-size:16px;
  color:var(--text);font-family:inherit;
}
.acard-hd .ico input:focus{outline:none}
.acard-hd .grow{flex:1;min-width:120px}
.acard-hd .tag{font-size:10.5px;color:var(--muted-2);letter-spacing:1px;font-weight:700}

.rows{display:flex;flex-direction:column;gap:8px;margin-top:11px}
.rowhead{display:flex;align-items:center;gap:8px;margin-top:15px}
.rowhead b{font-size:12px;letter-spacing:1.6px;color:var(--gold);font-weight:800}
.rowhead .line{flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}

.row{
  display:grid;grid-template-columns:1.05fr 1.5fr 1.5fr auto;gap:8px;align-items:center;
  background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:12px;padding:8px 9px;
}
.row.w{grid-template-columns:.9fr 1.6fr 1.2fr auto}
.row input{
  font-family:inherit;font-size:13.5px;color:var(--text);background:rgba(255,255,255,.05);
  border:1px solid var(--line);border-radius:9px;padding:7px 10px;width:100%;min-width:0;
}
.row input::placeholder{color:#5d6580}
.row .ops{display:flex;gap:4px}
@media(max-width:720px){
  .row,.row.w{grid-template-columns:1fr 1fr}
  .row .ops{grid-column:1/-1;justify-content:flex-end}
}
.adder{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}

.pv-wrap{margin-top:16px}
.pv-wrap .pv-hd{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.pv-wrap .pv-hd b{font-size:12px;letter-spacing:1.6px;color:var(--gold);font-weight:800}
.pv-wrap .pv-hd small{color:var(--muted-2);font-size:11px}
.pv{
  border:1px solid var(--line-2);border-radius:20px;padding:12px 10px 18px;background:var(--bg);
  max-width:470px;margin:0 auto;
}
.pv .wrap{max-width:100%;padding:0 8px}
.pv .hd{padding:16px 0 2px}
.pv .hd h1{font-size:20px}
.pv .hd .cur b{font-size:16px}
.pv .stat b{font-size:16px}
.pv .honor{grid-template-columns:1fr 1fr}

.savebar{
  position:fixed;left:0;right:0;bottom:0;z-index:40;
  background:rgba(13,15,24,.93);border-top:1px solid var(--line);
  padding:11px 15px calc(env(safe-area-inset-bottom) + 11px);backdrop-filter:blur(10px);
}
.savebar .in{max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:10px}
.savebar .hint{flex:1;font-size:11.5px;color:var(--muted);min-width:0}
.savebar .hint.dirty{color:var(--gold)}

/* 弹窗 */
.mask{position:fixed;inset:0;background:rgba(6,7,12,.72);display:none;align-items:center;justify-content:center;z-index:80;padding:18px}
.mask.on{display:flex}
.dlg{
  width:100%;max-width:420px;background:#151827;border:1px solid var(--line-2);border-radius:18px;padding:18px;
  box-shadow:0 30px 60px -30px #000;
}
.dlg h3{font-size:16px;font-weight:800;margin-bottom:4px}
.dlg p{font-size:12px;color:var(--muted);margin-bottom:13px}
.dlg .chk{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12.5px;color:var(--muted)}
.dlg .ops{display:flex;gap:9px;justify-content:flex-end;margin-top:16px}
.dlg .err{color:var(--red);font-size:12.5px;min-height:18px;margin-top:10px}

.login{max-width:400px;margin:14vh auto 0;text-align:center}
.login .ic{font-size:40px}
.login h1{font-size:20px;font-weight:900;margin-top:8px;
  background:linear-gradient(92deg,#ffe49a,var(--gold),var(--gold-2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.login p{color:var(--muted);font-size:12.5px;margin-top:7px}
.login form{margin-top:18px;display:flex;flex-direction:column;gap:10px}
.login input{
  font-family:inherit;font-size:15px;text-align:center;letter-spacing:2px;color:var(--text);
  background:rgba(255,255,255,.05);border:1px solid var(--line-2);border-radius:12px;padding:12px;
}
.login input:focus{outline:none;border-color:var(--gold-bd)}
.login .err{color:var(--red);font-size:12.5px;min-height:16px}
