.app-shell{width:min(100%,72rem);margin:0 auto;display:grid;gap:1.5rem}.hero-card,.panel{position:relative;overflow:hidden;border-radius:1.75rem;border:1px solid rgba(255,255,255,.55);background:#fffaf2e0;box-shadow:0 24px 60px #643e1a24;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-card{padding:1.75rem;background:radial-gradient(circle at top right,rgba(255,189,89,.42),transparent 34%),linear-gradient(135deg,#fff5e2fa,#fffaf2e6)}.hero-card h1{margin:.4rem 0 0;font-size:clamp(2rem,7vw,3.4rem);line-height:1.02;letter-spacing:-.05em}.hero-copy{max-width:38rem;margin:1rem 0 0;color:#5e4b3f;font-size:1rem;line-height:1.7}.hero-meta{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;margin-top:1.25rem}.eyebrow,.panel-title,.summary-label,.date-badge,.storage-note,.panel-caption,.tips,.field span{letter-spacing:.04em}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin:0;color:#9b5d18;font-size:.86rem;font-weight:700;text-transform:uppercase}.date-badge{display:inline-flex;padding:.65rem .9rem;border-radius:999px;background:#5787f71a;color:#214195;font-weight:700}.hero-total{display:grid;gap:.2rem;padding:.7rem .95rem;border-radius:1rem;background:#ffffffb8;color:#44352b}.hero-total span{font-size:.82rem;font-weight:700;letter-spacing:.04em}.hero-total strong{font-size:1.15rem;line-height:1.1}.panel-grid,.settings-layout{display:grid;gap:1rem}.panel{padding:1.4rem}.screen-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.nav-button{min-height:3.3rem;border:1px solid rgba(145,113,89,.2);border-radius:999px;background:#ffffffad;color:#5a4637;font:inherit;font-weight:800}.nav-button.is-active{background:#1f2937;color:#fff9f4;box-shadow:0 10px 24px #1f29372e}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.panel-title{margin:0;font-size:1.05rem;font-weight:800;color:#38281f}.panel-caption{margin:.25rem 0 0;color:#796457;font-size:.95rem}.ghost-button{border:0;border-radius:999px;padding:.72rem 1rem;background:#1f2937;color:#fff9f4;font:inherit;font-weight:700}.primary-button{border:0;border-radius:1rem;min-height:3.4rem;padding:.85rem 1.1rem;background:#1f2937;color:#fff9f4;font:inherit;font-weight:800}.primary-button:disabled{opacity:.45}.danger-button{border:0;border-radius:1rem;min-height:3.4rem;padding:.85rem 1.1rem;background:#a12b1b;color:#fff8f4;font:inherit;font-weight:800}.form-grid{margin-top:1.25rem;display:grid;gap:1rem}.form-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.field{display:grid;gap:.45rem}.field span{color:#5d4637;font-size:.95rem;font-weight:700}.field input{min-height:3.5rem;padding:.9rem 1rem;border:1px solid rgba(141,113,94,.22);border-radius:1rem;background:#ffffffd1;color:#271d17;font:inherit;font-size:1rem}.field input:focus{outline:3px solid rgba(255,175,63,.24);border-color:#c471126b}.storage-note{margin:1rem 0 0;color:#6d584b;font-size:.93rem;line-height:1.6}.save-note{margin:0;color:#2f5f2b;font-size:.93rem;font-weight:700}.summary-panel{background:radial-gradient(circle at top left,rgba(111,157,255,.18),transparent 30%),#f8fbffeb}.settings-panel{background:radial-gradient(circle at top left,rgba(255,199,117,.18),transparent 32%),#fffaf4f0}.danger-panel{background:radial-gradient(circle at top right,rgba(220,84,60,.12),transparent 35%),#fff5f3f2}.summary-grid{margin-top:1.2rem;display:grid;gap:.9rem}.summary-card{padding:1rem;border-radius:1.3rem;border:1px solid rgba(35,43,59,.08);background:#ffffffe6}.accent-amber{background:linear-gradient(135deg,#ffebcbf2,#fff9f0f2)}.accent-blue{background:linear-gradient(135deg,#dce8fff2,#f2f6fff2)}.accent-sand{background:linear-gradient(135deg,#f4e7cff2,#fff7eaf2)}.summary-label{display:block;color:#685546;font-size:.88rem;font-weight:700}.summary-value{display:block;margin-top:.45rem;color:#201713;font-size:clamp(1.6rem,6vw,2.5rem);line-height:1.1}.tips{margin-top:1rem;color:#5d6880;font-size:.92rem;line-height:1.65}.tips p,.error-message{margin:0}.error-message{margin-top:1rem;padding:.9rem 1rem;border-radius:1rem;background:#c233251f;color:#9a2415;font-weight:700}.danger-note{color:#8d3b2e}.monthly-layout{grid-template-columns:1fr}.monthly-panel{background:radial-gradient(circle at top right,rgba(110,157,255,.16),transparent 32%),#f8fbffed}.monthly-header{align-items:center}.month-switcher{display:flex;flex-wrap:wrap;gap:.6rem}.month-total-card{margin-top:1.2rem}.monthly-list{margin-top:1rem;display:grid;gap:.85rem}.monthly-item{padding:1rem;border-radius:1.2rem;border:1px solid rgba(35,43,59,.08);background:#ffffffdb}.monthly-item-header{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;color:#2d221d}.monthly-item-header strong{font-size:1rem}.monthly-item-header span{color:#274c9c;font-weight:800}.monthly-item-grid{margin:.85rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.monthly-item-grid div{display:grid;gap:.2rem}.monthly-item-grid dt{color:#6f5d50;font-size:.82rem;font-weight:700;letter-spacing:.04em}.monthly-item-grid dd{margin:0;color:#1f1713;font-weight:700}.empty-state{margin:1rem 0 0;padding:1rem;border-radius:1rem;background:#ffffffb8;color:#6b5a4f;text-align:center;font-weight:700}@media(min-width:820px){.panel-grid{grid-template-columns:1.2fr .8fr;align-items:start}.settings-layout{grid-template-columns:1fr .9fr;align-items:start}.monthly-item-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}:root{font-family:Avenir Next,Hiragino Sans,Yu Gothic,sans-serif;color:#201713;background:radial-gradient(circle at top,rgba(255,212,143,.56),transparent 30%),linear-gradient(180deg,#fff6ea,#fffdf8 52%,#eef5ff);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-width:320px;min-height:100vh}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 15%,rgba(255,165,0,.14),transparent 28%),radial-gradient(circle at 80% 80%,rgba(60,120,255,.12),transparent 22%);pointer-events:none}#root{position:relative;min-height:100vh;padding:1rem}button,input{font:inherit}button{cursor:pointer}
