:root{--ink:#24362f;--muted:#7b8982;--green:#17745e;--green-dark:#105844;--soft:#e9f3ee;--line:#e5ebe6;--bg:#f7f9f6;--white:#fff;--amber:#946523;--radius:16px;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
.topbar-actions{display:flex;align-items:center;gap:13px}.topbar-actions .mobile-only{display:none}.form-grid>*{min-width:0}
.setting-checkbox{display:flex!important;gap:9px;align-items:center}.setting-checkbox input{width:auto;margin:0}#allowance-policy-note{margin:-8px 0 18px;line-height:1.8}#allowance-summary{overflow-wrap:anywhere}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,[role=button]{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{text-decoration:none;color:inherit}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}h1,h2,h3,p{margin-top:0}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid #8dc6ae;outline-offset:4px}
.app-shell{display:flex;min-height:100vh}.sidebar{width:234px;flex:0 0 234px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:32px 22px 23px;background:#fff;border-right:1px solid var(--line)}.brand,.login-brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:730;letter-spacing:-.8px}.brand-icon{display:grid;place-items:center;width:42px;height:44px;border-radius:12px;background:var(--green);color:#fff}.brand-icon svg{width:25px;height:25px}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:450;letter-spacing:1.1px;margin-top:4px}.nav-label{margin:55px 12px 16px;color:#a0aba5;font-size:10px;letter-spacing:1.5px}.nav-link{display:flex;align-items:center;gap:12px;padding:14px 15px;font-size:13px;border-radius:10px;margin-bottom:8px;color:#6a7770;transition:.15s}.nav-link.active{background:var(--soft);color:var(--green);font-weight:650}.nav-link:hover{background:#f0f5f1}.nav-link>span{margin-left:auto;font-size:21px;font-weight:400}.sidebar-bottom{margin-top:auto}.privacy-note{display:flex;gap:10px;align-items:center;padding:16px 9px;margin-bottom:17px;border-bottom:1px solid var(--line);font-size:11px;color:#586d60}.privacy-note svg{width:18px}.privacy-note small{display:block;font-size:9px;color:#96a29b;margin-top:4px}.text-button{border:0;background:none;color:#718178;font-size:12px;padding:10px 0;display:inline-flex;gap:20px;align-items:center}.text-button:hover{color:var(--green)}#logout{padding-left:11px}
main{margin-left:234px;width:calc(100% - 234px)}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 48px;background:#ffffffa8;font-size:12px}.breadcrumb{color:#8a978f}.slash{padding:0 16px;color:#c5cdc8}.internal-badge{display:flex;align-items:center;gap:7px;border:1px solid #e0e9e2;border-radius:20px;padding:7px 12px;font-size:10px;color:#63816d}.internal-badge i{height:5px;width:5px;background:#5b9a70;border-radius:50%}.main-content{max-width:1215px;margin:0 auto;padding:43px 48px 25px}.eyebrow{font-size:9px;letter-spacing:2.1px;color:#829588;font-weight:700}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:33px}.page-intro h1{font-size:31px;font-weight:650;letter-spacing:-1.1px;margin:12px 0}.page-intro h1 span{color:var(--green)}.page-intro p{font-size:12px;color:#859087;line-height:1.8;margin:0}.intro-stamp{display:flex;align-items:center;gap:11px;font-size:10px;color:#84958a;line-height:1.9}.intro-stamp>svg{width:42px;height:42px;padding:11px;border:1px solid #dce8dd;border-radius:50%;color:#609775;transform:rotate(-8deg)}.intro-stamp strong{font-weight:500;color:#61816c;font-size:11px}
.steps{display:flex;list-style:none;padding:0;margin:0 0 28px;width:100%;background:#eef2ed;border-radius:13px;padding:20px 25px}.steps li{display:flex;align-items:center;gap:11px;font-size:12px;flex:1;position:relative;color:#99a49a}.steps li:not(:last-child):after{content:"";height:1px;width:27%;background:#d9e1d8;position:absolute;right:15%}.steps li>span{background:#e0e6de;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;font-size:11px}.steps small{display:block;font-size:9px;margin-top:4px;opacity:.85}.steps li.active{color:var(--green)}.steps li.active>span{background:var(--green);color:white}.steps li.done>span{background:#d1e7da;color:var(--green)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 12px #21352a03}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.card-title h2{font-size:15px;font-weight:620;margin:0}.card-title>span{font-size:10px;color:#9aa59e}.upload-card{padding:27px 30px 0}.drop-zone{border:1.5px dashed #cad8cb;border-radius:12px;background:linear-gradient(130deg,#f8fbf7,#fcfdfb);text-align:center;padding:32px 20px 28px;cursor:pointer;transition:.18s}.drop-zone:hover,.drop-zone.dragging{background:#edf6ef;border-color:var(--green)}.upload-icon{background:#e9f2e9;display:grid;place-items:center;width:53px;height:53px;border-radius:15px;margin:0 auto 19px;color:#568967}.upload-icon svg{width:24px;height:24px}.drop-zone h3{font-size:15px;font-weight:550;margin-bottom:10px}.drop-zone p{font-size:11px;color:#94a095;margin-bottom:8px}.file-limit{display:block;font-size:9px;color:#a2aaa0;margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:1px solid transparent;border-radius:8px;padding:12px 19px;font-size:12px;font-weight:600;line-height:1.4;transition:.15s}.button svg{width:16px;height:16px}.primary{background:var(--green);color:white;box-shadow:0 3px 6px #15614a0c}.primary:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.secondary{background:white;border-color:#dce6dc;color:#4c6e54}.secondary:hover{background:#f6faf5}.drop-zone .button{padding:10px 24px;font-size:11px}.upload-bottom{padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.upload-bottom>p{font-size:10px;color:#97a198;display:flex;gap:7px;align-items:center;margin:0}.upload-bottom>p svg{width:13px;height:13px}
.file-list:not(:empty){margin-top:15px}.file-row{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #eff2ed}.file-row>svg{color:#729579}.file-info{min-width:0;flex:1}.file-info strong{display:block;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-info small{display:block;margin-top:3px;color:#a2aaa3;font-size:9px}.remove-file{border:0;background:#f4f7f2;color:#809283;width:27px;height:27px;border-radius:7px;font-size:16px}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px;margin:32px 0}.help-grid>div{padding:0 4px}.help-number{display:inline-block;font-size:9px;letter-spacing:1px;color:#779580;border:1px solid #dfe7dc;border-radius:5px;padding:4px 6px;margin-bottom:14px}.help-grid h3{font-size:12px;font-weight:570;margin-bottom:8px}.help-grid p{font-size:10px;line-height:1.85;color:#95a092;max-width:245px;margin:0}footer{border-top:1px solid var(--line);padding-top:21px;font-size:9px;color:#a0a99e;display:flex;justify-content:space-between;gap:15px}.notice{display:flex;gap:12px;padding:17px 18px;border:1px solid #e7ece4;border-radius:10px;font-size:12px;margin-bottom:20px;background:#f4f8f2;line-height:1.7}.notice p{font-size:11px;margin:3px 0 0}.warning{background:#fffbf1;border-color:#f0e5c5;color:var(--amber)}.notice svg{width:19px;height:19px;margin-top:2px}.muted{color:var(--muted);font-size:11px;margin:8px 0 0}.inline-error{color:#a64135;font-size:12px;margin:12px 0;line-height:1.6}
.progress-card{padding:48px 25px;text-align:center;min-height:330px}.spinner{width:40px;height:40px;border:3px solid #e7f0e8;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 25px}.progress-card h2{font-size:21px;margin:12px 0}.progress-card p{color:var(--muted);font-size:12px;line-height:1.9}.progress-card>small{font-size:10px;color:#99a69b}.progress-track{height:4px;background:#edf3ec;border-radius:6px;max-width:350px;margin:24px auto}.progress-track>div{height:100%;width:4%;background:var(--green);border-radius:6px;transition:width .5s}.result-card{padding:28px}.result-heading{display:flex;gap:16px;align-items:center}.success-icon{display:grid;place-items:center;background:#eaf5ed;color:var(--green);width:50px;height:50px;border-radius:50%;flex-shrink:0}.result-heading h2{font-size:22px;margin:8px 0}.result-heading p{font-size:11px;color:var(--muted);margin:0;line-height:1.7}.result-stats{display:grid;grid-template-columns:1.4fr 1fr 1fr;border:1px solid var(--line);border-radius:12px;padding:20px;margin:26px 0;gap:16px}.result-stats>div{display:flex;flex-direction:column;gap:9px}.result-stats>div:not(:first-child){border-left:1px solid var(--line);padding-left:22px}.result-stats span{font-size:10px;color:var(--muted)}.result-stats strong{font-size:23px;font-weight:600;letter-spacing:-.5px}.result-stats>div:first-child strong{color:var(--green)}.result-stats small{font-size:12px;font-weight:400}.notices{font-size:11px;color:#8d7649;line-height:1.8}.notices ul{padding-left:18px;margin-bottom:22px}.result-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.result-actions .text-button{margin-left:auto}.edit-card{margin-top:20px;padding:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label,.settings-card label{font-size:11px;display:block;color:#627566}.span-2{grid-column:span 2}input,select{display:block;width:100%;padding:11px 12px;border:1px solid #dde5dc;border-radius:7px;background:white;outline:none;font-size:13px;color:#304736;margin-top:9px}input:focus,select:focus{border-color:#77ad8b;box-shadow:0 0 0 3px #77ad8b15}input::placeholder{color:#a5afa4;font-size:11px}.detail-heading{font-size:13px;margin:29px 0 13px}.receipt-edit{border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:12px}.receipt-edit-title{font-size:11px;word-break:break-all;color:#718273;display:flex;gap:9px;align-items:center;margin-bottom:12px}.receipt-edit .form-grid{grid-template-columns:repeat(3,1fr);gap:12px}.receipt-edit label{font-size:10px;color:#7f8d80}.receipt-edit .check-label{display:flex;align-items:center;gap:8px;margin-top:13px;font-size:11px;color:#785f2a}.check-label input{width:auto;margin:0}.edit-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.edit-actions>span{font-size:10px;color:#9aa398}.error-card{padding:30px;border-color:#f0ddd7}.error-card h2{font-size:18px}.error-card p{font-size:13px;color:#98574b;line-height:1.9}.history-list{padding:12px 25px}.history-row{display:flex;gap:20px;align-items:center;padding:21px 0;border-bottom:1px solid var(--line)}.history-row:last-child{border:0}.history-row>div{flex:1}.history-row strong{font-size:13px;font-weight:550}.history-row small{display:block;margin-top:7px;font-size:10px;color:var(--muted)}.history-status{font-size:10px;padding:5px 9px;border-radius:15px;background:#eef5ec;color:#62816a}.empty-state{padding:55px 20px;text-align:center;color:var(--muted);font-size:13px}.settings-card{max-width:630px;padding:30px}.settings-card label{margin-bottom:22px}.model-note{background:#f5f8f3;border-radius:10px;padding:20px;margin:24px 0}.model-note span{display:block;font-size:10px;color:#97a48e;margin-bottom:9px}.model-note strong{font-size:13px;font-weight:550}.model-note p{font-size:11px;color:#82927b;line-height:1.8;margin:12px 0 0}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#263d30;color:#fff;z-index:100;padding:14px 22px;border-radius:10px;box-shadow:0 7px 30px #18322030;font-size:12px;max-width:90vw;line-height:1.7}.login-screen{min-height:100vh;background:radial-gradient(ellipse at 20% 10%,#e2eee2,transparent 55%),radial-gradient(ellipse at 85% 80%,#e7eee2,transparent 50%),#f7f9f5;display:flex;flex-direction:column;align-items:center;padding:50px 24px}.login-brand{align-self:flex-start;margin-left:3vw;font-size:22px}.login-card{width:100%;max-width:415px;margin:65px 0 35px}.login-card h1{font-size:38px;font-weight:620;line-height:1.5;letter-spacing:-1.3px;margin:16px 0 20px}.login-card>p{font-size:13px;line-height:2;color:#8a9889;margin-bottom:35px}.login-card label{font-size:12px;font-weight:550}.login-card input{background:#ffffffa0;margin:10px 0 17px;padding:15px}.wide{width:100%}.login-foot{display:flex;align-items:center;justify-content:center;gap:7px;color:#99a796;font-size:10px;margin-top:20px}.login-foot svg{width:13px;height:13px}.login-note{margin-top:auto;font-size:10px;color:#a6b09f;letter-spacing:1px}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1600px){.main-content{padding-top:55px}.drop-zone{padding:46px 20px}.page-intro{margin-bottom:40px}}
@media(max-width:1100px){.sidebar{width:200px;flex-basis:200px;padding:28px 18px}.brand{font-size:20px}main{margin-left:200px;width:calc(100% - 200px)}.main-content{padding:35px 28px}.topbar{padding:0 28px}.intro-stamp{display:none}.steps li:not(:last-child):after{right:8%;width:20%}.steps{padding:18px}.upload-card{padding:24px 24px 0}}
@media(max-width:720px){.sidebar{position:static;width:100%;height:73px;flex-basis:auto;flex-direction:row;align-items:center;padding:14px 20px;border-right:0;border-bottom:1px solid var(--line)}.app-shell{display:block}.brand{gap:9px;font-size:21px;flex-shrink:0}.brand-icon{width:35px;height:38px;border-radius:10px}.brand small{font-size:8px}.sidebar .nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;margin-left:auto;gap:5px}.nav-link{font-size:10px;margin:0;padding:9px;gap:5px;white-space:nowrap}.nav-link svg{width:15px;height:15px}.nav-link>span{display:none}main{margin:0;width:100%}.topbar{height:49px;padding:0 22px;font-size:10px}.internal-badge{font-size:8px;padding:5px 8px}.main-content{padding:29px 20px 24px}.page-intro{margin-bottom:25px}.page-intro h1{font-size:27px;letter-spacing:-1px;line-height:1.4}.page-intro p{font-size:11px}.eyebrow{font-size:8px;letter-spacing:1.5px}.steps{padding:15px 12px;margin-bottom:20px;gap:6px}.steps li{gap:7px;font-size:10px}.steps li>span{width:22px;height:22px;flex-shrink:0;font-size:9px}.steps small{font-size:7px;white-space:nowrap}.steps li:not(:last-child):after{display:none}.upload-card{padding:20px 17px 0;border-radius:13px}.card-title{margin-bottom:17px}.card-title h2{font-size:13px}.card-title>span{font-size:9px}.drop-zone{padding:28px 10px 24px}.drop-zone h3{font-size:13px;line-height:1.7}.drop-zone p{font-size:9px;line-height:1.8}.upload-bottom{flex-direction:column-reverse;gap:14px;padding:19px 0}.upload-bottom .button{width:100%;padding:14px}.upload-bottom>p{font-size:9px}.help-grid{gap:15px;margin:26px 0}.help-grid h3{font-size:10px}.help-grid p{font-size:9px}.help-number{margin-bottom:11px;font-size:8px}footer{font-size:8px;line-height:1.8}footer>span{display:none}.result-card,.edit-card{padding:21px 17px}.result-heading h2{font-size:20px}.result-stats{padding:16px 12px;gap:9px}.result-stats>div:not(:first-child){padding-left:10px}.result-stats strong{font-size:18px}.result-stats>div:first-child strong{font-size:21px}.result-actions .button{width:100%}.result-actions .text-button{margin:auto}.form-grid{gap:14px}.receipt-edit .form-grid{grid-template-columns:1fr 1fr}.edit-actions{flex-direction:column;align-items:stretch}.progress-card{padding:35px 20px}.history-list{padding:6px 17px}.history-row{gap:10px;flex-wrap:wrap}.history-row .button{font-size:10px;padding:9px 12px}.history-row>div{min-width:45%}.settings-card{padding:22px}.login-screen{padding:27px 25px}.login-brand{margin-left:0}.login-card{margin-top:60px}.login-card h1{font-size:35px}.page-intro>.button{font-size:10px;padding:10px;flex-shrink:0}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition:none!important}}
@media(max-width:720px){.topbar-actions .mobile-only{display:inline-flex;font-size:10px}input,select{min-width:0;font-size:16px}}

.history-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}.history-footer p{margin:0}

#history-nav-label{display:inline;margin-left:0;font:inherit}
