:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#183c36;background:#f6f7f3;font-synthesis:none;font-size:14px;line-height:1.65}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{border:1px solid #d9e1db;border-radius:8px;padding:9px 15px;background:#fff;color:#21483f;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#eef3ee}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#23594b;color:#fff;border-color:#23594b}.primary:hover{background:#174739}.full{width:100%}input,textarea,select{width:100%;padding:10px 12px;border:1px solid #d4dcd5;border-radius:8px;color:#183c36;background:#fff}input:focus,textarea:focus,select:focus{outline:2px solid #94b9a5;outline-offset:2px}label{display:block;font-weight:550;margin-bottom:18px}label input,label select,label textarea{display:block;margin-top:7px}fieldset{padding:0;border:0;margin:0}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.3;letter-spacing:-1px;margin-bottom:12px}h2{font-size:21px;line-height:1.5}h3{font-size:16px;margin-top:24px}a{color:inherit}strong{font-weight:650}.muted{color:#738079}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:#648677;margin-bottom:14px}.brand{font-size:23px;font-weight:750;text-decoration:none;letter-spacing:-1px}.brand-dot{color:#daa955}.error{background:#fff1ed;color:#a33d28;padding:12px;border-radius:8px;overflow-wrap:anywhere}.app-shell{display:flex;min-height:100vh}.sidebar{width:235px;padding:32px 22px;border-right:1px solid #e1e7de;background:#fbfcf8;display:flex;flex-direction:column;position:fixed;height:100vh}.nav-heading{color:#9aaba0;font-size:11px;letter-spacing:2px;margin:52px 12px 16px}nav{display:flex;flex-direction:column;gap:9px}nav a{padding:12px 16px;border-radius:8px;text-decoration:none;display:flex;gap:14px;color:#64766b}nav .router-link-active{background:#e7eee5;color:#1c5544;font-weight:650}.sidebar-bottom{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:30px}.sidebar-bottom p{margin:0}.avatar{width:38px;height:38px;background:#e8d9b7;border-radius:50%;display:grid;place-items:center}.link-button{border:0;padding:5px;background:none;font-size:12px;margin-left:auto}.workspace{margin-left:235px;flex:1;min-width:0}.topbar{height:76px;padding:0 44px;border-bottom:1px solid #e4e8df;display:flex;justify-content:space-between;align-items:center;color:#7b897f;font-size:12px}.page{max-width:1180px;margin:auto;padding:38px 44px}.page-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.page-heading{margin-bottom:22px}.page-heading p{margin-bottom:0}.page-heading .eyebrow{margin-bottom:12px}.section-heading h2{margin:0}.section-heading{margin-bottom:24px}.section-heading button{font-size:20px;line-height:1;padding:6px 10px;border:0}.record-banner{background:#e9eee1;min-height:126px;border-radius:14px;display:flex;justify-content:space-between;align-items:center;padding:28px;margin:26px 0}.record-banner h2{margin:8px 0 0;font-size:20px}.record-banner>strong{font-size:38px;font-weight:450}.record-banner small{font-size:13px;color:#6a7b67}.filters{display:flex;gap:10px;align-items:center;margin:25px 0 17px}.filters>input{max-width:300px}.filters select{width:145px;margin-left:auto}.check{display:flex;align-items:center;gap:6px;white-space:nowrap;margin:0;font-size:12px}.check input{width:15px;margin:0}.record-list{background:#fff;border:1px solid #e3e8df;border-radius:12px;overflow:hidden}.record-row{width:100%;display:flex;align-items:center;gap:18px;text-align:left;border:0;border-bottom:1px solid #e9ece5;border-radius:0;padding:23px}.record-row:last-child{border:0}.category-icon{background:#f1f1e6;border-radius:10px;min-width:42px;height:42px;display:grid;place-items:center;color:#88876b}.record-main{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.record-main>strong{overflow-wrap:anywhere}.record-main>span{font-size:11px;color:#8c988e}.duration{white-space:nowrap;font-size:19px;font-weight:500}.duration small{font-size:10px;color:#9ca497;margin-left:4px}.badge{font-size:11px;border-radius:5px;background:#f1f2ee;color:#7f8a7d;padding:4px 9px;white-space:nowrap}.badge.submitted{background:#fbf1d6;color:#986f1e}.badge.approved{background:#e7f0e6;color:#3d7754}.badge.rejected{background:#fff0e8;color:#b5693f}.chevron{color:#a2b2a5}.pagination{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#8b988c;margin:20px 0}.pagination button{padding:7px 12px;margin-left:8px}.empty{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;color:#89948b;border:1px dashed #dce3d5}.empty h3{color:#59745f}.empty-icon{font-size:32px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#173a346b;display:flex;align-items:center;justify-content:center;padding:24px;z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog{width:550px;max-width:100%;max-height:92vh;overflow:auto;background:#fbfcf9;padding:30px;border-radius:14px;box-shadow:0 20px 90px #132b322e}.dialog.wide{width:690px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.wrap{flex-wrap:wrap;justify-content:flex-start}.danger{color:#a34d3d}.note{white-space:pre-wrap;overflow-wrap:anywhere}.detail-meta{display:flex;gap:14px;align-items:center;font-size:12px;color:#879282;margin-bottom:20px;flex-wrap:wrap}.review-note,.review-box,.confirmation{background:#f2efdf;padding:18px;border-radius:9px;margin-top:20px}.file-link{display:flex;justify-content:space-between;background:#fff;border:1px solid #e3e9df;padding:12px;border-radius:8px;margin-bottom:8px;text-decoration:none;word-break:break-all}.file-link span{white-space:nowrap;color:#8c988e}.upload-label{font-size:12px;color:#6a806f;margin-top:12px}.upload-label input{font-size:12px}.timeline{list-style:none;margin:0;padding-left:13px;border-left:2px solid #dfe9d9}.timeline li{position:relative;padding:0 0 20px 16px}.timeline li:before{content:"";position:absolute;left:-18px;top:6px;width:8px;height:8px;border-radius:50%;background:#789c75}.timeline span{display:block;color:#8b998a;font-size:11px}.timeline p{font-size:12px;margin:5px 0 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.stat{padding:25px;border:1px solid #dde6d8;border-radius:12px;background:#fff}.stat p{font-size:12px;color:#80917c}.stat strong{font-size:36px;font-weight:450}.stat small{font-size:12px;color:#879c80;margin-left:7px}.panel{background:#fff;border:1px solid #e0e7dc;border-radius:12px;padding:26px;margin:20px 0}.distribution{margin-top:22px}.distribution>div:first-child{display:flex;justify-content:space-between;font-size:13px}.bar{height:9px;border-radius:10px;background:#f1f4eb;margin-top:10px;overflow:hidden}.bar span{display:block;height:100%;background:#97ad79;border-radius:10px}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:14px 6px;border-bottom:1px solid #e9eee3}th{font-size:12px;color:#8a9c82}.inline-form{display:flex;gap:10px}.inline-form input{width:165px}.export-row{background:#fff;border:1px solid #e0e7db;border-radius:12px;padding:23px;margin:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.export-row p{margin:5px 0 0}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.login-story{background:#e7ecdf;padding:64px 12%;display:flex;flex-direction:column;justify-content:center}.login-story>.brand{margin-bottom:95px}.login-story h1{font-size:42px;line-height:1.45;font-weight:550;letter-spacing:-1px}.login-story>p:not(.eyebrow){max-width:330px;color:#7c9076;font-size:15px}.story-line{display:flex;gap:28px;margin-top:45px;font-size:12px;color:#78906d}.story-line span{color:#b4c2a8}.login-card{width:370px;max-width:90%;margin:auto;padding:50px 0}.login-card h2{font-size:28px;margin-bottom:10px}.login-card form{margin:35px 0 20px}.boot{padding:30vh 30px;text-align:center}button:focus-visible,a:focus-visible{outline:2px solid #6d9871;outline-offset:3px}@media(max-width:900px){.sidebar{width:190px;padding:25px 14px}.workspace{margin-left:190px}.page{padding:28px 23px}.topbar{padding:0 23px}.record-row{gap:12px;padding:18px}.login-story h1{font-size:32px}.stats{gap:10px}.stat{padding:20px}}@media(max-width:640px){.sidebar{position:static;height:auto;width:auto;padding:15px}.sidebar .brand{font-size:21px}.nav-heading{display:none}nav{flex-direction:row;flex-wrap:wrap;gap:2px;margin-top:12px}nav a{padding:7px 10px;gap:5px;font-size:12px}.sidebar-bottom{margin:0;padding-top:12px}.avatar{height:28px;width:28px}.app-shell{display:block}.workspace{margin-left:0}.topbar{height:48px;font-size:10px}.topbar>span:first-child{display:none}.page{padding:25px 16px}h1{font-size:27px}.page-heading{align-items:flex-start;flex-wrap:wrap}.record-banner{padding:20px;min-height:110px}.record-banner h2{font-size:16px;max-width:190px}.record-banner>strong{font-size:27px}.record-banner small{display:block}.filters{flex-wrap:wrap}.filters>input{flex:1;min-width:140px}.filters select{margin-left:0}.record-row{gap:10px;flex-wrap:wrap}.category-icon{display:none}.record-main{flex-basis:65%}.chevron{display:none}.duration{font-size:16px}.record-row>.badge{margin-left:auto}.stats{grid-template-columns:1fr}.stat{display:flex;justify-content:space-between;align-items:center}.stat p{margin:0}.stat strong{font-size:29px}.form-grid{grid-template-columns:1fr;gap:0}.dialog{padding:22px}.overlay{padding:12px}.login-layout{display:block}.login-story{padding:26px}.login-story>.brand{margin-bottom:28px}.login-story h1{font-size:29px}.login-story>p:not(.eyebrow),.story-line{display:none}.login-card{padding:38px 0}.panel{padding:20px}th,td{font-size:12px}.export-row{padding:18px}}
