:root{font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#172436;background:#f2f5fa;--blue:#1976ff;--border:#e0e7f0;--muted:#64748b}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:12px;padding:10px 16px;background:var(--blue);color:white}button:disabled{opacity:.55;cursor:wait}button.secondary{background:white;border-color:var(--border);color:#30445d}button.danger{background:#fff3f3;color:#bc2436;border-color:#f5cbd1}button.link{color:var(--blue);background:transparent;padding:4px;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #78aaff;outline-offset:2px}a{color:var(--blue)}input,select,textarea{width:100%;min-width:0;border:1px solid #cbd7e6;border-radius:10px;padding:10px;background:white;color:#172436}textarea{min-height:100px;resize:vertical}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--blue)}label{display:block;margin:12px 0 5px;font-size:.9rem}h1,h2,h3,p{margin-top:0}h1{font-size:1.9rem;margin-bottom:0}h2{font-size:1.25rem;margin-bottom:14px}h3{font-size:1.1rem;margin-bottom:8px}p{overflow-wrap:anywhere}small,.muted{color:var(--muted);font-size:.875rem}.portal{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:8px;padding:10px;background:#fff;border-bottom:1px solid var(--border)}.portal button{background:#eef3fa;color:#4d6078;min-width:130px}.portal button.active{background:var(--blue);color:white}#app{max-width:460px;margin:20px auto 0;padding-bottom:90px;background:#f5f7fb;min-height:calc(100dvh - 84px);border-radius:28px 28px 0 0;overflow:clip}#app.desktop{max-width:1400px;border-radius:20px}.hero{padding:24px;color:white;background:linear-gradient(120deg,#1574ff,#4495ff);border-radius:28px 28px 0 0}.hero p{font-size:.9rem;margin:0 0 4px}.content{padding:18px}.row{display:flex;gap:10px;align-items:center}.row>*{min-width:0}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}.stack>*+*{margin-top:14px}.card{background:white;border:1px solid var(--border);border-radius:18px;padding:18px;margin-bottom:14px;box-shadow:0 6px 20px #142d4a05}.card img{width:100%;max-height:320px;object-fit:cover;border-radius:12px}.card .thumb{width:76px;height:76px;flex-shrink:0}.headline{min-height:200px;background:linear-gradient(135deg,#dcecff,#f8fbff);display:flex;flex-direction:column;justify-content:flex-end}.headline h2{margin:14px 0 0}.shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 8px;margin:20px 0}.shortcut{background:none;color:inherit;padding:0;border-radius:8px;font-size:.875rem}.shortcut span{display:flex;width:44px;height:44px;border-radius:50%;background:#3e91ff;margin:0 auto 6px;align-items:center;justify-content:center;color:#fff;font-size:1.3rem}.shortcut:nth-child(2) span{background:#ffa846}.shortcut:nth-child(3) span{background:#8b70ee}.shortcut:nth-child(4) span{background:#29b4d3}.shortcut:nth-child(5) span{background:#34bd94}.shortcut:nth-child(6) span{background:#f66d7e}.strip{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x proximity;touch-action:pan-x pan-y;margin-bottom:20px}.strip .card{min-width:165px;max-width:165px;scroll-snap-align:start;padding:10px}.strip img{height:180px}.tabs{display:flex;overflow-x:auto;gap:8px;padding:12px 0;white-space:nowrap;overscroll-behavior-x:contain}.tabs button{background:white;color:#24374e;border-color:var(--border);flex-shrink:0}.tabs button.active{background:#172436;color:white}.bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(460px,100%);display:grid;grid-template-columns:repeat(4,1fr);padding:8px 0 calc(8px + env(safe-area-inset-bottom));background:white;border-top:1px solid var(--border);z-index:15}.bottom button{background:none;color:#73849b;padding:6px;font-size:.875rem;border-radius:0}.bottom .active{color:var(--blue)}.bottom b{display:block;font-size:1.1rem;font-weight:400}.tag{display:inline-block;border-radius:20px;padding:2px 9px;background:#eaf3ff;color:#1976ff;font-size:.8rem}.tag.warn{background:#fff1db;color:#9f5e0e}.empty{text-align:center;padding:40px 12px;color:var(--muted)}.error{color:#bb2437}.toolbar{display:flex;align-items:center;gap:10px;justify-content:space-between;margin:16px 0}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat strong{display:block;font-size:1.8rem}.admin-nav{display:flex;gap:6px;overflow-x:auto;padding:12px 18px;background:white;border-bottom:1px solid var(--border)}.admin-nav button{white-space:nowrap;background:#f1f5fb;color:#344c69}.admin-nav button.active{color:white;background:var(--blue)}.desktop .admin-layout{display:grid;grid-template-columns:190px 1fr}.desktop .admin-nav{flex-direction:column;overflow:visible;align-items:stretch;border-right:1px solid var(--border);border-bottom:0}.desktop .stats{grid-template-columns:repeat(3,1fr)}.table-wrap{overflow:auto;width:100%;background:white;border:1px solid var(--border);border-radius:14px}table{width:100%;border-collapse:collapse;font-size:.875rem;white-space:nowrap}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #edf1f6}th{color:#617894;background:#f7f9fc;font-weight:500}td.text-cell{white-space:normal;min-width:160px;max-width:300px}td button{font-size:.8rem;padding:5px 9px;margin:2px}.record{border-bottom:1px solid var(--border);padding:16px 0}.record:last-child{border:0}.record p{margin:4px 0}dialog{border:1px solid var(--border);border-radius:18px;max-width:640px;width:calc(100% - 24px);max-height:90dvh;padding:0;overflow:auto}dialog::backdrop{background:#10233b80}dialog form{padding:20px}dialog header{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-20px;background:#fff;z-index:1;padding:5px 0}dialog header button{background:none;color:#586a82;font-size:1.5rem;padding:0 8px}dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}#toast{position:fixed;z-index:100;left:50%;bottom:100px;transform:translateX(-50%);background:#172436;color:#fff;border-radius:12px;padding:12px 20px;max-width:90vw}.question{padding:14px;border:1px solid var(--border);border-radius:12px;margin:12px 0}.question .row label{margin:0}.photos{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.photos img{width:100%;border-radius:12px}.directory{display:grid;grid-template-columns:90px 1fr;gap:12px}.levels{display:flex;flex-direction:column;gap:5px}.levels button{font-size:.8rem;padding:8px 3px}.pre{white-space:pre-wrap;word-break:break-word}.wide-actions{display:flex;gap:8px;flex-wrap:wrap}.loading{text-align:center;padding:50px}.back{margin-bottom:15px}.legal{max-height:260px;overflow:auto;white-space:pre-wrap;font-size:.875rem}.picture-preview{max-height:180px;max-width:100%;border-radius:10px;margin:8px 0}.rank{font-size:1.25rem;color:var(--blue);width:38px;flex-shrink:0}.hidden{display:none!important}@media(max-width:600px){#app,#app.desktop{margin:0;max-width:none;min-height:calc(100dvh - 64px);border-radius:0}.hero{border-radius:0;padding:20px}.content{padding:15px}.desktop .admin-layout{display:block}.desktop .admin-nav{flex-direction:row;overflow-x:auto}.desktop .stats{grid-template-columns:repeat(2,1fr)}.bottom{width:100%}.portal{padding:8px}.portal button{flex:1;font-size:.9rem;padding:9px}dialog form{padding:16px}.hero h1{font-size:1.7rem}.table-wrap{overscroll-behavior-x:contain}.row.search{gap:6px}.row.search button{padding:10px}.strip .card{min-width:155px;max-width:155px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}@media(min-width:1000px){.desktop .content{padding:24px}.desktop .hero{border-radius:20px 20px 0 0}}
:root .search input{flex:1;width:0}.search button{flex-shrink:0;white-space:nowrap}
.checkout-total{padding:14px;border-radius:12px;background:#edf5ff;color:#1261bd;font-weight:600}#app:not(.desktop) .mall-table .table-wrap{overflow:visible}#app:not(.desktop) .mall-table table,#app:not(.desktop) .mall-table tbody{display:block;min-width:0;width:100%}#app:not(.desktop) .mall-table thead{display:none}#app:not(.desktop) .mall-table tr{display:block;padding:14px;margin-bottom:14px;background:white;border:1px solid var(--border);border-radius:16px}#app:not(.desktop) .mall-table td{display:block;border:0;min-width:0;max-width:none;padding:6px 0;overflow-wrap:anywhere}#app:not(.desktop) .mall-table td::before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.mall-table td button{margin:3px}.mall-table small{white-space:nowrap}
@media(max-width:600px){.mall-table .table-wrap{overflow:visible}.mall-table table,.mall-table tbody{display:block;min-width:0;width:100%}.mall-table thead{display:none}.mall-table tr{display:block;padding:14px;margin-bottom:14px;background:white;border:1px solid var(--border);border-radius:16px}.mall-table td{display:block;border:0;min-width:0;max-width:none;padding:6px 0;overflow-wrap:anywhere}.mall-table td::before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;margin-bottom:3px}}
.article-dialog header{top:0!important;padding:12px 0!important;min-height:48px}.article-dialog header h2{margin-bottom:0}
.article-dialog{max-width:1080px}.article-dialog form{padding:24px}.article-dialog footer{position:sticky;bottom:-24px;background:white;padding:16px 0;z-index:3;flex-wrap:wrap;border-top:1px solid var(--border)}.article-dialog header{z-index:4}.article-composer{margin:22px 0;border-top:1px solid var(--border);padding-top:20px}.article-composer h3{margin:0}.article-composer>.row{margin-bottom:12px}.article-composer .row button{padding:7px 12px;font-size:.875rem}.article-composer .ql-toolbar{position:sticky;top:45px;background:#f7f9fc;z-index:2;border-radius:12px 12px 0 0}.article-composer .ql-container{border-radius:0 0 12px 12px;font-family:inherit;font-size:16px;background:white}.article-composer .ql-editor{min-height:360px;line-height:1.9;overflow:visible}.article-composer .ql-editor img{max-width:100%;height:auto}.article-composer .ql-snow .ql-picker{color:#172436}.article-composer .ql-toolbar button{border-radius:3px}.article-composer .ql-snow .ql-tooltip{z-index:5}.article-composer .ql-snow .ql-tooltip input{width:170px}.article-composer .ql-snow .ql-tooltip::before{content:'链接：'}.article-composer .ql-snow .ql-tooltip a.ql-action::after{content:'保存'}.article-composer .ql-snow .ql-tooltip a.ql-remove::before{content:'移除'}.article-preview{width:100%;max-width:390px;margin:24px auto;padding:24px 18px;background:#fff;border:1px solid var(--border);box-shadow:0 8px 30px #1b4a7d14;border-radius:18px}.article-preview h1{font-size:24px;line-height:1.4;margin-bottom:12px}.rich-body{line-height:1.9;overflow-wrap:anywhere;font-size:16px}.rich-body p{margin:0 0 1em;white-space:pre-wrap}.rich-body h1{font-size:1.7em}.rich-body h2{font-size:1.4em}.rich-body h3{font-size:1.15em}.rich-body h1,.rich-body h2,.rich-body h3{margin:1em 0 .6em;line-height:1.5}.rich-body blockquote{margin:1em 0;padding:8px 16px;border-left:4px solid #1976ff;background:#f2f6fc;color:#52647a}.rich-body img,.article-preview img,#dialogBody>img{max-width:100%;height:auto;border-radius:6px}.rich-body img{display:block;margin:12px auto;cursor:zoom-in}.rich-body ul,.rich-body ol{padding-left:24px}.rich-body li{margin-bottom:6px}.article-dialog [data-preview] img{max-width:180px;max-height:120px;object-fit:cover}.article-composer .ql-snow .ql-picker.ql-header .ql-picker-label::before,.article-composer .ql-snow .ql-picker.ql-header .ql-picker-item::before{content:'正文'}.article-composer .ql-snow .ql-picker.ql-header [data-value='1']::before{content:'一级标题'}.article-composer .ql-snow .ql-picker.ql-header [data-value='2']::before{content:'二级标题'}.article-composer .ql-snow .ql-picker.ql-header [data-value='3']::before{content:'三级标题'}@media(max-width:600px){.article-dialog{width:100%;max-height:100dvh;margin:0;border-radius:0;height:100dvh}.article-dialog form{padding:15px}.article-dialog footer{bottom:-15px;gap:6px}.article-dialog footer button{padding:9px 10px;font-size:14px}.article-composer .ql-editor{min-height:300px;padding:14px}.article-composer .ql-toolbar{top:45px}.article-dialog .ql-toolbar.ql-snow .ql-formats{margin-right:6px}.article-dialog .ql-snow .ql-tooltip{left:0!important;max-width:100%}}
.event-management .toolbar{flex-wrap:wrap;justify-content:flex-start}.event-management .stat{min-width:0}.event-management .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.event-management td{white-space:normal}.event-management h3{overflow-wrap:anywhere}
.survey-management .toolbar{flex-wrap:wrap;justify-content:flex-start}.survey-management td{white-space:normal}.survey-management progress{display:block;width:100%;height:12px;accent-color:var(--blue)}.survey-management .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.survey-preview{padding:16px;border:1px solid var(--border);border-radius:16px;background:white;margin-top:16px}.survey-placeholder{padding:12px;background:#f5f7fb;border:1px solid var(--border);border-radius:8px;color:var(--muted)}[data-survey-q] .toolbar{flex-wrap:wrap;justify-content:flex-start}[data-survey-q] .toolbar button{padding:5px 10px;font-size:13px}#dialogBody details{border:1px solid var(--border);border-radius:10px;padding:12px;margin:14px 0}#dialogBody summary{cursor:pointer;font-weight:600}

/* Personal profiles */
.strip .member-card{min-width:210px;max-width:210px;padding:18px;display:flex;flex-direction:column;text-align:center;align-items:center;background:linear-gradient(180deg,#eaf2fc 0,#f4f8fd 76px,#fff 76px)}
.member-card .member-portrait,.member-portrait{width:88px;height:104px;min-width:88px;max-height:none;object-fit:cover;object-position:center 25%;border-radius:14px;border:4px solid white;box-shadow:0 4px 14px #12305012}
.member-monogram{display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#c8dcf2,#e9f0f9);color:#44658e;font-size:32px;font-weight:600}
.member-card-info{min-width:0;flex:1;width:100%;display:flex;flex-direction:column;align-items:center}.member-card h3{font-size:19px;margin:14px 0 4px;overflow-wrap:anywhere}.member-job{font-weight:600;color:#2d507b;margin:0 0 5px}.member-company{font-size:13px;color:#65748a;margin:0 0 10px;overflow-wrap:anywhere}.member-industry{font-size:12px;color:#45678c;background:#eef4fa;padding:3px 9px;border-radius:6px}.member-headline{font-size:13px;color:#69768a;margin:12px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.member-card .link{margin-top:auto;padding-top:12px;font-size:14px}
.content>.member-card{display:flex;gap:18px;align-items:flex-start}.content>.member-card .member-card-info{align-items:flex-start}.content>.member-card h3{margin-top:0}
.member-profile-top{display:flex;gap:22px;align-items:center;padding:20px 0}.member-profile-top h2{font-size:26px;margin:4px 0}.member-profile-top p{margin-bottom:5px}.member-profile-top .member-portrait{width:108px;height:132px;min-width:108px}.member-eyebrow{color:#6e85a1;font-size:12px;letter-spacing:3px}.member-quote{padding:15px 18px;background:#eff5fc;border-radius:12px;color:#35597f}.member-facts{padding:4px 0 20px;border-bottom:1px solid var(--border);margin-bottom:24px}.member-facts>div{display:flex;gap:20px;margin:10px 0}.member-facts dt{color:#718096;min-width:65px;font-size:14px}.member-facts dd{margin:0;overflow-wrap:anywhere}.member-profile section h3{border-left:3px solid #4684c1;padding-left:10px}.member-profile section p{font-size:15px;line-height:1.9}.member-admin-card .member-portrait{width:54px;height:66px;min-width:54px;border-width:2px;font-size:24px}.member-admin-card h3{margin:0}.member-admin-card p{margin:3px 0;font-size:14px}.member-admin-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.member-editor h3{margin:24px 0 8px}.member-editor [data-preview] img{width:88px;height:104px;object-fit:cover;border-radius:12px}.member-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media(max-width:480px){.member-form-grid{grid-template-columns:1fr}.member-profile-top{gap:16px}.member-profile-top .member-portrait{width:88px;min-width:88px;height:112px}.member-admin-card .row{flex-wrap:wrap}}

/* Compact homepage portrait cards: full-width photo above member details. */
.strip .member-card{min-width:165px;max-width:165px;padding:0;overflow:hidden;border-radius:14px;background:#fff;margin-bottom:4px;align-items:stretch}
.strip .member-card .member-portrait{display:block;width:100%;min-width:0;height:150px;max-height:none;object-fit:cover;object-position:center 25%;border:0;border-radius:0;box-shadow:none;margin:0}
.strip .member-card .member-monogram{display:flex;align-items:center;justify-content:center}
.strip .member-card .member-card-info{padding:10px 12px 8px;align-items:flex-start;text-align:left}
.strip .member-card h3{font-size:16px;line-height:1.4;margin:0 0 4px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.strip .member-card .member-job{font-size:12px;line-height:1.5;font-weight:500;margin:0 0 3px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.strip .member-card .member-company{font-size:12px;line-height:1.5;margin:0;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.strip .member-card .member-industry,.strip .member-card .member-headline{display:none}
.strip .member-card .link{font-size:12px;line-height:1.5;margin:6px 0 0;padding:2px 0}

.checkin-scanner video{width:100%;max-height:360px;object-fit:cover;border-radius:14px;background:#172436}.checkin-scanner [role=status]{margin:16px 0;color:#526780}
