.layout{width:100%;max-width:100%;min-height:100vh;display:flex;overflow-x:hidden}.sidebar{width:var(--sidebar-width);z-index:100;background:#1f1b2d;border-right:1px solid #ffffff0f;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-logo{color:inherit;border-bottom:1px solid #ffffff1a;align-items:center;gap:14px;padding:28px 20px;text-decoration:none;transition:background .15s;display:flex}.sidebar-logo:hover{background:#ffffff0a}.sidebar-logo:focus-visible{outline-offset:-4px;outline:2px solid #10b981b3}.logo-mark{flex-shrink:0;width:60px;height:60px}.sidebar-title{color:#fff;letter-spacing:.04em;white-space:nowrap;font-family:Noto Serif JP,serif;font-size:16px;font-weight:700}.sidebar-subtitle{color:#ffffff7a;letter-spacing:.06em;margin-top:2px;font-size:10px}.sidebar-nav{flex-direction:column;flex:1;padding:16px 12px;display:flex;overflow-y:auto}.nav-section-label{letter-spacing:.15em;color:#ffffff5c;text-transform:uppercase;padding:0 12px 8px;font-size:9px}.nav-item{color:#ffffffc7;letter-spacing:.02em;border-left:0;border-radius:8px;align-items:center;gap:12px;min-height:42px;margin-bottom:4px;padding:10px 12px;font-size:14px;font-weight:400;transition:all .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#10b981;background:#10b98126;font-weight:600}.nav-icon{width:18px;height:18px;color:inherit;stroke-width:1.75px;flex-shrink:0}.nav-item-group{margin-bottom:4px}.nav-item-parent{cursor:pointer;margin-bottom:0}.nav-toggle-icon{stroke-width:2px;color:#ffffff80;flex-shrink:0;width:14px;height:14px;margin-left:auto;transition:transform .15s}.nav-item-parent:hover .nav-toggle-icon,.nav-item-parent.active .nav-toggle-icon{color:inherit}.nav-toggle-icon.expanded{transform:rotate(180deg)}.nav-submenu{flex-direction:column;gap:10px;padding:6px 4px 6px 30px;display:flex}.nav-submenu-group{flex-direction:column;gap:1px;display:flex}.nav-submenu-label{letter-spacing:.1em;color:#ffffff52;text-transform:uppercase;padding:4px 10px;font-size:9px}.nav-subitem{color:#ffffffad;border-left:2px solid #0000;border-radius:6px;padding:7px 10px;font-size:12.5px;line-height:1.4;text-decoration:none;transition:all .15s}.nav-subitem:hover{color:#fff;background:#ffffff0f}.nav-subitem.active{color:#10b981;background:#10b98126;border-left-color:#10b981;font-weight:600}.sidebar-footer{border-top:1px solid #ffffff1a;padding:12px}.user-info{background:#ffffff0a;border-radius:8px;align-items:center;gap:12px;margin-bottom:10px;padding:12px;display:flex}.profile-avatar{background:var(--green-mid);color:#fff;border:1px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.profile-avatar img,.profile-avatar svg{width:100%;height:100%;display:block}.profile-avatar img{object-fit:cover}.profile-avatar svg{fill:#c9a55aeb;stroke:#ffffffdb;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;padding:6px}.user-avatar-circle{background:#2a5240b8;width:34px;height:34px}.user-text{gap:1px;min-width:0;display:grid}.user-temple-name{color:#ffffffdb;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:12px;font-weight:700;overflow:hidden}.user-name{color:#fff9;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:12px;overflow:hidden}.logout-btn{color:#ffffff9e;background:0 0;border:1px solid #ffffff26;border-radius:8px;width:100%;padding:9px 12px;font-family:Noto Sans JP,sans-serif;font-size:12px;transition:all .15s}.logout-btn:hover{color:#ffffffd9;border-color:#ffffff59}.main-content{margin-left:var(--sidebar-width);min-width:0;max-width:calc(100% - var(--sidebar-width));flex-direction:column;flex:1;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);z-index:10;background:#fff;justify-content:space-between;align-items:center;height:58px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:8px;font-size:13px;display:flex}.breadcrumb-root{color:#999}.breadcrumb-sep{color:#ccc}.breadcrumb-page{color:#1e1e1e;font-weight:600}.topbar-right{align-items:center;gap:14px;display:flex}.date-badge{color:#5a5a5a;background:var(--cream);border:1px solid var(--border-mid);border-radius:20px;padding:4px 12px;font-family:Noto Serif JP,serif;font-size:12px}.topbar-avatar{background:var(--green-mid);color:#fff;border-color:#2a52402e;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex}.topbar-settings-link{color:var(--green-mid);align-items:center;gap:8px;display:inline-flex}.topbar-settings-icon{stroke-width:1.8px;width:22px;height:22px;display:none}.content-inner{box-sizing:border-box;flex:1;min-width:0;max-width:100%;padding:32px;overflow-x:hidden}.content-inner>:is(.dashboard,.input-page,.tx-page,.import-page,.reports-page,.settings-page,.recurring-page){text-align:left;width:min(100%,1120px);max-width:1120px;margin:0 auto}.bottom-nav{display:none}@media (width<=768px){.sidebar{display:none}.main-content{width:100%;max-width:100%;margin-left:0}.topbar{padding:0 16px}.date-badge{display:none}.topbar-settings-icon{display:block}.content-inner{padding:18px 14px 92px}.bottom-nav{z-index:100;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fff;grid-template-columns:repeat(5,1fr);gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #00000014}.bottom-nav-item{color:#666;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:52px;font-size:10px;font-weight:500;display:flex}.bottom-nav-item.active{background:var(--green-pale);color:var(--green-mid)}.bottom-nav-icon{stroke-width:1.8px;width:22px;height:22px}.bottom-nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}}.login-page{min-height:100vh;display:flex}.login-left{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--green-deep);flex-direction:column;justify-content:center;align-items:center;gap:0;padding:48px 24px;display:flex}.login-box{text-align:center;flex-direction:column;align-items:center;gap:0;width:100%;display:flex}.login-mark{width:56px;height:56px;margin-bottom:14px}.login-title{color:var(--gold-light);margin-bottom:6px;font-family:Noto Serif JP,serif;font-size:22px;font-weight:700}.login-sub{color:#f7f3ed8c;margin-bottom:40px;font-size:12px}.login-features{flex-direction:column;gap:10px;width:100%;display:flex}.lf-item{color:#f7f3eda6;text-align:left;background:#c9a55a1a;border-left:2px solid #c9a55a4d;border-radius:6px;padding:8px 12px;font-size:12px}.login-right{background:var(--cream);flex:1;justify-content:center;align-items:center;padding:48px 40px;display:flex}.right-content{width:100%;max-width:400px}.right-catch{color:var(--green-deep);text-align:center;margin-bottom:28px;font-family:Noto Serif JP,serif;font-size:20px;font-weight:700}.login-card{background:var(--white);box-shadow:var(--shadow-md);border:1px solid var(--cream-dark);border-radius:12px;padding:32px 28px}.google-btn,.apple-btn,.email-submit-btn{border:1.5px solid var(--gray-200);border-radius:var(--radius);background:var(--white);width:100%;color:var(--gray-800);justify-content:center;align-items:center;gap:10px;margin-bottom:10px;padding:12px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.google-btn:hover{border-color:var(--green-mid);background:var(--green-pale)}.google-btn{border-color:var(--green-mid);color:var(--green-deep)}.apple-btn{color:var(--white);background:#000;border-color:#000;margin-bottom:0}.apple-btn:hover{background:#222;border-color:#222}.email-auth{background:var(--cream);border:1px solid var(--cream-dark);border-radius:var(--radius);text-align:left;margin:16px 0 0;padding:16px}.email-intro{color:var(--gray-400);text-align:center;margin:0 0 10px;font-size:12px;line-height:1.5}.email-form{flex-direction:column;gap:10px;display:flex}.email-form label{flex-direction:column;gap:5px;display:flex}.email-form span{color:var(--gray-600);font-size:12px;font-weight:600}.email-form input{border:1.5px solid var(--cream-dark);background:var(--white);width:100%;min-height:40px;color:var(--gray-800);border-radius:6px;outline:none;padding:9px 11px;font-size:14px}.email-form input:focus{border-color:var(--green-mid);box-shadow:0 0 0 3px #2a52401f}.auth-message{border-radius:6px;margin:0;padding:8px 10px;font-size:12px;line-height:1.45}.auth-message.error{background:var(--red-pale);color:var(--red-soft)}.auth-message.success{background:var(--green-pale);color:var(--green-mid)}.email-submit-btn{border-color:var(--green-deep);background:var(--green-deep);color:var(--white);margin:0}.email-submit-btn:hover{background:var(--green-mid);border-color:var(--green-mid)}.email-submit-btn:disabled{cursor:not-allowed;opacity:.7}.email-links{flex-wrap:wrap;justify-content:center;gap:8px 14px;margin-top:12px;display:flex}.email-links button{color:var(--green-mid);text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.email-links button:hover{color:var(--green-deep)}.login-note{color:var(--gray-400);text-align:center;margin-top:14px;font-size:11px}.memoriam-note{color:var(--gray-400);text-align:center;margin-top:12px;font-size:11px;line-height:1.5}.memoriam-note a{color:var(--gold);text-underline-offset:3px;margin-left:6px;font-weight:700;text-decoration:underline}.memoriam-note a:hover{color:var(--gold-light)}.login-legal-links{border-top:1px solid var(--cream-dark);flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:16px;padding-top:14px;display:flex}.login-legal-links a{color:var(--gray-400);text-underline-offset:3px;font-size:11px;text-decoration:underline}.login-legal-links a:hover{color:var(--green-mid)}@media (width<=768px){.login-page{flex-direction:column}.login-left{width:100%;min-width:unset;flex-direction:row;justify-content:flex-start;gap:16px;padding:32px 24px}.login-mark{width:40px;height:40px;margin-bottom:0}.login-title{margin-bottom:0;font-size:18px}.login-sub,.login-features{display:none}.login-right{padding:32px 20px}.right-catch{font-size:17px}}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:24px;display:flex}.dash-title{color:var(--green-deep);letter-spacing:.04em;font-family:Noto Serif JP,serif;font-size:22px;font-weight:700}.dash-period{color:#5a5a5a;letter-spacing:.04em;margin-top:4px;font-size:12px}.quick-actions{gap:10px;display:flex}.btn-income{background:var(--green-mid);color:#fff;border-radius:var(--radius);letter-spacing:.04em;border:none;align-items:center;gap:6px;padding:10px 18px;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:500;transition:background .15s,transform .1s;display:flex}.btn-income:hover{background:var(--green-light);transform:translateY(-1px)}.btn-expense,.btn-transfer{border-radius:var(--radius);letter-spacing:.04em;background:#fff;align-items:center;gap:6px;padding:10px 18px;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:500;transition:all .15s;display:flex}.btn-expense{color:var(--red-soft);border:1.5px solid #8b3a3a4d}.btn-expense:hover{background:var(--red-pale);transform:translateY(-1px)}.btn-transfer{color:#2563eb;border:1.5px solid #2563eb4d}.btn-transfer:hover{background:#eff6ff;transform:translateY(-1px)}.recurring-notice{border-radius:var(--radius);background:#fffaf0;border:1px solid #9e7c3a3d;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:16px 18px;display:flex}.recurring-notice>div:first-child{gap:4px;display:grid}.recurring-notice strong{color:var(--green-deep);font-size:15px}.recurring-notice span{color:var(--gray-600);font-size:13px}.recurring-notice-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.recurring-notice-actions a,.recurring-notice-actions button{border-radius:var(--radius);min-height:38px;padding:9px 14px;font-size:13px;font-weight:700}.recurring-notice-actions a{background:var(--white);color:var(--green-mid);border:1px solid #2a524038;align-items:center;display:inline-flex}.recurring-notice-actions button{background:var(--green);color:var(--white);border:0}.recurring-notice-actions button:hover{background:var(--green-light)}.recurring-notice-actions button:disabled{opacity:.6}.cards-row{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}.summary-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:20px 22px;position:relative;overflow:hidden}.summary-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.card-income:before{background:var(--green-light)}.card-expense:before{background:var(--red-soft)}.card-balance:before{background:var(--gold)}.card-label{color:#999;letter-spacing:.1em;margin-bottom:10px;font-size:11px;font-weight:500}.card-amount{letter-spacing:-.01em;min-height:30px;margin-bottom:8px;font-family:Noto Serif JP,serif;font-size:26px;font-weight:700;line-height:1}.income-amount{color:var(--green-mid)}.expense-amount{color:var(--red-soft)}.balance-amount{color:var(--navy)}.card-sub{color:#999;align-items:center;gap:6px;font-size:11px;display:flex}.card-tag{border-radius:10px;padding:2px 7px;font-size:10px;font-weight:500}.tag-up{color:var(--green-mid);background:#e8f5ee}.tag-down{background:var(--red-pale);color:var(--red-soft)}.balance-rate{color:var(--green-mid);margin-left:4px}.progress-bar{background:var(--cream-dark);border-radius:2px;height:3px;margin-top:10px}.progress-fill{border-radius:2px;height:100%;transition:width .4s}.income-fill{background:var(--green-light)}.expense-fill{background:#e8928c}.balance-fill{background:var(--gold)}.amount-skel{background:linear-gradient(90deg, var(--cream-dark), #e5e0d8, var(--cream-dark));vertical-align:middle;background-size:200% 100%;border-radius:4px;width:110px;height:26px;animation:1.2s linear infinite skel-pulse;display:inline-block}.annual-card{background:var(--green-deep);border-radius:var(--radius);grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;gap:20px;margin-bottom:18px;padding:20px 26px;display:grid;position:relative;overflow:hidden}.annual-card:after{content:"令";color:#ffffff06;pointer-events:none;font-family:Noto Serif JP,serif;font-size:110px;line-height:1;position:absolute;bottom:-18px;right:-8px}.annual-title-col{color:#fff6;letter-spacing:.08em;border-right:1px solid #ffffff1a;padding-right:20px;font-size:10px}.annual-year{color:#fff;margin-bottom:4px;font-family:Noto Serif JP,serif;font-size:16px;font-weight:700;display:block}.annual-label{color:#ffffff73;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:10px}.annual-value{letter-spacing:-.01em;font-family:Noto Serif JP,serif;font-size:20px;font-weight:700}.annual-income{color:#7fcca0}.annual-expense{color:#e8928c}.annual-balance{color:var(--gold-light)}.bottom-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.panel{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.panel-title{color:var(--green-deep);letter-spacing:.04em;font-family:Noto Serif JP,serif;font-size:14px;font-weight:600}.panel-link{color:var(--green-light);letter-spacing:.04em;font-size:11px}.panel-link:hover{text-decoration:underline}.chart-legend{gap:14px;display:flex}.legend-item{color:#666;align-items:center;gap:5px;font-size:11px;display:flex}.legend-dot{border-radius:2px;flex-shrink:0;width:10px;height:10px}.dot-income{background:var(--green-light)}.dot-expense{background:#e8928c}.chart-area{padding:16px 16px 12px}.chart-skel{grid-template-columns:repeat(6,1fr);align-items:end;gap:12px;height:200px;padding:20px 8px 8px;display:grid}.chart-skel span{background:linear-gradient(90deg, var(--cream-dark), #e5e0d8, var(--cream-dark));background-size:200% 100%;border-radius:4px;animation:1.2s linear infinite skel-pulse;display:block}.tx-list{padding:4px 0}.tx-skel{gap:0;padding:4px 0;display:grid}.tx-skel span{border-bottom:1px solid var(--cream-dark);background:linear-gradient(90deg, var(--cream-dark), #e5e0d8, var(--cream-dark));background-size:200% 100%;border-radius:2px;height:62px;margin:0 20px;animation:1.2s linear infinite skel-pulse;display:block}.tx-item{border-bottom:1px solid var(--cream-dark);align-items:center;gap:12px;padding:12px 20px;transition:background .12s;display:flex}.tx-item:last-child{border-bottom:none}.tx-item:hover{background:var(--cream)}.tx-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;display:flex}.icon-income{background:#e8f5ee}.icon-expense{background:var(--red-pale)}.icon-transfer{color:#2563eb;background:#dbeafe}.tx-meta{flex:1;min-width:0}.tx-desc{color:#1e1e1e;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.02em;font-size:13px;font-weight:500;overflow:hidden}.tx-date-cat{color:#999;align-items:center;gap:6px;margin-top:2px;font-size:11px;display:flex}.tx-category{background:var(--green-pale);color:var(--green-mid);border-radius:3px;padding:1px 6px;font-size:10px;font-weight:500}.tx-category.expense-cat{background:var(--red-pale);color:var(--red-soft)}.tx-category.transfer-cat{color:#2563eb;background:#dbeafe}.tx-amount{letter-spacing:-.01em;white-space:nowrap;font-family:Noto Serif JP,serif;font-size:13px;font-weight:600}.amount-income{color:var(--green-mid)}.amount-expense{color:var(--red-soft)}.amount-transfer{color:#2563eb}.dash-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.empty-emoji{font-size:30px}.dash-empty p{color:#666;font-size:13px}.empty-action{border-radius:var(--radius);background:var(--green-mid);color:#fff;margin-top:6px;padding:9px 16px;font-size:13px;font-weight:500}@keyframes skel-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=900px){.cards-row{grid-template-columns:1fr;gap:10px}.annual-card{grid-template-columns:1fr 1fr}.bottom-grid{grid-template-columns:1fr}}@media (width<=600px){.dash-header{flex-direction:column;align-items:flex-start}.quick-actions{width:100%}.btn-income,.btn-expense,.btn-transfer{flex:1;justify-content:center;min-height:44px;padding:10px 12px}.annual-card{grid-template-columns:1fr}.annual-title-col{border-bottom:1px solid #ffffff1a;border-right:none;padding-bottom:12px;padding-right:0}.tx-item{align-items:flex-start}.tx-amount{font-size:12px}.modal{max-height:calc(100vh - 24px);overflow:auto}.modal-footer{flex-direction:column-reverse}.btn-cancel,.btn-submit-income,.btn-submit-expense,.btn-submit-transfer{width:100%;min-height:42px}.modal-transfer-grid{grid-template-columns:1fr}}@media (width<=420px){.modal-quick-amounts{grid-template-columns:repeat(2,1fr)}}.dashboard{text-align:left;width:100%;min-width:0;max-width:100%;overflow-x:hidden}.dashboard-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.dashboard-header h1{color:var(--green-deep);letter-spacing:.04em;margin:0;font-family:Noto Serif JP,serif;font-size:26px;font-weight:700}.dashboard-actions{align-items:center;gap:10px;display:flex}.dashboard .btn-primary,.dashboard .btn-secondary{border-radius:var(--radius);letter-spacing:.04em;justify-content:center;align-items:center;min-height:40px;padding:9px 16px;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.dashboard .btn-primary{border:1px solid var(--green-mid);background:var(--green-mid);color:var(--white)}.dashboard .btn-primary:hover{border-color:var(--green-light);background:var(--green-light)}.dashboard .btn-secondary{border:1px solid var(--border-mid);background:var(--white);color:var(--green-mid)}.dashboard .btn-secondary:hover:not(:disabled){border-color:var(--green-light);background:var(--green-pale)}.dashboard .btn-secondary:disabled{cursor:not-allowed;opacity:.65}.dashboard-loading{min-height:320px;color:var(--gray-600);align-content:center;place-items:center;gap:12px;display:grid}.spinner{border:3px solid var(--cream-dark);border-top-color:var(--green-mid);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite dashboard-spin}.spinner.small{border-width:2px;width:20px;height:20px}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.summary-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;min-width:0;margin-bottom:18px;display:grid}.summary-cards .summary-card{min-width:0;min-height:132px}.summary-card.income:before{background:var(--green-light)}.summary-card.expense:before{background:var(--red-soft)}.summary-card.surplus:before{background:var(--gold)}.summary-card.deficit:before{background:var(--red-soft)}.summary-card.fiscal:before{background:var(--green-deep)}.summary-card h3{color:var(--gray-600);letter-spacing:.04em;margin:0 0 12px;font-size:12px;font-weight:700}.summary-card .amount{margin:0 0 8px;font-family:Noto Serif JP,serif;font-size:24px;font-weight:700;line-height:1.2}.summary-card.income .amount,.summary-card.surplus .amount{color:var(--green-mid)}.summary-card.expense .amount,.summary-card.deficit .amount{color:var(--red-soft)}.summary-card.fiscal .amount{color:var(--navy)}.summary-card .yoy,.summary-card .detail{color:var(--gray-600);margin:0;font-size:12px}.account-balance-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);margin-bottom:18px;padding:20px}.section-heading-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-heading-row h2{color:var(--green-deep);margin:0;font-family:Noto Serif JP,serif;font-size:17px;font-weight:700}.section-link{color:var(--green-mid);font-size:12px;font-weight:700}.account-balance-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.account-balance-status{border:1px dashed var(--cream-dark);border-radius:var(--radius);background:var(--cream);min-height:96px;color:var(--gray-600);text-align:center;grid-column:1/-1;justify-content:center;align-items:center;gap:12px;padding:18px;display:flex}.account-balance-status p{margin:0;font-size:13px}.account-balance-error{background:var(--red-pale);color:var(--red-soft);border-color:#8b3a3a40}.account-balance-group{border:1px solid var(--cream-dark);border-radius:var(--radius);overflow:hidden}.account-balance-group h3{background:var(--cream);color:var(--gray-600);margin:0;padding:10px 12px;font-size:12px;font-weight:700}.account-balance-list{display:grid}.account-balance-row{border-top:1px solid var(--cream-dark);min-height:42px;color:var(--gray-800);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.account-balance-row:hover{background:var(--green-pale)}.account-balance-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.account-balance-row strong{color:var(--green-mid);white-space:nowrap;font-family:Noto Serif JP,serif;font-size:13px}.account-balance-row strong.negative{color:var(--red-soft)}.chart-section,.recent-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);box-sizing:border-box;min-width:0;max-width:100%;margin-bottom:18px;padding:20px}.chart-section h2,.recent-section h2{color:var(--green-deep);margin:0 0 16px;font-family:Noto Serif JP,serif;font-size:17px;font-weight:700}.empty-state{color:var(--gray-600);text-align:center;padding:28px 12px}.recent-table{border-collapse:collapse;table-layout:fixed;width:100%}.recent-table th,.recent-table td{border-bottom:1px solid var(--cream-dark);vertical-align:middle;padding:11px 10px;font-size:13px}.recent-table th{color:var(--gray-600);text-align:left;font-weight:700}.recent-table td{color:var(--gray-800);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-table tbody tr:hover{background:var(--cream)}.recent-table .amount-col,.recent-table .amount-cell{text-align:right}.amount-cell{font-family:Noto Serif JP,serif;font-weight:700}.amount-cell.income{color:var(--green-mid)}.amount-cell.expense{color:var(--red-soft)}.amount-cell.transfer{color:#2563eb}@media (width<=980px){.summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.account-balance-groups{grid-template-columns:1fr}}@media (width<=640px){.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-actions,.dashboard .btn-primary{width:100%}.summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-cards .summary-card{min-height:118px;padding:16px}.summary-card h3{margin-bottom:10px;font-size:11px}.summary-card .amount{font-size:21px}.summary-card .yoy,.summary-card .detail{font-size:11px}.summary-card .detail{line-height:1.45}.chart-section,.account-balance-section,.recent-section{padding:16px}.recent-section{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.recent-table{min-width:620px}}.cat-select{width:100%;position:relative}.cat-select-trigger{border:1px solid var(--gray-300,#d1d5db);width:100%;color:var(--gray-900,#111827);cursor:pointer;text-align:left;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:15px;transition:border-color .15s;display:flex}.cat-select-trigger:focus,.cat-select-trigger.open{border-color:var(--green-deep,#1c3a2e);outline:none;box-shadow:0 0 0 3px #1c3a2e1f}.cat-select-value{flex:1}.cat-select-chevron{width:16px;height:16px;color:var(--gray-500,#6b7280);flex-shrink:0;transition:transform .2s}.cat-select-chevron.rotated{transform:rotate(180deg)}.cat-select-dropdown{border:1px solid var(--gray-200,#e5e7eb);z-index:100;background:#fff;border-radius:8px;width:max(100%,min(680px,100vw - 32px));max-height:360px;position:absolute;top:calc(100% + 4px);left:0;right:auto;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.cat-select-group{padding:6px 0}.cat-select-group+.cat-select-group{border-top:1px solid var(--gray-100,#f3f4f6)}.cat-select-group-label{color:var(--gray-700,#374151);background:var(--gray-50,#f9fafb);letter-spacing:.02em;border-bottom:1px solid var(--gray-100,#f3f4f6);padding:6px 14px;font-size:13px;font-weight:700}.cat-select-item{cursor:pointer;text-align:left;background:0 0;border:none;align-items:baseline;gap:10px;width:100%;padding:8px 14px 8px 28px;transition:background .1s;display:flex}.cat-select-item:hover{background:#1c3a2e0a}.cat-select-item.selected{background:#1c3a2e14}.cat-select-item.selected .cat-item-name{color:var(--green-deep,#1c3a2e);font-weight:600}.cat-item-name{color:var(--gray-900,#111827);white-space:nowrap;flex-shrink:0;min-width:90px;font-size:14px}.cat-item-desc{color:var(--gray-400,#9ca3af);min-width:0;font-size:12px;line-height:1.4}.cat-select-value.placeholder{color:var(--gray-400,#9ca3af)}@media (width>=768px){.cat-select-dropdown{min-width:520px}}@media (width<=640px){.cat-select-dropdown{width:auto;max-height:min(70vh,520px);position:fixed;inset:auto 12px 12px}.cat-select-item{flex-direction:column;align-items:flex-start;gap:3px;padding:10px 14px 10px 24px}}.counterpart-autocomplete{width:100%;position:relative}.counterpart-menu{z-index:120;background:var(--white,#fff);border:1px solid var(--gray-200,#e5e7eb);border-radius:8px;width:max(100%,min(420px,100vw - 32px));max-height:280px;padding:5px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 10px 24px #00000021}.counterpart-menu button{width:100%;min-height:36px;color:var(--gray-800,#1f2937);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;padding:8px 10px;font-size:13px}.counterpart-menu button:hover,.counterpart-menu button.active{background:#1c3a2e14}.counterpart-menu button.create{color:var(--green,#1f5f43);font-weight:700}@media (width<=640px){.counterpart-menu{width:auto;max-height:min(60vh,420px);position:fixed;inset:auto 12px 12px}}.memo-tag-input{width:100%;position:relative}.memo-tag-input-row{align-items:center;gap:6px;display:flex}.memo-tag-input-row .form-input{flex:1;min-width:0}.memo-tag-picker-button{border:1px solid var(--gray-200,#e5e7eb);background:var(--white,#fff);width:38px;height:38px;color:var(--gray-600,#4b5563);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.memo-tag-picker-button svg{width:18px;height:18px}.memo-tag-picker-button:hover{color:var(--green,#1f5f43);border-color:var(--green,#1f5f43);background:#1c3a2e14}.memo-tag-empty{color:var(--gray-500,#6b7280);padding:10px;font-size:13px}.memo-tag-count{color:var(--gray-500,#6b7280);padding:4px 10px 6px;font-size:12px}.memo-tag-menu{z-index:1200;background:var(--white,#fff);border:1px solid var(--gray-200,#e5e7eb);scrollbar-width:thin;scrollbar-color:var(--gray-300,#d1d5db) transparent;border-radius:8px;padding:5px;position:fixed;overflow-y:auto;box-shadow:0 10px 24px #00000021}.memo-tag-menu::-webkit-scrollbar{width:6px}.memo-tag-menu::-webkit-scrollbar-thumb{background:var(--gray-300,#d1d5db);border-radius:3px}.memo-tag-menu button{width:100%;min-height:34px;color:var(--gray-800,#1f2937);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.memo-tag-dot{border:1px solid;border-radius:50%;flex-shrink:0;width:12px;height:12px}.memo-tag-menu button:hover,.memo-tag-menu button.active{background:#1c3a2e14}.memo-tag-menu button.create{color:var(--green,#1f5f43);font-weight:700}.input-page{max-width:560px}.ocr-card{gap:14px;margin-bottom:18px;display:grid}.ocr-card-main{align-items:flex-start;gap:12px;display:flex}.ocr-icon-wrap{border-radius:var(--radius);background:var(--green-pale);width:40px;height:40px;color:var(--green);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ocr-icon{width:22px;height:22px}.ocr-card h2{color:var(--gray-800);margin:0 0 4px;font-size:16px;font-weight:700}.ocr-card p{color:var(--gray-500);margin:0;font-size:13px;line-height:1.6}.ocr-usage{color:var(--green);margin-top:8px;font-size:12px;font-weight:700;display:inline-flex}.ocr-upload-btn{border:1px solid var(--green);border-radius:var(--radius);background:var(--green);width:100%;min-height:42px;color:var(--white);justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.ocr-upload-btn:hover:not(:disabled){background:var(--green-deep)}.ocr-upload-btn:disabled{border-color:var(--gray-200);background:var(--gray-200);color:var(--gray-500);cursor:not-allowed}.ocr-upload-icon{width:18px;height:18px}.ocr-file-input{display:none}.ocr-message{border-radius:var(--radius);background:var(--cream);color:var(--gray-600);margin:0;padding:10px 12px;font-size:12px;line-height:1.5}.ocr-message.locked{color:#92400e;background:#fef3c7;font-weight:600}.attachment-note{color:var(--green);margin:8px 0 0;font-size:12px;font-weight:700}.form-group{margin-bottom:18px}.form-group label{color:var(--gray-600);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group input,.form-group select{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);width:100%;color:var(--gray-800);padding:10px 12px;transition:border-color .15s}.form-group input:focus,.form-group select:focus{border-color:var(--green);outline:none}.amount-input{position:relative}.amount-input input{padding-right:36px;font-size:18px;font-weight:600}.yen{color:var(--gray-400);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.quick-amounts{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;display:grid}.quick-amounts button{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--cream);min-height:38px;color:var(--green);font-size:13px;font-weight:700;transition:all .15s}.quick-amounts button:hover{border-color:var(--green);background:var(--green-pale)}.type-toggle{gap:8px;margin-bottom:24px;display:flex}.toggle-btn{border:2px solid var(--gray-200);border-radius:var(--radius);background:var(--white);color:var(--gray-400);flex:1;padding:10px;font-size:15px;font-weight:600;transition:all .15s}.toggle-btn.active.income{border-color:var(--green);color:var(--green);background:var(--green-pale)}.toggle-btn.active.expense{border-color:var(--red);color:var(--red);background:#fef0f0}.submit-btn{border-radius:var(--radius);width:100%;color:var(--white);border:none;margin-top:8px;padding:13px;font-size:16px;font-weight:600;transition:all .15s}.submit-btn.income{background:var(--green)}.submit-btn.expense{background:var(--red)}.submit-btn.transfer{background:#2563eb}.submit-btn:disabled{opacity:.7}@media (width<=480px){.input-page{max-width:none}.quick-amounts{grid-template-columns:repeat(2,1fr)}}.category-desc{color:var(--gray-500,#6b7280);margin:4px 0 0;font-size:12px;line-height:1.4}.account-select{border:1px solid var(--gray-300,#d1d5db);background:#fff;border-radius:8px;width:100%;padding:10px 12px;font-size:1rem}.transfer-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.transfer-account-error{color:var(--red);grid-column:1/-1;margin:-8px 0 12px;font-size:12px;font-weight:600}@media (width<=480px){.transfer-account-grid{grid-template-columns:1fr}}.input-page{text-align:left;width:100%;max-width:600px;margin:0 auto}.input-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.input-header h1{color:var(--green-deep);letter-spacing:.04em;order:1;margin:0;font-family:Noto Serif JP,serif;font-size:24px;font-weight:700}.template-select-wrap{order:2;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.template-select-wrap label{color:var(--gray-500);white-space:nowrap;font-size:12px;font-weight:700}.template-select-wrap select{border:1px solid var(--border-mid);border-radius:var(--radius);background:var(--white);width:240px;min-height:38px;color:var(--gray-700);padding:8px 10px;font-size:13px}.back-link{border:1px solid var(--border-mid);border-radius:var(--radius);background:var(--white);min-height:38px;color:var(--green-mid);order:3;align-items:center;gap:7px;padding:8px 12px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.back-link:hover{border-color:var(--green-light);background:var(--green-pale)}.back-icon{stroke-width:2px;flex-shrink:0;width:20px;height:20px}.input-form-container,.recent-transactions{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.input-form-container{padding:24px}.form-section{margin-bottom:14px}.form-section:last-of-type{margin-bottom:0}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.input-page .form-group{min-width:0;margin-bottom:0}.form-label,.input-page .form-group .form-label{color:var(--gray-600);letter-spacing:.04em;margin-bottom:7px;font-size:13px;font-weight:700;display:block}.form-input,.form-select{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);width:100%;min-height:42px;color:var(--gray-800);outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus{border-color:var(--green-light);box-shadow:0 0 0 3px #3d7a5c1f}.form-input.error,.form-select.error{border-color:var(--red-soft);box-shadow:0 0 0 3px #8b3a3a1a}.form-error{color:var(--red-soft);margin-top:6px;font-size:12px;font-weight:700}.submit-error{text-align:right;margin:14px 0 0}.amount-input-wrapper{position:relative}.amount-input-wrapper .amount-input{text-align:right;padding-right:42px;font-size:18px;font-weight:700}.amount-unit{color:var(--gray-400);pointer-events:none;font-size:13px;font-weight:700;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.type-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.type-btn{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);min-height:42px;color:var(--gray-600);font-size:14px;font-weight:700;transition:all .15s}.type-btn.active.type-income{border-color:var(--green-light);background:var(--green-pale);color:var(--green-mid)}.type-btn.active.type-expense{border-color:var(--red-soft);background:var(--red-pale);color:var(--red-soft)}.type-btn.active.type-transfer{color:#2563eb;background:#eff6ff;border-color:#2563eb}.form-actions,.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.btn{border-radius:var(--radius);letter-spacing:.04em;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:10px 18px;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.65}.btn-primary{background:var(--green-mid);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--green-light)}.btn-secondary{border-color:var(--border-mid);background:var(--white);color:var(--green-mid)}.btn-secondary:hover:not(:disabled){background:var(--green-pale);border-color:var(--green-light)}.btn-danger{background:var(--red-soft);color:var(--white)}.btn-danger:hover:not(:disabled){background:#7a2d2d}.recent-transactions{margin-top:24px;overflow:hidden}.recent-transactions h2{border-bottom:1px solid var(--border);color:var(--green-deep);margin:0;padding:16px 20px;font-family:Noto Serif JP,serif;font-size:17px;font-weight:700}.empty-message{color:var(--gray-600);text-align:center;padding:30px 20px}.transaction-list{display:grid}.transaction-item{border-bottom:1px solid var(--cream-dark);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:14px 18px;display:grid}.transaction-item:last-child{border-bottom:0}.transaction-info{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.transaction-date{color:var(--gray-600);font-size:12px}.transaction-account{color:var(--gray-600);white-space:nowrap;font-size:12px}.transaction-category,.transaction-memo{color:var(--gray-800);font-size:13px}.transaction-memo{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transaction-amount-cell{white-space:nowrap;justify-content:flex-end;align-items:center;font-family:Noto Serif JP,serif;font-size:14px;font-weight:700;display:flex}.transaction-amount-cell.income{color:var(--green-mid)}.transaction-amount-cell.expense{color:var(--red-soft)}.transaction-amount-cell.transfer{color:#2563eb}.transaction-actions{gap:6px;display:inline-flex}.btn-icon{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);width:34px;height:34px;color:var(--gray-600);justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-edit:hover{border-color:var(--green-light);background:var(--green-pale);color:var(--green-mid)}.btn-delete:hover{border-color:var(--red-soft);background:var(--red-pale);color:var(--red-soft)}.icon-sm{stroke-width:2px;flex-shrink:0;width:16px;height:16px}.modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--white);border-radius:10px;width:min(100%,420px);padding:24px;box-shadow:0 20px 60px #00000038}.modal-content h3{color:var(--green-deep);margin:0 0 8px;font-family:Noto Serif JP,serif;font-size:18px}.modal-content p{color:var(--gray-600);margin:0}@media (width<=720px){.input-header{flex-direction:column;align-items:flex-start}.input-form-container{padding:18px}.form-row,.type-selector{grid-template-columns:1fr}.form-actions,.modal-actions{flex-direction:column}.btn{width:100%}.transaction-item{grid-template-columns:1fr auto}.transaction-amount-cell,.transaction-account{grid-column:auto}}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.attachment-section{border-top:1px solid var(--gray-100);padding-top:14px}.attachment-button svg,.attachment-open-btn svg{width:16px;height:16px}.attachment-status button,.attachment-open-btn{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);min-height:30px;color:var(--green-mid);padding:5px 9px;font-size:12px;font-weight:700}.attachment-status button:hover,.attachment-open-btn:hover{border-color:var(--green-mid);background:var(--green-pale)}.attachment-open-btn{justify-content:center;align-items:center;padding:5px 8px;display:inline-flex}@media (width<=600px){.input-header{flex-direction:column;align-items:stretch}.template-select-wrap{width:100%;min-width:0;margin-left:0}.template-select-wrap select{flex:1;width:auto}.back-link{justify-content:center}.form-row-3{grid-template-columns:1fr}.attachment-control,.attachment-status{flex-direction:column;align-items:stretch}.attachment-button,.attachment-status button{justify-content:center;width:100%}}.month-selector{align-items:center;gap:16px;margin-bottom:16px;font-size:16px;font-weight:600;display:flex}.month-selector button{border:1px solid var(--gray-200);color:var(--gray-600);background:0 0;border-radius:6px;padding:4px 12px;font-size:18px}.month-selector button:hover{border-color:var(--green);color:var(--green)}.month-selector .current-month-btn{padding:5px 12px;font-size:13px;font-weight:700}.month-selector .current-month-btn:disabled{cursor:default;opacity:.45}.month-selector .current-month-btn:disabled:hover{border-color:var(--gray-200);color:var(--gray-600)}.summary-row{flex-wrap:wrap;gap:20px;font-size:14px;font-weight:600;display:flex}.tx-summary-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.tx-summary-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.csv-export-btn,.csv-import-btn{border:1px solid var(--green);border-radius:var(--radius);background:var(--green);min-height:36px;color:var(--white);white-space:nowrap;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.csv-import-btn{background:var(--white);color:var(--green)}.csv-export-btn svg,.csv-import-btn svg{width:17px;height:17px}.csv-export-btn:hover:not(:disabled){background:var(--green-deep);border-color:var(--green-deep)}.csv-import-btn:hover{background:#16a34a14}.csv-export-btn:disabled{cursor:not-allowed;opacity:.55}.income-sum{color:var(--green)}.expense-sum{color:var(--red)}.balance-sum.pos{color:var(--green)}.balance-sum.neg{color:var(--red)}.tx-table.full{border-collapse:collapse;table-layout:fixed;width:100%}.tx-table.full th{border-right:1px solid var(--gray-200)}.tx-table.full th:last-child{border-right:none}.tx-table.full th{text-align:center;color:var(--gray-600);border-bottom:2px solid var(--gray-200);background:#f4f1eb;padding:8px 10px;font-size:12px;font-weight:700}.tx-table.full td{border-bottom:1px solid var(--gray-200);border-right:1px solid var(--gray-200);text-overflow:ellipsis;white-space:nowrap;padding:10px;font-size:14px;overflow:hidden}.tx-table.full td:last-child{border-right:none}.tx-date{color:var(--gray-500);width:105px}.tx-cat{width:130px}.tx-counterpart{color:var(--gray-700);width:130px}.tx-memo{color:var(--gray-600);width:auto}.tx-account{width:130px;color:var(--gray-500);font-size:12px}.tx-amount{text-align:right;width:105px;font-weight:600}.tx-amount-heading{text-align:center}.tx-amount.income{color:var(--green)}.tx-amount.expense{color:var(--red)}.tx-amount.transfer{color:#2563eb}.tx-balance{color:var(--gray-800);width:120px}.tx-balance.negative{color:var(--red)}.tx-opening-row{background:var(--gray-50,#f9fafb);color:var(--gray-600)}.tx-opening-row .tx-cat{font-weight:600}.tx-attachment{text-align:center}.attachment-open-btn{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);min-height:30px;color:var(--green-mid);justify-content:center;align-items:center;padding:5px 8px;display:inline-flex}.attachment-open-btn:hover{border-color:var(--green-mid);background:var(--green-pale)}.attachment-open-btn svg{width:16px;height:16px}.transaction-type{border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.transaction-type.type-income{background:var(--green-pale);color:var(--green-mid)}.transaction-type.type-expense{background:var(--red-pale);color:var(--red-soft)}.transaction-type.type-transfer{color:#2563eb;background:#eff6ff}.empty-msg{color:var(--gray-400);text-align:center;padding:40px}.tx-actions{white-space:nowrap;justify-content:center;gap:6px;display:flex}.tx-action{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);min-height:32px;padding:5px 10px;font-size:12px;font-weight:700;transition:all .15s}.tx-action.edit{color:var(--green)}.tx-action.edit:hover{border-color:var(--green);background:var(--green-pale)}.tx-action.delete{color:var(--red)}.tx-action.delete:hover{border-color:var(--red);background:#fef0f0}.tx-skeleton{gap:12px;display:grid}.tx-skeleton-row{grid-template-columns:100px 120px 1fr 110px;align-items:center;gap:16px;min-height:38px;display:grid}.tx-skeleton-row span{background:linear-gradient(90deg, var(--gray-100), var(--gray-200), var(--gray-100));background-size:200% 100%;border-radius:6px;height:14px;animation:1.2s linear infinite skeleton-pulse;display:block}.empty-state{text-align:center;justify-items:center;gap:8px;padding:40px 16px;display:grid}.empty-emoji{font-size:34px;line-height:1}.empty-state h2{color:var(--gray-800);font-size:16px}.empty-state p{max-width:360px;color:var(--gray-600)}.empty-action{border-radius:var(--radius);background:var(--green);color:var(--white);margin-top:8px;padding:10px 16px;font-weight:700}.modal-backdrop{z-index:200;background:#00000057;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.edit-modal{border-radius:var(--radius);background:var(--white);width:min(560px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-md);padding:22px;overflow:auto}.modal-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.modal-header h2{color:var(--gray-800);font-size:18px}.modal-close{border:1px solid var(--gray-200);background:var(--white);width:34px;height:34px;color:var(--gray-600);border-radius:50%;font-size:20px;line-height:1}.type-toggle.compact{margin-bottom:18px}.modal-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.modal-grid label,.modal-grid .modal-field{color:var(--gray-600);gap:6px;font-size:13px;font-weight:700;display:grid}.modal-grid input,.modal-grid select{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);width:100%;color:var(--gray-800);padding:10px 12px}.modal-grid input:focus,.modal-grid select:focus{border-color:var(--green);outline:none}.modal-attachment{gap:8px;margin-top:14px;display:grid}.modal-attachment>span{color:var(--gray-600);font-size:12px;font-weight:700}.attachment-control{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.attachment-button{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);min-height:38px;color:var(--green-mid);cursor:pointer;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.attachment-button:hover{border-color:var(--green-mid);background:var(--green-pale)}.attachment-button svg{width:16px;height:16px}.attachment-button input{display:none}.attachment-status{min-width:0;color:var(--gray-600);align-items:center;gap:8px;font-size:13px;display:flex}.attachment-status span{text-overflow:ellipsis;white-space:nowrap;max-width:360px;overflow:hidden}.attachment-status button{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);min-height:30px;color:var(--green-mid);padding:5px 9px;font-size:12px;font-weight:700}.attachment-status button:hover{border-color:var(--green-mid);background:var(--green-pale)}.attachment-empty{color:var(--gray-400)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.secondary-btn,.primary-btn{border-radius:var(--radius);min-height:40px;padding:9px 16px;font-weight:700}.secondary-btn{border:1px solid var(--gray-200);background:var(--white);color:var(--gray-600)}.primary-btn{color:var(--white);border:0}.primary-btn.income{background:var(--green)}.primary-btn.expense{background:var(--red)}.primary-btn.transfer{background:#2563eb}.primary-btn:disabled{opacity:.7}.toggle-btn.active.transfer{color:#2563eb;background:#eff6ff;border-color:#2563eb}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=640px){.month-selector{justify-content:space-between}.summary-row{flex-direction:column;gap:6px}.tx-summary-bar{flex-direction:column;align-items:stretch}.tx-summary-actions{flex-direction:column;width:100%}.csv-export-btn,.csv-import-btn{justify-content:center;width:100%}.tx-table.full thead{display:none}.tx-table.full,.tx-table.full tbody,.tx-table.full tr,.tx-table.full td{width:100%;display:block}.tx-table.full tr{border-bottom:1px solid var(--gray-100);border-radius:var(--radius);background:var(--white);padding:12px}.tx-table.full td{border-bottom:0;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:12px;padding:4px 0;display:grid}.tx-table.full td:before{content:attr(data-label);color:var(--gray-400);font-size:12px;font-weight:700}.tx-amount{text-align:left;min-height:18px}.tx-table.full td.tx-actions{justify-content:flex-start;margin-top:6px;display:flex}.attachment-control,.attachment-status{flex-direction:column;align-items:stretch}.attachment-button,.attachment-status button{justify-content:center;width:100%}.tx-skeleton-row{grid-template-columns:1fr;gap:8px;padding:10px 0}.modal-backdrop{align-items:flex-end;padding:12px}.edit-modal{max-height:calc(100vh - 24px);padding:18px}.modal-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.secondary-btn,.primary-btn{width:100%}}.tx-table.full tbody tr:nth-child(2n){background:#f8f7f3}.tx-table.full tbody tr:hover{background:#eef5ee;transition:background .15s}.tx-table.full th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.tx-table.full th.sortable:hover{color:var(--green-dark,#2d6a4f)}.tx-table.full td{border-bottom:1px solid var(--gray-200,#e5e7eb)}.account-filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.tag-filter-bar{margin-top:-4px}.tag-filter-label{align-items:center;gap:6px;display:inline-flex}.tag-filter-dot{border:1px solid;border-radius:50%;flex-shrink:0;width:10px;height:10px}.account-filter-btn{border:1px solid var(--gray-300,#d1d5db);color:var(--gray-600,#4b5563);cursor:pointer;background:#fff;border-radius:20px;padding:4px 14px;font-size:.85rem;transition:all .15s}.account-filter-btn.active{background:var(--green,#3a7d44);color:#fff;border-color:var(--green,#3a7d44)}.account-filter-btn:hover:not(.active){background:var(--gray-100,#f3f4f6)}.tx-account{color:var(--gray-500,#6b7280);font-size:.85rem}.import-modal-dialog.modal-dialog{width:min(1280px,96vw);max-height:calc(100vh - 40px);overflow:auto}.import-modal-dialog .import-page{max-width:none;padding:0}.import-page{max-width:900px;margin:0 auto;padding:0 0 6rem}.import-upload-card{padding:2rem}.import-desc{margin-bottom:1.5rem}.import-desc p{color:var(--gray-600);margin-bottom:.75rem}.import-format-box{background:var(--cream);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.4rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.import-format-box code{color:var(--green);background:#16a34a14;border-radius:4px;padding:.25rem .5rem;font-family:monospace}.import-file-button{width:100%;margin-bottom:1rem}.import-page .secondary-btn,.import-page .primary-btn{border-radius:var(--radius);min-height:40px;padding:9px 16px;font-weight:700}.import-page .secondary-btn{border:1px solid var(--gray-200);background:var(--white);color:var(--gray-600)}.import-page .primary-btn{color:var(--white);border:0}.import-page .primary-btn.income{background:var(--green)}.import-page .primary-btn:disabled{opacity:.7;cursor:not-allowed}.drop-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:12px;padding:3rem 2rem;transition:border-color .2s,background .2s}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--green);background:#16a34a0d}.drop-zone-icon{margin-bottom:.75rem;font-size:2.5rem}.drop-zone p{color:#1e1e1e;margin:0;font-weight:500}.drop-zone-sub{font-size:.85rem;color:var(--gray-600)!important;margin-top:.35rem!important;font-weight:400!important}.import-file-btn{background:var(--green);color:#fff;box-shadow:var(--shadow);border:0;border-radius:6px;justify-content:center;align-items:center;gap:.45rem;margin-top:1.25rem;padding:.65rem 1.15rem;font-weight:700;display:inline-flex}.import-file-btn:hover{background:var(--green-light)}.import-preview,.import-mapping{flex-direction:column;gap:1rem;display:flex}.mapping-card{padding:1.5rem}.mapping-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.mapping-header h2{margin:0 0 .35rem;font-size:1.15rem}.mapping-header p{color:var(--gray-600);margin:0;font-size:.9rem}.mapping-saved-badge{color:var(--green);background:#16a34a14;border:1px solid #16a34a38;border-radius:999px;flex-shrink:0;padding:.25rem .65rem;font-size:.78rem;font-weight:700}.mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.mapping-field{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;gap:.4rem;padding:.8rem;display:flex}.mapping-field.matched{background:#16a34a0a;border-color:#16a34a47}.mapping-field span{color:#1e1e1e;align-items:center;gap:.45rem;font-weight:700;display:flex}.mapping-field em{color:var(--red);font-size:.72rem;font-style:normal}.mapping-field strong{color:var(--green);margin-left:auto}.mapping-field select{border:1px solid var(--border);background:#fff;border-radius:6px;min-height:38px;padding:.45rem .55rem}.mapping-hint{color:#854d0e;background:#fffbeb;border:1px solid #facc15;border-radius:8px;margin-top:1rem;padding:.75rem 1rem;font-size:.86rem}.mapping-hint p+p{margin-top:.25rem}.csv-header-preview{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.csv-header-preview strong{margin-bottom:.55rem;font-size:.85rem;display:block}.csv-header-preview div{flex-wrap:wrap;gap:.45rem;display:flex}.csv-header-preview span{border:1px solid var(--gray-200);background:var(--cream);color:var(--gray-600);border-radius:999px;padding:.25rem .55rem;font-size:.78rem}.save-mapping-check{align-items:center;gap:.5rem;margin-top:1rem;font-weight:700;display:flex}.import-errors{color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:10px;padding:1rem 1.25rem;font-size:.875rem}.import-errors ul{margin:.5rem 0 0;padding-left:1.25rem}.import-errors p{margin:.5rem 0 0}.import-warnings{color:#854d0e;background:#fffbeb;border:1px solid #facc15;border-radius:10px;padding:1rem 1.25rem;font-size:.875rem}.import-warnings ul{margin:.5rem 0 0;padding-left:1.25rem}.import-warnings p{margin-top:.35rem}.import-summary-bar{flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.875rem 1.25rem;font-size:.9rem;display:flex}.import-summary-bar .income-sum{color:#16a34a;font-weight:600}.import-summary-bar .expense-sum{color:#dc2626;font-weight:600}.import-summary-bar .transfer-sum{color:#2563eb;font-weight:600}.import-summary-bar .unresolved-sum{color:#b45309;font-weight:600}.import-summary-bar .warning-sum{color:#b45309;font-weight:700}.import-empty{text-align:center;padding:2rem}.import-empty p{color:var(--gray-600);margin-bottom:1rem}.preview-table-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.check-all{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.preview-counts{color:var(--gray-600);font-size:.8rem}.preview-table-wrap{overflow-x:auto}.preview-table-wrap .tx-table{min-width:1080px}.col-check{text-align:center;width:2.5rem}.row-deselected{opacity:.4}.row-unresolved{opacity:1}.row-unresolved td{color:#1e1e1e;background:#fffbeb}.row-unresolved:hover td{background:#fef3c7}.type-badge{border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.type-badge.income{color:#16a34a;background:#dcfce7}.type-badge.expense{color:#dc2626;background:#fee2e2}.type-badge.transfer{color:#2563eb;background:#dbeafe}.type-select,.transfer-account-select,.row-account-select{border:1px solid var(--border);color:#1e1e1e;background:#fff;border-radius:6px;min-width:6.5rem;padding:.35rem .5rem;font-size:.85rem;font-weight:700}.type-select.income{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.type-select.expense{color:#dc2626;background:#fef2f2;border-color:#fecaca}.type-select.transfer,.transfer-account-select{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.transfer-account-select.warning{color:#92400e;background:#fffbeb;border-color:#f59e0b}.tx-account{width:7.5rem;min-width:7.5rem}.tx-counterpart{min-width:7.5rem;color:var(--gray-700)}.row-account-select{width:7.5rem;color:var(--gray-700);background:#fff;font-weight:700}.category-select{border:1px solid var(--border);color:#1e1e1e;background:#fff;border-radius:6px;min-width:9.5rem;max-width:12rem;padding:.35rem .5rem;font-size:.85rem}.category-select.warning{background:#fffbeb;border-color:#f59e0b}.original-kamoku{color:var(--gray-600);white-space:nowrap;font-size:.85rem}.original-kamoku.warning{color:#b45309;font-weight:600}.import-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.import-done{text-align:center;padding:3rem 2rem}.done-icon{margin-bottom:1rem;font-size:3rem}.import-done h2{margin:0 0 .5rem;font-size:1.4rem}.import-done p{color:var(--gray-600);margin:.25rem 0}.skip-note{color:#92400e;background:#fef3c7;border-radius:6px;padding:.4rem .75rem;font-size:.875rem;display:inline-block;margin-top:.5rem!important}.done-actions{justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex}@media (width<=600px){.mapping-header{flex-direction:column}.mapping-grid{grid-template-columns:1fr}.import-summary-bar{gap:.75rem;font-size:.8rem}.import-actions{flex-direction:column}}.bulk-category-bar{padding:14px 18px}.bulk-category-bar>strong{color:var(--gray-700,#374151);margin-bottom:10px;font-size:.9rem;display:block}.bulk-category-controls{flex-direction:column;gap:8px;display:flex}.bulk-category-item{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.bulk-label{white-space:nowrap;color:var(--gray-600,#4b5563);align-items:center;gap:6px;font-size:.85rem;display:flex}.bulk-category-select{border:1px solid var(--gray-300,#d1d5db);background:#fff;border-radius:6px;flex:1;min-width:160px;max-width:260px;padding:6px 8px;font-size:.85rem}.bulk-apply-btn{background:var(--green,#16a34a);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:6px 16px;font-size:.85rem}.bulk-apply-btn:disabled{background:var(--gray-300,#d1d5db);cursor:not-allowed}.bulk-apply-btn.transfer{background:#2563eb}.category-select.inferred{background-color:#f0fdf4;border-color:#86efac}.original-kamoku.inferred{color:#16a34a}.import-type-filter{background:var(--gray-50,#f9fafb);border:1px solid var(--gray-200,#e5e7eb);border-radius:8px;margin:12px 0 4px;padding:14px}.import-type-filter>strong{color:var(--gray-700,#374151);margin-bottom:8px;font-size:.85rem;display:block}.import-type-options{flex-wrap:wrap;gap:8px;display:flex}.type-option{border:1.5px solid var(--gray-300,#d1d5db);cursor:pointer;background:#fff;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;transition:all .15s;display:flex}.type-option input[type=radio]{display:none}.type-option.active{border-color:var(--green,#16a34a);color:var(--green,#16a34a);background:#f0fdf4;font-weight:600}.import-type-note{color:var(--gray-500,#6b7280);margin:8px 0 0;font-size:.8rem}.row-transfer td{background:#eff6ff}.row-transfer .transfer-badge{color:#374151;opacity:1!important}.transfer-badge{background:var(--gray-200,#e5e7eb);color:var(--gray-500,#6b7280);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:.75rem;display:inline-block}.transfer-badge.clickable{cursor:pointer;transition:background .15s}.transfer-badge.clickable:hover{color:#92400e;background:#fef3c7}.preview-table-wrap .tx-table th:nth-child(4),.preview-table-wrap .tx-table td:nth-child(4){width:11rem;min-width:11rem}.category-select{box-sizing:border-box;width:100%;min-width:10rem;max-width:10rem}.annual-edit-backdrop{z-index:300;background:#00000057;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.annual-edit-modal{border-radius:var(--radius);background:var(--white);width:min(1240px,96vw);max-height:calc(100vh - 40px);box-shadow:var(--shadow-md);padding:22px;overflow:auto}.annual-edit-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.annual-edit-header h2{color:var(--gray-800);font-size:18px}.annual-edit-close{border:1px solid var(--gray-200);background:var(--white);width:34px;height:34px;color:var(--gray-600);border-radius:50%;font-size:20px;line-height:1}.annual-edit-desc{color:var(--gray-600);margin:0 0 16px;font-size:13px}.annual-edit-help{margin:0 0 16px}.annual-edit-help-toggle{border:1px solid var(--green-mid);border-radius:var(--radius);background:var(--green-pale);color:var(--green-mid);padding:6px 10px;font-size:12px;font-weight:700}.annual-edit-help-body{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--gray-50,#f7f7f5);color:var(--gray-700,var(--gray-600));margin-top:10px;padding:12px 14px;font-size:12px;line-height:1.7}.annual-edit-help-body h4{color:var(--gray-800);margin:12px 0 4px;font-size:13px}.annual-edit-help-body h4:first-child{margin-top:0}.annual-edit-help-body table{border-collapse:collapse;width:100%;margin:4px 0 8px;font-size:11px}.annual-edit-help-body th,.annual-edit-help-body td{border:1px solid var(--gray-200);text-align:left;padding:4px 6px}.annual-edit-help-body th{background:var(--white);color:var(--gray-600)}.annual-edit-help-body p{margin:4px 0}.annual-edit-extra-field{background:var(--gray-50,#f7f7f7);border:1px solid var(--gray-200);border-radius:var(--radius);margin:0 0 16px;padding:12px}.annual-edit-extra-field label{color:var(--gray-600);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.annual-edit-extra-field input{box-sizing:border-box;width:100%}.annual-edit-extra-note{color:var(--gray-500,var(--gray-600));margin:6px 0 0;font-size:12px}.annual-edit-table-wrap{border:1px solid var(--gray-200);border-radius:var(--radius);overflow-x:auto}.annual-edit-table{border-collapse:collapse;width:100%;font-size:13px}.annual-edit-table th,.annual-edit-table td{border-bottom:1px solid var(--gray-100);text-align:left;white-space:nowrap;padding:8px 10px}.annual-edit-table th{background:var(--gray-50,#f7f7f5);color:var(--gray-600);font-weight:700}.annual-edit-table input,.annual-edit-table select{box-sizing:border-box;border:1px solid var(--gray-200);background:var(--white);width:100%;min-width:96px;color:var(--gray-800);border-radius:6px;padding:6px 8px;font-size:13px}.annual-edit-table input:focus,.annual-edit-table select:focus{border-color:var(--green);outline:none}.annual-edit-table textarea{box-sizing:border-box;border:1px solid var(--gray-200);background:var(--white);width:100%;min-width:180px;color:var(--gray-800);white-space:pre-wrap;resize:vertical;border-radius:6px;padding:6px 8px;font-family:inherit;font-size:13px;display:block}.annual-edit-table select+textarea{margin-top:8px}.annual-edit-table textarea:focus{border-color:var(--green);outline:none}.wareki-date-input{white-space:nowrap;align-items:center;gap:4px;display:flex}.wareki-toggle{border:1px solid var(--gray-200);background:var(--gray-50,#f7f7f5);color:var(--gray-600);border-radius:6px;flex:none;padding:4px 6px;font-size:11px;line-height:1}.wareki-toggle:hover{border-color:var(--green-mid);color:var(--green-mid)}.wareki-date-input input[type=date]{min-width:140px}.wareki-fields{color:var(--gray-600);align-items:center;gap:2px;font-size:12px;display:flex}.wareki-fields select{min-width:64px;padding:6px 4px}.wareki-fields input[type=number]{text-align:right;width:40px;min-width:40px;padding:6px 4px}.annual-edit-remove{border:1px solid var(--gray-200);background:var(--white);width:26px;height:26px;color:var(--gray-500);border-radius:50%;font-size:14px;line-height:1}.annual-edit-remove:hover{color:#d64545;border-color:#d64545}.annual-edit-empty{text-align:center;color:var(--gray-400);padding:16px}.annual-edit-add{border:1px dashed var(--gray-300,#ccc);border-radius:var(--radius);background:var(--white);min-height:36px;color:var(--green-mid);margin-top:12px;padding:7px 14px;font-size:13px;font-weight:700}.annual-edit-add:hover{border-color:var(--green-mid);background:var(--green-pale)}.annual-edit-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.annual-edit-cancel,.annual-edit-save{border-radius:var(--radius);min-height:40px;padding:9px 16px;font-size:14px;font-weight:700}.annual-edit-cancel{border:1px solid var(--gray-200);background:var(--white);color:var(--gray-600)}.annual-edit-save{background:var(--green-mid);color:var(--white);border:none}.annual-edit-save:disabled,.annual-edit-cancel:disabled{opacity:.6;cursor:default}@media (width<=640px){.annual-edit-modal{padding:16px}}.reports-page{width:100%;min-width:0;padding-bottom:40px}.reports-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.reports-subtitle{color:var(--gray-600);margin-top:-10px}.reports-actions{align-items:center;gap:8px;display:flex}.report-icon-btn{border:1px solid var(--border-mid);background:var(--white);min-height:40px;color:var(--green-deep);box-shadow:var(--shadow);border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.report-icon-btn svg{width:18px;height:18px}.report-filters,.detail-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.report-filters label,.detail-filters label{color:var(--gray-600);flex-direction:column;gap:5px;font-size:.82rem;font-weight:700;display:flex}.report-filters select,.detail-filters select,.detail-filters input{border:1px solid var(--border-mid);background:var(--white);min-width:150px;height:40px;color:var(--gray-800);border-radius:6px;padding:0 10px}.year-selector{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.year-selector button{border:1px solid var(--border-mid);background:var(--white);height:40px;color:var(--green-deep);box-shadow:var(--shadow);border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:800;display:inline-flex}.year-selector button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.year-selector button svg{width:17px;height:17px}.year-selector-current{border:1px solid var(--border);background:#fffdf9;border-radius:6px;flex-direction:column;justify-content:center;min-width:138px;min-height:40px;padding:6px 12px;display:flex}.year-selector-current strong{color:var(--green-deep);line-height:1.1}.year-selector-current span{color:var(--gray-600);font-size:.78rem;font-weight:700;line-height:1.2}.report-error{background:var(--red-pale);color:var(--red-soft);border:1px solid #8b3a3a3d;border-radius:6px;margin-bottom:16px;padding:12px 14px;font-weight:700}.print-report{flex-direction:column;gap:18px;min-width:0;display:flex}.print-header{border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow);border-radius:6px;justify-content:space-between;gap:16px;padding:18px 20px;display:flex}.print-header p{color:var(--gray-600);font-weight:700}.print-header h2{color:var(--green-deep);margin:4px 0 0;font-size:1.4rem;font-weight:800}.print-header>div:last-child{color:var(--gray-600);flex-direction:column;justify-content:center;align-items:flex-end;gap:4px;font-weight:700;display:flex}.report-card{min-width:0;padding:20px}.report-section-header{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.report-section-title{align-items:center;gap:10px;display:flex}.report-section-title svg{width:24px;height:24px;color:var(--gold)}.report-section-title h2{color:var(--green-deep);margin:0;font-size:1.25rem;font-weight:800}.report-section-header p{color:var(--gray-600);margin-top:4px}.report-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.report-summary.budget{grid-template-columns:repeat(3,minmax(0,1fr))}.report-kpi{border:1px solid var(--border);background:#fffdf9;border-radius:6px;min-height:96px;padding:14px}.report-kpi span{color:var(--gray-600);margin-bottom:8px;font-size:.82rem;font-weight:700;display:block}.report-kpi strong{color:var(--gray-800);font-size:1.35rem;line-height:1.2;display:block}.report-kpi small{color:var(--gray-600);margin-top:8px;font-weight:700;display:block}.report-kpi.income strong,.report-kpi.balance-pos strong{color:var(--green-light)}.report-kpi.expense strong,.report-kpi.balance-neg strong{color:var(--red-soft)}.report-chart{min-width:0;margin-bottom:18px;padding:8px 0 0;overflow-x:hidden}.chart-skeleton{align-items:flex-end;gap:8px;height:280px;padding:8px 0;display:flex}.chart-skeleton span{background:var(--gray-100);border-radius:4px 4px 0 0;flex:1;animation:1.5s ease-in-out infinite pulse}.chart-skeleton span:nth-child(odd){height:62%}.chart-skeleton span:nth-child(2n){height:42%}.report-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.report-breakdown-panel,.annual-table-wrap{min-width:0}.report-breakdown-panel h3,.annual-table-wrap h3{color:var(--gray-800);margin:0 0 10px;font-size:1rem;font-weight:800}.breakdown-table,.report-table{border-collapse:collapse;width:100%;font-size:.875rem}.breakdown-table td{vertical-align:middle;padding:7px 4px}.cat-name{white-space:nowrap;color:var(--gray-700);min-width:90px;font-size:.82rem}.cat-bar{width:100%;padding:0 8px}.bar-wrap{background:var(--gray-100);border-radius:4px;width:100%;min-width:40px;height:8px;overflow:hidden}.bar.income,.bar.expense{border-radius:4px;height:100%;transition:width .5s}.bar.income{background:var(--green-light)}.bar.expense{background:var(--red-soft)}.cat-pct{white-space:nowrap;color:var(--gray-400);text-align:right;width:36px;font-size:.75rem}.cat-amount{white-space:nowrap;text-align:right;padding-left:8px;font-size:.82rem;font-weight:700}.cat-amount.income,.amount.income{color:var(--green-light)}.cat-amount.expense,.amount.expense{color:var(--red-soft)}.annual-tables{grid-template-columns:1fr;gap:18px;min-width:0;display:grid}.report-table-wrap,.annual-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.report-table{border:1px solid var(--border);background:var(--white)}.report-table th,.report-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 9px}.report-table th{background:var(--green-pale);color:var(--green-deep);white-space:nowrap;font-size:.78rem;font-weight:800}.report-table tr:last-child td{border-bottom:0}.report-table .amount{text-align:right;white-space:nowrap;font-weight:700}.budget-table td:last-child{white-space:nowrap;font-weight:700}.report-table .muted{color:var(--gray-600)}.total-row td{background:#fffdf9;font-weight:800}.property-subtotal-row td{background:#fbf8f0;font-weight:700}.annual-document-property-heading{background:#f9f7f2;font-weight:800}.annual-document-note-cell,.annual-cover-reason-cell{white-space:pre-line}.annual-bs-table{table-layout:fixed}.annual-bs-label-col{width:35%}.annual-bs-amount-col{width:15%}.annual-bs-table th,.annual-bs-table td{vertical-align:top}.annual-bs-credit-side{border-left:2px solid var(--gray-200)}.annual-bs-section-cell{color:var(--gray-800);background:#f9f7f2;font-weight:800}.annual-bs-subtotal-cell{background:#fbf8f0;font-weight:700}.annual-bs-total-cell{background:var(--green-pale);color:var(--green-deep);font-weight:800}.annual-bs-empty-side{background:#fff}.annual-document-empty-cell{color:var(--gray-500,var(--gray-600))}.detail-summary{border:1px solid var(--border);background:#fffdf9;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.detail-summary span{color:var(--green-deep);font-weight:800}.detail-summary strong{color:var(--gray-800);text-align:right}.detail-table td:nth-child(4){min-width:180px}.annual-documents-card{break-inside:avoid}.annual-documents-note{color:var(--gray-600);background:#fffdf9;border:1px solid #9e7c3a3d;border-radius:6px;margin:-4px 0 14px;padding:10px 12px;font-size:.86rem;font-weight:700}.annual-documents{gap:14px;display:grid}.annual-document-page{border:1px solid var(--border);background:var(--white);break-inside:avoid;border-radius:6px;padding:16px}@media print{.annual-document-page{break-after:page;page-break-after:always;break-inside:auto;page-break-inside:auto}.annual-document-page:last-child{break-after:auto;page-break-after:auto}}.annual-document-page h3{color:var(--green-deep);margin:0;font-size:1rem;font-weight:800}.annual-document-meta{border:1px solid var(--border);background:#fffdf9;border-radius:6px;gap:4px;margin:0 0 12px;padding:8px 10px;display:grid}.annual-document-meta div{gap:8px;font-size:.8rem;display:flex}.annual-document-meta dt{width:150px;color:var(--gray-600);flex-shrink:0;font-weight:700}.annual-document-meta dd{color:var(--gray-800);margin:0;font-weight:700}.annual-document-title-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding-bottom:8px;display:flex}.annual-document-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.annual-document-edit-btn,.annual-document-pdf-btn,.annual-document-copy-btn{border:1px solid var(--green-mid);background:var(--white);min-height:30px;color:var(--green-mid);border-radius:999px;flex-shrink:0;padding:4px 14px;font-size:.78rem;font-weight:700}.annual-document-edit-btn:hover,.annual-document-pdf-btn:hover,.annual-document-copy-btn:hover{background:var(--green-pale)}.annual-document-pdf-btn:disabled,.annual-document-copy-btn:disabled{opacity:.6;cursor:default}.annual-document-empty{color:var(--gray-400);text-align:center}.annual-cover{gap:12px;display:grid}.annual-cover>p{color:var(--gray-600);font-weight:700}.annual-cover h3{border:0;margin:0;padding:0;font-size:1.4rem}.annual-cover dl{gap:8px;margin:0;display:grid}.annual-cover dl div{border:1px solid var(--border);background:#fffdf9;border-radius:6px;grid-template-columns:132px minmax(0,1fr);gap:10px;min-height:38px;padding:8px 10px;display:grid}.annual-cover dt{color:var(--gray-600);font-weight:800}.annual-cover dd{color:var(--gray-800);margin:0;font-weight:700}.annual-cover-letter{gap:14px}.annual-cover-date{color:var(--gray-600);justify-self:end;font-weight:700}.annual-cover-addressee{color:var(--gray-800);font-size:1.1rem;font-weight:800}.annual-cover .annual-cover-sender div{grid-template-columns:240px minmax(0,1fr)}.annual-cover-title{text-align:center;border:0;margin:6px 0 0;padding:0;font-size:1.15rem}.annual-cover-body{color:var(--gray-800);font-weight:500;line-height:1.7}.annual-cover-ki{text-align:center;color:var(--gray-800);font-weight:800}.annual-cover-period-table th{width:160px}.annual-cover-submit-yes{color:var(--green-deep);font-weight:800}.annual-cover-submit-no{color:var(--gray-500)}.annual-document-table{border-collapse:collapse;border:1px solid var(--border);background:var(--white);width:100%;font-size:.86rem}.annual-document-table th,.annual-document-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:9px 8px}.annual-document-table th{background:var(--green-pale);color:var(--green-deep);font-weight:800}.annual-document-table tr:last-child td,.annual-document-table tr:last-child th{border-bottom:0}.annual-document-table th:last-child,.annual-document-table td:last-child{border-right:0}.annual-document-table .amount{text-align:right;white-space:nowrap;font-weight:800}.annual-document-table .annual-document-section-cell{vertical-align:middle;text-align:center;background:var(--green-pale);color:var(--green-deep);font-weight:800}.annual-document-kv th{width:200px}.officer-roster-table{table-layout:fixed;font-size:.78rem}.officer-roster-table th:first-child,.officer-roster-table td:first-child{width:9%}.officer-roster-table th:nth-child(2),.officer-roster-table td:nth-child(2){width:10%}.officer-roster-table th:nth-child(3),.officer-roster-table td:nth-child(3){width:14%}.officer-roster-table th:nth-child(4),.officer-roster-table td:nth-child(4){width:10%}.officer-roster-table th:nth-child(5),.officer-roster-table td:nth-child(5){width:23%}.officer-roster-table th:nth-child(6),.officer-roster-table td:nth-child(6),.officer-roster-table th:nth-child(7),.officer-roster-table td:nth-child(7){width:10%}.officer-roster-table th:nth-child(8),.officer-roster-table td:nth-child(8){width:14%}.officer-roster-table td{word-break:break-word}.otani-report-card{overflow:hidden}.otani-report-heading{border:1px solid var(--border);background:#fffdf9;border-radius:6px;justify-content:space-between;gap:16px;margin-bottom:16px;padding:12px 14px;display:flex}.otani-report-heading p,.otani-report-heading span{color:var(--gray-600);font-weight:700;display:block}.otani-report-heading h3{color:var(--green-deep);margin:2px 0 0;font-size:1.15rem;font-weight:800}.otani-report-heading>div:last-child{text-align:right}.otani-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;margin-top:18px;overflow-x:auto}.otani-table-wrap h3{color:var(--gray-800);margin:0 0 10px;font-size:1rem;font-weight:800}.otani-table{border-collapse:collapse;border:1px solid var(--border);background:var(--white);width:100%;min-width:1080px;font-size:.78rem}.otani-table th,.otani-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:7px 6px;line-height:1.35}.otani-table th{background:var(--green-pale);color:var(--green-deep);text-align:center;white-space:nowrap;font-weight:800}.otani-table tr:last-child td{border-bottom:0}.otani-table th:last-child,.otani-table td:last-child{border-right:0}.otani-table .otani-subject{text-align:left;white-space:nowrap;min-width:190px}.otani-table .amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:64px}.otani-table .muted{color:var(--gray-400)}.otani-table .level-1 .otani-subject{font-weight:800}.otani-table .level-2 .otani-subject{padding-left:22px}.otani-table .level-3 .otani-subject{padding-left:40px}.otani-table .subtotal-row td{background:#fbf8f0;font-weight:800}.otani-table .grand-total-row td{background:var(--green-pale);color:var(--green-deep);font-weight:800}.empty-text{text-align:center;color:var(--gray-400);padding:24px;font-size:.9rem}.report-mobile-nav{display:none}.report-export-actions{gap:8px;margin-bottom:16px;display:flex}.report-export-btn{border:1px solid var(--border-mid);background:var(--white);min-height:36px;color:var(--green-deep);box-shadow:var(--shadow);border-radius:6px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex}.report-export-btn:hover{background:var(--green-pale);border-color:var(--green-mid)}.report-export-btn svg{width:16px;height:16px}.pnl-statement,.bs-statement{background:var(--white);border:1px solid var(--border);border-radius:6px;padding:20px}.pnl-header,.bs-header{text-align:center;border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:16px}.pnl-header h3,.bs-header h3{color:var(--green-deep);margin:0 0 8px;font-size:1.3rem;font-weight:800}.pnl-header p,.bs-header p{color:var(--gray-600);margin:4px 0 0;font-weight:700}.pnl-table{border-collapse:collapse;width:100%;font-size:.875rem}.pnl-table th,.pnl-table td{border-bottom:1px solid var(--border);text-align:left;padding:10px 12px}.pnl-table th{background:var(--green-pale);color:var(--green-deep);font-size:.8rem;font-weight:800}.pnl-table .amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.pnl-section-header td{color:var(--gray-800);background:#f9f7f2;padding-top:14px;font-weight:800}.pnl-subtotal td{background:#fbf8f0;font-weight:700}.pnl-total td{background:var(--green-pale);color:var(--green-deep);font-weight:800}.bs-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.bs-table{border-collapse:collapse;width:100%;font-size:.875rem}.bs-table th,.bs-table td{border-bottom:1px solid var(--border);text-align:left;padding:10px 12px}.bs-table th{background:var(--green-pale);color:var(--green-deep);font-size:.8rem;font-weight:800}.bs-table .amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.bs-table .empty-note{text-align:center;color:var(--gray-400);font-size:.8rem}.bs-subtotal td{background:#fbf8f0;font-weight:700}.bs-total td{background:var(--green-pale);color:var(--green-deep);font-weight:800}.bs-equity-table{margin-top:16px}.annual-document-note{color:var(--gray-600);margin:0 0 12px;font-size:.82rem}.annual-document-subtitle{color:var(--green-deep);margin:16px 0 6px;font-size:.88rem;font-weight:800}.annual-document-subtitle:first-child{margin-top:0}.annual-document-table .section-header td{color:var(--gray-800);background:#f9f7f2;padding-top:12px;font-weight:800}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}@media (width<=900px){.reports-toolbar,.print-header,.detail-summary{flex-direction:column;align-items:stretch}.print-header>div:last-child{align-items:flex-start}.annual-cover dl div{grid-template-columns:1fr}.otani-report-heading{flex-direction:column}.otani-report-heading>div:last-child{text-align:left}.report-summary,.report-summary.annual,.report-breakdown{grid-template-columns:1fr}.report-table{font-size:.8rem}.bs-columns{grid-template-columns:1fr}}@media (width<=768px){.report-mobile-nav{margin-bottom:16px;display:block}.report-mobile-nav label{color:var(--gray-600);flex-direction:column;gap:5px;font-size:.82rem;font-weight:700;display:flex}.report-mobile-nav select{border:1px solid var(--border-mid);background:var(--white);width:100%;height:44px;color:var(--gray-800);border-radius:6px;padding:0 10px;font-size:.9rem}.detail-filters{flex-direction:column;align-items:stretch}.detail-filters label,.detail-filters select,.detail-filters input{width:100%}}@media (width<=640px){.reports-page{width:100%;overflow-x:hidden}.reports-toolbar{gap:10px}.reports-toolbar .page-title{font-size:22px;line-height:1.25}.reports-subtitle{margin-top:4px;font-size:12px;line-height:1.5}.reports-actions,.reports-actions .report-icon-btn,.report-filters,.report-filters label,.report-filters select,.year-selector,.year-selector button,.year-selector-current{width:100%}.report-filters{flex-direction:column;align-items:stretch}.year-selector{grid-template-columns:1fr 1fr;display:grid}.year-selector-current,.year-selector label{grid-column:1/-1}.print-header,.report-section-header{padding:14px 12px}.print-header h2{font-size:1.15rem}.report-section-header{flex-direction:column}.report-section-title{align-items:flex-start}.report-section-title h2{font-size:1.08rem;line-height:1.35}.report-card{padding:16px 12px}.report-kpi{min-height:auto;padding:12px}.report-chart{-webkit-overflow-scrolling:touch;margin-right:-12px;padding-right:12px;overflow-x:auto}.report-chart .recharts-wrapper{min-width:620px}.report-export-actions{flex-wrap:wrap}.pnl-statement,.bs-statement{padding:14px}.pnl-header h3,.bs-header h3{font-size:1.1rem}.report-table{white-space:normal;background:0 0;border:0;gap:10px;display:grid}.report-table thead{display:none}.report-table tbody,.report-table tr,.report-table td{display:block}.report-table tr{border:1px solid var(--border);background:var(--white);border-radius:6px;overflow:hidden}.report-table td{border-bottom:1px solid var(--border);text-align:right;white-space:normal;justify-content:space-between;gap:12px;padding:9px 10px;display:flex}.report-table td:last-child{border-bottom:0}.report-table td:before{content:attr(data-label);color:var(--gray-600);text-align:left;white-space:nowrap;font-size:12px;font-weight:800}.report-table td[colspan]{display:none}.otani-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0;font-size:.76rem;display:table}.otani-table thead{display:table-header-group}.otani-table tr{border:0;border-radius:0;display:table-row}.otani-table th,.otani-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:right;white-space:normal;padding:7px 5px;display:table-cell}.otani-table td:before{content:none}.otani-table th:nth-child(n+3):not(:last-child),.otani-table td:nth-child(n+3):not(:last-child){display:none}.otani-table .otani-subject{text-align:left;white-space:normal;width:52%;min-width:0}.otani-table .amount{width:24%;min-width:0}.report-kpi strong{font-size:1.15rem}.cat-name{min-width:70px}}@media print{@page{size:A4;margin:12mm}body{color:#111;background:#fff}.no-print,.sidebar,.topbar,.bottom-nav{display:none!important}.main-content{margin-left:0!important}.content-inner{padding:0!important}.reports-page{padding:0}.print-report{gap:10mm}.print-header,.report-card{box-shadow:none;border:1px solid #bbb}.print-header{break-inside:avoid;page-break-inside:avoid}.report-card{padding:10mm}.report-kpi,.report-chart,.report-table tr{break-inside:avoid;page-break-inside:avoid}.report-table thead{display:table-header-group}.report-summary,.report-breakdown{grid-template-columns:repeat(3,1fr)}.report-breakdown{grid-template-columns:1fr 1fr}.report-table th,.report-table td{padding:5px 6px}.report-table th{color:#111;background:#eee!important}.otani-report-heading{border-color:#bbb;background:#fff!important}.otani-report-card,.annual-documents-card{break-inside:auto;page-break-inside:auto}.annual-document-table thead{display:table-header-group}.annual-document-table tr{break-inside:avoid;page-break-inside:avoid}.otani-table-wrap{break-inside:avoid;page-break-inside:avoid;overflow:visible}.otani-table{min-width:0;font-size:7.5pt}.otani-table th,.otani-table td{border-color:#aaa;padding:3px}.otani-table th{color:#111;background:#eee!important}.otani-table .otani-subject{min-width:28mm}.otani-table .amount{min-width:10mm}.otani-table .level-2 .otani-subject{padding-left:4mm}.otani-table .level-3 .otani-subject{padding-left:8mm}.otani-table .subtotal-row td,.otani-table .grand-total-row td{color:#111;background:#f1f1f1!important}.bar.income,.bar.expense{background:#555!important}}.recurring-page{max-width:1080px;position:relative}.recurring-alert,.recurring-form-card,.recurring-list-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.recurring-alert{background:var(--green-pale);border-color:#2a52402e;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:18px 20px;display:flex}.recurring-alert h2{color:var(--green-deep);margin-bottom:4px;font-size:17px}.recurring-alert p{color:var(--gray-600);font-size:13px}.recurring-alert button,.recurring-primary-btn,.recurring-secondary-btn,.recurring-row-actions button{border-radius:var(--radius);min-height:40px;font-weight:700;transition:background .15s,border-color .15s,opacity .15s}.recurring-alert button,.recurring-primary-btn{background:var(--green);color:var(--white);border:0}.recurring-alert button{white-space:nowrap;padding:10px 16px}.recurring-alert button:hover,.recurring-primary-btn:hover{background:var(--green-light)}.recurring-alert button:disabled,.recurring-primary-btn:disabled,.recurring-secondary-btn:disabled,.recurring-row-actions button:disabled{opacity:.55;cursor:not-allowed}.recurring-grid{grid-template-columns:420px minmax(0,1fr);align-items:start;gap:18px;display:grid}.recurring-form-card,.recurring-list-card{padding:22px}.recurring-card-header{margin-bottom:20px}.recurring-card-header h2{color:var(--gray-800);margin-bottom:4px;font-size:18px}.recurring-card-header p{color:var(--gray-600);font-size:13px;line-height:1.6}.recurring-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.recurring-form-group,.recurring-frequency-row{gap:6px;display:grid}.recurring-frequency-row{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.recurring-form-group.wide,.recurring-type-toggle,.recurring-checkbox.wide,.recurring-error.wide,.recurring-actions.wide{grid-column:1/-1}.recurring-form-group label{color:var(--gray-600);font-size:13px;font-weight:700}.recurring-form-group label span{color:var(--red);margin-left:4px;font-size:11px;display:inline-block}.recurring-form-group input,.recurring-form-group select,.recurring-amount-input input{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);width:100%;min-height:42px;color:var(--gray-800);padding:10px 12px;transition:border-color .15s,box-shadow .15s}.recurring-form-group input:focus,.recurring-form-group select:focus,.recurring-amount-input input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #2a524014}.recurring-type-toggle{grid-template-columns:1fr 1fr;gap:8px;display:grid}.recurring-type-toggle button{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);min-height:42px;color:var(--gray-600);font-weight:700}.recurring-type-toggle button.active.income{background:var(--green-pale);color:var(--green-mid);border-color:#3d7a5c4d}.recurring-type-toggle button.active.expense{background:var(--red-pale);color:var(--red);border-color:#8b3a3a3d}.recurring-amount-input{position:relative}.recurring-amount-input input{padding-right:38px}.recurring-amount-input span{color:var(--gray-500,#777);font-size:13px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.recurring-checkbox{color:var(--gray-700,#444);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.recurring-checkbox input{width:16px;height:16px;accent-color:var(--green)}.recurring-error{border-radius:var(--radius);background:var(--red-pale);color:var(--red);border:1px solid #8b3a3a33;padding:10px 12px;font-weight:700}.recurring-actions{justify-content:flex-end;gap:8px;display:flex}.recurring-primary-btn,.recurring-secondary-btn{justify-content:center;align-items:center;gap:6px;padding:9px 14px;display:inline-flex}.recurring-secondary-btn{border:1px solid var(--gray-200);background:var(--white);color:var(--gray-700,#444)}.recurring-secondary-btn:hover{background:var(--green-pale);border-color:#2a524047}.recurring-primary-btn svg,.recurring-secondary-btn svg{width:18px;height:18px}.recurring-list{gap:10px;display:grid}.recurring-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--cream);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:92px;padding:14px;display:grid}.recurring-row.disabled{opacity:.72}.recurring-row-title{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.recurring-row-title strong{color:var(--gray-800)}.recurring-row-title span,.recurring-row-note span{border-radius:999px;padding:3px 7px;font-size:11px;font-weight:700}.recurring-row-title span.income{background:var(--green-pale);color:var(--green-mid)}.recurring-row-title span.expense{background:var(--red-pale);color:var(--red)}.recurring-row-title span.inactive{background:var(--gray-100);color:var(--gray-600)}.recurring-row-meta,.recurring-row-note{color:var(--gray-600);flex-wrap:wrap;gap:8px 12px;font-size:12px;display:flex}.recurring-row-note{margin-top:6px}.recurring-row-note span{color:var(--gold-deep,#8a6a2d);background:#9e7c3a24}.recurring-row-side{justify-items:end;gap:10px;display:grid}.recurring-row-side strong{font-family:Noto Serif JP,serif;font-size:18px}.recurring-row-side strong.income{color:var(--green-mid)}.recurring-row-side strong.expense{color:var(--red)}.recurring-row-actions{gap:6px;display:flex}.recurring-row-actions button{border:1px solid var(--gray-200);background:var(--white);width:38px;color:var(--gray-700,#444);justify-content:center;align-items:center;display:inline-flex}.recurring-row-actions button:hover:not(:disabled){background:var(--green-pale);color:var(--green-mid);border-color:#2a524047}.recurring-row-actions button.danger{color:var(--red)}.recurring-row-actions button.danger:hover:not(:disabled){background:var(--red-pale);border-color:#8b3a3a3d}.recurring-row-actions svg{width:18px;height:18px}.recurring-empty{border:1px dashed var(--border-mid);border-radius:var(--radius);color:var(--gray-600);background:var(--cream);padding:14px}.recurring-list-skeleton{gap:10px;display:grid}.recurring-list-skeleton span{border-radius:var(--radius);background:linear-gradient(90deg, var(--gray-100), var(--gray-200), var(--gray-100));background-size:200% 100%;height:92px;animation:1.2s linear infinite recurring-skeleton-pulse;display:block}.recurring-toast{z-index:50;border-radius:var(--radius);background:var(--white);min-height:42px;color:var(--green);box-shadow:var(--shadow-md);border:1px solid #3d7a5c40;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:inline-flex;position:fixed;top:76px;right:32px}.recurring-toast svg{width:20px;height:20px}@keyframes recurring-skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1040px){.recurring-grid{grid-template-columns:1fr}}@media (width<=640px){.recurring-page{max-width:none}.recurring-alert{flex-direction:column;align-items:stretch}.recurring-alert button,.recurring-primary-btn,.recurring-secondary-btn{width:100%}.recurring-form-card,.recurring-list-card{padding:18px}.recurring-form,.recurring-frequency-row{grid-template-columns:1fr}.recurring-actions{flex-direction:column-reverse}.recurring-row{grid-template-columns:1fr}.recurring-row-side{justify-items:start}.recurring-row-actions{justify-content:flex-end;width:100%}.recurring-toast{justify-content:center;inset:auto 14px 92px}}.settings-page{max-width:920px;position:relative}.settings-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin:0 0 16px;padding-bottom:4px;display:flex;overflow-x:auto}.settings-tab-btn{border-radius:var(--radius) var(--radius) 0 0;min-height:38px;color:var(--gray-600);white-space:nowrap;background:0 0;border:1px solid #0000;flex:none;align-items:center;padding:8px 16px;font-size:14px;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.settings-tab-btn:hover{color:var(--green-mid);background:var(--green-pale)}.settings-tab-btn.active{color:var(--green-deep);background:var(--green-pale);border-color:var(--border) var(--border) transparent;box-shadow:inset 0 -2px 0 var(--gold-light)}.settings-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.settings-card,.settings-account-card,.settings-master-card,.settings-budget-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.settings-master-card,.settings-budget-card{grid-column:1/-1}.settings-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.settings-card-header h2{color:var(--gray-800);margin-bottom:4px;font-size:18px}.settings-card-header p{color:var(--gray-600);font-size:13px}.settings-card-icon{width:28px;height:28px;color:var(--gold);flex-shrink:0}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-form-group{gap:6px;display:grid}.settings-form-group.wide,.settings-profile-preview.wide,.settings-avatar-fieldset.wide,.settings-error,.settings-actions{grid-column:1/-1}.settings-profile-preview{border-radius:var(--radius);background:var(--cream);border:1px solid #9e7c3a33;align-items:center;gap:12px;padding:14px;display:flex}.settings-profile-avatar{background:var(--green-mid);border-color:#2a524029;width:52px;height:52px}.settings-profile-avatar svg{padding:10px}.settings-profile-name{color:var(--gray-800);font-size:15px;font-weight:700}.settings-profile-user{color:var(--gray-600);font-size:13px}.settings-form-group label{color:var(--gray-600);font-size:13px;font-weight:700}.settings-form-group label span{color:var(--red);margin-left:4px;font-size:11px;display:inline-block}.settings-form-group input:not([type=checkbox]),.settings-form-group select{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);width:100%;min-height:42px;color:var(--gray-800);padding:10px 12px;transition:border-color .15s,box-shadow .15s}.settings-form-group input:not([type=checkbox]):focus,.settings-form-group select:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #2a524014}.settings-field-note{color:var(--gray-600);font-size:12px;line-height:1.45}.settings-toggle-label{cursor:pointer;align-items:center;gap:10px;display:flex}.settings-toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--green-mid);cursor:pointer}.settings-toggle-label span{color:var(--gray-800);font-size:14px;font-weight:700}.settings-avatar-fieldset{border:0;gap:12px;padding:0;display:grid}.settings-avatar-fieldset legend{color:var(--gray-600);margin-bottom:6px;font-size:13px;font-weight:700}.settings-avatar-options{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.settings-avatar-option{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);min-height:92px;color:var(--gray-600);justify-items:center;gap:7px;padding:11px 6px;font-size:12px;font-weight:700;transition:border-color .15s,box-shadow .15s,background .15s;display:grid}.settings-avatar-option .profile-avatar{width:42px;height:42px}.settings-avatar-option:hover,.settings-avatar-option.active{background:var(--green-pale);color:var(--green-mid);border-color:#2a524061;box-shadow:0 0 0 3px #2a524012}.settings-upload-btn{border-radius:var(--radius);background:var(--white);width:fit-content;min-height:42px;color:var(--green-mid);cursor:pointer;border:1px dashed #2a524061;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex}.settings-upload-btn:hover,.settings-upload-btn.active{border-color:var(--green-mid);background:var(--green-pale)}.settings-upload-btn input{display:none}.settings-upload-icon{stroke-width:1.8px;width:20px;height:20px}.settings-actions{justify-content:flex-end;margin-top:4px;display:flex}.settings-save-btn{border-radius:var(--radius);background:var(--green);min-width:132px;min-height:42px;color:var(--white);border:0;padding:10px 18px;font-weight:700;transition:opacity .15s,background .15s}.settings-save-btn:hover{background:var(--green-light)}.settings-save-btn:disabled{opacity:.7}.settings-error{border-radius:var(--radius);background:var(--red-pale);color:var(--red);border:1px solid #8b3a3a33;padding:10px 12px;font-weight:700}.settings-toast{z-index:50;border-radius:var(--radius);background:var(--white);min-height:42px;color:var(--green);box-shadow:var(--shadow-md);border:1px solid #3d7a5c40;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:inline-flex;position:fixed;top:76px;right:32px}.settings-toast-icon{flex-shrink:0;width:20px;height:20px}.settings-account-label{color:var(--gray-800);margin-bottom:8px;font-weight:700}.settings-account-identity{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.settings-auth-provider{border:1px solid var(--cream-dark);background:var(--cream);color:var(--gray-700);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.settings-auth-provider-icon{flex-shrink:0;width:18px;height:18px}.settings-account-email{color:var(--gray-600);text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.settings-account-form{grid-template-columns:minmax(0,1fr) 180px 180px auto;align-items:end;gap:12px;margin-bottom:14px;display:grid}.settings-counterparty-form{grid-template-columns:minmax(0,1fr) 180px;align-items:end;gap:12px;margin-bottom:14px;display:grid}.settings-account-form-actions{gap:8px;display:flex}.settings-account-form-actions.wide{grid-column:1/-1;justify-content:flex-end}.settings-account-primary-btn,.settings-account-secondary-btn,.settings-account-row-actions button{border-radius:var(--radius);min-height:40px;font-weight:700;transition:background .15s,border-color .15s,opacity .15s}.settings-account-primary-btn,.settings-account-secondary-btn{justify-content:center;align-items:center;gap:6px;padding:9px 14px;display:inline-flex}.settings-account-primary-btn svg,.settings-account-secondary-btn svg{flex-shrink:0;width:18px;height:18px}.settings-account-primary-btn{background:var(--green);color:var(--white);border:0}.settings-account-primary-btn:hover{background:var(--green-light)}.settings-account-secondary-btn{border:1px solid var(--gray-200);background:var(--white);color:var(--gray-700,#444)}.settings-account-secondary-btn:hover{background:var(--green-pale);border-color:#2a524047}.settings-account-primary-btn:disabled,.settings-account-secondary-btn:disabled,.settings-account-row-actions button:disabled{opacity:.55;cursor:not-allowed}.settings-account-list{gap:8px;display:grid}.settings-account-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--cream);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:10px;display:grid}.settings-account-order{background:var(--white);width:30px;height:30px;color:var(--gray-600);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.settings-account-main{align-items:center;gap:8px;min-width:0;display:flex}.settings-account-main strong{color:var(--gray-800);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-account-main span{background:var(--green-pale);color:var(--green-mid);border:1px solid #2a52402e;border-radius:999px;flex-shrink:0;padding:3px 7px;font-size:11px;font-weight:700}.settings-account-row-actions{gap:6px;display:flex}.settings-account-row-actions button{border:1px solid var(--gray-200);background:var(--white);width:38px;color:var(--gray-700,#444);justify-content:center;align-items:center;display:inline-flex}.settings-account-row-actions button:hover:not(:disabled){background:var(--green-pale);color:var(--green-mid);border-color:#2a524047}.settings-account-row-actions button.danger{color:var(--red)}.settings-account-row-actions button.danger:hover:not(:disabled){background:var(--red-pale);border-color:#8b3a3a3d}.settings-account-row-actions svg{width:18px;height:18px}.settings-tag-add-form{border:1px dashed var(--cream-dark);border-radius:var(--radius);background:var(--cream);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px;display:flex}.settings-tag-add-form input[type=text]{border:1px solid var(--cream-dark);border-radius:var(--radius);background:var(--white);flex:160px;min-width:120px;min-height:36px;padding:6px 10px}.settings-tag-list{gap:6px;display:grid}.settings-tag-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--cream);flex-wrap:wrap;align-items:center;gap:10px;min-height:44px;padding:6px 10px;display:flex}.settings-tag-preview{text-overflow:ellipsis;white-space:nowrap;border:1px solid;border-radius:999px;flex-shrink:0;align-items:center;width:fit-content;max-width:220px;min-height:26px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex;overflow:hidden}.settings-tag-edit-form{flex-shrink:0;align-items:center;gap:4px;display:flex}.settings-tag-edit-form input[type=text]{border:1px solid var(--cream-dark);border-radius:var(--radius);background:var(--white);width:140px;min-height:30px;padding:4px 8px;font-size:12px}.settings-tag-edit-form button{width:26px;height:26px;color:var(--gray-600);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.settings-tag-edit-form button svg{width:18px;height:18px}.settings-tag-color-buttons{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.settings-tag-color-btn{cursor:pointer;opacity:.55;border:1px solid;border-radius:999px;min-height:26px;padding:2px 8px;font-size:11px;font-weight:700}.settings-tag-color-btn.active{opacity:1;box-shadow:0 0 0 2px #2a524059}.settings-tag-row-actions{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.settings-tag-row-actions button{width:26px;height:26px;color:var(--gray-600);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.settings-tag-row-actions button.danger{color:#b3423f}.settings-tag-row-actions button svg{width:16px;height:16px}.settings-import-panel{border-radius:var(--radius);background:#fffdf9;border:1px solid #2a52402e;justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px;padding:12px;display:flex}.settings-import-panel h3{color:var(--gray-800);margin:0 0 4px;font-size:14px;font-weight:800}.settings-import-panel p,.settings-import-message{color:var(--gray-600);margin:0;font-size:12px;line-height:1.45}.settings-import-btn{border-radius:var(--radius);background:var(--white);min-height:40px;color:var(--green-mid);cursor:pointer;border:1px solid #2a524047;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-weight:800;transition:background .15s,border-color .15s;display:inline-flex}.settings-import-btn:hover{border-color:var(--green-mid);background:var(--green-pale)}.settings-import-btn svg{flex-shrink:0;width:18px;height:18px}.settings-import-btn input{display:none}.settings-import-message{border-radius:var(--radius);background:var(--green-pale);color:var(--green-mid);border:1px solid #3d7a5c33;margin:-4px 0 14px;padding:9px 11px;font-weight:700}.settings-backup-panel{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.settings-backup-note{color:var(--gray-600);margin:0 0 12px;font-size:12px;line-height:1.5}.settings-counterparty-filter-bar{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.settings-counterparty-filter-btn{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);min-height:34px;color:var(--gray-700,#444);align-items:center;gap:6px;padding:7px 10px;font-size:13px;font-weight:800;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.settings-counterparty-filter-btn:hover{background:var(--green-pale);color:var(--green-mid);border-color:#2a524047}.settings-counterparty-filter-btn.active{border-color:var(--green-mid);background:var(--green);color:var(--white)}.settings-counterparty-filter-btn strong{min-width:22px;color:inherit;text-align:center;background:#2a52401a;border-radius:999px;padding:2px 6px;font-size:12px}.settings-counterparty-filter-btn.active strong{background:#ffffff2e}.settings-counterparty-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--cream);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;min-height:58px;padding:10px;display:grid}.settings-counterparty-main{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.settings-counterparty-main strong{min-width:0;color:var(--gray-800);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-counterparty-main span{background:var(--green-pale);color:var(--green-mid);border:1px solid #2a52402e;border-radius:999px;flex-shrink:0;padding:3px 7px;font-size:11px;font-weight:700}.settings-counterparty-row p{color:var(--gray-600);grid-column:1/-1;margin:-2px 0 0;font-size:12px;line-height:1.45}.settings-account-list-skeleton{gap:8px;display:grid}.settings-account-list-skeleton span{border-radius:var(--radius);background:linear-gradient(90deg, var(--gray-100), var(--gray-200), var(--gray-100));background-size:200% 100%;height:58px;animation:1.2s linear infinite settings-skeleton-pulse;display:block}.settings-budget-form{gap:16px;display:grid}.settings-budget-toolbar{justify-content:space-between;align-items:end;gap:14px;display:flex}.settings-budget-toolbar .settings-form-group{min-width:180px}.settings-budget-totals{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settings-budget-totals span,.settings-budget-totals strong{border:1px solid var(--border);border-radius:var(--radius);background:var(--cream);min-height:34px;color:var(--gray-700,#444);white-space:nowrap;align-items:center;padding:7px 10px;font-size:13px;font-weight:800;display:inline-flex}.settings-budget-totals strong{color:var(--green-deep,#1f3d30);background:var(--green-pale)}.settings-budget-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.settings-budget-section{min-width:0}.settings-budget-section h3{color:var(--gray-800);margin:0 0 10px;font-size:15px;font-weight:800}.settings-budget-list{gap:8px;display:grid}.settings-budget-row{border:1px solid var(--border);border-radius:var(--radius);background:#fffdf9;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:10px;min-height:48px;padding:8px 10px;display:grid}.settings-budget-row span{min-width:0;color:var(--gray-700,#444);font-weight:700}.settings-budget-row input{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white);width:100%;min-height:36px;color:var(--gray-800);text-align:right;padding:8px 10px;font-weight:800}.settings-budget-row input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #2a524014}.settings-budget-skeleton{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;display:grid}.settings-budget-skeleton span{border-radius:var(--radius);background:linear-gradient(90deg, var(--gray-100), var(--gray-200), var(--gray-100));background-size:200% 100%;height:48px;animation:1.2s linear infinite settings-skeleton-pulse;display:block}.settings-empty-note{border:1px dashed var(--border-mid);border-radius:var(--radius);color:var(--gray-600);background:var(--cream);padding:12px}.settings-retry-note{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-retry-note p{margin:0}.settings-skeleton{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-skeleton span{border-radius:var(--radius);background:linear-gradient(90deg, var(--gray-100), var(--gray-200), var(--gray-100));background-size:200% 100%;height:42px;animation:1.2s linear infinite settings-skeleton-pulse;display:block}@keyframes settings-skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=900px){.settings-grid{grid-template-columns:1fr}}@media (width<=640px){.settings-page{max-width:none}.settings-tabs{flex-wrap:nowrap;gap:4px;margin:0 -16px 14px;padding:0 16px 4px}.settings-tab-btn{padding:7px 12px;font-size:13px}.settings-card,.settings-account-card,.settings-budget-card,.settings-master-card{padding:18px}.settings-form,.settings-skeleton{grid-template-columns:1fr}.settings-avatar-options{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-actions{justify-content:stretch}.settings-save-btn,.settings-upload-btn,.settings-account-primary-btn,.settings-account-secondary-btn{width:100%}.settings-account-form{grid-template-columns:1fr}.settings-account-identity{flex-direction:column;align-items:flex-start}.settings-counterparty-form{grid-template-columns:1fr}.settings-budget-toolbar,.settings-budget-totals{flex-direction:column;align-items:stretch}.settings-budget-toolbar .settings-form-group,.settings-budget-toolbar .settings-form-group select,.settings-budget-totals span,.settings-budget-totals strong{width:100%}.settings-budget-grid,.settings-budget-skeleton,.settings-budget-row{grid-template-columns:1fr}.settings-account-form-actions{flex-direction:column-reverse}.settings-import-panel{flex-direction:column;align-items:stretch}.settings-import-btn{width:100%}.settings-account-row{grid-template-columns:34px minmax(0,1fr)}.settings-tag-row{flex-wrap:wrap}.settings-tag-color-buttons{margin-left:0}.settings-tag-add-form{flex-direction:column;align-items:stretch}.settings-tag-add-form .settings-tag-color-buttons{justify-content:flex-start}.settings-account-row-actions{grid-column:1/-1;justify-content:flex-end}.settings-counterparty-row{grid-template-columns:1fr}.settings-toast{justify-content:center;inset:auto 14px 92px}}.settings-account-management{flex-direction:column;gap:24px;display:flex}.settings-account-info-box{border-radius:var(--radius);background:#fffdf9;border:1px solid #2a52402e;padding:16px}.settings-danger-zone{border-radius:var(--radius);background:#fef2f2;border:1px solid #dc2626;padding:20px}.settings-danger-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.settings-danger-header h3{color:#dc2626;margin:0;font-size:16px;font-weight:700}.settings-danger-icon{color:#dc2626;width:20px;height:20px}.settings-danger-description{color:#7f1d1d;margin:0 0 16px;font-size:13px;line-height:1.6}.settings-danger-btn{border-radius:var(--radius);color:#fff;cursor:pointer;background:#dc2626;border:none;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:10px 18px;font-size:14px;font-weight:700;transition:background .15s;display:inline-flex}.settings-danger-btn:hover:not(:disabled){background:#b91c1c}.settings-danger-btn:disabled{opacity:.6;cursor:not-allowed}.settings-danger-confirm{border-top:1px solid #dc26264d;margin-top:16px;padding-top:16px}.settings-danger-warning{color:#7f1d1d;margin:0 0 8px;font-size:14px;font-weight:600}.settings-danger-instruction{color:#7f1d1d;margin:0 0 12px;font-size:13px}.settings-danger-input{border-radius:var(--radius);background:#fff;border:1px solid #dc2626;width:100%;max-width:300px;padding:10px 12px;font-size:14px;display:block}.settings-danger-input:focus{outline:none;box-shadow:0 0 0 2px #dc262633}.settings-danger-actions{gap:12px;margin-top:16px;display:flex}.settings-cancel-btn{border:1px solid var(--gray-300);border-radius:var(--radius);min-height:40px;color:var(--gray-700);cursor:pointer;background:#fff;justify-content:center;align-items:center;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.settings-cancel-btn:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400)}.settings-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.settings-subscription-section{background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:20px}.settings-subscription-section h3{color:var(--gray-800);margin-bottom:12px;font-size:16px;font-weight:700}.settings-subscription-loading{color:var(--gray-500);padding:8px 0;font-size:14px}.settings-subscription-info{flex-direction:column;gap:12px;display:flex}.settings-subscription-status{align-items:center;gap:12px;display:flex}.settings-subscription-plan{color:var(--gray-800);font-size:18px;font-weight:700}.settings-subscription-badge{border-radius:12px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.settings-subscription-badge.active{background:var(--green-pale);color:var(--green-deep)}.settings-subscription-badge.canceled{background:var(--gray-200);color:var(--gray-600)}.settings-subscription-period,.settings-subscription-description{color:var(--gray-600);font-size:14px}.settings-subscription-cancel-btn{border:1px solid var(--gray-300);border-radius:var(--radius);min-height:38px;color:var(--gray-700);cursor:pointer;background:#fff;justify-content:center;align-self:flex-start;align-items:center;padding:8px 16px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.settings-subscription-cancel-btn:hover{background:var(--gray-100);border-color:var(--gray-400);color:var(--gray-800)}.settings-subscription-cancel-confirm{background:var(--amber-50);border:1px solid var(--amber-200);border-radius:var(--radius);padding:16px}.settings-subscription-cancel-warning{color:var(--amber-800);font-size:14px;line-height:1.5}.settings-subscription-cancel-confirm-btn{border-radius:var(--radius);background:var(--amber-600);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;min-height:40px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.settings-subscription-cancel-confirm-btn:hover:not(:disabled){background:var(--amber-700)}.settings-subscription-cancel-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.settings-success{color:var(--green-deep);background:var(--green-pale);border-radius:var(--radius);padding:8px 12px;font-size:14px;font-weight:500}.settings-legal-footer{border-top:1px solid var(--gray-200);text-align:center;margin-top:32px;padding-top:20px}.settings-legal-footer nav{flex-wrap:wrap;justify-content:center;gap:8px 20px;display:flex}.settings-legal-footer a{color:var(--gray-600);font-size:13px;text-decoration:none}.settings-legal-footer a:hover{color:var(--green);text-decoration:underline}.settings-legal-copy{color:var(--gray-400);margin-top:12px;font-size:12px}.doc-page{background:var(--cream);color:#26221d;min-height:100vh}.doc-page.embedded{background:0 0;min-height:0}.doc-page.embedded .doc-content{padding-top:0}.doc-content{max-width:900px;margin:0 auto;padding:48px 32px 56px}.doc-topnav{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.doc-logo-btn{cursor:pointer;color:#26221d;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.doc-logo-dot{color:var(--gold);font-size:24px}.doc-logo-text{letter-spacing:.06em;font-family:Noto Serif JP,serif;font-size:20px;font-weight:700}.doc-login-btn{border:1px solid var(--cream-dark);color:var(--green-deep);cursor:pointer;background:#fff;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:700;transition:all .15s}.doc-login-btn:hover{border-color:var(--green-mid);background:var(--green-pale)}.doc-header{background:var(--green-deep);color:#f4efe3;border-radius:16px;margin-bottom:28px;padding:clamp(30px,5vw,54px)}.doc-kicker{color:var(--gold-light);letter-spacing:.18em;margin-bottom:14px;font-size:12px;font-weight:700}.doc-title{letter-spacing:.04em;margin:0 0 12px;font-family:Noto Serif JP,serif;font-size:clamp(26px,4vw,40px);line-height:1.45}.doc-description{color:#f4efe3d9;max-width:720px;margin:0;font-size:15px;line-height:1.9}.doc-updated{color:#bcc6bce6;margin:18px 0 0;font-size:13px}.doc-section{border:1px solid var(--cream-dark);background:#fff;border-radius:14px;margin-bottom:18px;padding:28px;box-shadow:0 18px 42px -36px #28241c6b}.doc-section-title{color:var(--green-deep);border-bottom:1px solid var(--cream-dark);margin:0 0 18px;padding-bottom:12px;font-family:Noto Serif JP,serif;font-size:20px}.doc-section-body{color:#6a6356;font-size:15px;line-height:1.9}.doc-section-body ul{margin:.5em 0;padding-left:1.5em}.doc-section-body li{margin-bottom:6px}.doc-section-body p{margin:0 0 12px}.doc-section-body p:last-child{margin-bottom:0}.info-table{border:1px solid var(--cream-dark);border-radius:12px;display:grid;overflow:hidden}.info-row{border-top:1px solid var(--cream-dark);grid-template-columns:minmax(140px,.34fr) minmax(0,1fr);display:grid}.info-row:first-child{border-top:none}.info-label{background:var(--cream);color:var(--green-deep);padding:14px 16px;font-weight:700}.info-value{color:#6a6356;padding:14px 16px}.callout{border-radius:12px;margin:16px 0;padding:16px 18px;font-size:14px;line-height:1.7}.callout-green{background:var(--green-pale);color:#244235;border:1px solid #bfd2c4}.callout-gold{color:#5f4714;background:#fbf4dc;border:1px solid #e0c46e}.doc-footer{border-top:1px solid var(--cream-dark);text-align:center;margin-top:48px;padding-top:24px}.doc-footer-links{flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-bottom:16px;display:flex}.doc-footer-link{color:var(--green-mid);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.doc-footer-link:hover{color:var(--green-deep)}.doc-footer-copyright{color:var(--gray-400);margin:0;font-size:12px}@media (width<=600px){.doc-content{padding:24px 16px 40px}.doc-header{padding:24px 20px}.doc-section{padding:20px 16px}.info-row{grid-template-columns:1fr}.info-label,.info-value{padding:10px 14px}}:root{--component-radius:var(--radius,6px);--component-border:var(--border-mid,#9e7c3a4d);--component-border-soft:var(--border,#9e7c3a2e);--component-surface:var(--white,#fff);--component-text:var(--gray-800,#333);--component-text-muted:var(--gray-600,#666);--component-focus:#3d7a5c3d;--component-focus-border:var(--green-light,#3d7a5c);--component-error:var(--red-soft,#8b3a3a);--component-error-bg:var(--red-pale,#fdf0f0)}.card,.card-main,.panel{background:var(--component-surface);border:1px solid var(--component-border);border-radius:var(--component-radius)}.card-main{box-shadow:var(--shadow,0 1px 4px #00000014);overflow:hidden}.card-main.has-overflow-menu{overflow:visible}.card-main__body,.panel__body{padding:22px}.card-main__header,.panel__header{border-bottom:1px solid var(--component-border-soft);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px;display:flex}.card-main__title,.panel__title{color:var(--green-deep,#1c3a2e);font-family:Noto Serif JP,serif;font-size:18px;font-weight:700;line-height:1.4}.card-main__description,.panel__description{color:var(--component-text-muted);margin-top:4px;font-size:13px;line-height:1.6}.form-field,.settings-form-group,.mform-group,.modal-field{gap:6px;min-width:0;display:grid}.form-field__label,.form-label,.mform-label,.settings-form-group>label,.modal-field>span,.modal-grid>label{color:var(--component-text-muted);font-size:13px;font-weight:700;line-height:1.45}.form-field__required,.settings-form-group label span{color:var(--component-error);margin-left:4px;font-size:11px;font-weight:700;display:inline-block}.form-help,.settings-field-note{color:var(--component-text-muted);font-size:12px;line-height:1.5}.form-control,.form-input,.form-select,.mform-input,.mform-select,.settings-form-group input,.settings-form-group select,.modal-grid input,.modal-grid select,.memo-tag-input-row .form-input{border:1px solid var(--component-border);border-radius:var(--component-radius);background:var(--component-surface);width:100%;min-height:42px;color:var(--component-text);font:inherit;outline:0;padding:10px 12px;transition:border-color .15s,box-shadow .15s,background .15s}textarea.form-control,textarea.form-input{resize:vertical;min-height:96px}.form-control:focus-visible,.form-input:focus-visible,.form-select:focus-visible,.mform-input:focus-visible,.mform-select:focus-visible,.settings-form-group input:focus-visible,.settings-form-group select:focus-visible,.modal-grid input:focus-visible,.modal-grid select:focus-visible,.cat-select-trigger:focus-visible,.memo-tag-picker-button:focus-visible,.settings-tab-btn:focus-visible,.modal-close:focus-visible{border-color:var(--component-focus-border);box-shadow:0 0 0 3px var(--component-focus);outline:0}.form-control[aria-invalid=true],.form-input.error,.form-select.error{border-color:var(--component-error);box-shadow:0 0 0 3px #8b3a3a1f}.form-error,.settings-error,.modal-transfer-error{color:var(--component-error);font-size:12px;font-weight:700;line-height:1.5}.settings-error{border-radius:var(--component-radius);background:var(--component-error-bg);border:1px solid #8b3a3a3d;padding:10px 12px}.checkbox-field{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.checkbox-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--green-mid,#2a5240);margin-top:2px}.modal-backdrop,.modal-overlay{z-index:1000;background:#0000006b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-dialog,.modal,.edit-modal,.modal-content{background:var(--component-surface);border:1px solid var(--component-border);border-radius:var(--component-radius);width:min(880px,96vw);max-height:calc(100vh - 40px);box-shadow:var(--shadow-md,0 2px 12px #0000001a);overflow:auto}.modal-dialog__header,.modal-header{border-bottom:1px solid var(--component-border-soft);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.modal-dialog__title,.modal-title,.modal-header h2{color:var(--green-deep,#1c3a2e);font-family:Noto Serif JP,serif;font-size:18px;font-weight:700;line-height:1.4}.modal-dialog__body,.modal-body{padding:20px 22px}.modal-dialog__footer,.modal-footer,.modal-actions{border-top:1px solid var(--component-border-soft);justify-content:flex-end;gap:10px;padding:16px 22px 20px;display:flex}.modal-close{border:1px solid var(--component-border-soft);background:var(--component-surface);min-width:36px;min-height:36px;color:var(--component-text-muted);border-radius:999px;justify-content:center;align-items:center;line-height:1;display:inline-flex}.table,.tx-table,.report-table,.recent-table{border-collapse:collapse;width:100%}.notice-block,.recurring-notice{border:1px solid var(--component-border);border-radius:var(--component-radius);background:#fffaf0}@media (width<=640px){.card-main__body,.panel__body,.modal-dialog__body,.modal-body{padding:16px}.card-main__header,.panel__header,.modal-dialog__header,.modal-header,.modal-dialog__footer,.modal-footer,.modal-actions{padding-left:16px;padding-right:16px}}:root{--green-deep:#1c3a2e;--green-mid:#2a5240;--green-light:#3d7a5c;--green-pale:#eaf3ee;--navy:#1a2540;--cream:#f7f3ed;--cream-dark:#ede8df;--gold:#9e7c3a;--gold-light:#c9a55a;--red-soft:#8b3a3a;--red-pale:#fdf0f0;--border:#9e7c3a2e;--border-mid:#9e7c3a4d;--green:var(--green-mid);--red:var(--red-soft);--white:#fff;--gray-100:#f5f5f5;--gray-200:#e8e8e8;--gray-400:#aaa;--gray-600:#666;--gray-800:#333;--blue:#3b82f6;--sidebar-width:260px;--radius:6px;--shadow:0 1px 4px #00000014;--shadow-md:0 2px 12px #0000001a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100%;overflow-x:hidden}body{background:var(--cream);color:#1e1e1e;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,sans-serif;font-size:14px;line-height:1.6}#root{width:100%;min-width:0}a{color:inherit;text-decoration:none}button{cursor:pointer}input,select,textarea{font-family:inherit;font-size:14px}.page-title{color:var(--green-deep);margin-bottom:20px;font-family:Noto Serif JP,serif;font-size:26px;font-weight:700}
