:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243b36;background:#f6f3ed}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{max-width:1100px;margin:auto;padding:env(safe-area-inset-top) 16px calc(92px + env(safe-area-inset-bottom))}.top{display:flex;align-items:center;justify-content:space-between;padding:18px 2px 13px;gap:12px}.brand{font-family:Georgia,serif;font-size:27px;letter-spacing:-.5px}.muted{color:#71827c;font-size:13px}.hero{background:#dce9de;border-radius:28px;padding:27px 23px;margin:10px 0 18px;position:relative;overflow:hidden}.hero:after{content:"⌂";position:absolute;right:20px;bottom:-60px;color:#b9d0be;font-size:180px;line-height:1}.hero>*{position:relative;z-index:1}.hero h1{font:normal 31px/1.12 Georgia,serif;margin:9px 0 6px;max-width:70%}.hero p{max-width:70%;margin:0;color:#597168}.section-title{font:normal 24px Georgia,serif;margin:25px 0 14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.card,.panel{background:#fff;border:1px solid #e6eae4;border-radius:21px;padding:18px;box-shadow:0 4px 22px #2a513607}.card small{display:block;color:#6d8077;margin-bottom:8px}.card strong{font-size:22px}.card b{font-weight:600}.row{display:flex;gap:10px;align-items:center;justify-content:space-between}.stack{display:grid;gap:11px}.pill{display:inline-block;padding:5px 9px;border-radius:30px;background:#e9eee8;color:#557164;font-size:12px}.pill.warn{background:#f7e6dd;color:#9c6247}.btn{border:0;border-radius:13px;background:#3f665a;color:#fff;padding:12px 17px;font-weight:650;min-height:45px}.btn.secondary{background:#e8eee8;color:#315448}.btn.ghost{background:transparent;color:#3f665a}.btn.tiny{padding:6px 11px;min-height:32px;font-size:13px}.btn:disabled{opacity:.55}.field{display:grid;gap:5px;margin:11px 0}.field label{font-size:13px;color:#50665d;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid #d7e1d9;background:#fff;border-radius:12px;padding:12px;min-height:44px;color:#243b36}.field textarea{min-height:78px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e4e9e2;display:flex;justify-content:center;overflow-x:auto;padding:7px max(6px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom));z-index:5}.nav-inner{max-width:1100px;width:100%;display:flex;gap:3px}.nav button{border:0;background:none;color:#728078;flex:1;min-width:0;padding:7px 2px;border-radius:12px;font-size:10px}.nav button.active{color:#2f5c4a;background:#ebf1eb;font-weight:700}.nav span{display:block;font-size:21px;margin-bottom:2px}.subnav{display:flex;gap:7px;overflow:auto;padding-bottom:8px;margin:10px 0}.subnav button{white-space:nowrap;border:1px solid #dce4dc;background:#fff;border-radius:22px;padding:9px 13px;color:#436556}.subnav button.active{background:#3f665a;color:#fff}.item{padding:13px 0;border-bottom:1px solid #edf0eb}.item:last-child{border:0}.item strong{font-size:15px}.item p{margin:5px 0;color:#6b7c72;font-size:13px;white-space:pre-wrap}.item-actions{display:flex;gap:7px;align-items:center}.auth{max-width:420px;margin:8vh auto;padding:25px}.auth h1{font:normal 34px Georgia,serif}.auth .mark{font-size:38px}.notice{background:#fff1e8;border-radius:14px;padding:12px;color:#915b43;margin:10px 0}.success{background:#e4f2e5;color:#38654b}.photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-actions label{display:flex;align-items:center;justify-content:center;min-height:64px;text-align:center;border:1px solid #a7bdae;border-radius:14px;background:#eaf2eb;color:#315a47;font-weight:700;padding:8px}.photo-actions input{display:none}.receipt-preview{max-width:100%;max-height:300px;border-radius:12px}.bar{height:9px;border-radius:9px;background:#e5eee7;overflow:hidden;margin:7px 0}.bar i{display:block;height:100%;background:#8baa91}.empty{text-align:center;padding:25px;color:#75857d}.link{color:#356c58;word-break:break-all}.loading{padding:40vh 20px;text-align:center;color:#75857d}#toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);background:#293e34;color:white;padding:12px 16px;border-radius:12px;z-index:20;max-width:90vw}.hide{display:none!important}@media(max-width:650px){.cards{grid-template-columns:1fr 1fr}.cards .card:last-child{grid-column:span 2}.hero h1{font-size:27px}.hero{padding:22px}.app{padding-left:13px;padding-right:13px}.card,.panel{padding:15px}.grid2{gap:8px}.brand{font-size:24px}}
