.role-pill{color:#a9d3c0;text-align:center;border:1px solid #72a18d55;border-radius:8px;margin:18px 8px 0;padding:9px;font-size:10px}.user{cursor:pointer;background:0 0;border:0}.login-page{background:#fff;grid-template-columns:1.08fr .92fr;min-height:100vh;display:grid}.login-visual{color:#fff;background:radial-gradient(circle at 20% 30%,#267657,#0f3f30 65%);flex-direction:column;justify-content:center;padding:8vh 8vw;display:flex;position:relative;overflow:hidden}.login-visual:after{content:"";border:1px solid #ffffff18;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-200px;right:-180px;box-shadow:0 0 0 80px #ffffff08,0 0 0 160px #ffffff05}.login-visual>img{object-fit:cover;border-radius:16px;width:64px;height:64px;position:absolute;top:42px;left:54px}.login-visual span,.eyebrow{letter-spacing:.3em;color:#9bcab6;font-size:10px}.login-visual h1{letter-spacing:.08em;margin:18px 0;font-size:44px;line-height:1.35}.login-visual p{color:#b9d7ca;font-size:14px}.login-visual small{color:#78a993;position:absolute;bottom:34px;left:54px}.login-panel{place-items:center;padding:40px;display:grid}.login-panel form{width:min(390px,100%)}.login-panel h2{margin:10px 0 6px;font-size:30px}.login-panel form>p{color:#87958d;margin:0 0 30px;font-size:13px}.login-panel label{flex-direction:column;gap:8px;margin:16px 0;font-size:12px;font-weight:700;display:flex}.login-panel input{font:inherit;border:1px solid #dce5df;border-radius:10px;outline:none;padding:14px 15px}.login-btn{color:#fff;cursor:pointer;background:#14523c;border:0;border-radius:10px;width:100%;padding:14px;font-weight:700}.login-error{color:#b44931;background:#fff2ee;border-radius:8px;padding:10px;font-size:11px}.demo-box{background:#f3f7f4;border-radius:10px;flex-direction:column;gap:7px;margin:22px 0;padding:14px;display:flex}.demo-box b{font-size:11px}.demo-box button{text-align:left;color:#267454;cursor:pointer;background:0 0;border:0;font-size:11px}.login-panel form>small{text-align:center;color:#a0aaa4;font-size:9px;display:block}.mobile-logo{display:none}.data-card{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:20px;padding:24px}.data-title{justify-content:space-between;align-items:center;display:flex}.data-title span{letter-spacing:.15em;color:#829087;font-size:9px}.data-title h2{margin:7px 0;font-size:20px}.data-title p{color:#8c9992;margin:0;font-size:11px}.data-title>button{color:#fff;background:#16533d;border:0;border-radius:8px;padding:10px 13px;font-size:11px}.readonly{color:#2c684f;background:#edf4f0;border-radius:20px;padding:8px 11px;font-size:10px}.filters{gap:9px;margin:22px 0 14px;display:flex}.filters input{border:1px solid var(--line);border-radius:8px;flex:1;max-width:320px;padding:10px}.filters button{border:1px solid var(--line);color:#68776f;background:#fff;border-radius:8px;padding:0 12px}.table-wrap{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th{text-align:left;color:#718078;background:#f6f8f7;padding:12px;font-size:10px}td{border-bottom:1px solid #edf1ee;padding:15px 12px;font-size:11px}.tag{color:#1c754c;background:#e8f5ed;border-radius:12px;padding:5px 8px;font-size:9px}.table-foot{color:#99a49e;justify-content:space-between;padding-top:16px;font-size:9px;display:flex}.audit-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.audit-stats article{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:7px;padding:18px;display:flex}.audit-stats span{color:#7a8981;font-size:10px}.audit-stats b{font-size:23px}.audit-stats b.safe{color:#1b8c5e}.audit-stats small{color:#9aa59f;font-size:9px}.user-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px;display:grid}.user-grid article{border:1px solid var(--line);border-radius:10px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.user-grid i{color:#236347;background:#e3f1e9;border-radius:50%;place-items:center;width:32px;height:32px;font-style:normal;display:grid}.user-grid div{flex-direction:column;gap:4px;display:flex}.user-grid b{font-size:11px}.user-grid span{color:#8a9890;font-size:9px}.user-grid em{color:#6f7c75;background:#eff3f0;border-radius:10px;padding:5px 7px;font-size:9px;font-style:normal}.user-grid em.admin{color:#16613f;background:#e4f2e9}@media (max-width:760px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.mobile-logo{display:block}.mobile-logo img{object-fit:cover;border-radius:15px;width:62px;height:62px}.audit-stats{grid-template-columns:1fr 1fr}.user-grid{grid-template-columns:1fr}}
body{background-color:#0000;background-image:radial-gradient(circle at 85% 0,#dce8dc 0,#0000 32%),linear-gradient(135deg,#edf2e8,#f0eadc);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.workspace{background:linear-gradient(150deg,#eef3ebcc,#eee8dacc)}.workspace>header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#eef3e9e8;border-color:#cfd9cf}.sidebar{background:linear-gradient(175deg,#0d3529,#174b39 65%,#263c2d)}.brand img{aspect-ratio:auto;object-fit:contain;background:0 0;border-radius:0;width:58px;height:auto}.brand{padding-left:2px}.brand strong{color:#f1e8c8}.content:before{content:"茶 · 山场 · 时节 · 匠心";color:#718273;letter-spacing:.35em;margin-bottom:14px;font-size:9px;display:block}.metrics article,.chart-card,.activity,.data-card,.audit-stats article{background:linear-gradient(145deg,#f6f7f0e8,#e7eee5e8);border-color:#cad7ca;box-shadow:0 10px 26px #153b2610}.welcome{background:linear-gradient(90deg,#082f26ed 5%,#154433d5 48%,#173f2a2b),url(/tea-hero.png) 100%/cover no-repeat;border:1px solid #bea96b55;min-height:196px;position:relative;overflow:hidden;box-shadow:0 16px 38px #123b282c}.welcome:after{content:"味养元";color:#f4df9a99;letter-spacing:.5em;font-family:serif;font-size:13px;position:absolute;top:22px;right:28px}.welcome h2{color:#fff5d4;font-family:Songti SC,STSong,serif;font-size:29px}.welcome>div:first-child{z-index:1;position:relative}.fresh-update{color:#cce9d8;background:#dff4e81c;border:1px solid #d7e9de38;border-radius:18px;margin-top:13px;padding:7px 10px;font-size:10px;display:inline-block}.activity-row>i{color:#7a6534;background:#e2ebdf;font-family:Songti SC,serif}.metric-icon{color:#315c3f;background:#dce9dc}.chart-card,.activity{min-height:330px}.bars i{background:linear-gradient(#b88c45,#6e4d26)}.bars b{background:#a9c4a7}.header-actions{align-items:center;gap:18px;display:flex}.import-btn{color:#fff8df;cursor:pointer;background:linear-gradient(135deg,#1d5b42,#0f4532);border:1px solid #b69a5e;border-radius:9px;padding:10px 14px;font-size:11px;box-shadow:0 6px 15px #173f2920}.imported-note{color:#286149;background:#e4f0e4;border-left:3px solid #38805b;margin-top:16px;padding:10px 12px;font-size:10px}.modal-bg{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:50;background:#09271fc7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.import-modal{background:linear-gradient(145deg,#f2f3e8,#dfe9de);border:1px solid #d0c18d;border-radius:20px;width:min(560px,100%);padding:30px;box-shadow:0 30px 80px #0006}.success-icon{color:#fff;background:#1b6346;border-radius:50%;place-items:center;width:46px;height:46px;font-size:22px;display:grid}.import-modal>span{color:#297153;letter-spacing:.15em;margin-top:14px;font-size:10px;display:block}.import-modal h2{margin:7px 0 5px;font-size:20px}.import-modal>p{color:#738077;font-size:11px;line-height:1.7}.classify-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin:20px 0;display:grid}.classify-grid article{text-align:center;background:#f8f8f0;border:1px solid #d7dfd5;border-radius:10px;flex-direction:column;gap:5px;padding:14px 9px;display:flex}.classify-grid b{color:#1d5b42;font-size:21px}.classify-grid span{color:#7e8a81;font-size:9px}.detect-row{background:#e1e9df;border-radius:9px;justify-content:space-between;padding:12px;font-size:11px;display:flex}.modal-actions{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.modal-actions button{cursor:pointer;background:0 0;border:1px solid #b8c6ba;border-radius:8px;padding:10px 14px}.modal-actions button:last-child{color:#fff;background:#174f39;border-color:#174f39}.import-modal small{color:#8f9992;margin-top:14px;font-size:9px;display:block}.login-page{background:linear-gradient(130deg,#e9eee5,#e7dfcf)}.login-visual{background:linear-gradient(90deg,#0a3028ed,#123d2c9c),url(/tea-hero.png) 50%/cover no-repeat}.login-visual>img{object-fit:contain;width:122px;height:auto;box-shadow:none;background:0 0;border-radius:0}.login-panel form{background:#edf2e9cc;border:1px solid #cad5c8;border-radius:18px;padding:32px;box-shadow:0 18px 46px #264b3420}.login-panel input{background:#f5f4eccc}.demo-box{background:#dfe8dd}.login-btn{background:linear-gradient(135deg,#1b6246,#113e2e)}@media (max-width:760px){.header-actions{gap:7px}.import-btn{padding:10px;font-size:0}.import-btn:after{content:"⇧ 导入";font-size:10px}.welcome{background-position:68%;min-height:230px}.classify-grid{grid-template-columns:1fr 1fr}.brand img{width:52px}}
:root{--green:#15543d;--muted:#718078;--line:#e5ebe7;--bg:#f4f7f5}*{box-sizing:border-box}body{background:var(--bg);color:#17231e;margin:0;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;background:#113d30;flex-direction:column;width:248px;padding:28px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:0 8px 26px;display:flex}.brand img{object-fit:cover;border-radius:13px;width:46px;height:46px}.brand div{flex-direction:column;gap:3px;display:flex}.brand strong{letter-spacing:.08em;font-size:17px}.brand span{color:#bad2c7;letter-spacing:.14em;font-size:11px}.sidebar nav{flex-direction:column;gap:7px;margin-top:26px;display:flex}.sidebar nav button{color:#bdd1c8;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:13px 14px;font-size:14px}.sidebar nav button span{width:30px;font-size:17px;display:inline-block}.sidebar nav button.active{color:#164c39;background:#fff;font-weight:700}.security-note{background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:6px;margin-top:auto;padding:15px;display:flex}.security-note b{font-size:12px}.security-note span{color:#9fc2b3;font-size:10px}.workspace{flex:1;min-width:0;margin-left:248px}.workspace>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:88px;padding:0 36px;display:flex}.workspace header p{color:#91a098;margin:0 0 5px;font-size:11px}.workspace header h1{margin:0;font-size:22px}.user{align-items:center;gap:11px;display:flex}.avatar{color:#14553c;background:#d9eee2;border-radius:50%;place-items:center;width:39px;height:39px;font-weight:800;display:grid}.user div:nth-child(2){flex-direction:column;gap:2px;display:flex}.user b{font-size:12px}.user span{color:#8a9890;font-size:10px}.user i{color:#8b9991;margin-left:8px;font-style:normal}.content{padding:30px 36px}.welcome{color:#fff;background:linear-gradient(110deg,#174e3b,#0f6c4a);border-radius:16px;justify-content:space-between;align-items:center;padding:24px 28px;display:flex;box-shadow:0 12px 30px #15543d18}.welcome span{letter-spacing:.2em;color:#a9d3c0;font-size:10px}.welcome h2{margin:8px 0 4px;font-size:24px}.welcome p{color:#c5ded3;margin:0;font-size:12px}.status{background:#ffffff14;border:1px solid #ffffff20;border-radius:20px;padding:9px 12px;font-size:11px}.status i{background:#6dde9d;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.metrics{grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0;display:grid}.metrics article,.chart-card,.activity{border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px}.metric-icon{float:right;color:#176240;background:#e8f4ed;border-radius:9px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.metric-icon.expense{color:#bb6431;background:#fff2ea}.metric-icon.asset{color:#5962a3;background:#eef0fa}.metrics p{color:#7a8981;margin:2px 0 12px;font-size:11px}.metrics h3{margin:0 0 9px;font-size:21px}.metrics span{color:#139260;font-size:10px}.metrics span.down{color:#c56b42}.metrics em{color:#a0aaa4;font-style:normal}.grid{grid-template-columns:1.5fr 1fr;gap:16px;display:grid}.card-head{justify-content:space-between;align-items:start;display:flex}.card-head h3{margin:0 0 5px;font-size:15px}.card-head p{color:#8b9891;margin:0;font-size:10px}.card-head button{border:1px solid var(--line);color:#627269;background:#fff;border-radius:7px;padding:7px 9px;font-size:10px}.chart{height:230px;margin-top:22px;display:flex}.axis{color:#a4afa9;flex-direction:column;justify-content:space-between;width:40px;padding-bottom:24px;font-size:9px;display:flex}.bars{border-bottom:1px solid var(--line);background:repeating-linear-gradient(#fff 0 44px,#eef2ef 45px);flex:1;align-items:flex-end;gap:6%;padding:0 12px;display:flex}.bars>div{flex:1;align-items:flex-end;gap:5px;height:100%;padding-bottom:22px;display:flex;position:relative}.bars i,.bars b{background:#1b6548;border-radius:5px 5px 0 0;width:44%;display:block}.bars b{background:#acd5bf}.bars span{text-align:center;color:#87958d;width:100%;font-size:9px;position:absolute;bottom:2px}.activity{padding-bottom:7px}.activity-row{border-bottom:1px solid #edf1ee;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:16px 0;display:grid}.activity-row:last-child{border-bottom:0}.activity-row>i{color:#236347;background:#edf5f0;border-radius:9px;place-items:center;width:32px;height:32px;font-style:normal;display:grid}.activity-row div{flex-direction:column;gap:4px;display:flex}.activity-row b{font-size:11px}.activity-row span,.activity-row time{color:#8c9992;font-size:9px}.watermark{pointer-events:none;z-index:20;color:#183e3020;letter-spacing:.1em;text-shadow:-320px -180px,320px -180px,-320px 180px,320px 180px;place-items:center;font-size:17px;font-weight:700;display:grid;position:fixed;inset:0;transform:rotate(-24deg)}@media (max-width:950px){.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.sidebar{width:205px}.workspace{margin-left:205px}}@media (max-width:700px){.sidebar{width:100%;min-height:auto;position:static}.app-shell{display:block}.sidebar nav{grid-template-columns:repeat(3,1fr);display:grid}.security-note{display:none}.workspace{margin-left:0}.workspace>header,.content{padding-left:18px;padding-right:18px}.metrics{grid-template-columns:1fr 1fr}.user span,.status{display:none}}@media (max-width:460px){.metrics{grid-template-columns:1fr}.sidebar nav button{padding:10px 6px;font-size:11px}.grid{display:block}.activity{margin-top:16px}}
