:root{--epm-green:#245c3b;--epm-green2:#367a50;--epm-bg:#f5f7f4;--epm-line:#d9e1dc;--epm-ink:#1e2b24;--epm-muted:#66736c;--epm-orange:#d87824}
body.epm-open{overflow:hidden}.epm-overlay{position:fixed;inset:0;z-index:2147482000;background:#eef3ef;color:var(--epm-ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}.epm-overlay[hidden]{display:none}.epm-shell{height:100%;display:grid;grid-template-rows:auto 1fr}.epm-head{display:flex;align-items:center;gap:22px;padding:14px 22px;background:#fff;border-bottom:1px solid var(--epm-line);box-shadow:0 3px 16px #244f3520}.epm-head>div{display:flex;flex-direction:column;min-width:150px}.epm-head strong{font-size:20px;color:var(--epm-green)}.epm-head span{font-size:12px;color:var(--epm-muted)}.epm-head nav{display:flex;gap:7px;flex:1;overflow-x:auto}.epm-head button,.epm-overlay button{border:1px solid var(--epm-line);background:#fff;color:var(--epm-ink);border-radius:9px;padding:9px 13px;font-weight:650;cursor:pointer}.epm-head .epm-nav.active,.epm-overlay button.primary{background:var(--epm-green);color:#fff;border-color:var(--epm-green)}.epm-close{white-space:nowrap}.epm-main{overflow:auto;padding:22px;max-width:1220px;width:100%;margin:0 auto;box-sizing:border-box}.epm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.epm-toolbar h2{font-size:26px;margin:0 0 5px;color:var(--epm-green)}.epm-toolbar p{margin:0;color:var(--epm-muted)}.epm-filters{display:flex;gap:8px;margin-bottom:15px}.epm-filters input{flex:1;max-width:420px}.epm-overlay input,.epm-overlay select,.epm-overlay textarea{width:100%;box-sizing:border-box;border:1px solid #cbd6cf;border-radius:8px;padding:10px 11px;background:#fff;color:var(--epm-ink);font:inherit}.epm-overlay input:focus,.epm-overlay select:focus,.epm-overlay textarea:focus{outline:2px solid #74a88855;border-color:var(--epm-green2)}.epm-docs{display:grid;gap:10px}.epm-doc{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--epm-line);border-radius:13px;padding:15px 17px}.epm-doc-top{display:flex;align-items:center;gap:9px}.epm-doc h3{margin:7px 0 5px;font-size:17px}.epm-doc p{margin:0;color:#46564d}.epm-doc small{display:block;color:var(--epm-muted);margin-top:6px}.epm-pill{font-size:12px;padding:3px 8px;border-radius:999px;background:#e8f3eb;color:var(--epm-green)}.epm-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.epm-actions .warn{color:#a64d12;border-color:#e7b58f}.epm-empty{padding:70px 20px;text-align:center;background:#fff;border:1px dashed #bdc9c1;border-radius:13px;color:var(--epm-muted)}.epm-card{background:#fff;border:1px solid var(--epm-line);border-radius:14px;padding:18px;margin-bottom:14px;box-shadow:0 3px 12px #2745320a}.epm-card h3{margin:0 0 14px;color:var(--epm-green);font-size:17px}.epm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px}.epm-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}.epm-field.wide,.epm-grid>.wide{grid-column:1/-1}.epm-field span{color:#425248}.epm-section-head{display:flex;align-items:center;justify-content:space-between}.epm-item-head,.epm-item{display:grid;grid-template-columns:1.15fr 1.7fr .7fr .6fr .8fr .9fr 38px;gap:8px;align-items:center}.epm-item-head{padding:0 4px 7px;color:var(--epm-muted);font-size:12px}.epm-item{border-top:1px solid #edf1ee;padding:9px 0}.epm-item .item-amount{font-size:13px;text-align:right}.epm-item-remove{padding:8px!important}.epm-total{text-align:right;border-top:2px solid var(--epm-green);padding-top:13px;margin-top:8px;font-size:18px}.epm-total strong{color:var(--epm-green);font-size:22px}.epm-form-actions{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:0;background:#eef3efdd;backdrop-filter:blur(8px);padding:12px 0}.epm-save-state,.epm-hint{font-size:12px;color:var(--epm-muted)}.epm-table-wrap{overflow:auto}.epm-table{width:100%;border-collapse:collapse}.epm-table th,.epm-table td{padding:10px;border-bottom:1px solid var(--epm-line);text-align:left}.epm-table th{color:var(--epm-green);font-size:13px}.epm-narrow{max-width:620px}.epm-narrow .epm-field{margin-bottom:13px}.epm-toast{position:fixed;right:24px;bottom:24px;background:var(--epm-green);color:#fff;border-radius:10px;padding:12px 17px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;box-shadow:0 8px 25px #0003}.epm-toast.bad{background:#a63f32}.epm-toast.show{opacity:1;transform:none}
@media(max-width:760px){.epm-head{align-items:flex-start;padding:10px 12px;gap:9px;flex-wrap:wrap}.epm-head>div{min-width:120px}.epm-head strong{font-size:17px}.epm-head nav{order:3;flex-basis:100%;padding-bottom:2px}.epm-head .epm-nav{white-space:nowrap;padding:8px 10px}.epm-main{padding:13px}.epm-toolbar{align-items:flex-start;flex-direction:column}.epm-toolbar h2{font-size:22px}.epm-toolbar .primary{width:100%}.epm-filters{flex-wrap:wrap}.epm-filters input{max-width:none;flex-basis:100%}.epm-doc{align-items:flex-start;flex-direction:column}.epm-actions{justify-content:flex-start;width:100%}.epm-actions button{flex:1;min-width:110px}.epm-grid{grid-template-columns:1fr}.epm-field.wide,.epm-grid>.wide{grid-column:auto}.epm-card{padding:13px}.epm-item-head{display:none}.epm-item{grid-template-columns:1fr 1fr;gap:8px;background:#f7f9f7;border:1px solid var(--epm-line);border-radius:10px;padding:10px;margin-bottom:9px}.epm-item .item-model,.epm-item .item-desc{grid-column:1/-1}.epm-item .item-amount{text-align:left;padding:9px}.epm-form-actions button{flex:1}.epm-toast{left:14px;right:14px;bottom:14px}}
.epm-category-tabs{display:flex;gap:8px;margin-bottom:10px}.epm-category-tabs button.active{background:var(--epm-green);color:#fff;border-color:var(--epm-green)}
@media(max-width:760px){.epm-category-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.epm-category-tabs button{padding:10px 6px}.epm-filters button{flex:1}}

/* Mobile containment: prevent wide form controls and navigation from expanding the viewport. */
.epm-overlay,.epm-shell,.epm-head,.epm-main,.epm-card,#epm-form{min-width:0;max-width:100%;box-sizing:border-box}.epm-overlay,.epm-shell{max-width:100vw;overflow:hidden}.epm-shell{grid-template-rows:auto minmax(0,1fr)}.epm-head nav,.epm-main>*{min-width:0}.epm-overlay input,.epm-overlay select,.epm-overlay textarea{min-width:0;max-width:100%}
@media(max-width:760px){.epm-head>div{min-width:0;max-width:calc(100% - 82px);flex:1}.epm-close{margin-left:auto}.epm-head nav{order:3;flex:0 0 100%;width:100%;min-width:0;max-width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:visible}.epm-head .epm-nav{min-width:0;white-space:normal;line-height:1.25}.epm-main{width:100%;overflow-x:hidden}.epm-main>*{width:100%}.epm-card{width:100%;overflow:hidden}.epm-section-head{gap:8px;flex-wrap:wrap}.epm-grid{grid-template-columns:minmax(0,1fr)}.epm-item{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);box-sizing:border-box;overflow:hidden}.epm-item .item-amount{min-width:0;overflow-wrap:anywhere}.epm-form-actions{width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;z-index:4;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.epm-form-actions button{min-width:0;width:100%;white-space:normal}.epm-toast{bottom:calc(14px + env(safe-area-inset-bottom))}}
@media(max-width:390px){.epm-main{padding:10px}.epm-card{padding:11px}.epm-head{padding:9px 10px}.epm-category-tabs{grid-template-columns:1fr}.epm-actions button{min-width:0;width:100%}}
.epm-backup-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.epm-backup-stats span{background:#eef5ef;border-radius:10px;padding:12px;color:var(--epm-muted)}.epm-backup-stats b{display:block;margin-top:4px;color:var(--epm-green);font-size:19px}.epm-backup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.epm-download{display:inline-block;color:#fff;background:var(--epm-green);border-radius:8px;padding:8px 12px;text-decoration:none;font-weight:700;white-space:nowrap}@media(max-width:760px){.epm-backup-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.epm-backup-actions{display:grid;grid-template-columns:1fr}.epm-backup-actions button{width:100%}}
