/* ===== 肥仔集會所：獨立管理員頁 ===== */
.admin-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 90% 0,rgba(255,104,45,.11),transparent 28rem),
    radial-gradient(circle at 0 35%,rgba(75,222,231,.08),transparent 25rem),
    var(--night);
  color:var(--paper);
}
.admin-page *{box-sizing:border-box}
.admin-page input,.admin-page select,.admin-page textarea,.admin-page button{max-width:100%;min-width:0}
.admin-page textarea{resize:vertical}
.admin-topbar{
  position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding:12px clamp(16px,3vw,34px);background:rgba(14,17,37,.95);
  border-bottom:3px solid var(--night-3);backdrop-filter:blur(14px);
}
.admin-topbar .brand{text-decoration:none}
.admin-account{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}
.admin-gate{max-width:680px;margin:10vh auto;padding:34px}
.admin-app{display:grid;grid-template-columns:230px minmax(0,1fr);max-width:1600px;margin:0 auto}
.admin-side-nav{
  position:sticky;top:79px;height:calc(100vh - 79px);display:flex;flex-direction:column;
  gap:7px;padding:26px 16px;border-right:2px solid var(--night-3);background:rgba(20,23,42,.74);
}
.admin-side-nav a{
  display:flex;align-items:center;min-height:46px;padding:10px 14px;border:2px solid transparent;
  border-radius:11px;color:var(--muted);font-weight:800;text-decoration:none;transition:.18s ease;
}
.admin-side-nav a:hover,.admin-side-nav a.active{
  color:var(--cream);border-color:var(--orange);background:rgba(255,104,45,.12);
}
.admin-main{min-width:0;padding:0 clamp(18px,4vw,54px) 80px}
.admin-section{min-width:0;padding:48px 0;border-bottom:2px dashed var(--night-3);scroll-margin-top:96px}
.admin-section:last-child{border-bottom:0}
.admin-section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px;
}
.admin-section-head h1,.admin-section-head h2{margin:3px 0 6px}
.admin-main-actions{display:flex;gap:10px;flex-wrap:wrap}
.admin-main-actions a{text-decoration:none}
.admin-stat-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
}
.admin-stat-grid article,.admin-budget-grid article{
  min-width:0;padding:18px;border:2px solid var(--night-3);border-radius:15px;background:var(--night-2);
  box-shadow:var(--shadow);
}
.admin-stat-grid small,.admin-budget-grid small{display:block;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.08em}
.admin-stat-grid strong,.admin-budget-grid strong{display:block;margin:5px 0;font-family:var(--font-head);font-size:30px;color:var(--yellow)}
.admin-stat-grid span{font-size:12px;color:var(--muted)}

.admin-event-form{display:grid;gap:22px;padding:clamp(16px,3vw,30px);overflow:hidden}
.admin-form-block{
  min-width:0;padding:22px;border:2px solid var(--night-3);border-radius:16px;background:rgba(10,13,31,.3);
}
.admin-form-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.admin-form-title>span{
  display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;
  background:var(--orange);color:white;font-family:var(--font-head);font-size:17px;box-shadow:var(--glow-orange);
}
.admin-form-title h3,.admin-form-title p{margin:0}
.admin-form-title p{font-size:12px;color:var(--muted)}
.admin-form-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;
}
.admin-form-grid label,.admin-event-form>label,.admin-form-block>label,.grant-form label{
  display:grid;min-width:0;gap:6px;font-size:13px;font-weight:800;color:var(--paper);
}
.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea,
.admin-event-form input,.admin-event-form select,.admin-event-form textarea,
.member-picker input,.grant-form input,.admin-search input{
  width:100%;min-width:0;
}
.field-wide{grid-column:1/-1}
.admin-inline-heading{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;
}
.admin-date-rows{display:grid;gap:9px}
.admin-date-row{
  display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:9px;align-items:end;min-width:0;
}
.admin-date-row label{display:grid;gap:6px;min-width:0;font-size:12px;font-weight:800}
.admin-date-remove{width:42px;height:42px;padding:0}
.admin-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.admin-check-grid .check-row{
  width:100%;min-width:0;margin:0;padding:13px 14px;border:2px solid var(--night-3);border-radius:12px;
}
.admin-check-grid .check-row span{min-width:0}
.admin-prize-rows{display:grid;gap:10px;margin-bottom:12px}
.admin-prize-row{
  display:grid;grid-template-columns:minmax(0,2fr) minmax(105px,.65fr) 42px;gap:10px;align-items:end;min-width:0;
}
.admin-prize-row label{display:grid;gap:6px;min-width:0;font-size:12px;font-weight:800}
.admin-prize-row input{width:100%;min-width:0}
.admin-prize-remove{width:42px;height:42px;padding:0}
.planner-inputs{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-budget-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;
}
.admin-budget-grid article{padding:14px;box-shadow:none}
.admin-budget-grid strong{font-size:22px}
.admin-budget-grid strong.negative{color:#ff8479}
.admin-publish-button{min-height:54px;font-size:16px}

.auto-award-banner{
  display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:16px 18px;border:2px solid #53d79b;
  border-radius:14px;background:rgba(83,215,155,.1);
}
.auto-award-banner strong{flex:none;color:#76edb5}
.auto-award-banner span{color:var(--paper);font-size:13px}
.admin-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.admin-two-column>.panel{min-width:0}
.admin-list{display:grid;gap:10px;min-width:0}
.admin-list-item{
  display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;
  padding:13px;border:2px solid var(--night-3);border-radius:12px;background:rgba(10,13,31,.28);
}
.admin-list-item>div:first-child{min-width:0}
.admin-list-item strong,.admin-list-item small{display:block;overflow-wrap:anywhere}
.admin-list-item small{margin-top:3px;color:var(--muted)}
.admin-list-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;flex:none}
.admin-list-actions a{text-decoration:none}
.admin-empty{padding:20px;border:2px dashed var(--night-3);border-radius:12px;text-align:center;color:var(--muted)}

.member-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:13px 0}
.member-picker label{display:grid;gap:6px;min-width:0;font-size:13px;font-weight:800}
.member-choice{
  grid-column:1/-1;min-width:0;padding:9px 11px;border:2px dashed var(--night-3);border-radius:10px;
  color:var(--muted);font-size:12px;overflow-wrap:anywhere;
}
.member-choice.selected{border-style:solid;border-color:#53d79b;background:rgba(83,215,155,.08);color:#baf5d5}
.grant-panel{margin-top:18px}
.grant-form{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(90px,.35fr) minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:14px}
.grant-form .member-choice{grid-column:1/-1}
.admin-search{display:grid;gap:6px;width:min(360px,100%);font-size:12px;font-weight:800}
.admin-member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.admin-member-card{
  display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;
  padding:14px;border:2px solid var(--night-3);border-radius:13px;background:rgba(10,13,31,.28);
}
.admin-member-card>div:first-child{display:grid;min-width:0}
.admin-member-card small{color:var(--muted);overflow-wrap:anywhere}
.member-spend-summary{
  display:grid;gap:2px;margin-top:9px;padding:9px 11px;border:2px solid rgba(255,198,61,.32);
  border-radius:10px;background:rgba(255,198,61,.06);
}
.member-spend-summary strong{font-family:var(--font-head);font-size:17px;color:var(--yellow)}
.member-spend-summary span{color:var(--muted);font-size:11px}
.admin-member-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;flex:none}
.admin-pagination{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:16px;
  border-top:2px solid var(--night-3);
}
.admin-pagination:empty{display:none}
.admin-pagination p{margin:0;color:var(--muted);font-size:12px}
.admin-pagination-actions{display:flex;align-items:center;gap:10px}
.admin-pagination-actions span{min-width:86px;text-align:center;color:var(--paper);font-size:12px;font-weight:800}
.admin-account .btn{white-space:nowrap}
.admin-section-head>a{text-decoration:none}
.reward-admin-layout{align-items:start}
.reward-product-form{display:grid;gap:13px;min-width:0}
.reward-product-form>label{display:grid;gap:6px;min-width:0;font-size:13px;font-weight:800}
.reward-product-form input,.reward-product-form textarea{width:100%;min-width:0}
.reward-image-preview{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;min-height:0;
}
.reward-image-preview:empty{display:none}
.reward-image-preview figure{position:relative;margin:0;min-width:0}
.reward-image-preview img{
  width:100%;aspect-ratio:1;object-fit:cover;border:2px solid var(--night-3);border-radius:9px;
}
.reward-image-preview span{
  position:absolute;right:4px;bottom:4px;padding:2px 5px;border-radius:6px;
  background:#101329d9;color:var(--paper);font-size:9px;
}
.reward-product-thumb{
  width:62px;height:62px;flex:none;object-fit:cover;border:2px solid var(--night-3);border-radius:9px;
}
.reward-product-info{display:flex;align-items:center;gap:10px;min-width:0}
.reward-product-info>div{min-width:0}
.reward-product-meta{color:var(--yellow)!important;font-weight:800}
.reward-redemption-panel{display:grid;gap:14px;margin-top:18px}
.reward-redemption-member{color:var(--paper)!important}
.whatsapp-limit-banner{border-color:#53d79b;background:rgba(83,215,155,.08)}
.whatsapp-limit-banner strong{color:#76edb5}
.whatsapp-queue-item.pending{border-color:rgba(83,215,155,.5)}
.whatsapp-queue-item.shared{opacity:.78}
.whatsapp-preview{margin-top:8px}
.whatsapp-preview summary{cursor:pointer;color:var(--cyan);font-size:12px;font-weight:800}
.whatsapp-preview pre{
  max-width:680px;margin:9px 0 0;padding:12px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;
  border:2px solid var(--night-3);border-radius:10px;background:var(--night-1);
  color:var(--paper);font:12px/1.6 var(--font-body);
}

@media(max-width:1050px){
  .admin-app{grid-template-columns:1fr}
  .admin-side-nav{
    top:75px;z-index:50;height:auto;flex-direction:row;overflow-x:auto;padding:9px 14px;
    border-right:0;border-bottom:2px solid var(--night-3);background:rgba(14,17,37,.97);
  }
  .admin-side-nav::-webkit-scrollbar{display:none}
  .admin-side-nav a{flex:none;min-height:40px;padding:7px 12px}
  .admin-section{scroll-margin-top:138px}
}
@media(max-width:760px){
  .admin-topbar{padding:10px 12px}
  .admin-topbar .brand-logo{width:46px;height:46px}
  .admin-topbar .brand-text strong{font-size:14px}
  .admin-account span{display:none}
  .admin-main{padding:0 12px 64px}
  .admin-section{padding:32px 0}
  .admin-section-head{align-items:stretch;flex-direction:column;gap:12px}
  .admin-main-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .admin-main-actions .btn{width:100%;padding-inline:8px}
  .admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .admin-stat-grid article{padding:14px}
  .admin-stat-grid strong{font-size:25px}
  .admin-event-form{padding:12px;gap:14px}
  .admin-form-block{padding:14px}
  .admin-form-grid,.planner-inputs,.admin-check-grid{grid-template-columns:minmax(0,1fr)}
  .field-wide{grid-column:auto}
  .admin-inline-heading{align-items:stretch;flex-direction:column}
  .admin-inline-heading .btn{width:100%}
  .admin-prize-row{grid-template-columns:minmax(0,1fr) 94px 40px;gap:7px}
  .admin-prize-row label:first-child{grid-column:1/-1}
  .admin-prize-row label:nth-child(2){grid-column:1/3}
  .admin-budget-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .admin-budget-grid article{padding:12px}
  .admin-budget-grid strong{font-size:19px}
  .admin-two-column{grid-template-columns:minmax(0,1fr)}
  .auto-award-banner{align-items:flex-start;flex-direction:column}
  .member-picker{grid-template-columns:minmax(0,1fr)}
  .member-picker .btn{width:100%}
  .grant-form{grid-template-columns:minmax(0,1fr)}
  .grant-form .member-choice{grid-column:auto}
  .grant-form .btn{width:100%}
  .admin-member-grid{grid-template-columns:minmax(0,1fr)}
  .admin-member-card,.admin-list-item{align-items:stretch;flex-direction:column}
  .admin-member-actions,.admin-list-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .admin-member-actions .btn,.admin-list-actions .btn,.admin-list-actions a{width:100%}
  .admin-pagination{align-items:stretch;flex-direction:column}
  .admin-pagination-actions{display:grid;grid-template-columns:1fr auto 1fr}
  .admin-pagination-actions .btn{width:100%;padding-inline:8px}
  .reward-image-preview{grid-template-columns:repeat(3,minmax(0,1fr))}
  .reward-product-info{align-items:flex-start}
}
@media(max-width:390px){
  .admin-budget-grid,.admin-stat-grid{grid-template-columns:minmax(0,1fr)}
  .admin-main-actions{grid-template-columns:minmax(0,1fr)}
}
