:root{font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;color:#25364b;background:#f7f9fc;font-size:15px;line-height:1.65}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,select,input:not([type=checkbox]),.file-button{min-height:44px;border:1px solid #cfd9e6;border-radius:8px;background:white;padding:8px 12px}button,.file-button{cursor:pointer}button:hover{background:#edf3fa}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #338394;outline-offset:3px}button.primary{background:#216f68;color:white;border-color:#216f68}label{display:flex;align-items:center;gap:8px}input[type=checkbox]{width:18px;height:18px;accent-color:#216f68}textarea{width:100%;border:1px solid #cfd9e6;border-radius:8px;padding:10px;resize:vertical}a{color:#267587}header{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:white;border-bottom:1px solid #dde4ed}header>div{display:flex;gap:10px}main{max-width:1440px;margin:auto;padding:0 28px 35px}h1{font-size:24px}h2{font-size:17px;font-weight:600;margin:0 0 16px}h3{font-size:17px}small{font-size:15px;color:#697a8e}.tabs{display:flex;gap:22px;margin-bottom:12px;border-bottom:1px solid #dce4ed}.tabs button{background:none;border:0;border-radius:0;padding:17px 3px;font-size:17px}.tabs button.active{border-bottom:2px solid #216f68;color:#216f68}#status{font-size:15px;color:#597386;min-height:25px;margin:8px 0 12px}.controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.controls label{white-space:nowrap}.search{flex:1;min-width:230px}.search input{width:100%;min-width:140px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric{position:relative;min-height:108px;border:1px solid;border-radius:12px;padding:12px 16px}.metric strong{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px}.metric-0{background:#edf4ff;border-color:#bed3ef}.metric-1{background:#edf7f1;border-color:#bddccb}.metric-2{background:#fff4e9;border-color:#eed1b4}.metric-3{background:#f5f0fc;border-color:#d5c9e9}.chart{background:white;border:1px solid #e1e7ef;border-radius:14px;padding:20px;margin-bottom:24px}.bars{display:flex;gap:20px;justify-content:space-around;overflow:auto}.bar-column{flex:1;min-width:52px;text-align:center}.bar-zone{height:185px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;border-bottom:1px solid #edf0f5}.bar{width:70%;max-width:80px;border-radius:6px 6px 0 0}.bar-column>span{display:block;margin-top:8px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-weight:500;color:#697a8e;white-space:nowrap}th,td{padding:12px;border-bottom:1px solid #e1e7ef;vertical-align:middle}td a{white-space:nowrap}.role{min-width:240px;max-width:400px}.timeline{min-width:155px;max-width:250px;white-space:pre-wrap}.job-row{cursor:pointer}.job-row:hover{background:#edf3fa}.company-button{border:0;padding:0;background:none;font-weight:600;min-width:100px;text-align:left}.stage{display:inline-block;border:1px solid;padding:2px 8px;border-radius:6px;white-space:nowrap;font-size:15px}.company-panel{background:white;padding:16px;max-width:980px}.company-job{padding:10px 0;border-bottom:1px solid #e1e7ef}.company-job p,.note p{white-space:pre-wrap;margin:6px 0}.company-job button{float:right}.note{padding:10px 14px;border-left:3px solid #6596a7;margin:14px 0}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:18px 0}.kb-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px}.categories{display:flex;flex-direction:column;gap:6px;max-height:75vh;overflow:auto;position:sticky;top:16px;align-self:start}.categories button{border:0;text-align:left;background:none}.categories .active{background:#e4f1ec;color:#216f68;font-weight:600}.kb-card{border:1px solid #dce4ed;border-radius:10px;background:white;margin:0 0 12px}.kb-card summary{padding:15px 18px;cursor:pointer;font-weight:600;font-size:16px}.kb-card summary small{display:block;font-weight:400}.priority{background:#edf3fa;color:#416383;border-radius:5px;margin-right:10px;padding:2px 8px;font-size:15px}.answer{padding:0 20px 18px;line-height:1.85;overflow-wrap:anywhere}.answer table{display:block;overflow:auto}.answer pre{overflow:auto;background:#f4f6f9;padding:12px}.pre{white-space:pre-wrap}.card-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:0 16px 12px}.card-actions button{min-height:34px;padding:3px 10px}footer{display:flex;justify-content:flex-end;margin-top:20px}.backup{margin:15px 0 0 auto;max-width:720px;background:white;border:1px solid #dce4ed;border-radius:12px;padding:18px}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.empty{text-align:center;padding:35px;color:#697a8e}.login{max-width:460px;margin:12vh auto;background:white;padding:32px;border:1px solid #dce4ed;border-radius:16px}.brand{font-weight:600;color:#216f68}.login form label,#edit-form label{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:14px 0}.login form button{width:100%;margin-top:12px}dialog{width:min(680px,94vw);max-height:90vh;overflow:auto;border:1px solid #cfd9e6;border-radius:14px;padding:24px}dialog::backdrop{background:#20334466}#edit-error,#login-status{color:#ae3a3a;white-space:pre-wrap}@media(max-width:800px){main{padding:0 16px 25px}header{padding:12px 16px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.controls .search{flex-basis:100%}.controls label select{min-width:0;max-width:100%}.section-title .controls{width:100%}.section-title .controls label{width:100%;white-space:normal}.kb-grid{display:block}.categories{position:static;flex-direction:row;margin-bottom:16px;max-height:none}.categories button{white-space:nowrap}.login{margin:8vh 16px;padding:24px}.table-scroll table{min-width:900px}.company-panel{max-width:calc(100vw - 70px)}.bars{gap:12px}.bar-column{min-width:48px}}
.progress-button{border:0;background:transparent;padding:4px;min-height:44px}.progress-button:hover{background:#e4edf6}.danger{color:#ad3434}.trash{margin:20px 0;padding:14px;border:1px solid #dce4ed;border-radius:10px}.trash p{display:flex;align-items:center;justify-content:space-between;gap:12px}.company-job .progress-button{float:none}
@media(max-width:600px){
:root{font-size:16px}main{padding:0 12px 24px}header{padding:10px 12px;gap:8px}header>div{gap:6px}header button{padding:7px 9px}input,select,textarea{font-size:16px;max-width:100%;min-width:0}.controls{gap:10px}.controls>label{flex:1 1 130px;white-space:normal;min-width:0}.controls .search{flex:1 1 100%}.controls>label:not(:has(input[type=checkbox])){flex-direction:column;align-items:stretch}.controls>button{flex:1 1 auto}.metric{min-height:105px;padding:8px 12px}.metric strong{top:62%}.section-title .controls label{width:auto;flex:1}.table-scroll{overflow:visible}.table-scroll table{min-width:0;display:block}.table-scroll thead{display:none}.table-scroll tbody{display:block}.table-scroll tr{display:block}.table-scroll .job-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:white;border:1px solid #dce4ed;border-radius:12px;padding:12px;margin:12px 0}.table-scroll td{display:block;border:0;padding:0;min-width:0;max-width:none;overflow-wrap:anywhere}.job-row td:first-child,.job-row .role,.job-row .timeline,.job-row td:last-child{grid-column:1/-1}.job-row td[data-label]::before{content:attr(data-label);display:block;color:#697a8e;font-size:15px}.job-row .role::before{display:none}.job-row .company-button{width:100%;text-align:left}.company-panel{max-width:none;border:1px solid #dce4ed;border-radius:12px;padding:12px}.pagination{justify-content:center;flex-wrap:wrap}.kb-grid{min-width:0}.categories{max-width:100%;overflow-x:auto}.kb-card summary{padding:12px}.answer{padding:0 12px 12px}.card-actions{flex-wrap:wrap;padding:0 12px 12px;gap:10px}.card-actions button{min-height:44px}.card-actions label{min-height:44px}.chart{padding:14px}.bars{justify-content:flex-start}.bar-column{min-width:52px}dialog{width:calc(100vw - 20px);max-height:90dvh;padding:16px}.login{margin:6vh 12px;padding:22px}h1{font-size:23px}.backup{padding:12px}.file-button{max-width:100%}
}
