:root{--ink:#202b34;--muted:#697780;--green:#205e50;--border:#dce4df;--page:#f5f7f4;--card:#fff;--soft:#edf3ef}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c39138;outline-offset:3px}.site-header{background:#fff;border-bottom:1px solid var(--border)}.header-inner{max-width:1136px;margin:auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:20px;font-weight:700;line-height:1.25}.brand:hover{text-decoration:none}.brand small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px;letter-spacing:1px}.brand-mark{background:var(--green);color:white;border-radius:9px;font-size:23px;padding:7px 10px}.header-inner nav{display:flex;align-items:center;gap:20px;font-size:13px}.account{color:var(--muted)}.inline{display:inline}.text-button{border:0;background:none;padding:0;color:var(--muted)}main{max-width:1080px;margin:0 auto;padding:35px 28px 28px;min-height:75vh}.intro{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:24px}.eyebrow{margin:0 0 5px;color:var(--green);font-size:12px;letter-spacing:2px}.intro h1{margin:0;font-size:28px;letter-spacing:1px}.intro .muted{margin:9px 0 0}.muted{color:var(--muted);font-size:13px}.update-note{margin:0;text-align:right;font-size:12px;color:var(--muted)}.update-note strong{font-weight:500;color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:10px;background:var(--card);margin-bottom:22px}.stats>div{padding:16px 22px;border-right:1px solid var(--border)}.stats>div:last-child{border:0}.stats strong{display:block;font-size:27px;line-height:1.4;font-weight:600}.stats small{font-size:16px;font-weight:400;color:var(--muted)}.stats span{font-size:12px;color:var(--muted)}.filter-panel{padding:20px;background:var(--soft);border:1px solid var(--border);border-radius:10px}.search-row{display:flex;gap:10px}.search-row input{flex:1;min-width:0}.filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:14px}.filter-row>label{font-size:12px;color:var(--muted)}.filter-row select{display:block;min-width:140px;margin-top:4px}.filter-row .checkbox{display:flex;gap:6px;align-items:center;padding-bottom:10px}.checkbox input{width:16px;height:16px;accent-color:var(--green)}input[type=search],input[type=text],input[type=password],select{border:1px solid #ccd6ce;background:#fff;border-radius:5px;padding:9px 12px;color:var(--ink)}.primary,.button{display:inline-block;border:1px solid transparent;border-radius:5px;padding:9px 21px;font-weight:500;line-height:1.6;text-align:center}.primary{background:var(--green);color:#fff}.primary:hover{background:#164b3f;text-decoration:none}.secondary{background:#fff;border-color:#bccdc2;color:var(--green)}.clear-link{font-size:13px;padding:10px 3px}.results-header{margin:28px 0 13px;display:flex;align-items:center;justify-content:space-between}.results-header h2{font-size:17px;margin:0}.results-header h2 span{font-size:12px;font-weight:400;color:var(--muted);margin-left:12px}.job-card{background:var(--card);border:1px solid var(--border);border-radius:9px;padding:22px 24px;margin:0 0 14px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.badges{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.badge{font-size:11px;padding:2px 8px;border-radius:4px;line-height:1.6;background:#f0f1f1;color:#607079}.category{background:#ecf3ef;color:#315f4c}.status-open,.status-ongoing{background:#eef5e7;color:#507135}.status-expired{background:#f1efec;color:#8d8070}.status-unknown{background:#fbf1e0;color:#936c28}.official{font-size:11px;color:var(--muted)}.favorite{background:none;border:0;font-size:12px;color:var(--muted);white-space:nowrap;padding:3px 0 3px 10px}.favorite.selected{color:#9a7524}.job-card h3{font-size:18px;line-height:1.55;font-weight:600;margin:12px 0 9px;overflow-wrap:anywhere}.job-card h3 a{color:var(--ink)}.job-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;color:var(--muted);font-size:12px}.summary{font-size:14px;margin:14px 0 9px;overflow-wrap:anywhere;white-space:pre-line}.match-reasons{display:flex;flex-wrap:wrap;gap:6px 15px;list-style:none;padding:0;margin:10px 0;font-size:12px;color:#5f786c}.match-reasons li:before{content:"· ";font-weight:bold}.card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;border-top:1px solid #edf0ec;margin-top:16px;padding-top:12px}.source-note{font-size:11px;color:var(--muted);display:flex;flex-wrap:wrap;gap:3px 14px}.external-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px 15px;font-size:12px;min-width:120px;max-width:60%;overflow-wrap:anywhere}.original-link{font-weight:600}.empty{text-align:center;background:#fff;border:1px dashed #c7d4c9;border-radius:9px;padding:45px 20px;color:var(--muted)}.empty h3{color:var(--ink);font-size:17px}.pagination{display:flex;justify-content:center;gap:24px;margin:25px 0;font-size:13px}.source-health{margin-top:30px;border-top:1px solid var(--border);padding-top:20px}.source-health summary{font-size:14px;cursor:pointer}.source-health summary span{font-size:12px;color:var(--muted);margin-left:10px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th,td{padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-weight:500}.source-status{color:var(--muted)}.source-ok{color:#42745b}.source-error,.source-partial{color:#a66829}.notice{padding:10px 14px;background:#fff4df;border-left:3px solid #c99b4a;font-size:12px;margin:0 0 18px;color:#7b602d}.site-footer{max-width:1080px;margin:0 auto;padding:12px 28px 28px;font-size:11px;color:var(--muted)}.site-footer span{float:right}.auth-card{max-width:420px;background:#fff;border:1px solid var(--border);border-radius:10px;margin:35px auto;padding:32px}.auth-card h1{font-size:24px;margin:0 0 12px}.auth-card label{display:block;margin:18px 0 5px;font-size:13px}.auth-card input{display:block;width:100%}.full{width:100%;margin-top:24px}.errorlist{list-style:none;padding:0;font-size:12px;color:#a73728;margin:8px 0}.messages{border-left:3px solid var(--green);background:#e8f1e9;padding:8px 15px;margin-bottom:20px;font-size:13px}.messages p{margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:700px){.header-inner{padding:15px 18px;align-items:flex-start;flex-direction:column;gap:14px}.header-inner nav{width:100%;gap:16px;font-size:12px;flex-wrap:wrap}main{padding:24px 16px}.intro{align-items:flex-start}.intro h1{font-size:24px}.intro .muted{font-size:12px}.update-note{font-size:10px;min-width:100px}.stats>div{padding:12px}.stats strong{font-size:24px}.stats span{font-size:11px}.filter-panel{padding:15px}.filter-row{gap:10px}.filter-row>label:not(.checkbox){flex:1;min-width:120px}.filter-row select{width:100%;min-width:0}.filter-row .checkbox{padding-bottom:8px}.job-card{padding:17px 16px}.job-card h3{font-size:17px}.job-meta{gap:3px 13px}.card-footer{align-items:flex-start;flex-direction:column;gap:10px}.external-links{max-width:100%;justify-content:flex-start}.source-note{font-size:10px}.site-footer{padding:10px 16px 24px}.site-footer span{float:none;display:block;margin-top:5px}.auth-card{padding:25px;margin:20px auto}.official{font-size:10px}.badges{gap:5px}.badge{font-size:10px}.results-header>.muted{font-size:11px}}@media(max-width:370px){.intro{flex-direction:column;gap:10px}.update-note{text-align:left}.update-note br{display:none}.update-note strong{margin-left:8px}.favorite{font-size:11px}.stats>div{padding:10px}.stats span{font-size:10px}}

.closing-panel{margin:0 0 22px;padding:16px 20px;background:#fffdf8;border:1px solid #e6ddc6;border-radius:9px}.closing-panel h2{font-size:14px;margin:0 0 9px}.closing-panel h2 small{font-size:11px;font-weight:400;color:var(--muted);margin-left:9px}.closing-panel ul{list-style:none;padding:0;margin:0}.closing-panel li{display:flex;justify-content:space-between;gap:18px;font-size:12px;padding:5px 0}.closing-panel li a{color:var(--ink);overflow-wrap:anywhere}.closing-panel time{color:#947037;white-space:nowrap;flex-shrink:0}@media(max-width:700px){.closing-panel{padding:13px 15px}.closing-panel li{gap:10px}.closing-panel time{font-size:11px}}
