:root{--ma-brand:#e7481f;--ma-brand-deep:#c93a16;--ma-amber:#e8a44a;--ma-amber-deep:#c47f20;--ma-brand-tint:#e7481f1a;--ma-amber-tint:#e8a44a1f;--ma-paper:#f7f3ec;--ma-paper-hi:#fffdf8;--ma-ink:#2b2622;--ma-ink-soft:#6b6455;--ma-line:#e3dccf;--ma-night:#0d0d0d;--ma-night-2:#1a1a1a;--ma-cream:#f5f0e8;--ma-cream-soft:#b0a890;--ma-line-dark:#2a2520;--ma-line-green:#06c755;--ma-focus:#e7481f;--ma-font-serif:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;--ma-font-sans:"Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Noto Sans JP", system-ui, sans-serif;--ma-fz-display:clamp(2.6rem, 7vw, 4.4rem);--ma-fz-h1:clamp(2rem, 4.5vw, 3rem);--ma-fz-h2:clamp(1.5rem, 3vw, 2.2rem);--ma-fz-h3:1.15rem;--ma-fz-body:1rem;--ma-fz-small:.82rem;--ma-fz-micro:.7rem;--ma-fw-normal:400;--ma-fw-bold:700;--ma-fw-black:900;--ma-ls-tight:.01em;--ma-ls-normal:.04em;--ma-ls-wide:.18em;--ma-lh-tight:1.2;--ma-lh-body:1.8;--ma-sp-1:4px;--ma-sp-2:8px;--ma-sp-3:12px;--ma-sp-4:16px;--ma-sp-6:24px;--ma-sp-8:32px;--ma-sp-12:48px;--ma-sp-16:64px;--ma-sp-section:clamp(64px, 10vw, 100px);--ma-radius-sm:2px;--ma-radius:4px;--ma-radius-lg:8px;--ma-radius-full:999px;--ma-border:1px;--ma-shadow-soft:0 2px 8px #2b262214;--ma-shadow-card:0 8px 28px #2b26221f;--ma-ease:.2s ease}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--ma-font-sans);background:var(--ma-paper);color:var(--ma-ink);font-size:14px;line-height:1.6}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--ma-paper-hi);border-bottom:2px solid var(--ma-brand);z-index:30;align-items:center;gap:24px;padding:10px 20px;display:flex;position:sticky;top:0}.app-header h1{font-size:1.15rem;font-weight:var(--ma-fw-black);color:var(--ma-brand);white-space:nowrap;margin:0}.app-nav{gap:8px;display:flex}.app-nav button{border:1px solid var(--ma-line);color:var(--ma-ink-soft);background:0 0;border-radius:8px;padding:6px 14px;font-size:.9rem}.app-nav button.active{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold)}.tab-badge{color:#fff;font-size:.72rem;font-weight:var(--ma-fw-bold);background:#d92c2c;border-radius:999px;margin-left:6px;padding:0 6px;line-height:1.5;display:inline-block}.app-main{flex:1;padding:16px 20px 60px}.app-header .sync-badge-wrap{margin-left:auto}.sheet-page{max-width:1200px;margin:0 auto}.sheet-empty{color:var(--ma-ink-soft);text-align:center;padding:40px}.sheet-toolbar{background:var(--ma-paper);z-index:20;flex-wrap:wrap;align-items:center;gap:14px;padding:8px 0;display:flex;position:sticky;top:49px}.ym-select{font-weight:var(--ma-fw-bold);align-items:center;gap:6px;display:flex}.ym-select select{border:1px solid var(--ma-line);background:var(--ma-paper-hi);font-size:1rem;font-weight:var(--ma-fw-bold);border-radius:8px;padding:5px 8px}.search-input{border:1px solid var(--ma-line);border-radius:8px;width:180px;padding:6px 10px;font-size:.9rem}.filter-check{color:var(--ma-ink-soft);white-space:nowrap;cursor:pointer;align-items:center;gap:4px;font-size:.85rem;display:flex}.progress-badge{background:var(--ma-brand-tint);color:var(--ma-brand-deep);font-weight:var(--ma-fw-bold);white-space:nowrap;border-radius:999px;margin-left:auto;padding:4px 12px;font-size:.88rem}.sheet-summary{border:1px solid var(--ma-line);background:var(--ma-paper-hi);border-radius:8px;flex-wrap:wrap;margin:2px 0 10px;display:flex;overflow:hidden}.sum-item{border-right:1px solid var(--ma-line);flex-direction:column;flex:150px;gap:1px;padding:7px 14px;display:flex}.sum-item:last-child{border-right:none}.sum-item em{letter-spacing:.06em;color:var(--ma-ink-soft);font-size:.72rem;font-style:normal}.sum-item b{font-variant-numeric:tabular-nums;color:var(--ma-ink);font-size:1.05rem}.sum-item.biz-mana{box-shadow:inset 4px 0 0 var(--ma-brand)}.sum-item.biz-aso{box-shadow:inset 4px 0 0 var(--ma-amber)}.sum-item.biz-step{box-shadow:inset 4px 0 #6b8ea3}.sum-item.grand{background:var(--ma-brand-tint)}.sum-item.grand b{color:var(--ma-brand-deep);font-size:1.25rem;font-weight:var(--ma-fw-black)}.sheet-table{border-collapse:collapse;background:var(--ma-paper-hi);border:1px solid #cfc5b2;width:100%;font-size:.9rem}.sheet-table th{background:var(--ma-ink);color:#fff;font-size:.78rem;font-weight:var(--ma-fw-bold);text-align:left;z-index:10;white-space:nowrap;border-right:1px solid #ffffff38;padding:8px;position:sticky;top:98px}.sheet-table th:last-child{border-right:none}.sheet-table th.biz-mana:before,.sheet-table th.biz-aso:before,.sheet-table th.biz-step:before{content:"";vertical-align:1px;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.sheet-table th.biz-mana:before{background:var(--ma-brand)}.sheet-table th.biz-aso:before{background:var(--ma-amber)}.sheet-table th.biz-step:before{background:#6b8ea3}.sheet-table th.col-money,.sheet-table th.col-total,.sheet-table th.col-diff{text-align:right}.sheet-table th.col-entered{text-align:center}.sheet-table td{border-bottom:1px solid var(--ma-line);border-right:1px solid var(--ma-line);vertical-align:middle;padding:4px 8px}.sheet-table td:last-child{border-right:none}.sheet-table tr.unit-first td{border-top:2px solid #cfc5b2}.sheet-table .col-block-start{border-left:2px solid #b9ad97}.col-kana{width:30px;color:var(--ma-ink-soft);font-size:.78rem}.col-num{width:60px;color:var(--ma-ink-soft);white-space:nowrap;font-size:.82rem}.col-name{min-width:150px}.name-btn{color:var(--ma-ink);background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:2px 4px;font-size:.92rem;display:flex}.name-btn:hover{background:var(--ma-brand-tint)}.family-mark{color:var(--ma-amber-deep);font-size:.95rem;line-height:1;font-weight:var(--ma-fw-bold);text-align:center;width:12px;display:inline-block}.unpaid-mark{color:#fff;font-size:.66rem;font-weight:var(--ma-fw-bold);background:#d33;border-radius:4px;padding:1px 5px}.memo-mark{font-size:.75rem}.col-money{width:116px;padding:2px 6px!important}.money-input{text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.02em;width:100%;color:var(--ma-ink);background:0 0;border:1px solid #0000;border-radius:5px;padding:4px 8px;font-size:.95rem}.money-input::placeholder{color:#d2c9b8}.money-input:hover{border-color:var(--ma-line);background:#fff}.money-input:focus{border-color:var(--ma-brand);outline:2px solid var(--ma-brand-tint);outline-offset:0;background:#fff}.col-total{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;width:112px}.total-now{font-weight:var(--ma-fw-bold)}.total-now .total-amount{letter-spacing:.01em;font-size:1rem;display:block}.merge-note{font-size:.62rem;font-weight:var(--ma-fw-bold);letter-spacing:.04em;color:var(--ma-amber-deep);display:block}.col-diff{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;width:96px;font-size:.85rem}.diff-zero{color:#b5ac9a}.col-entered{text-align:center;width:56px}.col-entered input{cursor:pointer;width:17px;height:17px}.sheet-table tbody tr.unit-odd td{background:#f6f1e7}.sheet-table tbody tr.family-row td{background:#fdf6ea}.sheet-table tbody tr.family-row td:first-child{box-shadow:inset 4px 0 0 var(--ma-amber)}.sheet-table tbody tr.family-last td{border-bottom-color:#cfc5b2}.sheet-table tbody tr td.total-now{background:#f6f1e6}.sheet-table tbody tr td.merged{vertical-align:middle;border-left:2px solid var(--ma-amber);background:#fbeed8}.sheet-table tbody tr td.diff-up{color:var(--ma-brand-deep);font-weight:var(--ma-fw-bold);background:#e7481f24}.sheet-table tbody tr td.diff-down{color:#1565c0;font-weight:var(--ma-fw-bold);background:#1565c01f}.sheet-table tbody tr:hover td{background:var(--ma-brand-tint)}.sheet-table tbody tr.row-entered td{color:#8c8375;background:#ece6d7}.sheet-table tbody tr.row-entered .money-input{color:#8c8375}.detail-row td{background:#fbf7ee;padding:8px 14px}.detail-grid{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.detail-biz{align-items:center;gap:8px;display:flex}.detail-biz-label{font-weight:var(--ma-fw-bold);color:var(--ma-ink-soft);font-size:.82rem}.detail-biz label{color:var(--ma-ink-soft);align-items:center;gap:4px;font-size:.78rem;display:flex}.detail-biz .money-input{border-color:var(--ma-line);background:#fff;width:92px}.detail-unpaid{color:#d33;font-weight:var(--ma-fw-bold);font-size:.8rem}.detail-memo{color:var(--ma-ink-soft);flex:1;align-items:center;gap:6px;min-width:220px;font-size:.78rem;display:flex}.detail-memo input{border:1px solid var(--ma-line);border-radius:6px;flex:1;padding:4px 8px}.sheet-footnote{color:var(--ma-ink-soft);margin-top:10px;font-size:.8rem}.edit-mode-btn{border:1px solid var(--ma-brand);color:var(--ma-brand-deep);font-size:.85rem;font-weight:var(--ma-fw-bold);white-space:nowrap;background:#fff;border-radius:8px;padding:6px 12px}.edit-mode-btn.active{background:var(--ma-brand);color:#fff}.edit-hint{background:var(--ma-brand-tint);border:1px solid var(--ma-line);color:var(--ma-ink);border-radius:8px;margin-bottom:8px;padding:8px 14px;font-size:.83rem}.sheet-table.edit-mode tr[draggable=true]{cursor:grab}.col-select{text-align:center;width:36px}.col-select input{cursor:pointer;width:16px;height:16px}.col-handle{text-align:center;width:30px;color:var(--ma-ink-soft);cursor:grab;-webkit-user-select:none;user-select:none;font-size:1rem}.name-plain{align-items:center;gap:5px;padding:2px 4px;font-size:.92rem;display:flex}.money-plain{text-align:right;font-variant-numeric:tabular-nums;width:100%;color:var(--ma-ink-soft);padding:4px 6px;font-size:.95rem;display:block}tr.dragging td{opacity:.35}tr.drag-over td{border-top:3px solid var(--ma-brand)}.drop-end td{text-align:center;color:var(--ma-ink-soft);border:2px dashed var(--ma-line);padding:12px;font-size:.83rem}.drop-end.drag-over td{border-color:var(--ma-brand);background:var(--ma-brand-tint)}.merge-bar{background:var(--ma-ink);color:#fff;z-index:50;border-radius:999px;align-items:center;gap:12px;max-width:90vw;padding:10px 20px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000040}.merge-names{text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-size:.85rem;overflow:hidden}.merge-bar button{font-size:.85rem;font-weight:var(--ma-fw-bold);white-space:nowrap;border:none;border-radius:999px;padding:6px 14px}.merge-btn{background:var(--ma-brand);color:#fff}.dissolve-btn{color:var(--ma-ink);background:#fff}.clear-btn{color:#ccc;background:0 0;border:1px solid #666!important}.sales-page{flex-direction:column;gap:12px;display:flex}.sales-toolbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.biz-tabs{gap:6px;display:flex}.biz-tabs button{border:1px solid var(--ma-line);background:var(--ma-paper-hi);color:var(--ma-ink-soft);cursor:pointer;border-radius:8px;padding:6px 16px;font-size:.92rem}.biz-tabs button.active{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold)}.fy-select{color:var(--ma-ink-soft);align-items:center;gap:6px;font-size:.9rem;display:flex}.fy-select select{border:1px solid var(--ma-line);background:var(--ma-paper-hi);border-radius:6px;padding:5px 8px;font-size:.9rem}.sales-grand{color:var(--ma-ink);margin-left:auto;font-size:1rem}.sales-grand b{color:var(--ma-brand-deep);font-size:1.2rem}.sales-note{color:var(--ma-ink-soft);margin:0;font-size:.8rem;line-height:1.5}.sales-table-wrap{border:1px solid var(--ma-line);background:var(--ma-paper-hi);border-radius:8px;overflow-x:auto}.sales-table{border-collapse:collapse;white-space:nowrap;min-width:100%;font-size:.82rem}.sales-table th,.sales-table td{border-bottom:1px solid var(--ma-line);border-right:1px solid var(--ma-line);text-align:right;padding:4px 8px}.sales-table thead th{background:var(--ma-brand-tint);color:var(--ma-ink);font-weight:var(--ma-fw-bold);z-index:2;position:sticky;top:0}.sales-table .summary-row th{background:var(--ma-paper);font-weight:var(--ma-fw-normal);color:var(--ma-ink-soft);font-size:.78rem}.sales-table .summary-row.total-row th{font-weight:var(--ma-fw-bold);color:var(--ma-ink);background:var(--ma-amber-tint)}.sales-table .col-name{text-align:left;min-width:100px}.sales-table .sticky-left{z-index:3;background:var(--ma-paper-hi);position:sticky;left:0}.sales-table thead .sticky-left{z-index:4;background:var(--ma-brand-tint)}.sales-table .summary-row .sticky-left{background:var(--ma-paper)}.sales-table .summary-row.total-row .sticky-left{background:var(--ma-amber-tint)}.sales-table .col-month{min-width:74px}.sales-table .col-total{min-width:92px;font-weight:var(--ma-fw-bold);color:var(--ma-brand-deep);background:var(--ma-amber-tint)}.sales-table tbody tr:hover td,.sales-table tbody tr:hover .sticky-left{background:var(--ma-brand-tint)}.data-page{flex-direction:column;gap:18px;max-width:860px;margin:0 auto;display:flex}.data-section{background:var(--ma-paper-hi);border:1px solid var(--ma-line);border-radius:12px;padding:16px 20px}.data-section h2{color:var(--ma-brand-deep);margin:0 0 6px;font-size:1.02rem}.data-section h3{color:var(--ma-ink);margin:16px 0 6px;font-size:.88rem}.section-hint{color:var(--ma-ink-soft);margin:0 0 10px;font-size:.83rem}.data-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.data-row-column{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.data-row label{align-items:center;gap:6px;font-size:.85rem;display:flex}.data-page input,.data-page select{border:1px solid var(--ma-line);border-radius:8px;padding:6px 10px;font-size:.9rem}.data-page input.narrow{width:110px}.data-page button{border:1px solid var(--ma-brand);background:var(--ma-brand);color:#fff;font-size:.88rem;font-weight:var(--ma-fw-bold);border-radius:8px;padding:6px 14px}.data-page button:hover{background:var(--ma-brand-deep)}.data-page button.danger{color:#c62828;background:#fff;border-color:#c62828}.file-import-label{border:1px dashed var(--ma-brand);color:var(--ma-brand-deep);font-size:.88rem;font-weight:var(--ma-fw-bold);cursor:pointer;background:var(--ma-brand-tint);border-radius:8px;align-items:center;gap:8px;padding:6px 14px;display:inline-flex}.file-import-label input{display:none}.data-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.import-message{color:var(--ma-brand-deep);font-size:.85rem;font-weight:var(--ma-fw-bold)}.import-result{margin-top:10px;font-size:.88rem}.unmatched-box{background:#fdf6df;border:1px solid #e0b400;border-radius:8px;margin-top:8px;padding:10px 14px}.unmatched-box ul{margin:6px 0 0;padding-left:18px}.unmatched-box li{margin-bottom:4px}.unmatched-box button{margin-left:8px;padding:2px 10px;font-size:.78rem}.tsv-label{color:var(--ma-ink-soft);margin:0;font-size:.83rem}.tsv-output{border:1px solid var(--ma-line);border-radius:8px;width:100%;padding:8px;font-family:monospace;font-size:.8rem}.family-list{flex-wrap:wrap;gap:8px;display:flex}.family-chip{background:var(--ma-brand-tint);border:1px solid var(--ma-line);border-radius:999px;align-items:center;gap:8px;padding:3px 12px;font-size:.83rem;display:inline-flex}.family-member{align-items:center;gap:2px;display:inline-flex}.family-member button{color:var(--ma-ink-soft);background:0 0;border:none;padding:0 2px;font-size:.85rem;font-weight:400}.family-member button:hover{color:#c62828;background:0 0}.edit-row input{font-size:.85rem}.audit-page{max-width:900px;margin:0 auto}.audit-empty,.audit-clean{color:var(--ma-ink-soft);text-align:center;padding:40px}.audit-toolbar{flex-wrap:wrap;align-items:center;gap:14px;padding:8px 0 16px;display:flex}.audit-past-note{color:var(--ma-ink-soft);font-size:.85rem}.audit-count{background:var(--ma-brand-tint);color:var(--ma-brand-deep);font-weight:var(--ma-fw-bold);border-radius:999px;padding:3px 10px;font-size:.85rem}.audit-apply-all{border:1px solid var(--ma-brand);background:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold);cursor:pointer;border-radius:8px;margin-left:auto;padding:7px 14px}.audit-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.audit-item{border:1px solid var(--ma-line);background:var(--ma-paper-hi);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.audit-item.audit-new{border-left:4px solid var(--ma-amber)}.audit-item.audit-diff{border-left:4px solid var(--ma-brand)}.audit-item.audit-notInApp{border-left:4px solid var(--ma-ink-soft)}.audit-kind{font-size:.78rem;font-weight:var(--ma-fw-bold);color:var(--ma-ink-soft);white-space:nowrap}.audit-name{font-weight:var(--ma-fw-bold)}.audit-amounts{color:var(--ma-ink);font-size:.85rem}.audit-note{color:var(--ma-ink-soft);flex-basis:100%;font-size:.8rem}.audit-fix-btn{border:1px solid var(--ma-line);background:var(--ma-paper);cursor:pointer;white-space:nowrap;border-radius:8px;margin-left:auto;padding:6px 12px;font-size:.85rem}.audit-fix-btn:hover{background:var(--ma-brand-tint);border-color:var(--ma-brand)}.join-screen{justify-content:center;align-items:center;min-height:70vh;display:flex}.join-card{background:var(--ma-paper-hi);border:1px solid var(--ma-line);text-align:center;border-radius:16px;max-width:420px;padding:32px 36px;box-shadow:0 4px 20px #0000000f}.join-card h2{color:var(--ma-brand);margin:0 0 8px;font-size:1.3rem}.join-card p{color:var(--ma-ink-soft);margin:0 0 16px;font-size:.9rem}.join-row{justify-content:center;gap:8px;display:flex}.join-row input{border:1px solid var(--ma-line);border-radius:8px;width:200px;padding:8px 12px;font-size:1rem}.join-row button{background:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold);border:none;border-radius:8px;padding:8px 18px;font-size:.95rem}.join-row button:disabled{opacity:.5}.join-error{color:#c62828;font-weight:var(--ma-fw-bold);margin-top:12px}.join-skip{color:var(--ma-ink-soft);background:0 0;border:none;margin-top:20px;font-size:.78rem;text-decoration:underline}.sync-badge-wrap{margin-left:auto;position:relative}.sync-badge{border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-full);background:var(--ma-paper);color:var(--ma-ink-soft);padding:var(--ma-sp-1) var(--ma-sp-3);font-size:var(--ma-fz-small);white-space:nowrap}.sync-badge.sync-synced{color:#2c7a52;background:#4caf7d14;border-color:#4caf7d}.sync-badge.sync-pending,.sync-badge.sync-connecting{border-color:var(--ma-amber-deep);color:var(--ma-amber-deep);background:var(--ma-amber-tint)}.sync-badge.sync-offline,.sync-badge.sync-error{border-color:var(--ma-brand);color:var(--ma-brand-deep);background:var(--ma-brand-tint)}.sync-badge.sync-disabled{cursor:pointer}.sync-others{font-size:var(--ma-fz-micro)}.sync-enable-form{z-index:100;background:var(--ma-paper-hi);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);width:22em;box-shadow:var(--ma-shadow-card);padding:var(--ma-sp-4);gap:var(--ma-sp-2);flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0}.sync-enable-form p{font-size:var(--ma-fz-small);color:var(--ma-ink-soft);margin:0}.sync-enable-row{gap:var(--ma-sp-2);display:flex}.sync-enable-row input{padding:var(--ma-sp-1) var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);flex:1}.sync-enable-row button{padding:var(--ma-sp-1) var(--ma-sp-3);border:var(--ma-border) solid var(--ma-brand);border-radius:var(--ma-radius-sm);background:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold);white-space:nowrap}.sync-enable-row button:disabled{opacity:.5}.sync-enable-error{font-weight:var(--ma-fw-bold);color:var(--ma-brand-deep)!important}
