@font-face{font-family:LocalUI;src:local("Microsoft YaHei")}*{box-sizing:border-box}body{margin:0;background:#f6f7f3;color:#192c27;font-family:Inter,LocalUI,"PingFang SC",system-ui,sans-serif;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #9dbb74;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.3}h2{font-size:24px;letter-spacing:-.6px}h3{font-size:16px}small,.muted{color:#748079}.brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:18px;letter-spacing:1px}.brand img{width:38px;height:38px;border-radius:11px}.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:11px;font-weight:650;background:#123e36;color:white;min-height:46px}.btn.light{background:#edf2e7;color:#234b3c}.btn.white{background:white;color:#234b3c;border:1px solid #dce3d8}.btn.danger{background:#fff0eb;color:#af4634}.btn.full{width:100%}.text-btn{background:transparent;color:#30614e;padding:8px}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#687d6e}.landing{max-width:1180px;margin:auto;padding:0 32px}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dde3d8}.topbar nav{display:flex;align-items:center;gap:30px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;padding:72px 0}.hero h1{font-size:58px;font-weight:650;letter-spacing:-3px;line-height:1.22;margin:22px 0}.hero h1 em{font-style:normal;color:#376d51}.hero p{color:#6b786d;line-height:1.9;font-size:16px;max-width:430px}.hero-actions{display:flex;gap:12px;margin:30px 0 18px}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #dce3d8;background:#edf2e6;border-radius:20px;padding:5px 12px;font-size:12px}.dot{width:6px;height:6px;border-radius:50%;background:#527b3c}.hero-art{position:relative;background:#143f36;border-radius:30px;min-height:420px;padding:35px;overflow:hidden;color:#e6efd9}.table-lines{position:absolute;inset:18px;border:1px solid #76968244;border-radius:20px}.hero-art:before{content:'';position:absolute;width:420px;height:420px;border:1px solid #76968244;border-radius:50%;top:-210px;right:-140px}.cue{position:absolute;width:7px;height:400px;transform:rotate(38deg);top:-70px;right:100px;background:#d0ba89;border-radius:5px}.ball{width:132px;height:132px;background:#f8f6e9;border-radius:50%;display:grid;place-items:center;position:absolute;top:85px;left:70px;box-shadow:20px 24px 35px #08282077}.ball span{display:grid;place-items:center;background:#1b3029;width:65px;height:65px;border-radius:50%;font-family:Georgia,serif;font-size:52px;color:#f5f5e7}.mini-ball{position:absolute;right:57px;top:230px;width:52px;height:52px;background:#b9d591;border-radius:50%;box-shadow:8px 10px 20px #08282066}.art-label{position:relative;font-size:11px;letter-spacing:3px}.art-card{position:absolute;left:32px;right:32px;bottom:30px;background:#f8faed;color:#244639;border-radius:16px;padding:20px 24px;display:flex;align-items:center;gap:18px;box-shadow:0 10px 30px #001c1433}.art-card .big{font-size:32px}.art-card p{font-size:12px;line-height:1.7}.features{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dde3d8;border-bottom:1px solid #dde3d8;padding:28px 0;gap:35px}.feature{display:flex;gap:16px}.feature>span{font-size:12px;color:#8e9c80;border:1px solid #dce3d8;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.feature p{color:#758075;margin-top:7px;font-size:12px}.download{margin:36px 0;background:#e9efdf;padding:30px;border-radius:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.download p{margin-top:6px;color:#6a7861;font-size:13px}.download-actions{display:flex;gap:10px}.platform{text-align:left;min-width:150px;line-height:1.3}.platform small{display:block;font-size:10px;color:inherit;opacity:.7;font-weight:400;margin-top:4px}.footer{display:flex;justify-content:space-between;color:#84907e;font-size:11px;padding:12px 0 25px}.login-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-aside{background:#123e36;color:#eff4e6;padding:60px;display:flex;flex-direction:column;justify-content:space-between}.login-aside h1{font-size:50px;margin:35px 0 20px}.login-aside p{color:#b2c9b6;max-width:360px;line-height:2}.login-wrap{display:grid;place-items:center;padding:32px}.login-card{width:100%;max-width:360px}.login-card h2{font-size:30px;margin-bottom:10px}.login-card form{margin-top:30px}.login-card .back{display:inline-block;margin-top:25px;color:#738071}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field label{font-size:12px;font-weight:650}.field input,.field select,.field textarea,.filter input,.filter select{width:100%;border:1px solid #dce2d7;border-radius:10px;background:#fff;color:#203b2f;padding:12px;outline:none;min-height:46px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#74936a;box-shadow:0 0 0 3px #e6efde}.error{color:#b44536;font-size:13px;min-height:22px;margin:10px 0}.shell{min-height:100dvh;padding-left:230px}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#f0f2ea;border-right:1px solid #e0e5d8;padding:32px 20px;display:flex;flex-direction:column}.sidebar .brand{margin:0 10px 48px}.sidebar .eyebrow{margin:0 14px 12px;font-size:9px}.nav-item{display:flex;gap:13px;align-items:center;padding:13px 16px;margin:5px 0;border-radius:10px;color:#73816e;font-size:13px}.nav-item.active{background:#133e35;color:#eef6df}.nav-item span{font-size:19px;font-weight:400;width:22px;text-align:center}.sidebar-bottom{margin-top:auto;border-top:1px solid #d9e0d2;padding-top:20px}.user{display:flex;gap:12px;align-items:center;margin:16px 8px}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#e1e9d4;color:#466335;font-weight:700}.user small{display:block;font-size:10px}.workspace{max-width:1440px;margin:auto;padding:35px 44px 70px}.app-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e7dc;padding-bottom:22px;margin-bottom:30px;color:#7c8973;font-size:12px}.app-top .crumb{color:#253b2c}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:15px}.page-title h1{font-size:29px;letter-spacing:-1px}.page-title p{color:#85907d;margin-top:8px;font-size:12px}.stats{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px;margin-bottom:28px}.stat{background:white;border:1px solid #e2e7db;padding:24px;border-radius:17px}.stat:first-child{background:#153f36;color:#f1f6e9;border-color:#153f36;position:relative;overflow:hidden}.stat:first-child:after{content:'8';position:absolute;right:-10px;bottom:-42px;font-size:148px;font-family:Georgia;color:#d2e0ab0c}.stat label{font-size:12px;color:#7e8d74}.stat:first-child label{color:#b5cbb6}.stat strong{font-size:31px;display:block;margin:16px 0 8px;letter-spacing:-1px;font-weight:550}.stat strong small{font-size:17px;color:inherit;margin-right:4px}.stat p{font-size:11px;color:#839177}.stat:first-child p{color:#b5cbb6}.panel{background:white;border:1px solid #e1e6db;border-radius:17px;overflow:hidden;margin-bottom:20px}.panel-head{padding:22px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0e8;gap:15px}.panel-head small{font-size:11px}.section-grid{display:grid;grid-template-columns:1.75fr 1fr;gap:22px}.record{padding:19px 24px;border-bottom:1px solid #edf0e8;display:flex;align-items:center;gap:14px;cursor:pointer;width:100%;background:white;text-align:left;color:inherit}.record:hover{background:#fafbf6}.record:last-child{border-bottom:0}.record .avatar{width:40px;height:40px;flex-shrink:0}.record-info{flex:1;min-width:0}.record-info strong{font-size:13px;font-weight:600}.record-info p{font-size:11px;color:#86917d;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-amount{text-align:right;flex-shrink:0}.record-amount strong{display:block;font-size:15px;font-weight:600}.badge{display:inline-block;padding:2px 8px;border-radius:5px;font-size:10px;background:#f8efd9;color:#a48032;margin-top:6px}.badge.paid{background:#edf3e5;color:#5c7d43}.empty{text-align:center;padding:45px 20px;color:#849078}.empty .symbol{font-size:32px;background:#f0f4e8;border-radius:20px;width:65px;height:65px;display:grid;place-items:center;margin:0 auto 15px;color:#8a9b70}.empty h3{color:#3c5038;font-size:14px;margin-bottom:8px}.empty p{font-size:12px;margin-bottom:18px}.assistant-row{padding:18px 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0e8}.assistant-row:last-child{border:0}.assistant-row .grow{flex:1}.assistant-row .grow strong{font-size:13px}.assistant-row small{font-size:11px;display:block}.assistant-row .total{text-align:right;font-size:13px}.assistant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.assistant-card{padding:24px;border:1px solid #e1e6db;background:#fff;border-radius:16px}.assistant-card header{display:flex;gap:12px;align-items:center}.assistant-card h3{font-size:16px}.assistant-card .metrics{display:flex;justify-content:space-between;border-top:1px solid #eef0e8;margin:20px 0 10px;padding-top:18px}.assistant-card .metrics strong{display:block;font-weight:500;font-size:19px}.assistant-card .metrics small{font-size:10px}.filter{display:flex;gap:12px;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid #edf0e8;background:#fcfdf9}.filter label{font-size:11px;color:#7c8971;min-width:120px;flex:1}.filter input,.filter select{display:block;margin-top:5px;font-size:12px;padding:8px;min-height:40px}.filter-summary{padding:14px 24px;font-size:12px;background:#f2f6eb;color:#5f7350}.helper{padding:22px;background:#edf1e3;border-radius:15px;font-size:12px;color:#6b7c5a}.helper strong{display:block;color:#3d5834;margin-bottom:8px}.mobile-nav{display:none}dialog{border:1px solid #dce3d5;border-radius:22px;padding:0;max-width:570px;width:calc(100% - 30px);max-height:90dvh;background:#fafbf7;color:#213b2c;box-shadow:0 20px 100px #132e3444}dialog::backdrop{background:#142d285e;backdrop-filter:blur(4px)}.dialog-head{position:sticky;top:0;background:#fafbf7;padding:22px 26px;border-bottom:1px solid #e5e9de;display:flex;justify-content:space-between;align-items:center;z-index:1}.dialog-head h2{font-size:21px}.close{border:0;background:#edf1e5;border-radius:50%;width:32px;height:32px;color:#687c5d;font-size:20px}.dialog-body{padding:24px 26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.amount-input{font-size:30px!important;font-weight:600}.upload-zone{border:1px dashed #a8ba98;padding:20px;border-radius:12px;text-align:center;background:#eff4e8;cursor:pointer;display:block;color:#456635}.upload-zone input{max-width:100%;font-size:12px;margin-top:12px}.upload-zone small{display:block;margin:8px 0;color:#7e8f6d;font-size:11px}.file-row{display:flex;align-items:center;justify-content:space-between;border:1px solid #e1e8d8;padding:9px 12px;border-radius:8px;margin-top:8px;gap:10px;font-size:12px}.file-row span,.file-row a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}.details-amount{text-align:center;padding:12px 0 25px;font-size:38px;font-weight:600}.details-list{display:grid;grid-template-columns:80px 1fr;gap:16px;font-size:13px;word-break:break-word}.details-list dt{color:#89967a}.details-list dd{margin:0;white-space:pre-wrap}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.receipt{background:#f0f4e7;border:1px solid #dce5d0;border-radius:12px;overflow:hidden;min-width:0}.receipt img{width:100%;height:150px;object-fit:cover;display:block}.receipt span{display:block;padding:10px;font-size:11px;overflow:hidden;text-overflow:ellipsis}.receipt .pdf{height:100px;display:grid;place-items:center;font-size:28px;color:#869674}.steps{padding-left:23px;color:#556c46;line-height:2.3;font-size:14px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-grid .panel{padding:26px}.settings-grid h3{margin-bottom:20px}.settings-grid .download-actions{flex-wrap:wrap}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#163c31;color:#fff;padding:12px 24px;border-radius:12px;box-shadow:0 4px 20px #123e3622;z-index:20;display:none;max-width:90vw;font-size:13px}#toast.show{display:block}#network{position:fixed;top:0;left:0;right:0;background:#f8e6b7;color:#7b6123;text-align:center;padding:8px;z-index:30;font-size:12px}
@media(min-width:1500px){.hero{padding:100px 0}.hero-art{min-height:450px}}
@media(max-width:1100px){.shell{padding-left:190px}.sidebar{width:190px;padding:26px 12px}.workspace{padding:28px 26px}.section-grid{grid-template-columns:1.4fr 1fr}.assistant-grid{grid-template-columns:repeat(2,1fr)}.hero{gap:30px}.hero h1{font-size:48px}.hero-art{min-height:390px}.download{flex-wrap:wrap}}
@media(max-width:760px){.landing{padding:0 22px}.topbar{height:78px}.topbar nav>a:not(.btn){display:none}.topbar .btn{padding:9px 14px;min-height:40px;font-size:12px}.brand{font-size:16px}.brand img{width:34px;height:34px}.hero{display:block;padding:40px 0 30px}.hero h1{font-size:44px;letter-spacing:-2px;margin:21px 0}.hero p{font-size:14px}.hero-actions{margin:24px 0 15px}.hero-art{min-height:310px;margin-top:30px;padding:25px;border-radius:23px}.ball{width:105px;height:105px;top:65px;left:70px}.ball span{width:54px;height:54px;font-size:42px}.mini-ball{right:55px;top:150px;width:40px;height:40px}.cue{height:310px;right:85px;top:-70px}.art-card{left:22px;right:22px;bottom:22px;padding:15px 18px}.art-card .big{font-size:25px}.art-card p{font-size:11px}.features{grid-template-columns:1fr;gap:24px;padding:25px 0}.feature p{margin-top:4px}.download{display:block;padding:24px 20px}.download h2{font-size:22px}.download-actions{margin-top:20px;gap:8px}.platform{min-width:0;flex:1;font-size:12px;padding:12px}.footer{font-size:9px}.login-page{display:block}.login-aside{padding:25px;background:#123e36}.login-aside>div:nth-child(2),.login-aside>small{display:none}.login-wrap{padding:50px 28px}.shell{padding:0 0 90px}.sidebar{display:none}.workspace{padding:20px 18px}.app-top{margin-bottom:25px;padding-bottom:17px}.page-title{margin-bottom:22px}.page-title h1{font-size:25px}.page-title p{font-size:11px;max-width:210px}.page-title .btn{font-size:12px;padding:11px 14px;white-space:nowrap}.stats{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:19px;border-radius:14px}.stat:first-child{grid-column:span 2}.stat:first-child strong{font-size:35px;margin:13px 0 8px}.stat strong{font-size:25px;margin:10px 0 5px}.stat p{font-size:10px}.stat label{font-size:11px}.section-grid{display:block}.panel-head{padding:18px}.panel-head h3{font-size:15px}.record{padding:18px 16px;gap:11px}.record-info p{font-size:10px}.record-amount strong{font-size:14px}.panel{border-radius:14px}.assistant-grid{grid-template-columns:1fr}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fafbf6ed;backdrop-filter:blur(16px);border-top:1px solid #dde5d2;padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:5}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:1px;color:#8c987e;font-size:10px;min-width:60px;padding:3px 0}.mobile-nav a span{font-size:20px}.mobile-nav a.active{color:#164e38;font-weight:700}.filter{padding:15px;gap:10px}.filter label{min-width:calc(50% - 10px)}.filter label:first-child{min-width:100%}.settings-grid{display:block}.settings-grid .panel{padding:22px}.form-grid{gap:0 12px}.dialog-head{padding:20px}.dialog-body{padding:20px}.dialog-actions .btn{flex:1;padding:12px 10px;font-size:12px}dialog{max-height:92dvh;border-radius:18px}#toast{bottom:95px}.helper{margin-bottom:20px}.empty{padding:35px 20px}}
.platform{flex-direction:column;align-items:flex-start;gap:4px;white-space:nowrap}.platform small{margin-top:0}.helper .download-actions{margin-top:15px;flex-wrap:wrap}.helper .platform{flex:1;min-width:120px}
