.mobile-nav{display:none}
.topbar-heading{display:grid;gap:3px;min-width:0;max-width:70%}
.topbar-heading strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.topbar-heading small{color:#708481;font-size:.8rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.topbar>span{max-width:28%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.brand{white-space:normal}
.brand-icon{flex:none}
.brand span:last-child,.login-card h1{overflow-wrap:anywhere}
.settings-panel{max-width:800px}
.settings-panel h2{margin:8px 0 0}
.settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.settings-reset{margin-top:16px}

@media(max-width:760px){
  .app-shell{display:block;min-height:100vh}
  .sidebar{display:none}
  .topbar{position:sticky;top:0;z-index:20;height:56px;padding:0 16px;background:#fff}
  .topbar strong{font-size:1.05rem}
  .topbar span{font-size:.82rem}
  .topbar-heading{max-width:70%}
  .settings-fields{grid-template-columns:minmax(0,1fr)}
  .page-content{padding:16px 14px calc(88px + env(safe-area-inset-bottom))}
  .dashboard-intro{margin-bottom:16px}
  .dashboard-intro h1{font-size:1.45rem}
  .stat-grid,.stat-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stat{min-height:112px;padding:15px;gap:6px}
  .stat strong{font-size:clamp(1.13rem,5vw,1.45rem);overflow-wrap:anywhere}
  .stat small{line-height:1.3}
  .profit-banner{margin-bottom:16px}
  .page-grid{display:flex;flex-direction:column;gap:14px}
  .page-grid>.panel{width:100%}
  .page-grid>.form-panel{order:-1;max-width:none}
  .form-panel h2{margin-bottom:14px}
  .panel{margin-bottom:14px;padding:16px}
  .section-head{margin-bottom:12px}
  .section-head h1{font-size:1.35rem}
  input,select,textarea{min-height:44px;padding:11px 12px}
  button.primary{min-height:46px}
  .table-wrap{overflow:visible}
  .mobile-records{display:block;min-width:0}
  .mobile-records thead{display:none}
  .mobile-records tbody{display:grid;gap:10px}
  .mobile-records tr{display:block;padding:9px 13px;border:1px solid #e3ebe8;border-radius:12px;background:#fff}
  .mobile-records td{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:34px;padding:7px 0;border-bottom:1px solid #edf1ef;text-align:right;overflow-wrap:anywhere}
  .mobile-records td:last-child{border-bottom:0}
  .mobile-records td:first-child{font-weight:700}
  .mobile-records td:not(.empty)::before{content:var(--label);flex:0 0 84px;color:#728681;font-size:.81rem;font-weight:500;text-align:left}
  .mobile-records td[data-label]:not(.empty)::before{content:attr(data-label)}
  .mobile-records td.empty{display:block;text-align:center;padding:25px 8px}
  .mobile-records td form.inline{margin:0}
  .mobile-records td details{margin:0}
  .mobile-records td details .stack{min-width:0;width:100%}
  .mobile-records td details .inline{display:grid;margin:8px 0 0}
  .mobile-records td details .inline input{max-width:none;width:100%}
  .mobile-records td .link-button{min-height:28px}
  .admin .mobile-records:not(.overview-table) td:last-child:not(.empty){display:block;text-align:left}
  .admin .mobile-records:not(.overview-table) td:last-child:not(.empty)::before{display:block;margin-bottom:8px}
  .admin .mobile-records:not(.overview-table) td:last-child details{display:block;width:100%;min-width:0;margin-top:8px}
  .mobile-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;display:flex;align-items:stretch;height:calc(62px + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);background:#fff;border-top:1px solid #dce6e2;box-shadow:0 -4px 18px rgba(14,56,48,.08)}
  .mobile-nav>a,.mobile-more>summary{display:grid;place-items:center;width:100%;height:60px;padding:5px 2px;border-radius:9px;color:#627c75;font-size:.85rem;font-weight:650;white-space:nowrap}
  .mobile-nav>a{flex:1}
  .mobile-nav .active{color:#0f776a;background:#e6f3ee}
  .mobile-more{flex:1;min-width:0;margin:0}
  .mobile-more>summary{list-style:none;cursor:pointer}
  .mobile-more>summary::-webkit-details-marker{display:none}
  .mobile-more-menu{position:absolute;right:10px;bottom:calc(100% + 8px);width:min(260px,calc(100vw - 20px));padding:8px;background:#fff;border:1px solid #dce6e2;border-radius:13px;box-shadow:0 12px 35px rgba(17,55,48,.18)}
  .mobile-more-menu a,.mobile-more-menu button{display:block;width:100%;padding:12px 14px;border:0;background:transparent;color:#264a42;font:inherit;text-align:left;border-radius:7px}
  .mobile-more-menu a:focus,.mobile-more-menu button:focus{background:#e6f3ee}
}

@media(max-width:380px){
  .page-content{padding-left:11px;padding-right:11px}
  .stat{padding:12px}
  .stat span,.stat small{font-size:.74rem}
  .mobile-nav>a,.mobile-more>summary{font-size:.79rem}
}

.fishers-table td:nth-child(1){--label:"昵称"}
.overview-table td:nth-child(1){--label:"钓手"}
.venues-table td:nth-child(1){--label:"名称"}
.fishers-table td:nth-child(2){--label:"手机号"}
.fishers-table td:nth-child(3),.venues-table td:nth-child(3),.overview-table td:nth-child(5){--label:"状态"}
.fishers-table td:nth-child(4),.venues-table td:nth-child(4){--label:"操作"}
.venues-table td:nth-child(2){--label:"备注"}
.registrations-table td:nth-child(1),.recent-table td:nth-child(1){--label:"日期"}
.admin .registrations-table td:nth-child(2){--label:"钓手"}
.admin .registrations-table td:nth-child(3),.fisher .registrations-table td:nth-child(2),.recent-table td:nth-child(2){--label:"钓场"}
.admin .registrations-table td:nth-child(4),.fisher .registrations-table td:nth-child(3),.recent-table td:nth-child(3){--label:"报名费（元）"}
.admin .registrations-table td:nth-child(5),.fisher .registrations-table td:nth-child(4),.recent-table td:nth-child(4){--label:"提成积分"}
.admin .registrations-table td:nth-child(6),.fisher .registrations-table td:nth-child(5){--label:"状态"}
.admin .registrations-table td:nth-child(7){--label:"操作"}
.redemptions-table td:nth-child(1){--label:"时间"}
.admin .redemptions-table td:nth-child(2){--label:"钓手"}
.admin .redemptions-table td:nth-child(3),.fisher .redemptions-table td:nth-child(2){--label:"产品"}
.admin .redemptions-table td:nth-child(4),.fisher .redemptions-table td:nth-child(3){--label:"数量"}
.admin .redemptions-table td:nth-child(5),.fisher .redemptions-table td:nth-child(4){--label:"扣除积分"}
.admin .redemptions-table td:nth-child(6){--label:"进价（元）"}
.admin .redemptions-table td:nth-child(7),.fisher .redemptions-table td:nth-child(5){--label:"状态"}
.admin .redemptions-table td:nth-child(8){--label:"操作"}
.overview-table td:nth-child(2){--label:"累计提成积分"}
.overview-table td:nth-child(3){--label:"已兑换积分"}
.overview-table td:nth-child(4){--label:"剩余积分"}
