:root{font-family:Microsoft YaHei UI,PingFang SC,Noto Sans SC,sans-serif;color:#14302a;background:#f3f5f1;font-synthesis:none;font-size:14px;line-height:1.5;--green: #1d5948;--deep: #133830;--ink: #14302a;--muted: #5c6e66;--line: #e2e8e1;--soft-line: #edf1ec;--accent: #d9e9af;--num: "Bahnschrift", "DIN Alternate", "Barlow Semi Condensed", "Microsoft YaHei UI", sans-serif;--serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button{display:inline-flex;align-items:center;justify-content:center;gap:7px}a{color:inherit;text-decoration:none}input,select,textarea{border:1px solid #c5d0c6;border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #a4c7b8;outline-offset:1px}button:focus-visible,a:focus-visible{outline:3px solid #aac5a7;outline-offset:3px}input::placeholder{color:#7d8c84}label{display:block;font-size:14px;font-weight:500}label>input,label>select,label>textarea{display:block;width:100%;margin-top:9px}label>small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:6px}.primary,.button{border:1px solid #cfd9cf;border-radius:8px;min-height:40px;padding:8px 16px;white-space:nowrap;font-weight:500;background:#fff;color:var(--ink)}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#164536}.button:hover{background:#f4f7f4;border-color:#c2d2c8}.quiet,.text-button,.icon-button{border:0;background:transparent;color:var(--green);padding:6px}.text-button{font-size:13px;font-weight:500;min-height:32px;border-radius:6px;white-space:nowrap}.text-button:hover{text-decoration:underline}.icon-button{color:#4a5e55;border-radius:8px;min-width:36px;min-height:36px}.icon-button:hover{background:#eaf0e9}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:var(--muted)}h1,h2,h3,p{margin:0}h1{font-size:26px;letter-spacing:.5px;font-weight:700}h2{font-size:18px;font-weight:600}p{line-height:1.8}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600;letter-spacing:2px}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:2px;margin-top:4px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px 12px 12px 3px;color:var(--deep);font-family:var(--serif);font-weight:600;font-size:27px;background:var(--accent)}.login-layout{min-height:100vh;display:grid;grid-template-columns:55% 45%}.login-story{background:var(--deep);color:#f3f6ec;padding:48px 64px;display:flex;flex-direction:column}.login-copy{margin:auto 0;padding:64px 0}.login-copy .eyebrow{color:var(--accent);font-size:14px;font-weight:400;letter-spacing:3px}.login-copy h1{font-family:var(--serif);font-size:66px;line-height:1.3;letter-spacing:6px;margin:28px 0 24px;font-weight:500}.login-copy p{font-size:16px;color:#c9d9cf;line-height:1.9}.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:540px;list-style:none;padding:0;margin:40px 0 0;font-size:15px;font-weight:500}.flow li{border-top:2px solid #4f7565;padding-top:12px}.flow li:first-child{border-top-color:var(--accent)}.flow b{display:block;font-family:var(--num);font-size:14px;color:var(--accent);margin-bottom:4px}.login-foot{display:flex;justify-content:space-between;font-size:12px;color:#a3bdae;gap:15px}.login-panel{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;background:#fbfcf9;padding:40px}.login-card{width:100%;max-width:380px}.portal-pill{display:inline-block;font-size:12px;font-weight:500;color:var(--deep);background:var(--accent);border-radius:999px;padding:4px 12px}.login-card h2{font-size:30px;font-weight:700;margin:14px 0 8px}.login-card>p{color:var(--muted);font-size:14px;margin-bottom:32px}.login-card label{margin:22px 0}.login-card input{height:48px;padding:0 14px;font-size:15px;border-radius:10px}.login-submit{width:100%;justify-content:space-between;margin:12px 0 16px;min-height:52px;padding:0 20px;font-size:16px;border-radius:10px}.portal-link{display:flex;justify-content:center;align-items:center;gap:6px;min-height:44px;color:var(--green);font-size:14px;font-weight:500}.portal-link:hover{text-decoration:underline}.captcha-row{display:flex;gap:12px;align-items:center;margin-top:9px}.captcha-row input{flex:1;width:0;min-width:0;text-transform:uppercase}.captcha-image{flex:0 0 152px;height:54px;padding:0;border:1px solid #c5d0c6;border-radius:10px;overflow:hidden;background:#eef4e6;color:#4a5e55;font-size:12px}.captcha-image img{display:block}.captcha-hint{display:block;margin-top:8px;color:var(--muted);font-size:12px;font-weight:400}.login-secure{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--muted);margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.password-page{min-height:100vh;display:grid;place-items:center}.workspace{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--deep);color:#c9d9cf;display:flex;flex-direction:column;padding:24px 16px 16px;z-index:30}.sidebar .brand{color:#eff3e8;padding:0 8px}.sidebar .brand-mark{width:38px;height:38px;font-size:24px}.sidebar .brand{font-size:17px;font-weight:700}.sidebar .brand small{font-size:12px;color:#a3bdae;letter-spacing:3px}.portal-badge{display:flex;justify-content:space-between;border:1px solid #2f5447;border-radius:8px;padding:9px 12px;margin:22px 4px 18px;font-size:12px;color:#c9d9cf}.portal-badge span{color:var(--accent);font-family:var(--num);font-weight:600;letter-spacing:1px}.sidebar nav{overflow:auto;flex:1;scrollbar-width:thin}.nav-item{width:100%;min-height:42px;padding:0 12px;justify-content:flex-start;border:0;background:transparent;border-radius:8px;color:#c9d9cf;font-size:14px;margin:2px 0;gap:12px}.nav-item.active{background:var(--accent);color:var(--deep);font-weight:700}.nav-item:hover:not(.active){background:#21493e;color:#fff}.nav-caption{font-size:12px;color:#8fb09d;letter-spacing:2px;margin:18px 12px 6px}.sidebar-bottom{display:flex;align-items:center;gap:8px;font-size:12px;color:#a3bdae;border-top:1px solid #2a4e42;padding:12px 6px 0;margin-top:12px}.sidebar-bottom button{margin-left:auto;color:#c9d9cf}.sidebar-bottom button:hover{background:#21493e}.live-dot{width:7px;height:7px;border-radius:50%;background:#c6dc8f}.main-shell{margin-left:232px}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:16px}.breadcrumb{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px}.breadcrumb strong{color:var(--ink);font-weight:500}.top-actions{display:flex;align-items:center;gap:10px}.date-label{color:var(--muted);font-size:13px;margin-right:8px}.user-avatar{display:grid;place-items:center;background:#e4edd0;border-radius:50%;height:36px;width:36px;color:#2f4d2a;font-size:14px;font-weight:500}.user-name{border:0;background:none;display:block;text-align:left;font-size:13px;font-weight:500;color:var(--ink);padding:0}.user-name small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:1px}main{max-width:1500px;margin:auto;padding:28px 32px 32px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.page-heading h1{margin:0 0 6px}.page-heading p{font-size:14px;line-height:1.5;color:var(--muted)}.heading-actions{display:flex;gap:10px}.overview-banner{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:16px}.hero-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;min-height:212px;display:flex;flex-direction:column;gap:18px}.hero-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted)}.hero-label b{font-family:var(--num);font-size:18px;font-weight:600;color:var(--green)}.hero-tag{font-size:12px;font-weight:500;color:var(--deep);background:var(--accent);border-radius:999px;padding:3px 10px;white-space:nowrap}.hero-value{font-family:var(--num);font-size:40px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.hero-value small{font-size:18px;font-weight:500;color:var(--muted);margin-right:8px}.hero-value em{font-style:normal;font-size:16px;font-weight:500;color:var(--muted);margin-left:8px}.hero-bar{height:10px;border-radius:999px;background:#e4ebe2;overflow:hidden}.hero-bar i{display:block;height:100%;border-radius:999px;background:var(--green)}.hero-foot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:auto;font-size:13px;color:var(--muted)}.hero-foot strong{font-family:var(--num);font-size:16px;font-weight:600;color:#8a5a00;margin-left:8px}.hero-margin{background:var(--deep);border-color:var(--deep);color:#f3f6ec}.hero-margin .hero-label{color:#c9d9cf}.hero-margin .hero-value{font-size:52px}.hero-margin .hero-value small{font-size:22px;color:#a3bdae}.hero-split{display:flex;gap:28px;margin-top:auto;padding-top:16px;border-top:1px solid #2a4e42}.hero-split span{display:block;font-size:12px;color:#a3bdae}.hero-split strong{font-family:var(--num);font-size:18px;font-weight:500}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.panel-title{display:flex;justify-content:space-between;align-items:center;min-height:60px;padding:8px 24px;border-bottom:1px solid var(--soft-line)}.panel-title h2{font-size:16px;font-weight:700}.subtle{font-size:13px;color:var(--muted)}.task-row{display:flex;text-align:left;width:100%;border:0;border-bottom:1px solid var(--soft-line);background:#fff;padding:14px 24px;gap:14px;justify-content:flex-start}.task-row:hover{background:#f7f9f5}.task-icon{width:40px;height:40px;background:#e9f1dc;border-radius:10px;display:grid;place-items:center;color:#3f6a2a}.task-row strong{font-size:14px;font-weight:500;display:block;color:var(--ink)}.task-row small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.task-row b{margin-left:auto;color:#7a5200;background:#fbf0d2;padding:2px 12px;border-radius:999px;font-family:var(--num);font-size:15px}.task-row>svg{color:var(--muted)}.pulse-values{display:flex;padding:20px 24px 8px;gap:40px}.pulse-values span{display:block;color:var(--muted);font-size:13px}.pulse-values strong{display:block;font-size:32px;line-height:1.2;font-family:var(--num);font-weight:600;margin-top:4px}.pulse-values small{font-family:Microsoft YaHei UI,PingFang SC,sans-serif;font-size:13px;font-weight:400;color:var(--muted);margin-left:8px}.workflow-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:12px 24px 22px}.workflow-list>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;background:#f3f5f1;border-radius:10px;padding:12px 14px;font-size:13px}.workflow-list span{font-family:var(--num);font-weight:600;color:var(--green);font-size:13px}.workflow-list strong{font-weight:500}.workflow-list small{flex-basis:100%;color:var(--muted);font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;white-space:nowrap}th{font-size:13px;color:var(--muted);background:#f7f9f5;font-weight:500;padding:12px 24px;border-bottom:1px solid var(--line)}td{padding:15px 24px;border-bottom:1px solid var(--soft-line);color:var(--ink)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f7f9f5}.mono,.money{font-family:var(--num);font-variant-numeric:tabular-nums}.mono{color:#4a5e55;font-size:15px}.money{text-align:right}td.money{font-size:15px;font-weight:600}.status{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;border-radius:999px;padding:3px 12px;background:#ecefea;color:#4a5e55}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}.status.approved,.status.active,.status.confirmed,.status.paid,.status.received,.status.unlocked{background:#e4f0d6;color:#2c5a1c}.status.pending,.status.submitted,.status.locked,.status.outstanding{background:#fbf0d2;color:#7a5200}.status.rejected,.status.disputed,.status.failed{background:#f8e4de;color:#9a3f2a}.status.void,.status.inactive{background:#eeece8;color:#6b655b}.action-cell{text-align:right;white-space:nowrap}.action-cell button+button{margin-left:8px}.table-toolbar{display:flex;align-items:center;gap:12px;padding:16px 20px;flex-wrap:wrap;border-bottom:1px solid var(--soft-line)}.search-box{display:flex;align-items:center;gap:8px;border:1px solid #c5d0c6;border-radius:8px;padding:0 12px;color:var(--muted)}.search-box input{border:0;font-size:14px;width:260px;height:38px;padding:0;background:transparent}.search-box input:focus{outline:none}.search-box:focus-within{outline:2px solid #a4c7b8}.table-toolbar>select{font-size:14px;height:40px;padding:0 10px}.toolbar-spacer{flex:1}.table-toolbar .button{font-size:14px}.upload-button input{display:none}.pagination{border-top:1px solid var(--soft-line);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}.pagination>div{display:flex;align-items:center;gap:8px}.pagination>div>span{font-family:var(--num);font-size:15px;color:var(--ink)}.pagination .icon-button{border:1px solid var(--line);background:#fff}.pagination select{font-size:13px;height:36px;padding:0 8px}.empty{text-align:center;display:flex;flex-direction:column;align-items:center;padding:56px 24px;gap:8px;color:#6f8a5a}.empty h3{color:var(--ink);font-size:15px;font-weight:500}.empty p{font-size:13px;line-height:1.5;color:var(--muted)}.empty.compact{padding:40px 20px}.empty.compact>svg{box-sizing:content-box;padding:10px;border-radius:50%;background:#e9f1dc;color:#3f6a2a;margin-bottom:6px}.empty-cell{text-align:center;padding:40px;color:var(--muted)}.page-footer{display:flex;justify-content:space-between;margin-top:24px;color:var(--muted);font-size:12px}.loading{padding:65px;text-align:center;color:var(--muted)}.error{border:1px solid #edc9be;background:#fff3ee;color:#9a3f2a;padding:12px 15px;font-size:13px;border-radius:8px;line-height:1.7;margin:12px 0;overflow-wrap:anywhere;max-height:180px;overflow:auto}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#122c276e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;padding:25px}.dialog{width:660px;max-width:100%;max-height:92vh;overflow:auto;border-radius:16px;background:#fff;box-shadow:0 24px 80px #102e272b}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:25px 28px;border-bottom:1px solid var(--line)}.dialog-header h2{margin-top:6px;font-size:20px}.dialog-body{padding:24px 28px}.dialog-body>label{margin-bottom:20px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px;border-top:1px solid var(--line);background:#fafcf8;flex-wrap:wrap}.form-grid,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.wide{grid-column:1/-1}.required{color:#ad7b5f}.notice{padding:12px 16px;background:#eef4e6;border:1px solid #dfe9cf;border-radius:8px;color:#3f5a34;font-size:13px;line-height:1.7;margin-bottom:22px}.nodes-editor{margin-top:12px}.node-head,.node-row{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 22px;gap:8px;align-items:center;margin-bottom:10px}.node-head{font-size:12px;color:var(--muted)}.node-row input{width:100%;padding:9px;font-size:13px}.multi-select{min-height:130px}.file-field{margin-top:10px}.file-field input{width:100%;font-size:13px;padding:8px}.file-field small{display:block;margin-top:8px;color:var(--muted);font-size:12px}.detail-dialog{width:750px}.detail-item{border-bottom:1px solid var(--soft-line);padding-bottom:14px}.detail-item>span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.detail-item>strong{font-weight:500;font-size:14px;overflow-wrap:anywhere}.detail-lines{display:flex;flex-wrap:wrap;gap:15px;background:#f3f5f1;border-radius:8px;padding:12px;margin:5px 0;font-size:13px}.detail-lines span{min-width:90px;overflow-wrap:anywhere}.detail-lines small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.help-copy p{margin-bottom:14px;font-size:14px;color:#37493f}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);z-index:200;background:var(--deep);border:1px solid #2f5447;color:#f3f6ec;border-radius:10px;box-shadow:0 8px 25px #12332420;padding:14px 22px;display:flex;align-items:center;gap:10px;font-size:14px}.mobile-toggle{display:none}@media(min-width:1500px){main{padding:36px 44px}}@media(max-width:1100px){.sidebar{width:204px;padding-left:12px;padding-right:12px}.main-shell{margin-left:204px}main{padding:25px}.topbar{padding:0 25px}.date-label{display:none}.hero-value{font-size:34px}.hero-margin .hero-value{font-size:44px}.login-story{padding:40px}.login-copy h1{font-size:52px}.dashboard-columns{grid-template-columns:1fr 1fr}}@media(max-width:760px){.sidebar{transform:translate(-100%);transition:transform .2s;width:232px}.sidebar.expanded{transform:translate(0);box-shadow:20px 0 50px #193e3440}.main-shell{margin-left:0}.mobile-toggle{display:inline-flex}.topbar{padding:0 12px;height:56px}.topbar .icon-button{min-width:44px;min-height:44px}.breadcrumb{gap:7px}.top-actions{gap:8px}.user-name{display:none}main{padding:22px 15px}.page-heading{align-items:flex-start;margin-bottom:20px}.page-heading h1{font-size:22px}.page-heading p{font-size:13px}.heading-actions{flex-direction:column}.overview-banner{grid-template-columns:minmax(0,1fr);gap:12px}.hero-card{min-height:0;padding:20px;gap:14px}.hero-foot{margin-top:0}.hero-tag{white-space:normal}.dashboard-columns{grid-template-columns:1fr;gap:16px}.task-row{padding:15px 20px}.table-toolbar{padding:15px;gap:8px}.search-box{flex:1}.search-box input{width:100%;min-width:140px;height:42px}.table-toolbar>select,.table-toolbar .button{min-height:44px}.data-panel .table-wrap{overflow:visible}.data-panel table,.data-panel tr,.data-panel td{display:block}.data-panel thead{display:none}.data-panel table{white-space:normal}.data-panel tbody{display:grid;gap:10px;padding:12px 15px}.data-panel tbody:empty{display:none}.data-panel tr{border:1px solid var(--line);border-radius:12px;padding:4px 16px}.data-panel tbody tr:hover{background:#fff}.data-panel td{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--soft-line);text-align:right;overflow-wrap:anywhere}.data-panel tbody tr td:last-child{border-bottom:0}.data-panel td:before{content:attr(data-label);flex-shrink:0;font-family:Microsoft YaHei UI,PingFang SC,sans-serif;font-size:13px;font-weight:400;color:var(--muted)}.data-panel td.action-cell{justify-content:flex-end;padding:4px 0}.data-panel td.action-cell:before{content:none}.data-panel .text-button{min-height:44px;padding:0 10px}.pagination{flex-wrap:wrap;gap:10px}.toolbar-spacer{display:none}.page-footer{flex-wrap:wrap;gap:6px}.overlay{padding:12px}.dialog{max-height:94vh}.dialog-header,.dialog-body{padding:20px}.dialog-footer{padding:16px 20px}.form-grid,.detail-grid{grid-template-columns:1fr}.node-head,.node-row{grid-template-columns:1.2fr .8fr 1fr 1fr 16px;gap:4px}.node-row input{padding:7px 4px}.login-layout{grid-template-columns:minmax(0,1fr)}.login-story{padding:25px;min-height:220px}.login-copy{padding:30px 0 0}.login-copy h1{font-size:28px;line-height:1.3;letter-spacing:2px;margin:14px 0 0}.login-copy h1 br,.login-copy p,.login-foot,.flow{display:none}.login-copy .eyebrow{font-size:12px}.login-panel{padding:35px 25px}.login-secure{margin-top:20px}.login-card h2{font-size:24px}.toast{width:calc(100% - 30px);bottom:15px}.password-page{padding:25px}}@media(prefers-reduced-motion:no-preference){main{animation:arrive .25s ease-out}.dialog{animation:arrive .15s ease-out}@keyframes arrive{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.rider-ledger{padding:16px;background:#f3f5f1;border-radius:10px;margin-bottom:22px}.rider-ledger h3{font-size:14px;margin:8px 0}.rider-ledger p{font-size:13px;line-height:1.6;color:#37493f;margin:6px 0}
