/* 小草兼职平台 · 移动端 H5 样式（双端通用） */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:#fff7f2;color:#3d2a1e;max-width:430px;margin:0 auto;min-height:100vh}
a{text-decoration:none;color:inherit}
ul{list-style:none}
:root{--primary:#f97316;--primary-dark:#c2410c;--primary-light:#ffe9d9;--secondary:#fb923c;--accent:#16a34a;--dark:#9a3412;--gray:#b0896b;--light-gray:#fdeee3;--blue:#2563eb;--purple:#7c3aed;--red:#dc2626}
.header{background:linear-gradient(135deg,#ea580c,#f97316);color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(234,88,12,.3)}
.header .back{font-size:22px;cursor:pointer;width:32px}
.header h1{font-size:17px;font-weight:600;flex:1;text-align:center}
.header .right{width:32px;text-align:right;font-size:14px}
.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;background:#fff;border-top:1px solid #eee;display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom)}
.tabbar a{flex:1;text-align:center;padding:8px 0;color:#999;font-size:11px}
.tabbar a.active{color:var(--primary)}
.tabbar a .icon{font-size:22px;display:block;margin-bottom:2px}
.card{background:#fff;border-radius:12px;margin:12px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.section-title{font-size:16px;font-weight:700;margin:16px 16px 8px;display:flex;justify-content:space-between;align-items:center}
.section-title span{font-size:12px;color:#999;font-weight:400}
.btn{display:block;width:100%;padding:13px;border:none;border-radius:25px;font-size:15px;font-weight:600;cursor:pointer;text-align:center}
.btn-primary{background:linear-gradient(135deg,#ea580c,#f97316);color:#fff}
.btn-green{background:linear-gradient(135deg,#16a34a,#4ade80);color:#fff}
.btn-outline{background:#fff;border:1px solid var(--primary);color:var(--primary)}
.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}
.badge-hot{background:#fff1f0;color:#dc2626}
.badge-new{background:#eef2ff;color:var(--blue)}
.badge-green{background:#ecfdf5;color:var(--green)}
.badge-gold{background:#fdf6e3;color:#b45309}
.badge-purple{background:#f5f3ff;color:#7c3aed}
.tag{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;background:var(--light-gray);color:#9a5a2e;margin:2px 4px 0 0}
/* 入口页 */
.entry-banner{height:190px;margin:12px;border-radius:16px;background:linear-gradient(135deg,#ea580c,#f97316,#fbbf24);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}
.entry-banner .eb-title{font-size:26px;font-weight:800;letter-spacing:1px}
.entry-banner .eb-sub{font-size:13px;opacity:.92;margin-top:8px}
.entry-banner .eb-stats{display:flex;gap:22px;margin-top:16px;font-size:12px}
.entry-banner .eb-stats b{font-size:18px;display:block}
.entry-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 12px}
.entry-card{border-radius:16px;padding:20px;color:#fff;position:relative;overflow:hidden}
.entry-card .ec-emoji{font-size:38px}
.entry-card .ec-name{font-size:17px;font-weight:800;margin-top:8px}
.entry-card .ec-desc{font-size:11px;opacity:.92;margin-top:4px;line-height:1.6}
.entry-card .ec-btn{display:inline-block;background:rgba(255,255,255,.22);padding:7px 16px;border-radius:16px;font-size:12px;margin-top:12px}
.entry-card.user{background:linear-gradient(135deg,#ea580c,#f97316)}
.entry-card.admin{background:linear-gradient(135deg,#1e3a8a,#2563eb)}
.entry-feat{background:#fff;border-radius:14px;margin:12px;padding:16px}
.entry-feat .ef-title{font-size:14px;font-weight:700;margin-bottom:10px}
.entry-feat .ef-item{display:flex;gap:10px;padding:8px 0;font-size:12px;color:#5a4632;border-bottom:1px solid #fdf1e6}
.entry-feat .ef-item:last-child{border-bottom:none}
.entry-feat .ef-item .ef-ico{font-size:18px}
/* 通用列表 */
.search-bar{background:#fff;margin:12px;border-radius:25px;padding:10px 16px;display:flex;align-items:center;gap:8px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.search-bar .sb-ico{color:var(--primary);font-size:15px}
.search-bar .sb-text{flex:1;color:#c4a58a;font-size:13px}
.filter-tabs{display:flex;gap:8px;padding:0 12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.filter-tab{padding:7px 14px;border:1px solid #f3d9c2;border-radius:18px;font-size:12px;cursor:pointer;background:#fff;white-space:nowrap;flex-shrink:0}
.filter-tab.sel{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark);font-weight:600}
.sort-bar{display:flex;gap:14px;padding:10px 12px;font-size:13px;color:#9a5a2e}
.sort-bar span.on{color:var(--primary);font-weight:700}
.job-card{background:#fff;border-radius:14px;margin:10px 12px;padding:14px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.job-card .jc-head{display:flex;justify-content:space-between;align-items:center}
.job-card .jc-title{font-size:14px;font-weight:700}
.job-card .jc-salary{color:var(--red);font-weight:800;font-size:16px}
.job-card .jc-salary small{font-size:10px;color:#b0896b;font-weight:400}
.job-card .jc-tags{margin-top:6px}
.job-card .jc-meta{font-size:11px;color:#b0896b;margin-top:6px;display:flex;gap:12px}
.job-card .jc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:11px;color:#b0896b}
.job-card .jc-btn{background:var(--primary-light);color:var(--primary-dark);padding:6px 16px;border-radius:16px;font-size:12px;font-weight:600}
/* 详情 */
.detail-hero{background:linear-gradient(135deg,#ea580c,#f97316);color:#fff;padding:18px 16px}
.detail-hero .dh-title{font-size:18px;font-weight:800}
.detail-hero .dh-salary{font-size:24px;font-weight:800;margin-top:6px}
.detail-hero .dh-tags{margin-top:8px}
.detail-hero .dh-meta{font-size:11px;opacity:.9;margin-top:10px;line-height:1.8}
.detail-sec{background:#fff;border-radius:14px;margin:12px;padding:16px}
.detail-sec .ds-title{font-size:14px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.detail-sec .ds-text{font-size:12px;color:#5a4632;line-height:1.9}
.detail-sec .ds-row{display:flex;justify-content:space-between;padding:8px 0;font-size:12px;color:#5a4632;border-bottom:1px solid #fdf1e6}
.detail-sec .ds-row:last-child{border-bottom:none}
.detail-sec .ds-row b{color:#3d2a1e}
.guarantee{display:flex;gap:8px;margin:12px}
.guarantee .gu-item{flex:1;background:#fff;border-radius:12px;padding:12px 4px;text-align:center;font-size:11px;color:#9a5a2e;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.guarantee .gu-item .gu-emoji{font-size:22px;display:block;margin-bottom:4px}
.buy-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;background:#fff;border-top:1px solid #eee;display:flex;align-items:center;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));z-index:100;gap:10px}
.buy-bar .bb-cart{display:flex;align-items:center;gap:6px;font-size:12px;color:#9a5a2e}
.buy-bar .bb-cart .ico{font-size:22px}
.buy-bar .bb-btn{flex:1;border-radius:20px;padding:12px;text-align:center;color:#fff;font-size:14px;font-weight:700}
.buy-bar .bb-btn.apply{background:linear-gradient(135deg,#ea580c,#f97316)}
.buy-bar .bb-btn.chat{background:linear-gradient(135deg,#16a34a,#4ade80)}
/* 报名/钱包 */
.step-flow{display:flex;margin:12px;background:#fff;border-radius:14px;padding:16px}
.step-flow .sf-step{flex:1;text-align:center;position:relative;font-size:10px;color:#b0896b}
.step-flow .sf-step .sf-dot{width:26px;height:26px;border-radius:50%;background:var(--light-gray);display:flex;align-items:center;justify-content:center;font-size:13px;margin:0 auto 5px;position:relative;z-index:1}
.step-flow .sf-step.done .sf-dot{background:var(--green);color:#fff}
.step-flow .sf-step.now .sf-dot{background:var(--primary);color:#fff}
.step-flow .sf-step::before{content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;background:#fdeee3}
.step-flow .sf-step:first-child::before{display:none}
.step-flow .sf-step.done::before{background:var(--green)}
.app-card{background:#fff;border-radius:14px;margin:10px 12px;padding:14px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.app-card .ac-head{display:flex;justify-content:space-between;font-size:13px;font-weight:700}
.app-card .ac-head .st{font-size:11px;font-weight:400}
.app-card .ac-head .st.wait{color:var(--accent)}.app-card .ac-head .st.done{color:var(--green)}.app-card .ac-head .st.ing{color:var(--primary)}
.app-card .ac-meta{font-size:11px;color:#b0896b;margin-top:6px}
.app-card .ac-foot{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}
.app-card .ac-foot i{padding:6px 14px;border:1px solid #f3d9c2;border-radius:15px;font-size:12px;font-style:normal}
.app-card .ac-foot i.main{background:linear-gradient(135deg,#ea580c,#f97316);color:#fff;border-color:transparent}
.wallet-sum{background:linear-gradient(135deg,#ea580c,#f97316);margin:12px;border-radius:14px;color:#fff;padding:18px}
.wallet-sum .ws-label{font-size:12px;opacity:.9}
.wallet-sum .ws-num{font-size:30px;font-weight:800;margin-top:2px}
.wallet-sum .ws-row{display:flex;gap:8px;margin-top:12px}
.wallet-sum .ws-cell{flex:1;background:rgba(255,255,255,.15);border-radius:10px;padding:8px;text-align:center;font-size:11px}
.bill-item{background:#fff;border-radius:12px;margin:8px 12px;padding:12px;display:flex;align-items:center;gap:10px}
.bill-item .bi-emoji{font-size:22px}
.bill-item .bi-body{flex:1}
.bill-item .bi-name{font-size:13px;font-weight:600}
.bill-item .bi-time{font-size:11px;color:#b0896b;margin-top:2px}
.bill-item .bi-amount{font-weight:800}
.bill-item .bi-amount.in{color:var(--green)}
.bill-item .bi-amount.out{color:var(--primary)}
/* 管理端 */
.admin-hero{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;padding:16px 16px 26px}
.admin-hero .ah-date{font-size:12px;opacity:.85}
.admin-hero .ah-name{font-size:18px;font-weight:800;margin-top:2px}
.admin-stat{background:#fff;margin:12px;border-radius:14px;padding:14px;box-shadow:0 1px 4px rgba(0,0,0,.05);margin-top:-16px;display:flex}
.admin-stat .as-item{flex:1;text-align:center}
.admin-stat .as-item b{display:block;font-size:19px;color:#1e3a8a}
.admin-stat .as-item span{font-size:11px;color:#7c8aa8}
.todo-list{background:#fff;border-radius:14px;margin:12px;overflow:hidden}
.todo-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #f5f7fc;font-size:12px}
.todo-item:last-child{border-bottom:none}
.todo-item .ti-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.todo-item .ti-dot.red{background:#dc2626}.todo-item .ti-dot.gold{background:#d97706}.todo-item .ti-dot.blue{background:#2563eb}
.todo-item .ti-body{flex:1;color:#4a5878}
.todo-item .ti-body b{color:#24304a}
.todo-item .ti-num{background:var(--primary-light);color:var(--primary);padding:2px 10px;border-radius:12px;font-size:11px;font-weight:700}
.review-card{background:#fff;border-radius:14px;margin:10px 12px;padding:14px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.review-card .rc-head{display:flex;justify-content:space-between;font-size:13px;font-weight:700}
.review-card .rc-head .st{font-size:11px;font-weight:400}
.review-card .rc-head .st.wait{color:var(--accent)}.review-card .rc-head .st.pass{color:var(--green)}.review-card .rc-head .st.rej{color:var(--red)}
.review-card .rc-meta{font-size:11px;color:#7c8aa8;margin-top:6px;line-height:1.8}
.review-card .rc-ops{display:flex;gap:8px;margin-top:12px}
.review-card .rc-ops i{flex:1;text-align:center;padding:9px;border-radius:16px;font-size:13px;font-style:normal;font-weight:600}
.review-card .rc-ops i.pass{background:linear-gradient(135deg,#16a34a,#4ade80);color:#fff}
.review-card .rc-ops i.reject{background:#fff1f0;color:#dc2626}
.review-card .rc-ops i.view{background:var(--light-gray);color:#9a5a2e}
.sum-panel{background:linear-gradient(135deg,#1e3a8a,#2563eb);margin:12px;border-radius:14px;color:#fff;padding:16px;display:flex}
.sum-panel .sp-item{flex:1;text-align:center}
.sum-panel .sp-item b{display:block;font-size:18px}
.sum-panel .sp-item span{font-size:11px;opacity:.85}
.menu-list{background:#fff;border-radius:12px;margin:12px;overflow:hidden}
.menu-list a{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #fdf1e6;font-size:14px}
.menu-list a:last-child{border-bottom:none}
.menu-list a .ml-l{display:flex;align-items:center;gap:10px}
.menu-list a .ml-l .ico{font-size:20px}
.menu-list a .ml-r{color:#ccc;font-size:12px}
.funnel-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:11px;color:#5a6a92}
.funnel-row .fr-label{width:56px;flex-shrink:0}
.funnel-row .fr-bar{flex:1;height:14px;background:#eef1f8;border-radius:7px;position:relative;overflow:hidden}
.funnel-row .fr-bar i{display:block;height:100%;background:linear-gradient(90deg,#1e3a8a,#2563eb);border-radius:7px}
.funnel-row .fr-val{width:40px;text-align:right;font-weight:700}
.rank-list{background:#fff;border-radius:14px;margin:12px;overflow:hidden}
.rank-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #f5f7fc;font-size:12px}
.rank-item:last-child{border-bottom:none}
.rank-item .rk-no{width:20px;height:20px;border-radius:50%;background:var(--light-gray);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#9a5a2e}
.rank-item:nth-child(1) .rk-no{background:#fde68a;color:#92400e}
.rank-item:nth-child(2) .rk-no{background:#e2e8f0;color:#475569}
.rank-item:nth-child(3) .rk-no{background:#fed7aa;color:#9a3412}
.rank-item .rk-name{flex:1}
.rank-item .rk-val{font-weight:700;color:#1e3a8a}
.empty{text-align:center;color:#c4a58a;font-size:13px;padding:40px 0}
.empty .e-icon{font-size:44px;display:block;margin-bottom:8px}
