:root{font-family:"Avenir Next","PingFang TC","PingFang TC","PingFang TC","Noto Sans TC",sans-serif;color:#282e2b;background:#f6f3ed;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#282e2b;--muted:#8d918b;--green:#345e4b;--green-dark:#284b3a;--sage:#e6ece4;--cream:#fbfaf6;--line:#e9e6dd;--coral:#d98769;--yellow:#e8c778}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f6f3ed}.app-shell{max-width:1130px;margin:auto;padding:0 34px}.topbar{height:79px;display:flex;align-items:center;border-bottom:1px solid #e7e3d9;gap:20px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-weight:700;font-size:16px;letter-spacing:.02em}.brand small{display:block;font-size:8px;letter-spacing:.17em;color:#899087;margin-top:1px;font-weight:600}.brand-mark{width:35px;height:35px;background:var(--green);color:#fff;border-radius:12px 12px 12px 3px;display:grid;place-items:center;font-family:"PingFang TC","PingFang TC","Noto Sans TC",sans-serif;font-size:17px}.trip-switcher{margin:auto;background:transparent;border:1px solid #dfddd4;border-radius:40px;padding:9px 16px;font:500 12px "Avenir Next","PingFang TC","PingFang TC","PingFang TC","Noto Sans TC",sans-serif;color:#60675f;cursor:pointer}.trip-switcher span{padding-left:10px;color:var(--green)}.icon-button{border:1px solid #e7e3d9;background:var(--cream);width:36px;height:36px;border-radius:50%;font-size:17px;color:#59635b;cursor:pointer}.hero{height:248px;position:relative;overflow:hidden;border-radius:0 0 9px 9px;background:#e9ede3;padding:46px 52px;margin-bottom:27px;display:flex;align-items:center}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:9px;letter-spacing:.18em;color:#8c958b;font-weight:700;margin:0 0 10px}.hero h1{font-family:"PingFang TC","PingFang TC","Noto Sans TC",sans-serif;font-size:31px;line-height:1.45;letter-spacing:.01em;margin:0 0 16px;font-weight:600;color:#27352d}.hero h1 span{color:var(--green)}.trip-meta{font-size:12px;color:#647068;display:flex;gap:10px;align-items:center}.meta-dot{color:#a6ada3}.hero-stamp{z-index:1;position:absolute;right:84px;top:48px;width:148px;height:148px;border:1px solid rgba(61,94,74,.25);border-radius:50%;color:rgba(52,94,75,.75);display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(11deg);gap:5px}.hero-stamp:before,.hero-stamp:after{content:"";position:absolute;inset:7px;border:1px dashed rgba(61,94,74,.24);border-radius:50%}.hero-stamp b{font-size:42px;font-family:"PingFang TC","Noto Sans TC";font-weight:500}.hero-stamp span{font-size:8px;letter-spacing:.19em}.hero-sun{position:absolute;width:245px;height:245px;border-radius:50%;background:#e5c87b;opacity:.62;right:15px;top:86px}.hero:after{content:"";position:absolute;width:390px;height:125px;background:#77927a;border-radius:50% 50% 0 0;right:-7px;bottom:-93px;box-shadow:-87px 28px 0 #91a48c,-167px 35px 0 #a9b79d}.section-tabs{display:flex;gap:26px;align-items:center;border-bottom:1px solid #e5e1d7;margin-bottom:19px}.tab{border:0;background:transparent;padding:0 0 12px;color:#91968f;font:500 12px "Avenir Next","PingFang TC","PingFang TC","PingFang TC","Noto Sans TC",sans-serif;cursor:pointer;border-bottom:2px solid transparent}.tab span{margin-right:5px;font-size:13px}.tab.active{color:var(--green);font-weight:700;border-color:var(--green)}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:19px}.summary-card{border-radius:8px;padding:20px 23px 16px;background:var(--cream);border:1px solid #eae7df;min-height:155px}.total-card{background:#eaf0e8;border-color:#e5ebe2}.summary-label{font-size:11px;color:#556358;display:flex;align-items:center;gap:8px;font-weight:600}.label-icon{color:var(--green);font-size:16px}.muted{margin-left:auto;font-size:8px;letter-spacing:.13em;color:#9aa098;font-weight:500}.total-amount{font-size:29px;font-weight:700;letter-spacing:-.04em;color:var(--green-dark);margin:14px 0 2px}.currency-secondary{font-size:11px;color:#879286}.card-footer{border-top:1px solid rgba(90,117,94,.15);margin-top:13px;padding-top:11px;font-size:10px;color:#738072;display:flex;justify-content:space-between}.tiny-leaf{font-size:16px;color:#99af89}.budget-amount{font-size:23px;font-weight:700;letter-spacing:-.03em;margin:16px 0 12px}.progress-track{height:5px;border-radius:5px;background:#eeece5;overflow:hidden}.progress-track span{display:block;width:0;height:100%;border-radius:5px;background:var(--coral);transition:width .25s}.budget-note{margin:7px 0 0;font-size:9px;color:#a0a39c}.budget-meta{display:flex;justify-content:space-between;align-items:center;margin-top:11px;font-size:10px;color:#858a82}.text-button{border:0;background:none;color:var(--green);font:600 10px "Avenir Next","PingFang TC","PingFang TC","PingFang TC","Noto Sans TC",sans-serif;cursor:pointer}.content-grid{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(410px,1.5fr);gap:16px}.panel{background:var(--cream);border:1px solid #eae7df;border-radius:8px;padding:22px 23px}.panel-heading,.ledger-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel h2,.ledger-panel h2,.dialog-card h2{font-family:"PingFang TC","PingFang TC","Noto Sans TC",sans-serif;font-size:17px;margin:0;font-weight:600;letter-spacing:.01em}.panel-heading .eyebrow,.ledger-heading .eyebrow{margin-bottom:5px}.heading-sparkle{color:var(--yellow);font-size:21px}form .field-label{display:block;font-size:10px;color:#606a61;font-weight:600;margin:12px 0 6px}.field-label .optional{font-weight:400;color:#a0a39c;margin-left:4px}.field-group{min-width:0;flex:1}input,select{font:12px "Avenir Next","PingFang TC","PingFang TC","PingFang TC","Noto Sans TC",sans-serif;color:var(--ink);background:#fff;border:1px solid #e8e5dd;border-radius:5px;width:100%;height:39px;padding:0 11px;outline:none}input:focus,select:focus{border-color:#8ca492;box-shadow:0 0 0 3px rgba(76,119,92,.1)}input::placeholder{color:#b1b3ad}.form-row{display:flex;gap:10px}.submit-button{width:100%;margin-top:19px;height:43px;border:0;border-radius:5px;background:var(--green);color:#fff;font:600 12px "PingFang TC","PingFang TC","Noto Sans TC",sans-serif;cursor:pointer;transition:background .15s,transform .15s}.submit-button:hover{background:var(--green-dark);transform:translateY(-1px)}.submit-button>span:first-child{font-size:16px;vertical-align:-1px;margin-right:5px}.button-arrow{float:right;margin-right:13px;color:#d2dfd2}.privacy-note{font-size:9px;color:#959a93;text-align:center;margin:12px 0 0}.privacy-note span{margin-right:4px;color:#819180}.ledger-heading{margin-bottom:10px}.filter-wrap select{height:31px;width:auto;min-width:100px;font-size:10px;background:#fbfaf6;border-color:#eeece5;padding:0 25px 0 9px}.ledger-list{min-height:200px}.expense-item{display:grid;grid-template-columns:39px minmax(0,1fr) auto 24px;gap:11px;align-items:center;padding:13px 1px;border-bottom:1px solid #efede6;animation:appear .2s ease}.expense-item:first-child{border-top:1px solid #efede6}.category-icon{width:37px;height:37px;border-radius:12px;background:#eff1e9;display:grid;place-items:center;font-size:16px}.category-icon[data-category="交通"]{background:#edf0f5}.category-icon[data-category="住宿"]{background:#f4eee6}.category-icon[data-category="購物"]{background:#f5eeeb}.category-icon[data-category="門票"]{background:#f2f0e7}.category-icon[data-category="其他"]{background:#f0eef3}.expense-title{font-size:11px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.expense-subtitle{font-size:9px;color:#969a92;margin-top:5px}.category-chip{font-size:8px;color:#758276;background:#f0f1eb;padding:3px 7px;border-radius:20px;margin-left:6px;font-weight:500}.expense-amount{font-size:12px;font-weight:700;text-align:right;white-space:nowrap}.delete-button{border:0;background:transparent;color:#b1b2ab;font-size:15px;cursor:pointer;padding:4px}.delete-button:hover{color:#c76f5b}.empty-state{min-height:215px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#979b93;text-align:center}.empty-illustration{width:50px;height:50px;border-radius:50%;background:#f1f0e8;display:grid;place-items:center;font-size:21px;margin-bottom:11px}.empty-state strong{font-size:11px;color:#667067;font-weight:600}.empty-state>span{font-size:9px;margin-top:5px}.ledger-footer{border-top:1px solid #efede6;padding-top:12px;display:flex;justify-content:space-between;font-size:9px;color:#999d95}.ledger-footer b{color:#6f786f}.footer-star{color:#d4b866;margin-left:5px}.tip-banner{margin-top:18px;padding:15px 19px;background:#f0eee5;border-radius:7px;display:flex;align-items:center;gap:13px;color:#647066}.tip-icon{font-size:19px;color:#caa954}.tip-banner div{display:flex;flex-direction:column;gap:3px}.tip-banner b{font-size:10px;color:#48564a}.tip-banner div span{font-size:9px;color:#898d85}.tip-doodle{margin-left:auto;color:#b2b49e;font-size:26px}.site-footer{display:flex;justify-content:space-between;border-top:1px solid #e7e3d9;margin-top:35px;padding:18px 0 22px;font-size:8px;color:#9ca097;letter-spacing:.09em}.site-footer span:last-child{letter-spacing:0}.dialog-card{width:min(430px,calc(100% - 30px));border:1px solid #e8e5dd;border-radius:10px;padding:23px;background:#fbfaf6;color:var(--ink);box-shadow:0 20px 70px rgba(35,47,37,.18)}.dialog-card::backdrop{background:rgba(37,46,40,.3);backdrop-filter:blur(2px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dialog-heading .eyebrow{margin-bottom:5px}.close-dialog{font-size:21px}.dialog-card .submit-button{margin-top:22px}.toast{position:fixed;left:50%;bottom:25px;z-index:4;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:10px 16px;background:#293d31;color:white;border-radius:30px;font-size:11px;transition:all .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.app-shell{padding:0 18px}.topbar{height:66px}.hero{height:230px;padding:33px 24px}.hero h1{font-size:25px}.hero-stamp{right:35px;top:27px;width:115px;height:115px;opacity:.8}.hero-stamp b{font-size:32px}.hero-sun{right:-75px}.content-grid{grid-template-columns:1fr}.add-panel{order:0}.ledger-panel{order:1}.ledger-list{min-height:80px}.empty-state{min-height:140px}.panel{padding:20px}.summary-card{padding:17px;min-height:146px}.muted{display:none}.total-amount{font-size:25px}.budget-amount{font-size:20px}.site-footer{flex-direction:column;gap:7px}.trip-switcher{font-size:10px;padding:8px 12px}}@media(max-width:390px){.app-shell{padding:0 13px}.hero{padding-left:18px}.hero h1{font-size:22px}.hero-stamp{right:20px;width:92px;height:92px}.hero-stamp span{font-size:6px}.hero-stamp b{font-size:27px}.summary-grid{gap:9px}.summary-card{padding:14px 12px}.summary-label{font-size:10px;gap:5px}.total-amount{font-size:21px}.budget-amount{font-size:17px}.content-grid{gap:11px}}
