/* 金湾学子通 v2 - 共享样式（弹窗/AI/底部导航），子页面引用 */
.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.4);display:none;align-items:center;justify-content:center}
.modal-overlay.show{display:flex}
.modal-box{width:320px;padding:24px 20px;background:var(--card,#fff);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.12)}
.modal-box h3{font-size:17px;text-align:center;margin-bottom:12px;color:var(--ink,#3A342E)}
.modal-box .sh{text-align:center;font-size:11px;color:var(--ink-soft,#8A8078);margin-bottom:10px}
.modal-box input,.modal-box select{width:100%;padding:12px;border-radius:10px;border:1.5px solid #EDE5D8;font-size:14px;font-family:inherit;margin-bottom:8px;outline:none}
.modal-box input:focus,.modal-box select:focus{border-color:var(--main,#D4A373)}
.ir{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.itag{padding:8px 14px;border-radius:18px;font-size:12px;cursor:pointer;background:var(--bg,#FAF6F0);border:1.5px solid #EDE5D8;color:var(--ink-soft,#8A8078);font-weight:500}
.itag.sel{background:#FBEFE0;border-color:var(--main,#D4A373);color:var(--main-deep,#B9855A);font-weight:700}
.btn-pri{width:100%;padding:12px;border:none;border-radius:10px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;background:var(--main,#D4A373);color:#fff}
.btn-logout{width:100%;padding:11px;border:none;border-radius:10px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;background:#FEF2F2;color:#DC2626;margin-top:10px}
.btn-outline{background:#fff !important;color:var(--main-deep,#B9855A) !important;border:1.5px solid var(--main,#D4A373) !important}
.mhint{text-align:center;margin-top:10px;font-size:10px;color:var(--ink-soft,#8A8078)}
.pf-divider{font-size:12px;color:var(--ink-soft,#8A8078);margin:16px 0 8px;display:flex;align-items:center;gap:8px}
.pf-divider:before,.pf-divider:after{content:"";flex:1;height:1px;background:#EDE5D8}
.av-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}
.av-item{width:100%;aspect-ratio:1;border-radius:50%;cursor:pointer;border:3px solid transparent;object-fit:cover}
.av-item.sel{border-color:var(--main,#D4A373)}
.av-up-btn{width:100%;padding:12px;border:1.5px dashed #D8CDBB;border-radius:10px;background:var(--bg,#FAF6F0);color:var(--ink-soft,#8A8078);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.av-file-hidden{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.av-tip{font-size:11px;color:var(--ink-soft,#8A8078);text-align:center;margin-top:8px}
.ai-panel{position:fixed;inset:0;z-index:300;background:var(--bg,#FAF6F0);display:none;flex-direction:column}
.ai-panel.show{display:flex}
.ai-ph{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #EDE5D8;background:var(--card,#fff)}
.ai-ph h3{font-size:14px;color:var(--ink,#3A342E)}
.ai-cl{width:28px;height:28px;border-radius:50%;background:var(--bg,#FAF6F0);border:1px solid #EDE5D8;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-soft,#8A8078)}
.ai-msgs{flex:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:10px}
.ai-msg{max-width:85%;padding:10px 14px;border-radius:16px;font-size:13px;line-height:1.6}
.ai-msg.u{align-self:flex-end;background:var(--main,#D4A373);color:#fff;border-bottom-right-radius:4px}
.ai-msg.b{align-self:flex-start;background:var(--card,#fff);color:var(--ink,#3A342E);border:1px solid #EDE5D8;border-bottom-left-radius:4px}
.ai-bar{padding:10px 18px 18px;display:flex;gap:8px;border-top:1px solid #EDE5D8;background:var(--card,#fff)}
.ai-bar input{flex:1;padding:10px 14px;border-radius:20px;border:1.5px solid #EDE5D8;font-size:13px;font-family:inherit;outline:none}
.ai-bar input:focus{border-color:var(--main,#D4A373)}
.ai-bar button{padding:0 18px;border-radius:20px;border:none;font-weight:700;font-family:inherit;cursor:pointer;background:var(--main,#D4A373);color:#fff;font-size:13px}
.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);display:flex;justify-content:space-around;padding:8px 0 14px;border-top:1px solid #F0EAE0;z-index:100}
.n-item{text-align:center;font-size:10px;color:var(--ink-soft,#8A8078);flex:1;text-decoration:none;cursor:pointer}
.n-item .ic{font-size:20px;display:block;margin-bottom:2px}
.n-item.on{color:var(--main-deep,#B9855A);font-weight:700}
.n-center{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--main,#D4A373),var(--main-deep,#B9855A));display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1;margin-top:-26px;box-shadow:0 4px 14px rgba(212,163,115,.5);border:4px solid #fff}
