/* memcp — member control panel (profile-edit form). Visual lifted from
   docs/forum-theme/samples/memcp.html; shared chrome lives in forum.css. */

.sect{border:1px solid var(--frame); border-radius:6px; overflow:hidden; background:#fff}
.sect h3{margin:0; padding:6px 12px; font-size:12px; color:#fff; font-weight:bold; display:flex; align-items:center;
     gap:7px;
     border-bottom:1px solid var(--bar-edge);
     background:linear-gradient(to bottom, rgba(255,255,255,.4) 0%, rgba(255,255,255,.06) 48%,
                rgba(255,255,255,0) 49%, rgba(0,0,0,.04) 100%),
               linear-gradient(to bottom, var(--bar-top), var(--bar-bot));
     box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.sect h3 .fa-solid{width:15px; flex:none; text-align:center}
.pad{padding:9px}

/* account summary */
.acctsect{margin:9px}
.acct{display:flex; gap:14px; padding:14px; align-items:center}
.ava{width:72px; height:72px; flex:none; border-radius:10px; border:2px solid #fff;
     box-shadow:0 2px 6px rgba(39,80,127,.25); overflow:hidden;
     display:flex; align-items:center; justify-content:center; background:#e7eefa}
.ava img{max-width:72px; max-height:72px; display:block}
.ava.ph{color:#7a90b5; font-size:10px;
     background:repeating-conic-gradient(#cfdcf0 0 25%, #e7eefa 0 50%) 0/16px 16px}
.acct .nm{font-size:18px; font-weight:bold; color:#16345e}
.grp{display:inline-block; background:linear-gradient(#7BA0D0,#5C84BE); color:#fff; font-weight:bold;
     font-size:11px; padding:1px 9px; border-radius:20px; box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.acct .mini{color:var(--muted); font-size:11px; margin-top:4px} .acct .mini b{color:#13386b}
.stars{color:#e0a300; letter-spacing:1px}

.cp-tabs{display:flex; flex-wrap:wrap; gap:6px; padding:0 9px 9px}
.cp-tabs a{display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 12px; border:1px solid #b8c8df;
     border-radius:4px; background:linear-gradient(#fff,#edf4fc); color:#13386b; text-decoration:none; font-weight:bold}
.cp-tabs .fa-solid{width:14px; flex:none; text-align:center}
.cp-tabs a:hover{background:#eef4fc; text-decoration:none}
.cp-tabs a.on{color:#fff; border-color:#3f6aa6; background:linear-gradient(#7BA0D0,#5C84BE)}

.dashgrid{display:grid; grid-template-columns:1fr 1fr; gap:9px}
.dashgrid.below{margin-top:9px}
.mini-list{padding:6px 10px}
.mini-row{display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; padding:7px 0; border-bottom:1px solid var(--rule)}
.mini-row:last-child{border-bottom:0}
.mini-row > div{min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:bold}
.mini-row > span{font-size:11px; color:var(--muted); white-space:nowrap}
.tag{display:inline-block; margin-left:4px; padding:0 5px; border-radius:8px; background:#d95743; color:#fff; font-size:10px}
.empty{padding:14px 12px; color:var(--muted)}
.statcards{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:12px}
.statcards a{display:flex; flex-direction:column; gap:2px; min-height:72px; justify-content:center; padding:10px;
     border:1px solid #cbd8e8; border-radius:6px; background:#f8fbff; text-decoration:none}
.statcards b{font-size:20px; color:#16345e}
.statcards span{font-weight:bold; color:#33506f}
.statcards em{font-style:normal; font-size:11px; color:var(--muted)}

.memcp-profile{display:grid; gap:9px}
.profile-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:9px}
.profile-card{height:auto; border:1px solid var(--frame); border-radius:6px; overflow:hidden; background:#fff}
.profile-card-head{display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 8px;
     border-bottom:1px solid var(--bar-edge);
     background:linear-gradient(to bottom,var(--bar-top),var(--bar-bot)); color:#fff}
.profile-card-head h3{display:flex; align-items:center; gap:7px; margin:0; padding:0; border:0; background:transparent;
     box-shadow:none; font-size:12px}
.profile-card-head h3 .fa-solid{width:15px; text-align:center}
.profile-card-head .soft-btn{height:24px; padding:0 8px; border-color:#d5e2f3; font-weight:bold}
.profile-summary{display:grid; grid-template-columns:112px minmax(0,1fr); gap:0; margin:0}
.profile-summary dt,.profile-summary dd{min-width:0; margin:0; padding:7px 10px; border-bottom:1px solid var(--rule)}
.profile-summary dt{background:#f6f9fd; border-right:1px solid var(--rule); color:#33506f; font-weight:bold}
.profile-summary dd{overflow-wrap:anywhere}
.profile-summary dt:last-of-type,.profile-summary dd:last-of-type{border-bottom:0}
.profile-text{padding:9px 10px; border-top:1px solid var(--rule)}
.profile-text b{display:block; color:#33506f; margin-bottom:4px}
.profile-text p{margin:0; white-space:pre-wrap; overflow-wrap:anywhere}
.profile-note{display:flex; align-items:center; gap:6px; margin:0; padding:8px 10px; color:#8a4d00; background:#fff8e8;
     border-top:1px solid #ead8b3; font-size:11px}
.security-card{align-self:start}
.google-actions{padding:10px; border-top:1px solid var(--rule)}
.google-actions form{display:inline;margin:0}
.google-actions .pbtn{height:28px; padding:0 14px}
.memcp-toast{display:flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid #9fcba8;
     border-radius:5px; background:#eef8ef; color:#155724}
.memcp-toast.bad{border-color:#cf9b91; background:#fff1ee; color:#8a1f11}
.memcp-toast[hidden]{display:none}
.memcp-state{display:none}

.data-table{padding:0 10px 10px}
.data-table .thead,.data-table .trow{display:grid; gap:10px; align-items:center; border-bottom:1px solid var(--rule)}
.data-table .thead{padding:7px 0; color:#33506f; font-size:11px; font-weight:bold; background:#f6f9fd}
.data-table .trow{padding:8px 0; color:#23303d}
.data-table .trow:hover{background:#f8fbff}
.thread-table .thead,.thread-table .trow{grid-template-columns:28px minmax(0,1fr) 150px 60px 190px}
.attach-table .thead,.attach-table .trow{grid-template-columns:28px minmax(0,1fr) minmax(0,1.1fr) 80px 60px 130px}
.data-table span{min-width:0; overflow-wrap:anywhere}
.data-table input[type=checkbox]{margin-left:6px}
.buddy-add{display:flex; gap:8px; align-items:center; padding:10px 12px; border-bottom:1px solid var(--rule)}
.buddy-add .ajax-error{font-size:12px}
.buddy-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:9px; padding:10px}
.buddy-card{display:flex; gap:10px; min-width:0; border:1px solid #d2ddec; border-radius:6px; background:#fbfdff; padding:9px}
.bava{width:42px; height:42px; border-radius:8px; background:#e7eefa; display:flex; align-items:center; justify-content:center; overflow:hidden; flex:none}
.bava img{max-width:42px; max-height:42px}
.bmain{min-width:0; flex:1}.bnm{font-weight:bold}
.online,.offline{display:block; font-size:11px; margin-top:2px}
.online{color:#07813c}.offline{color:var(--muted)}
.btools{display:flex; gap:8px; align-items:center; margin-top:6px; font-size:12px}
.btools form{display:inline;margin:0}.btools button{display:inline-flex; align-items:center; gap:4px; border:0; padding:0; background:transparent; color:var(--link); cursor:pointer; font-size:12px}

/* form rows */
.frow{display:grid; grid-template-columns:120px 1fr; border-bottom:1px solid var(--rule)}
.frow:last-child{border-bottom:0}
.frow > .lab{padding:9px 12px; background:#f6f9fd; border-right:1px solid var(--rule); font-weight:bold; color:#33506f}
.frow > .lab.vt{align-self:start}
.frow > .fld{padding:9px 12px; display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.fld .cmt{color:var(--muted); font-size:11px}
.fld .note-warn{display:inline-flex; align-items:center; gap:5px; color:#8a4d00}
.note-warn .fa-solid{color:#d48a00}
input[type=text],input[type=password]{box-sizing:border-box; border:1px solid #b9c6dd; border-radius:3px;
     padding:6px 8px; font-family:inherit; font-size:13px; width:220px}
textarea{box-sizing:border-box; border:1px solid #b9c6dd; border-radius:3px; padding:6px 8px;
     font-family:inherit; font-size:13px; width:100%; min-height:64px}
input.is-bad{border-color:#c45848; background:#fff8f6}
input[type=radio],input[type=checkbox]{accent-color:#4f78b3; width:14px; height:14px; vertical-align:-2px}
.soft-btn{display:inline-flex; align-items:center; gap:5px; font-size:12px; border:1px solid #9fc0e8; border-radius:4px; cursor:pointer;
     background:linear-gradient(#fbfdff,#dceafd); color:#13386b; padding:5px 10px; font-family:inherit}
select{font-size:12px; border:1px solid #b9c6dd; border-radius:3px; background:linear-gradient(#fff,#f3f7fc); padding:5px 6px}
label{display:inline-flex; align-items:center; gap:4px}

.saverow{display:flex; align-items:center; gap:12px; padding:14px}
.pbtn{display:inline-flex; align-items:center; justify-content:center; gap:6px; height:30px; padding:0 22px;
     box-sizing:border-box; border:1px solid #3f6aa6; border-radius:4px; color:#fff; font-weight:bold;
     font-size:13px; text-decoration:none; cursor:pointer;
     background:linear-gradient(to bottom,#7BA0D0,#5C84BE); box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
     text-shadow:0 1px 0 rgba(0,0,0,.15)}
.pbtn:hover{background:linear-gradient(to bottom,#86abd9,#5e8ac5)}
.pbtn:disabled{opacity:.62; cursor:default}
.memcp-save-hint{display:none; align-items:center; gap:5px; color:#8a4d00; font-size:11px}
.memcp-save-hint.on{display:inline-flex}
.pwd-meter{display:inline-block; width:150px; height:6px; border:1px solid #c8d4e5; border-radius:6px; background:#f2f5fa; overflow:hidden; vertical-align:middle}
.pwd-meter span{display:block; width:0; height:100%; background:#c5ceda; transition:width .18s ease, background-color .18s ease}
.pwd-meter.weak span{width:33%; background:#d86b52}
.pwd-meter.ok span{width:66%; background:#d89a2b}
.pwd-meter.strong span{width:100%; background:#2f9a57}
.pwd-status{font-size:11px; color:var(--muted)}
.pwd-status.bad{color:#b5281c}
.pwd-status.good{color:#07813c}

.memcp-modal{position:fixed; inset:0; z-index:1000; display:flex; align-items:flex-start; justify-content:center;
     box-sizing:border-box; padding:42px 12px 18px}
body.memcp-modal-open{overflow:hidden}
.memcp-modal-backdrop{position:absolute; inset:0; background:rgba(12,27,48,.48)}
.memcp-modal-dialog{position:relative; z-index:1; width:min(720px,calc(100vw - 24px)); max-height:calc(100vh - 60px);
     display:flex; flex-direction:column; border:1px solid #4f78b3; background:#fff; box-shadow:0 14px 34px rgba(0,0,0,.32)}
.memcp-modal-head{display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:31px;
     padding:6px 8px 6px 10px; border-bottom:1px solid var(--bar-edge);
     background:linear-gradient(to bottom,var(--bar-top),var(--bar-bot)); color:#fff; font-weight:bold}
.memcp-modal-head h3{display:flex; align-items:center; gap:7px; margin:0; font-size:13px}
.memcp-modal-head h3 .fa-solid{width:15px; text-align:center}
.memcp-modal-close{height:24px; border:1px solid #d5e2f3; background:linear-gradient(to bottom,#fff,#dfe8f5);
     color:#13386b; padding:0 8px; font:700 12px Tahoma,Verdana,Arial,"宋体",SimSun,sans-serif; cursor:pointer}
.memcp-modal-body{min-height:0; overflow:auto; background:#fff}
.memcp-edit-form{margin:0}
.memcp-edit-form>.ajax-error{margin:10px; color:#b5281c}
.memcp-edit-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:10px}
.memcp-edit-row{display:grid; gap:4px; min-width:0; color:#333; font-weight:bold}
.memcp-edit-row.wide{grid-column:1/-1}
.memcp-edit-row.check{display:inline-flex; align-items:center; gap:6px; font-weight:normal}
.memcp-edit-row>span,.memcp-edit-row legend{color:#33506f; font-weight:bold}
.memcp-edit-row em{color:var(--muted); font-style:normal; font-size:11px; font-weight:normal}
.memcp-edit-row fieldset,.memcp-edit-row legend{margin:0; padding:0; border:0}
.memcp-edit-row input[type=text],.memcp-edit-row input[type=email],.memcp-edit-row input[type=password],
.memcp-edit-row select,.memcp-edit-row textarea{box-sizing:border-box; width:100%; max-width:100%}
.memcp-edit-row input[readonly]{background:#f4f6fa; color:#6c7788}
.memcp-edit-row label{margin-right:10px}
.tz-inline{display:grid; grid-template-columns:1fr 1.4fr; gap:8px}
.memcp-modal .saverow{position:sticky; bottom:0; margin-top:0; border-top:1px solid var(--rule); background:#f8fbff}

/* 论坛头像列表 picker (memcp.php?action=viewavatars) */
.avagrid{display:flex; flex-wrap:wrap; gap:8px; margin:8px 0}
.avacell{display:inline-flex; flex-direction:column; align-items:center; justify-content:center;
     width:84px; padding:6px; border:1px solid #cdd9e3; border-radius:4px; cursor:pointer; background:#fafdff}
.avacell img{max-width:64px; max-height:64px; display:block; margin-top:4px}
.avacell .none{color:#888; font-size:12px; padding:14px 0}
.avacell input{margin:0}

/* cascading timezone picker (region -> city) */
.tz-region{margin-right:6px}
.tz-zone{min-width:240px; max-width:100%}

@media (max-width:760px){
  .profile-grid,.memcp-edit-grid,.tz-inline{grid-template-columns:1fr}
  .profile-summary{grid-template-columns:96px minmax(0,1fr)}
  .memcp-modal{align-items:stretch; padding:8px}
  .memcp-modal-dialog{width:100%; max-height:calc(100vh - 16px)}
}
