:root{--bg:#f8f3e9;--surface:#fffdf8;--ink:#282622;--muted:#777168;--coral:#ee765e;--coral-soft:#fde4dc;--indigo:#5865ad;--indigo-soft:#e5e8fa;--mint:#4f9e83;--mint-soft:#ddf2e9;--gold:#b88938;--line:#e9e1d5;--shadow:0 4px 12px rgba(70,57,38,.08);--radius:24px;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{background:var(--bg)}body{background:var(--bg)}button,input,textarea,select{font:inherit;color:inherit}[hidden]{display:none!important}button{border:0;cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(88,101,173,.22);outline-offset:2px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.topbar{position:sticky;z-index:20;top:0;padding:calc(16px + env(safe-area-inset-top,0px)) 20px 13px;background:#f8f3e9;border-bottom:1px solid rgba(220,210,196,.7);display:grid;grid-template-columns:1fr auto;gap:8px}.topbar h1{font-size:28px;line-height:1;margin:2px 0 5px;letter-spacing:.03em}.eyebrow,.subtitle{margin:0;color:var(--muted);font-size:12px}.status-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px}.weather-pill{min-height:38px;max-width:70%;padding:7px 13px;border-radius:999px;background:var(--mint-soft);color:#2e6f5a;display:flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden}.weather-pill span{overflow:hidden;text-overflow:ellipsis}.weather-pill svg{width:20px}.save-status{font-size:12px;color:var(--muted);white-space:nowrap}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.65);color:var(--ink)}#pages{padding:18px 16px 210px;max-width:860px;margin:auto}.page{display:none;animation:pageIn .34s cubic-bezier(.2,.8,.2,1)}.page.active{display:block}@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.section-heading,.card-title,.zone-title,.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading{margin:4px 4px 16px}.section-heading h2{margin:5px 0 0;font-size:24px}.module-kicker{font-weight:700;font-size:12px;letter-spacing:.18em}.coral{color:var(--coral)}.indigo{color:var(--indigo)}.mint{color:var(--mint)}.gold{color:var(--gold)}.counter{padding:8px 12px;background:#fff9;border-radius:999px;font-size:12px;color:var(--muted)}.record-tools,.record-switch{display:flex;align-items:center;gap:7px}.record-tools{margin:0 4px 12px}.record-tools input{flex:1}.record-switch{font-size:12px}.record-switch .icon-button{width:36px;height:36px;font-size:24px}.soft-button,.add-button,.danger-button{min-height:44px;padding:9px 14px;border-radius:15px;background:#eee8df;font-weight:650}.add-button{background:var(--ink);color:white}.danger-button{background:#b43b35;color:white}.card,.attachment-zone,.template-line,.total-card{background:rgba(255,253,248,.92);border:1px solid rgba(231,222,209,.95);border-radius:var(--radius);padding:18px;margin-bottom:14px;box-shadow:var(--shadow)}.card h3,.zone-title h3{margin:0}.card-title p,.zone-title span{margin:3px 0 0;font-size:12px;color:var(--muted)}label{display:block;color:var(--muted);font-size:12px;font-weight:600;margin-bottom:14px}input,textarea,select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:15px;background:#fbf8f2;padding:12px 13px;min-height:46px;font-size:15px}textarea{resize:vertical;line-height:1.65}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mood-field{border:0;padding:0;margin:0 0 17px}.mood-field legend{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:8px}.mood-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.mood-option{min-height:58px;border-radius:16px;background:#f5efe5;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px}.mood-option i{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;position:relative}.mood-option i:after{content:"";position:absolute;left:4px;right:4px;bottom:3px;height:3px;border-bottom:2px solid currentColor;border-radius:50%}.mood-option.active{background:var(--coral-soft);color:#b94f3e;box-shadow:inset 0 0 0 2px #ee765e55}.mini-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center}.mini-icon.mint{background:var(--mint-soft);color:var(--mint)}.card-title>div:first-child{display:flex;align-items:center;gap:10px}.template-line{background:linear-gradient(135deg,#545fa4,#717ec7);color:white;font-size:14px;line-height:1.7}.compact-form{padding-bottom:5px}.attachment-zone{box-shadow:none}.coral-zone{background:linear-gradient(135deg,#fff9f6,#fde6df);border-color:#f3c6b9}.indigo-zone{background:linear-gradient(135deg,#f8f8ff,#e8eaf9);border-color:#cfd3ee}.mint-zone{background:linear-gradient(135deg,#f7fdf9,#e0f2ea);border-color:#c5e4d8}.attachment-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:9px;margin-top:12px}.file-card{position:relative;border-radius:15px;background:#fff9;padding:8px;min-width:0}.file-thumb{height:85px;border-radius:11px;background:#eee8df;display:grid;place-items:center;overflow:hidden}.file-thumb img{width:100%;height:100%;object-fit:cover}.file-thumb svg{width:34px;height:34px;color:var(--indigo)}.file-name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:7px 0 2px}.file-size{font-size:10px;color:var(--muted)}.file-actions{display:flex;gap:5px;margin-top:6px}.file-actions button{flex:1;min-height:34px;border-radius:10px;background:#eee8df;font-size:11px}.total-card{position:sticky;bottom:153px;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:white}.total-card strong{font-size:22px}.expense-row{display:grid;grid-template-columns:100px 1fr 44px;gap:8px;align-items:end;padding:10px 0;border-bottom:1px dashed var(--line)}.expense-row:last-child{border-bottom:0}.expense-row label{margin:0}.expense-row button{height:44px;border-radius:14px;background:#f6ddd7;color:#a83c31}.inline-total{text-align:right;margin-top:12px;font-size:14px}.inline-total strong{font-size:20px;margin-left:9px}.photo-section .card-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.photo-section .card-title>div:first-child{display:block;min-width:0}.photo-section .card-title h3{display:inline;margin-right:10px}.photo-section .card-title p{display:inline;margin:0;white-space:normal}.photo-entry-actions{display:flex!important;align-items:center!important;gap:8px!important;justify-self:end;white-space:nowrap}.photo-entry-actions button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-width:88px}.photo-section .empty-state{width:100%;padding:30px 12px;text-align:center;column-span:all}.photo-wall{columns:2;column-gap:10px;margin-top:14px}.photo-card{break-inside:avoid;margin-bottom:10px;background:#f4eee5;border-radius:16px;overflow:hidden;position:relative}.photo-card img{display:block;width:100%;min-height:120px;object-fit:cover}.photo-card.cover:after{content:"封面";position:absolute;left:8px;top:8px;background:var(--coral);color:white;padding:4px 8px;border-radius:999px;font-size:10px}.photo-meta{padding:8px}.photo-meta input{margin:0 0 6px;padding:8px;min-height:38px;font-size:11px}.photo-actions{display:flex;gap:5px}.photo-actions button{flex:1;min-height:34px;background:white;border-radius:9px;font-size:10px}.calendar-search{margin-bottom:14px}.calendar-search-box{display:flex;align-items:center;gap:9px;padding:7px 9px 7px 14px;background:rgba(255,253,248,.95);border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow)}.calendar-search-box svg{width:21px;color:var(--gold);flex:none}.calendar-search-box input{border:0;background:transparent;margin:0;padding:8px 0;min-height:42px;outline:0}.calendar-search-box button{padding:9px 11px;border-radius:12px;background:#eee8df;color:var(--muted);font-size:12px;flex:none}.calendar-search-status{min-height:18px;margin:7px 5px 0;color:var(--muted);font-size:12px}.calendar-search-results{margin-top:9px;display:grid;gap:8px}.search-result{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:17px;padding:13px 14px;box-shadow:0 6px 18px rgba(70,57,38,.06)}.search-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.search-result h4{margin:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result time{font-size:11px;color:var(--muted);flex:none}.search-result p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-result-type{display:inline-block;margin-top:7px;padding:3px 8px;border-radius:999px;background:var(--coral-soft);color:#a84d3c;font-size:10px}.search-result.business .search-result-type{background:var(--indigo-soft);color:var(--indigo)}.search-result.travel .search-result-type{background:var(--mint-soft);color:#377963}.calendar-card{padding:14px}.calendar-head{margin-bottom:12px}.calendar-head h3{flex:1;text-align:center;white-space:nowrap;font-size:17px;letter-spacing:.02em}.week-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.week-row span{text-align:center;color:var(--muted);font-size:11px;padding:6px}.day-cell{min-height:56px;border-radius:15px;background:#f8f3eb;padding:7px 4px;text-align:center;position:relative}.day-cell.outside{opacity:.35}.day-cell.today{box-shadow:inset 0 0 0 2px var(--coral)}.day-cell.selected{background:var(--ink);color:white}.day-number{font-size:12px}.day-dots{display:flex;justify-content:center;gap:3px;margin-top:7px}.dot{width:5px;height:5px;border-radius:50%}.dot.diary{background:var(--coral)}.dot.business{background:var(--indigo)}.dot.travel{background:var(--mint)}.summary-card{background:white;border-left:5px solid var(--coral);border-radius:18px;padding:14px;margin-bottom:9px;box-shadow:var(--shadow)}.summary-card.business{border-color:var(--indigo)}.summary-card.travel{border-color:var(--mint)}.summary-card h4{margin:0 0 6px}.summary-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.empty-state{text-align:center;color:var(--muted);padding:30px 12px}.quote-bar{position:fixed;z-index:25;left:12px;right:12px;bottom:calc(82px + var(--safe-bottom));min-height:70px;border-radius:19px;background:transparent;color:var(--ink);display:flex;align-items:center;box-shadow:none;overflow:hidden;pointer-events:none}.quote-toggle{width:48px;height:70px;background:transparent;color:var(--ink);display:grid;place-items:center;pointer-events:auto}.quote-toggle svg{width:19px}.quote-window{height:70px;flex:1;overflow:hidden;position:relative}.quote-window p{position:absolute;left:0;right:12px;top:0;min-height:70px;margin:0;display:flex;align-items:center;white-space:normal;font-size:12px;line-height:1.55;overflow:visible}.quote-window p:last-child{transform:translateY(70px)}.quote-window.animating p:first-child{opacity:0}.quote-window.animating p:last-child{transform:translateY(0)}@keyframes quoteOut{to{transform:translateY(-70px);opacity:0}}@keyframes quoteIn{to{transform:translateY(0);opacity:1}}.bottom-nav{position:fixed;z-index:24;left:0;right:0;bottom:0;height:calc(72px + var(--safe-bottom));padding:6px 8px var(--safe-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:#fffdf8;border-top:1px solid #e6ddd1}.nav-item{background:transparent;color:var(--muted);min-height:60px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px}.nav-item svg{width:22px}.nav-item.active{color:var(--indigo);background:var(--indigo-soft)}.toast{position:fixed;z-index:60;left:50%;bottom:160px;transform:translate(-50%,20px);background:#292723;color:#fff;padding:10px 16px;border-radius:999px;font-size:12px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;padding:0;background:transparent}dialog::backdrop{background:#211f1b80;backdrop-filter:blur(3px)}.sheet{width:min(520px,100%);max-width:none;margin:auto 0 0;left:0;right:0}.sheet form{background:var(--surface);border-radius:28px 28px 0 0;padding:8px 18px calc(24px + var(--safe-bottom));will-change:transform}.sheet-handle{width:76px;height:28px;margin:0 auto 5px;display:grid;place-items:start center;touch-action:none;cursor:grab}.sheet-handle:after{content:"";width:42px;height:5px;background:#d8d0c5;border-radius:4px}.sheet-handle:active{cursor:grabbing}.automatic-backup-card{display:grid;gap:5px;margin-top:14px;padding:14px;border:1px solid #c9ded7;border-radius:17px;background:var(--mint-soft)}.automatic-backup-card span{font-size:13px;color:#2e6f5a}.setting-actions{display:grid;gap:9px;margin-top:14px}.setting-actions button{text-align:left;padding:14px;border-radius:17px;background:#f3eee6;min-height:65px}.setting-actions span,.setting-actions small{display:block}.setting-actions span{font-weight:700}.setting-actions small{color:var(--muted);margin-top:3px}.setting-actions .danger{background:#f9e1dd;color:#9c332d}.progress-text{color:var(--muted);font-size:12px}.confirm-dialog{width:min(88%,390px)}.confirm-dialog form{background:var(--surface);padding:22px;border-radius:24px}.confirm-dialog p{color:var(--muted);line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.preview-dialog{width:100%;height:100%;max-width:none;max-height:none}.preview-dialog form{width:100%;height:100%;background:#171715;display:grid;place-items:center;padding:50px 15px}.preview-close{position:absolute;right:15px;top:15px;width:44px;height:44px;border-radius:50%;font-size:26px;color:white;background:#ffffff22}.preview-dialog img,.preview-dialog iframe{max-width:100%;max-height:85vh}.preview-dialog iframe{width:100%;height:80vh;background:white}.progress-text{min-height:18px}@media(max-width:480px){.two-col{grid-template-columns:1fr}.section-heading{align-items:flex-start}.section-heading .record-switch{flex-wrap:wrap;justify-content:flex-end}.expense-row{grid-template-columns:82px 1fr 44px}.topbar{padding-left:16px;padding-right:16px}#pages{padding-left:12px;padding-right:12px}.card,.attachment-zone{padding:15px}.mood-option{font-size:10px}.photo-section .card-title{grid-template-columns:1fr}.photo-entry-actions{justify-self:stretch}.photo-entry-actions button{flex:1;min-width:0}.total-card{bottom:145px}}@media(min-width:700px){.photo-wall{columns:3}.calendar-grid{gap:8px}.day-cell{min-height:78px}.page[data-page="business"]{max-width:680px;margin:auto}}.voucher-total-card{display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 12px;margin-bottom:14px;padding:17px 19px;border-radius:22px;background:linear-gradient(135deg,#282622,#46413a);color:#fff;box-shadow:var(--shadow)}.voucher-total-card span{font-size:13px}.voucher-total-card strong{font-size:28px;line-height:1}.voucher-total-card small{grid-column:1/-1;color:#ffffffaa}.export-name-card{background:linear-gradient(135deg,#f8f8ff,#e6e9fb);border-color:#ccd2ee}.export-name-label{font-size:15px;color:var(--indigo)}.export-name-label input{font-size:17px;font-weight:700;background:#fff}.export-name-card p,.export-tip{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.export-empty{border:1px dashed #bbc2e5;border-radius:20px;background:#f6f7ff;margin-bottom:14px}.voucher-records{display:grid;gap:14px}.voucher-card{padding:16px}.voucher-head,.voucher-zone-head,.voucher-toolbar,.voucher-order{display:flex;align-items:center;gap:8px}.voucher-head,.voucher-zone-head{justify-content:space-between}.voucher-head h3,.voucher-zone h4{margin:0}.voucher-order button{min-width:42px;height:42px;border-radius:13px;background:#eee8df}.voucher-order button:last-child{background:#f8ded8;color:#9c332d}.voucher-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-top:14px}.voucher-meta label{margin:0}.voucher-zone{padding:14px;margin-top:12px;border-radius:18px;background:#f4f5fc;border:1px solid #dce0f2}.voucher-zone.invoice{background:#fff8ef;border-color:#eee0c9}.voucher-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:10px}.voucher-note{margin:14px 0 0}.voucher-toolbar{position:static;margin-top:18px;padding:10px;border-radius:20px;background:rgba(255,253,248,.94);box-shadow:var(--shadow)}.voucher-toolbar button{flex:1}.primary-button{min-height:44px;padding:9px 14px;border-radius:15px;background:var(--indigo);color:white;font-weight:700}.export-tip{padding:12px 5px 0}.page.exporting{pointer-events:none;opacity:.72}@media(max-width:480px){.voucher-meta{grid-template-columns:1fr 1fr}.voucher-meta label:last-child{grid-column:1/-1}.voucher-toolbar{flex-wrap:wrap}.voucher-toolbar #exportWordBtn{flex-basis:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}#settingsDialog .card-title{display:block}#settingsDialog .card-title>div:first-child{display:block}#settingsDialog .card-title h2{margin:0;font-size:18px}#settingsDialog .card-title p{margin:4px 0 0;font-size:12px}
.server-config{margin-top:14px;padding:16px;border:1px solid #c9ded7;border-radius:19px;background:var(--mint-soft)}
.email-account-card{position:relative;display:block;cursor:pointer;text-align:left;width:100%;transition:transform .08s ease,filter .12s ease;-webkit-tap-highlight-color:transparent}
.email-account-card:active{transform:scale(.985)}
.email-account-card h3{display:flex;align-items:center;gap:8px}
.email-account-card .account-chevron{margin-left:auto;font-size:22px;line-height:1;color:#6aa08c}
.email-account-card[data-bound="1"] .account-chevron{color:#3d8468}.server-config h3{margin:0 0 3px;font-size:15px}.server-config p{margin:0 0 6px;font-size:12px;color:#2e6f5a;line-height:1.5}.server-config label{margin-bottom:12px}.server-config label:last-of-type{margin-bottom:0}.server-config input{background:#fff}
.email-login-form{margin-top:2px}.email-login-form label{margin-bottom:12px}.email-login-form input{background:#fff;margin-bottom:6px}.email-login-form .soft-button{margin:2px 0 4px;background:var(--mint-soft);color:#2e6f5a;border:1px solid #c9ded7;border-radius:999px;padding:8px 14px;font-size:14px}.email-login-form .dialog-actions{margin-top:14px;display:flex;gap:10px;justify-content:flex-end}
#accountEmailInput{background:#f0ece3;color:#4c4a45;font-weight:600}
.section-total-card{display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px 12px;margin-bottom:14px;padding:17px 19px;border-radius:22px;background:linear-gradient(135deg,#282622,#46413a);color:#fff;box-shadow:var(--shadow)}
.section-total-card span{font-size:13px}
.section-total-card strong{font-size:28px;line-height:1}
.section-total-card small{grid-column:1/-1;color:#ffffffaa}
.day-cell{min-height:64px}
.day-amounts{display:block;margin-top:3px}
.day-amount{display:block;margin:2px auto 0;padding:1px 4px;border-radius:6px;font-size:9px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.day-amount.business{background:var(--indigo-soft);color:var(--indigo)}
.day-amount.travel{background:var(--mint-soft);color:#377963}
.day-cell.selected .day-amount{background:#ffffff2e;color:#fff}
.summary-group{margin-bottom:16px}
.summary-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 4px 8px}
.summary-group-label{font-weight:700;font-size:13px}
.summary-group-label.diary{color:var(--coral)}
.summary-group-label.business{color:var(--indigo)}
.summary-group-label.travel{color:var(--mint)}
.summary-group-total{font-size:13px;color:var(--ink)}
@media(min-width:700px){.day-cell{min-height:84px}}
