:root{
  --pri:#4f6ef7; --pri2:#3b54d4; --bg:#f0f2f5; --card:#fff;
  --txt:#1a1a2e; --sub:#6b7280; --bor:#dde2ea;
  --ok:#10b981; --warn:#f59e0b; --err:#ef4444;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--txt);line-height:1.55}

.container{max-width:960px;margin:0 auto;padding:0 18px}

/* Header */
.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:13px 0;position:sticky;top:0;z-index:99}
.header .container{display:flex;justify-content:space-between;align-items:center}
.logo{font-size:21px;font-weight:800;letter-spacing:-.5px}
.nav a{color:rgba(255,255,255,.8);text-decoration:none;margin-left:16px;font-size:14px;font-weight:500;padding:4px 0;border-bottom:2px solid transparent;transition:.2s}
.nav a.active{color:#fff;font-weight:700;border-bottom-color:#fff}
.nav a:hover:not(.active){color:#fff}

.main{padding:22px 0 40px}

/* Tab Content */
.tab-content{display:none}
.tab-content.active{display:block}

/* Stats Bar */
.stats-bar{background:linear-gradient(135deg,#eef2ff,#f0ecff);border-radius:10px;padding:14px 20px;display:flex;gap:16px;font-size:14px;color:var(--sub);margin-bottom:16px;flex-wrap:wrap;align-items:center}
.stats-bar strong{color:var(--pri);font-weight:700}

/* Filter */
.filter-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.fi-input{padding:8px 13px;border:1.5px solid var(--bor);border-radius:8px;font-size:14px;min-width:160px;transition:border-color .2s}
.fi-select{padding:8px 11px;border:1.5px solid var(--bor);border-radius:8px;font-size:14px;min-width:110px;background:#fff}
.fi-input:focus,.fi-select:focus{outline:none;border-color:var(--pri)}
.fi-btn{padding:8px 20px;background:var(--pri);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}
.fi-btn:hover{opacity:.88}

/* List Section */
.main-section{background:var(--card);border-radius:14px;padding:20px;margin-bottom:24px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.data-list{min-height:180px}

/* Salary Card */
.salary-card{
  display:grid;grid-template-columns:auto 1fr auto auto auto auto auto;
  gap:12px;align-items:center;
  padding:14px 18px;background:#fafbff;border-radius:10px;margin-bottom:10px;
  border-left:4px solid var(--pri);transition:transform .15s
}
.salary-card:hover{transform:translateX(3px);background:#f5f7ff}

.sc-total{font-size:20px;font-weight:800;color:var(--pri);white-space:nowrap}
.sc-info{display:flex;flex-direction:column;gap:2px}
.sc-company{font-weight:700;font-size:15px}
.sc-detail{font-size:13px;color:var(--sub)}
.sc-tag{display:inline-block;padding:2px 9px;border-radius:5px;font-size:12px;font-weight:600;background:#f0f4ff;color:var(--pri);white-space:nowrap}
.sc-offer{font-size:12px;padding:3px 10px;border-radius:5px;font-weight:600;white-space:nowrap}
.sc-offer.shezhao{background:#fef3c7;color:#92400e}
.sc-offer.xiaozhao{background:#dbeafe;color:#1e40af}
.sc-offer.zaizhi{background:#d1fae5;color:#065f46}
.sc-time{font-size:12px;color:var(--sub);white-space:nowrap;text-align:right}

.loading,.empty{text-align:center;padding:44px;color:var(--sub)}

.pagination{display:flex;justify-content:center;gap:6px;margin-top:18px;flex-wrap:wrap}
.pag-btn{padding:7px 13px;border:1px solid var(--bor);background:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}
.pag-btn:hover:not(:disabled){border-color:var(--pri);color:var(--pri)}
.pag-btn.on{background:var(--pri);color:#fff;border-color:var(--pri)}
.pag-btn:disabled{opacity:.35;cursor:not-allowed}

/* Post Card (招聘/面经/八卦) */
.post-card{padding:16px 18px;background:#fafbff;border-radius:10px;margin-bottom:10px;border-left:4px solid var(--ok);transition:transform .15s}
.post-card:hover{transform:translateX(3px);background:#f5f7ff}
.post-card.gossip{border-left-color:var(--warn)}
.post-title{font-size:15px;font-weight:700;margin-bottom:6px}
.post-meta{font-size:12px;color:var(--sub);margin-bottom:8px;display:flex;gap:12px;flex-wrap:wrap}
.post-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;background:#ecfdf5;color:#065f46}
.post-tag.interview{background:#dbeafe;color:#1e40af}
.post-tag.gossip-tag{background:#fef3c7;color:#92400e}
.post-excerpt{font-size:13px;color:var(--sub);line-height:1.6}
.post-time{font-size:11px;color:#9ca3af;margin-top:8px;text-align:right}

/* Post List Header */
.post-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.post-list-header h3{font-size:17px;font-weight:700}
.toggle-form-btn{padding:7px 16px;background:var(--ok);color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s}
.toggle-form-btn:hover{opacity:.88}

/* Post Form */
.post-form-wrap{background:#f8fafc;border:1.5px dashed var(--bor);border-radius:12px;padding:18px;margin-bottom:16px}
.post-form .fg-row{grid-template-columns:1fr 1fr}
.post-form textarea{width:100%;padding:9px 12px;border:1.5px solid var(--bor);border-radius:7px;font-size:14px;font-family:inherit;resize:vertical;margin-bottom:12px}
.post-form textarea:focus{outline:none;border-color:var(--pri)}

/* Form Section */
.form-section{background:var(--card);border-radius:14px;padding:20px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.form-toggle{
  font-size:15px;font-weight:700;cursor:pointer;color:var(--pri);user-select:none;
  padding:10px;text-align:center;border-radius:8px;transition:background .2s
}
.form-toggle:hover{background:#f5f7ff}
.form-toggle.open + .form-inner,
.form-inner.open{display:block !important}
.form-inner{display:none;margin-top:16px}
.form-title{font-size:19px;font-weight:700;margin-bottom:6px}
.privacy-note{font-size:13px;color:var(--err);margin-bottom:16px}

/* Fieldset */
.fset{border:1px solid var(--bor);border-radius:10px;padding:16px 18px;margin-bottom:14px}
.fset legend{font-weight:700;font-size:14px;color:var(--pri);padding:0 8px}

.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px}
.fg-row label{font-size:14px;display:flex;flex-direction:column;gap:4px;font-weight:500}
.fg-row label em{color:var(--err);font-style:normal;font-size:12px}
.fg-row input[type="text"],.fg-row input[type="number"],.fg-row select{
  padding:8px 12px;border:1.5px solid var(--bor);border-radius:7px;font-size:14px;transition:border-color .2s
}
.fg-row input:focus,.fg-row select:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px rgba(79,110,247,.12)}
.short-num{width:80px!important}

.block-lbl{display:block;font-size:14px;font-weight:600;margin:10px 0 6px}

/* Calc Row */
.calc-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.calc-row.single{margin-bottom:10px}
.calc-item{display:flex;flex-direction:column;flex:1;min-width:120px}
.calc-item.small{flex:0.6;min-width:80px}
.calc-item label{font-size:13px;color:var(--sub);font-weight:600;margin-bottom:4px}
.calc-in{padding:8px 11px;border:1.5px solid var(--bor);border-radius:7px;font-size:15px;text-align:center;font-weight:600;transition:border-color .2s}
.calc-in:focus{outline:none;border-color:var(--pri)}
.calc-unit{font-size:12px;color:var(--sub);margin-top:3px}
.calc-x,.calc-eq{font-size:20px;font-weight:300;color:var(--sub);padding-top:18px}
.calc-result{font-size:17px;font-weight:700;color:var(--pri);padding:10px 16px;background:var(--bg);border-radius:8px;white-space:nowrap;margin-top:16px}

.total-box{display:flex;justify-content:center;align-items:center;gap:12px;margin:14px 0 8px;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px}
.total-label{font-size:15px;color:rgba(255,255,255,.85)}
.total-val{font-size:28px;font-weight:800;color:#fff}

/* Allowances */
.allowances-section{margin-top:12px}
.allowances-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;font-weight:700;color:var(--sub)}
.allowances-header small{font-weight:400;font-size:12px}
.allowance-row{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding:8px 10px;background:#fafbfc;border-radius:8px;border:1px solid #e8eaed;flex-wrap:wrap}
.allowance-row .allow-name{padding:6px 8px;border:1.5px solid var(--bor);border-radius:6px;font-size:13px;background:#fff;min-width:110px}
.allowance-row .allow-amount{width:80px;padding:6px 8px;border:1.5px solid var(--bor);border-radius:6px;font-size:13px;text-align:center}
.allowance-row .allow-months{padding:6px 8px;border:1.5px solid var(--bor);border-radius:6px;font-size:13px;width:65px}
.allowance-row .allow-subtotal{font-size:13px;font-weight:700;color:var(--pri);min-width:50px;text-align:right}
.allowance-row .allow-remove{width:28px;height:28px;border:none;background:var(--err);color:#fff;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}
.allow-add-btn{padding:6px 16px;border:1.5px dashed var(--pri);background:transparent;color:var(--pri);border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;margin-top:4px}
.allow-add-btn:hover{background:#f0f4ff}
.allowances-total{text-align:right;font-size:14px;font-weight:700;color:var(--pri);margin-top:8px;padding:8px;background:#f0f4ff;border-radius:6px}

/* Toggle Buttons */
.btn-group{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.tog-btn{
  padding:6px 14px;border:1.5px solid var(--bor);background:#fff;border-radius:7px;font-size:13px;
  cursor:pointer;font-weight:600;transition:all .15s;color:var(--sub)
}
.tog-btn:hover{border-color:var(--pri);color:var(--pri)}
.tog-btn.active{background:var(--pri);color:#fff;border-color:var(--pri)}

textarea{width:100%;padding:9px 12px;border:1.5px solid var(--bor);border-radius:7px;font-size:14px;font-family:inherit;resize:vertical}
textarea:focus{outline:none;border-color:var(--pri)}

.submit-area{text-align:center;padding:16px 0 8px}
.submit-btn{display:inline-block;width:100%;max-width:320px;padding:13px;
  background:linear-gradient(135deg,var(--ok),#059669);color:#fff;border:none;
  border-radius:10px;font-size:17px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .15s
}
.submit-btn:hover{opacity:.92;transform:translateY(-1px)}
.form-tip{font-size:12px;color:#9ca3af;text-align:center;margin-top:10px}

/* Toast */
.toast{
  position:fixed;top:60px;left:50%;transform:translateX(-50%);
  padding:12px 24px;background:var(--ok);color:#fff;border-radius:8px;font-weight:700;z-index:999;
  animation:sD .25s ease,fO .25s ease 2.5s forwards
}
.toast.err{background:var(--err)}
@keyframes sD{from{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes fO{to{opacity:0;visibility:hidden}}

/* Infinite Scroll Sentinel */
.sentinel{height:1px;visibility:hidden;margin:0}
.load-more-hint{text-align:center;padding:16px;color:var(--sub);font-size:13px}

.footer{text-align:center;padding:18px;color:var(--sub);font-size:13px;border-top:1px solid var(--bor);margin-top:20px}

@media(max-width:640px){
  .fg-row,.calc-row{grid-template-columns:1fr;flex-direction:column}
  .salary-card{grid-template-columns:1fr auto;gap:8px}
  .sc-time{grid-column:1/-1;text-align:left}
  .stats-bar{font-size:13px;gap:10px}
  .filter-bar{flex-direction:column}
  .fi-input,.fi-select{width:100%}
  .header .container{flex-direction:column;gap:8px}
  .nav a{margin-left:0;margin-right:12px}
  .post-list-header{flex-direction:column;gap:8px;align-items:flex-start}
  .allowance-row{flex-direction:column;align-items:stretch}
  .allowance-row .allow-subtotal{text-align:left}
}
