:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#263b4b;background:#f5f7fa;font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{border:0;border-radius:7px;background:#167a73;color:white;padding:11px 18px;cursor:pointer;font-weight:600;transition:.15s}button:hover{filter:brightness(.95)}button:disabled{background:#e7ecef;color:#98a5ad;cursor:not-allowed}.secondary{border:1px solid #dce4e9;color:#334a59;background:white}.compact{padding:8px 14px}.text-button{background:transparent;color:#6b7f8b;padding:6px}.danger{color:#b34b40}.full{width:100%}input,textarea{border:1px solid #d9e1e6;border-radius:7px;padding:11px 12px;background:white;outline:none;color:#263b4b;max-width:100%}input:focus,textarea:focus{border-color:#167a73;box-shadow:0 0 0 3px #167a7310}input:disabled{background:#f3f6f7;color:#647884}textarea{min-height:90px;resize:vertical}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-.7px;margin-bottom:10px}h2{font-size:17px;margin-bottom:18px}h3{font-size:17px;line-height:1.6}.muted{color:#7b8b97;line-height:1.8}.small,small{font-size:12px}small{font-weight:400}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#167a73;margin-bottom:12px}.layout{display:flex;min-height:100vh}aside{width:224px;background:#fff;border-right:1px solid #e8edf0;position:fixed;inset:0 auto 0 0;padding:31px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:750;color:#163c43;letter-spacing:1px}.brandmark{display:inline-flex;background:#167a73;color:white;width:34px;height:36px;align-items:center;justify-content:center;border-radius:10px 10px 10px 2px;font:700 23px Georgia}.side-caption{font-size:11px;color:#92a0a9;margin:16px 0 38px 3px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;background:transparent;color:#788992;text-align:left;padding:13px 14px;margin-bottom:7px;font-weight:500}.nav-item span{font-size:20px;width:19px}.nav-item.active{background:#e8f4f1;color:#126e66;font-weight:650}.nav-item b{margin-left:auto;font-size:10px;background:#167a73;color:white;padding:2px 6px;border-radius:5px}.side-bottom{margin-top:auto;color:#93a0a6;font-size:11px;line-height:2}.secure-dot{display:inline-block;width:6px;height:6px;background:#45a392;border-radius:50%;margin-right:7px}.demo-label{display:block;color:#a47b35;font-size:11px}.workspace{margin-left:224px;flex:1;min-width:0}header{height:80px;padding:0 40px;border-bottom:1px solid #e5eaee;display:flex;align-items:center;justify-content:space-between;background:#ffffffc9;color:#89969f;font-size:12px}.identity{display:flex;align-items:center;gap:10px;color:#314958}.identity small{display:block;color:#8c9aa3;margin-top:3px;font-size:10px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:50%;background:#e6efec;color:#24756c}.content{padding:34px 40px 48px;max-width:1536px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.heading .muted{margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:23px}.stats>div{background:white;border:1px solid #e4eaed;border-radius:10px;padding:20px 24px}.stats span{display:block;color:#81919b;font-size:12px;margin-bottom:13px}.stats strong{font-size:29px;font-weight:650;letter-spacing:-1px}.stats small{color:#99a5ad;font-size:12px;margin-left:10px;letter-spacing:0}.notice{display:flex;gap:14px;background:#eaf4f1;border:1px solid #dcebe6;border-radius:8px;padding:16px 20px;margin:0 0 27px;color:#347567}.notice>span{font-size:20px}.notice strong{font-size:13px}.notice p{font-size:12px;margin:6px 0 0;line-height:1.7;color:#749489}.section-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:21px}.section-line h2{margin:0;white-space:nowrap}.section-line h2 small{color:#8b9ba6;margin-left:10px}.search{font-size:12px;width:280px;background:white}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}.report-card{background:white;border:1px solid #e1e7eb;border-radius:11px;padding:23px 24px 0;overflow:hidden}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.pdf-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:49px;border:1px solid #ecdcd6;border-radius:5px 12px 5px 5px;color:#b67d69;background:#fcf6f2;font-size:10px;font-weight:700}.version{font-size:10px;color:#8595a0;background:#f3f6f8;padding:4px 8px;border-radius:4px}.product{font-size:11px;color:#65818a;margin-bottom:8px}.report-card h3{margin-bottom:13px;overflow-wrap:anywhere}.card-bottom{border-top:1px solid #edf0f3;margin-top:23px;padding:15px 0;display:flex;align-items:center;justify-content:space-between}.card-bottom>span{color:#95a2ac;font-size:11px}.card-bottom button{background:#edf6f3;color:#167a73;font-size:12px;padding:9px 12px}.card-bottom button span{margin-left:20px}.panel{background:white;border:1px solid #e3e9ed;border-radius:10px;padding:24px;margin-bottom:22px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{font-weight:500;color:#8799a5;background:#f8fafb;padding:14px 12px;white-space:nowrap}td{padding:18px 12px;border-bottom:1px solid #edf1f4;vertical-align:middle;line-height:1.7}td strong{font-weight:550}td small{display:block;color:#97a4ad;margin-top:4px;font-size:10px;max-width:250px;overflow-wrap:anywhere}.actions{min-width:100px}.badge{display:inline-block;border-radius:5px;padding:3px 9px;font-size:11px;background:#f1f3f5;color:#8a939b;white-space:nowrap}.badge.pending{background:#fff5e2;color:#aa8134}.badge.ready{background:#e7f4ee;color:#32886e}.badge.generating,.badge.approved{background:#eaf2fb;color:#5a83ae}.badge.failed,.badge.rejected{background:#fbedeb;color:#b17065}.mono{font:11px ui-monospace,Consolas,monospace;overflow-wrap:anywhere}pre{max-width:480px;max-height:400px;overflow:auto;background:#f5f7fa;padding:12px;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}summary{color:#167a73;cursor:pointer}.empty{padding:60px 20px;text-align:center;color:#93a1ac;grid-column:1/-1}.empty>span{font-size:35px}.empty h3{margin:12px 0}.empty p{font-size:12px}.page-footer{padding:0 40px 22px;color:#a3afb6;font-size:10px;display:flex;justify-content:space-between}.manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:flex;flex-direction:column;gap:9px;margin-bottom:19px;font-size:12px;color:#647c87}label em{font-style:normal;color:#b38354;font-size:10px}label.checkbox{flex-direction:row;align-items:center}.login{min-height:100vh;padding:40px 7%;background:radial-gradient(ellipse at 75% 30%,#e2f1ed,transparent 55%),#f6f8fa}.login .brand small{margin-left:12px;font:9px Arial;letter-spacing:2px;color:#81958d}.login-card{max-width:480px;margin:65px auto 45px;padding:40px;background:white;border:1px solid #e3eae7;border-radius:18px;box-shadow:0 20px 60px #193b3310}.login-card h1{font-size:34px;line-height:1.55;margin-bottom:20px}.login-actions{margin-top:25px}.login-actions button{display:flex;justify-content:space-between;width:100%;margin-top:12px}.login-actions span{font-weight:400}.login footer{text-align:center;color:#9aa8a2;font-size:12px}.error{color:#b65e51;margin-top:16px;font-size:12px}dialog{border:1px solid #e2e9e7;border-radius:14px;padding:30px;width:490px;max-width:calc(100vw - 30px);color:#263b4b;box-shadow:0 20px 100px #14322930}dialog::backdrop{background:#162e3d60;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;gap:15px}.modal-head h2{font-size:21px;margin-bottom:8px}.modal-head p{font-size:12px}.watermark-preview{padding:23px;background:repeating-linear-gradient(135deg,#f5f8f7,#f5f8f7 8px,#f0f5f3 8px,#f0f5f3 9px);border:1px dashed #c9dad3;border-radius:8px;margin:20px 0}.watermark-preview small{display:block;color:#8ea39a;margin-bottom:12px;font-size:10px}.watermark-preview strong{color:#809b91;font-size:18px;overflow-wrap:anywhere}.button-row{display:flex;gap:12px}#toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;background:#263f4b;color:white;padding:14px 24px;border-radius:8px;box-shadow:0 8px 30px #0002;max-width:90%;z-index:20;transition:.2s}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}#audit-search{display:flex;gap:8px}@media(max-width:850px){aside{width:180px;padding:25px 12px}.workspace{margin-left:180px}.content{padding:25px 22px}header{padding:0 22px}.stats{gap:12px}.stats>div{padding:17px}.manage-grid{grid-template-columns:1fr}.section-line{flex-wrap:wrap}}@media(max-width:600px){.layout{display:block}aside{position:static;width:100%;padding:16px;border-right:0;border-bottom:1px solid #e3e9ed}.brand{font-size:18px}.brandmark{width:29px;height:31px}.side-caption,.side-bottom{display:none}nav{display:flex;overflow-x:auto;margin-top:15px;gap:4px}.nav-item{width:auto;white-space:nowrap;padding:8px 10px;margin:0;font-size:12px;gap:6px}.nav-item span{display:none}.workspace{margin:0}header{height:60px;padding:0 18px}.content{padding:25px 16px}h1{font-size:25px}.heading{gap:8px}.heading .muted{font-size:12px}.stats{gap:8px}.stats>div{padding:14px 11px}.stats strong{font-size:25px}.stats span{font-size:10px}.stats small{margin-left:4px}.notice{padding:14px}.section-line{gap:12px}.search{width:100%}.cards{grid-template-columns:1fr}.panel{padding:16px}.page-footer{padding:0 16px 20px}.page-footer span{display:none}.login{padding:25px 20px}.login-card{padding:26px;margin-top:45px}.login-card h1{font-size:30px}#audit-search{width:100%}dialog{padding:23px}}
@media(max-width:600px){.table-wrap{overflow:visible}table,tbody,tr,td{display:block}thead{display:none}tbody tr{border:1px solid #e5ebef;border-radius:8px;margin-bottom:16px;padding:10px}td{display:grid;grid-template-columns:76px minmax(0,1fr);gap:4px 8px;padding:9px 4px;border-bottom:1px solid #f1f4f6;overflow-wrap:anywhere}td:before{content:attr(data-label);color:#95a3ac;font-size:10px}td>small{grid-column:2;max-width:none}td>button{grid-column:2;justify-self:start}td>details{min-width:0}td:last-child{border-bottom:0}td pre{max-width:100%}.section-line>span{white-space:normal}}
.source-panel{margin-bottom:20px}.source-path{font-size:16px;overflow-wrap:anywhere}.source-dialog{width:min(860px,94vw);max-width:94vw}.source-columns{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;margin:18px 0}.source-columns section{min-width:0}.source-list{max-height:320px;overflow:auto;border:1px solid #e4eaed;border-radius:8px;padding:8px}.source-list>p{padding:10px}.source-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:white;color:#334a59;font-weight:400;padding:10px;border-radius:5px}.source-row span:nth-child(2){flex:1;overflow-wrap:anywhere}.source-row span:first-child{font-size:12px;color:#167a73}.source-row.selected{background:#e8f4f1;color:#126e66;font-weight:600}.source-row:disabled{background:#f8fafb;color:#87959e}.source-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:10px}.source-selection{border-top:1px solid #e4eaed;padding-top:18px;overflow-wrap:anywhere}.source-error{padding:12px;background:#fff1ea;color:#a7472c;border-radius:7px;line-height:1.8;overflow-wrap:anywhere}.source-error button{display:block;margin-top:8px}.source-warning{color:#a7472c;font-size:12px}#source-operator{display:block;min-width:210px;width:100%;padding:10px;border:1px solid #d9e1e6;border-radius:7px;background:white;color:#263b4b;font:inherit;margin-top:8px}@media(max-width:640px){.source-columns{grid-template-columns:1fr}.source-list{max-height:220px}.source-panel .section-line{align-items:flex-start;gap:12px;flex-direction:column}}
.employee-requests{margin-top:24px}.employee-request{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid #edf1f4}.employee-request>div:first-child{min-width:0;overflow-wrap:anywhere}.employee-request p{margin:7px 0;font-size:13px}.employee-request>div:last-child{display:flex;align-items:center;gap:12px;flex-shrink:0}@media(max-width:600px){.employee-request{align-items:flex-start;flex-direction:column;gap:12px}.employee-request>div:last-child{width:100%;justify-content:space-between}}
