:root{--ink:#152820;--muted:#6f7c75;--paper:#f4f1e9;--card:#fffefa;--line:#dedfd8;--green:#176a4c;--green2:#dceadf;--orange:#d9783b;--red:#b54d45;--shadow:0 18px 50px rgba(23,44,34,.1);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.eyebrow{margin:0 0 8px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.16em}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(380px,.65fr);background:#17372b}.login-brand{padding:9vh 8vw;display:flex;flex-direction:column;justify-content:center;color:white;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:600px;height:600px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-250px;bottom:-280px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02)}.brand-mark{width:54px;height:54px;border-radius:16px;background:#e8a468;color:#18392c;display:grid;place-items:center;font-family:serif;font-weight:800;font-size:28px;margin-bottom:64px}.login-brand .eyebrow{color:#e8a468}.login-brand h1{font-family:"STSong",serif;font-size:clamp(42px,5vw,72px);line-height:1.16;margin:0 0 26px;font-weight:600}.login-brand>p:not(.eyebrow){color:#bed0c7;max-width:580px;font-size:17px;line-height:1.8}.route-line{display:flex;align-items:center;gap:13px;margin-top:70px;color:#dce9e3;font-size:13px}.route-line i{width:45px;height:1px;background:#587568}.login-card{background:var(--card);padding:10vh 7vw;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:30px;margin:0 0 38px}.login-card form{display:grid;gap:21px}.login-card label,.field{display:grid;gap:8px;font-size:13px;font-weight:700}.login-card input,.field input,.field select,.field textarea,.search{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:13px 14px;outline:none}.login-card input:focus,.field input:focus,.field select:focus,.field textarea:focus,.search:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,106,76,.09)}.primary{border:0;background:var(--green);color:#fff;padding:14px 18px;border-radius:10px;font-weight:750;display:flex;align-items:center;justify-content:space-between}.primary:hover{background:#0f573d}.login-card small{color:var(--muted);margin-top:60px}.form-error{color:var(--red);font-size:13px;min-height:18px;margin:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#17372b;color:#fff;padding:28px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.logo{display:flex;gap:12px;align-items:center;padding:0 8px 34px}.brand-mark.small{width:38px;height:38px;font-size:19px;border-radius:11px;margin:0}.logo strong,.logo span{display:block}.logo span{font-size:10px;color:#91aa9e;margin-top:4px;letter-spacing:.08em}.sidebar nav{display:grid;gap:7px}.sidebar nav button{border:0;background:transparent;color:#b8cbc2;text-align:left;padding:13px 16px;border-radius:9px;font-weight:650}.sidebar nav button span{display:inline-block;width:28px}.sidebar nav button:hover,.sidebar nav button.active{background:#28503f;color:white}.sidebar-foot{margin-top:auto;border-top:1px solid #365647;padding:20px 6px 0;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}.user-avatar{width:38px;height:38px;border-radius:50%;background:#e8a468;color:#17372b;display:grid;place-items:center;font-weight:800}.sidebar-foot strong,.sidebar-foot span{display:block;font-size:12px}.sidebar-foot span{color:#8da79a;margin-top:3px;font-size:10px}.sidebar-foot button{background:none;border:0;color:#9ab0a5;font-size:18px}main{padding:34px clamp(24px,4vw,60px);min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.topbar h1{font-family:"STSong",serif;font-size:30px;margin:0}.compact{padding:11px 17px;display:block}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.metric{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:21px}.metric label{color:var(--muted);font-size:12px}.metric strong{font-size:27px;display:block;margin-top:12px}.metric em{font-style:normal;color:var(--green);font-size:11px}.metric.orange strong{color:var(--orange)}.panel{background:var(--card);border:1px solid var(--line);border-radius:15px;overflow:hidden;margin-bottom:22px}.panel-head{padding:19px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-head h2{font-size:16px;margin:0}.panel-body{padding:22px}.toolbar{display:flex;gap:12px;margin-bottom:18px}.search{max-width:360px}.ghost{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:9px;color:var(--ink)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-size:11px;padding:12px;border-bottom:1px solid var(--line)}td{padding:15px 12px;border-bottom:1px solid #ecece7}tbody tr{cursor:pointer}tbody tr:hover{background:#f7f8f3}.tag{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;background:var(--green2);color:var(--green)}.tag.created{background:#e7e8e3;color:#58615c}.tag.declaring{background:#fff0d9;color:#a45c1c}.tag.completed{background:#dceadf;color:#176a4c}.tag.cancelled{background:#f4dfdd;color:#9d453f}.amount{font-variant-numeric:tabular-nums;font-weight:700}.muted{color:var(--muted)}.empty{text-align:center;padding:55px;color:var(--muted)}.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:22px}.modal-backdrop{position:absolute;inset:0;background:rgba(11,26,20,.55);backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(760px,100%);max-height:90vh;overflow:auto;background:var(--card);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.modal-close{position:absolute;right:18px;top:16px;border:0;background:transparent;font-size:27px;color:var(--muted)}.modal-card h2{font-family:"STSong",serif;margin:0 0 7px;font-size:27px}.modal-card .intro{color:var(--muted);font-size:13px;margin:0 0 25px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.detail-head{display:flex;justify-content:space-between;gap:20px;padding-right:35px}.detail-head h2{margin-bottom:6px}.snapshot{background:#edf3ee;border-radius:12px;padding:14px 16px;font-size:12px;line-height:1.7;margin:18px 0}.detail-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:18px 0}.detail-metrics div{padding:12px;background:#f4f4ef;border-radius:10px}.detail-metrics span,.detail-metrics strong{display:block}.detail-metrics span{font-size:10px;color:var(--muted);margin-bottom:5px}.detail-tabs{display:flex;border-bottom:1px solid var(--line);margin:20px -28px 0;padding:0 28px}.detail-tabs button{border:0;background:transparent;padding:13px 16px;color:var(--muted);font-size:12px;font-weight:700}.detail-tabs button.active{color:var(--green);border-bottom:2px solid var(--green)}.detail-content{padding-top:20px}.inline-form{display:grid;grid-template-columns:1.2fr .8fr 1.2fr auto;gap:8px;margin-bottom:15px}.inline-form input,.inline-form select{border:1px solid var(--line);padding:9px;border-radius:8px;min-width:0}.mini-list{display:grid;gap:8px}.mini-row{display:grid;grid-template-columns:1fr auto;gap:10px;background:#f6f6f1;border-radius:9px;padding:11px 13px;font-size:12px}.toast{position:fixed;right:24px;bottom:24px;background:#17372b;color:#fff;padding:13px 18px;border-radius:10px;box-shadow:var(--shadow);transform:translateY(90px);opacity:0;transition:.25s;z-index:50;font-size:13px}.toast.show{transform:none;opacity:1}@media(max-width:950px){.metrics{grid-template-columns:repeat(2,1fr)}.detail-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-card{min-height:100vh;padding:12vw}.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:fixed;z-index:10;bottom:0;top:auto;width:100%;padding:8px}.logo,.sidebar-foot{display:none}.sidebar nav{grid-template-columns:repeat(3,1fr)}.sidebar nav button{text-align:center;padding:10px;font-size:11px}.sidebar nav button span{display:block;width:auto;font-size:17px;margin-bottom:3px}main{padding:24px 15px 90px}.topbar{align-items:flex-end}.metrics{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:15px}.metric strong{font-size:21px}.panel{overflow:auto}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.inline-form{grid-template-columns:1fr 1fr}.detail-metrics{grid-template-columns:1fr 1fr}.modal-card{padding:22px}.detail-tabs{margin-left:-22px;margin-right:-22px;padding:0 12px;overflow:auto}}
