@import "https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800&family=Zen+Maru+Gothic:wght@700;900&display=swap";:root{--ma-brand-tint-solid:#f4efe4;--ma-amber-tint-solid:#fff6d6}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--ma-paper);border-bottom:1px solid var(--ma-line);z-index:30;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 20px;display:flex;position:sticky;top:0}.app-header h1{font-family:var(--ma-font-serif);font-size:1.15rem;font-weight:var(--ma-fw-black);color:var(--ma-ink);white-space:nowrap;align-items:center;gap:10px;margin:0;display:flex}.app-nav{scrollbar-width:none;flex:none;gap:4px;max-width:100%;display:flex;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.app-nav button{font-size:.86rem;font-weight:var(--ma-fw-bold);color:var(--ma-ink-soft);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:8px 16px}.app-nav button:hover{color:var(--ma-ink);background:#fff}.app-nav button.active{background:var(--ma-ink);border-color:var(--ma-ink);color:#fff}.app-main{flex:1;padding:16px 20px 60px}.app-main:has(.sales-page){padding-bottom:16px}.fy-switcher{align-items:center;gap:6px;display:flex}.fy-arrow{border:1px solid var(--ma-line);background:var(--ma-paper-hi);width:28px;height:28px;color:var(--ma-ink-soft);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:flex}.fy-arrow:hover{background:var(--ma-brand-tint);color:var(--ma-brand-deep)}.compare-picker{color:var(--ma-ink-soft);flex-wrap:wrap;align-items:center;gap:6px;font-size:.9rem;display:flex}.compare-picker .compare-label{white-space:nowrap}.compare-picker .compare-item{align-items:center;gap:2px;display:inline-flex}.compare-picker select{border:1px solid var(--ma-line);background:var(--ma-paper-hi);border-radius:6px;padding:5px 8px;font-size:.9rem}.compare-picker .compare-remove{color:var(--ma-ink-soft);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:.9rem;line-height:1}.compare-picker .compare-remove:hover{color:#c62828}.compare-picker .compare-add{border:1px dashed var(--ma-line);color:var(--ma-ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:4px 10px;font-size:.8rem}.compare-picker .compare-add:hover{border-color:var(--ma-brand);color:var(--ma-brand-deep)}.modal-mask{z-index:100;background:#2b262280;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=700px){.modal-mask{align-items:center;padding:24px}}.modal-sheet{background:var(--ma-paper-hi);width:100%;max-width:480px;max-height:92vh;box-shadow:var(--ma-shadow-card);border-radius:16px 16px 0 0;padding:18px 16px 0;overflow:auto}@media (width>=700px){.modal-sheet{border-radius:var(--ma-radius-lg)}}.modal-sheet h2{color:var(--ma-brand-deep);margin:0 0 4px;font-size:1.1rem}.modal-sheet .modal-lead{color:var(--ma-ink-soft);margin:0 0 16px;font-size:.82rem}.modal-sheet .modal-note{background:var(--ma-brand-tint-solid);color:var(--ma-ink);border-radius:12px;margin:0 0 14px;padding:10px 12px;font-size:.82rem;line-height:1.6}.modal-sheet .modal-note code{font-size:.95em}.modal-row{margin-bottom:14px}.modal-row label.check-row{font-size:.92rem;font-weight:var(--ma-fw-bold);cursor:pointer;align-items:center;gap:8px;display:flex}.modal-row textarea{border:1px solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper);resize:vertical;width:100%;min-height:64px;padding:10px 12px;font-family:inherit;font-size:.9rem}.modal-row textarea:focus{outline:2px solid var(--ma-brand);outline-offset:1px}.modal-amount{color:var(--ma-ink-soft);background:var(--ma-paper);border-radius:var(--ma-radius);margin-bottom:14px;padding:8px 12px;font-size:.85rem}.modal-amount b{color:var(--ma-ink)}.modal-acts{z-index:1;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:var(--ma-paper-hi);border-top:1px solid var(--ma-line);flex-wrap:nowrap;align-items:center;gap:10px;margin:18px -16px 0;display:flex;position:sticky;bottom:0}.modal-acts .sp{flex:1}.modal-acts button{border:1px solid var(--ma-line);background:var(--ma-paper-hi);color:var(--ma-ink);border-radius:8px;padding:8px 16px;font-size:.9rem}.modal-acts button.primary{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold);order:9}.modal-acts button.danger{color:#c62828;background:#fff;border-color:#c62828}@media (width<=560px){.modal-acts{flex-wrap:wrap}.modal-acts .sp{display:none}.modal-acts button{flex:calc(50% - 5px)}.modal-acts button.primary{flex:1 0 100%}}.modal-row .field-label{color:var(--ma-ink-soft);font-size:.8rem;font-weight:var(--ma-fw-bold);margin-bottom:5px;display:block}.modal-row .text-input{border:1px solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper);box-sizing:border-box;width:100%;padding:9px 12px;font-family:inherit;font-size:16px}.modal-row .text-input:focus{outline:2px solid var(--ma-brand);outline-offset:1px}.modal-acts button:disabled{opacity:.45}.hidden-months-list{flex-direction:column;gap:4px;display:flex}.hidden-month-row{border:1px solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper);cursor:pointer;align-items:center;gap:10px;padding:9px 12px;font-size:.9rem;display:flex}.hidden-month-row.on{background:var(--ma-amber-tint);border-color:var(--ma-amber-deep)}.hidden-month-row input{width:18px;height:18px;accent-color:var(--ma-brand);flex:none}.hidden-month-row .hm-label{font-weight:var(--ma-fw-bold);min-width:3.2em}.hidden-month-row .hm-amount{text-align:right;color:var(--ma-ink-soft);font-variant-numeric:tabular-nums;flex:1}.hidden-month-row .hm-tag{font-size:.72rem;font-weight:var(--ma-fw-bold);color:var(--ma-ink);background:var(--ma-amber);border-radius:999px;flex:none;padding:2px 8px}.month-hidden{color:var(--ma-ink-soft);background-image:repeating-linear-gradient(-45deg,#0000,#0000 5px,#2b262217 5px 6px)}th.month-hidden .hm-head-tag{font-size:.62rem;font-weight:var(--ma-fw-bold);color:var(--ma-amber-deep);white-space:nowrap;line-height:1.1;display:block}.hidden-months-note{color:var(--ma-ink-soft);margin:0 0 8px;font-size:.8rem}.hidden-months-note b{color:var(--ma-amber-deep)}.export-btns{gap:6px;display:flex}.export-btns button{border:1px solid var(--ma-line);background:var(--ma-paper-hi);color:var(--ma-ink-soft);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:.88rem}.export-btns button:hover:not(:disabled){border-color:var(--ma-brand);color:var(--ma-brand-deep)}.export-btns button:disabled{opacity:.55;cursor:default}.modal-row>label{font-size:.82rem;font-weight:var(--ma-fw-bold);color:var(--ma-ink-soft);margin-bottom:6px;display:block}.bill-lines{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.bill-lines li{border:1px solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper);padding:8px 10px}.bill-lines li.moved{background:var(--ma-amber-tint);border-color:var(--ma-amber-deep)}.bill-line-main{justify-content:space-between;align-items:center;gap:8px;font-size:.88rem;display:flex}.bill-line-label{color:var(--ma-ink)}.bill-line-amount{font-weight:var(--ma-fw-bold);color:var(--ma-ink);white-space:nowrap}.bill-line-action{color:var(--ma-ink-soft);align-items:center;gap:8px;margin-top:6px;font-size:.8rem;display:flex}.bill-line-action select{border:1px solid var(--ma-line);background:var(--ma-paper-hi);border-radius:6px;flex:1;min-width:0;padding:5px 8px;font-size:.82rem}.link-btn{color:var(--ma-brand-deep);font-weight:var(--ma-fw-bold);white-space:nowrap;background:0 0;border:none;padding:4px 6px;font-size:.8rem;text-decoration:underline}.manual-split-row{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.manual-split-row input,.manual-split-row select{border:1px solid var(--ma-line);background:var(--ma-paper-hi);border-radius:6px;padding:6px 8px;font-size:.85rem}.manual-amount-input{width:96px}.manual-label-input{flex:1;min-width:120px}.manual-split-row button{border:1px solid var(--ma-brand);background:var(--ma-brand);color:#fff;font-size:.85rem;font-weight:var(--ma-fw-bold);border-radius:6px;padding:6px 14px}.year-exclusion-list{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.year-exclusion-row{border:1px solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper);padding:8px 10px}.year-exclusion-row.disabled{opacity:.45}.year-exclusion-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.year-month-label{font-weight:var(--ma-fw-bold);min-width:36px;color:var(--ma-ink)}.year-month-amount{color:var(--ma-ink-soft);margin-right:auto;font-size:.85rem}.year-exclusion-head .check-row{white-space:nowrap;font-size:.85rem;font-weight:400}.year-exclusion-reason{border:1px solid var(--ma-line);background:var(--ma-paper-hi);border-radius:6px;width:100%;margin-top:6px;padding:6px 8px;font-size:.85rem}.year-month-amount.zero{color:var(--ma-ink-soft);font-style:italic}.year-month-amount.moved{color:#a35b00;font-size:.8rem}.mc-headline{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 12px;display:flex}.mc-num{font-size:1.4rem;font-weight:var(--ma-fw-black);color:var(--ma-ink-soft)}.mc-num.now{color:var(--ma-ink)}.mc-arrow{color:var(--ma-ink-soft)}.mc-diff{font-weight:var(--ma-fw-bold)}.mc-diff.up{color:#2e7d32}.mc-diff.down{color:#c62828}.mc-prev-label{color:var(--ma-ink-soft);font-size:.82rem}.mc-cols{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mc-col{border:1px solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper);min-width:0;padding:8px 10px}.mc-col h3{flex-wrap:wrap;align-items:baseline;gap:6px;margin:0 0 6px;font-size:.92rem;display:flex}.mc-sub{font-size:.72rem;font-weight:var(--ma-fw-normal);color:var(--ma-ink-soft)}.mc-col.in h3{color:#2e7d32}.mc-col.out h3{color:#c62828}.mc-badge{background:var(--ma-paper-hi);border:1px solid var(--ma-line);color:var(--ma-ink);border-radius:999px;padding:0 8px;font-size:.78rem}.mc-col ul{max-height:46vh;margin:0;padding:0;list-style:none;overflow:auto}.mc-col li{border-bottom:1px dashed var(--ma-line);justify-content:space-between;align-items:baseline;gap:8px;padding:4px 0;font-size:.88rem;display:flex}.mc-col li:last-child{border-bottom:none}.mc-name{font-weight:var(--ma-fw-bold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mc-amount{color:var(--ma-ink-soft);white-space:nowrap;font-size:.78rem}.mc-empty{color:var(--ma-ink-soft);margin:0;font-size:.85rem}.mc-note{color:var(--ma-ink-soft);margin:12px 0 0;font-size:.8rem;line-height:1.6}.mc-note.warn{color:#a35b00}@media (width<=560px){.mc-cols{grid-template-columns:1fr}}.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{max-height:var(--fit-max-h,calc(100vh - 260px));border:1px solid var(--ma-line);background:var(--ma-paper-hi);overscroll-behavior-x:contain;border-radius:8px;min-height:240px;overflow:auto}.sales-table-wrap[data-fit=off]{min-height:0;max-height:none}.sales-table-wrap[data-fit=off] thead th{position:static}.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-solid);color:var(--ma-ink);font-weight:var(--ma-fw-bold);top:var(--top,0px);z-index:2;box-sizing:border-box;height:28px;line-height:19px;position:sticky}.sales-table thead tr:last-child th{border-bottom:2px solid var(--ma-brand)}.sales-table .summary-row.prev-row th{color:var(--ma-ink-soft);background:var(--ma-paper);font-size:.72rem}.sales-table .summary-row.prev-row.total-row th{background:var(--ma-amber-tint-solid);font-weight:var(--ma-fw-normal)}.sales-table .summary-row.prev-row .sticky-left{background:var(--ma-paper)}.sales-table .summary-row.prev-row.total-row .sticky-left{background:var(--ma-amber-tint-solid)}.yoy-tag{font-size:.68rem;font-weight:var(--ma-fw-bold);margin-left:5px}.yoy-tag.up{color:#2e7d32}.yoy-tag.down{color:#c62828}.toggle-btn{border:1px solid var(--ma-line);background:var(--ma-paper-hi);color:var(--ma-ink-soft);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:.86rem}.toggle-btn.on{background:var(--ma-amber-tint);border-color:var(--ma-amber-deep);color:var(--ma-ink);font-weight:var(--ma-fw-bold)}.grand-prev{color:var(--ma-ink-soft);margin-left:10px;font-size:.78rem}.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-solid)}.sales-table .col-name{text-align:left;min-width:100px}.sales-table tbody .col-name.clickable{cursor:pointer}.sales-table tbody .col-name.clickable:hover{color:var(--ma-brand-deep);text-decoration:underline}.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-solid)}.sales-table .summary-row .sticky-left{background:var(--ma-paper)}.sales-table .summary-row.total-row .sticky-left{background:var(--ma-amber-tint-solid)}.sales-table .col-grade{left:var(--name-w,150px);text-align:center;min-width:48px;font-weight:var(--ma-fw-normal);color:var(--ma-ink-soft);border-right:2px solid var(--ma-line)}.sales-table thead .col-grade{color:var(--ma-ink);font-weight:var(--ma-fw-bold)}.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-solid)}.sales-table tbody tr:hover td{background:var(--ma-brand-tint)}.sales-table tbody tr:hover .sticky-left{background:var(--ma-brand-tint-solid)}.new-count{color:var(--ma-amber-deep);font-weight:var(--ma-fw-bold)}.sales-table tbody tr.row-new .sticky-left,.sales-table tbody tr.row-new:hover .sticky-left{background:var(--ma-amber-tint-solid)}.sales-table tbody tr.row-return .sticky-left,.sales-table tbody tr.row-return:hover .sticky-left{background:#e9f3ea}.enroll-badge{color:#fff;font-size:.68rem;font-weight:var(--ma-fw-bold);vertical-align:middle;cursor:help;border-radius:4px;margin-right:6px;padding:0 6px;line-height:1.6;display:inline-block}.enroll-badge.new{background:var(--ma-amber-deep)}.enroll-badge.return{background:#2e7d32}.sales-table td.col-month.clickable{cursor:pointer}.sales-table td.col-month.clickable:hover{outline:2px solid var(--ma-brand);outline-offset:-2px}.sales-table td.col-month.excluded{color:var(--ma-ink-soft);background:#fdeceb;-webkit-text-decoration:line-through #c62828;text-decoration:line-through #c62828}.sales-table td.col-month.alloc-out,.sales-table td.col-month.alloc-in{background:var(--ma-amber-tint)}.sales-table td.col-month.alloc-out{box-shadow:inset 3px 0 0 var(--ma-amber-deep)}.sales-table td.col-month.alloc-in{box-shadow:inset -3px 0 0 var(--ma-amber-deep)}.sales-table td.col-month.alloc-out.alloc-in{box-shadow:inset 3px 0 0 var(--ma-amber-deep), inset -3px 0 0 var(--ma-amber-deep)}.sales-table td.col-month.excluded.alloc-out,.sales-table td.col-month.excluded.alloc-in{background:#fdeceb}.sales-table td.col-month.retired{background-color:#d6d1c7}.sales-table td.col-month.zero-enrolled-cell{cursor:default;background:var(--ma-brand-tint-solid)}.sales-table td.col-month .zero-enrolled{color:var(--ma-ink);opacity:1;font-weight:var(--ma-fw-bold)}@media (width<=767px),(height<=600px){.sales-table-wrap{min-height:0;max-height:none}.sales-table thead th{position:static}}.sales-table td.col-month.excluded .zero-enrolled{opacity:.7;font-weight:400}.count-btn{font:inherit;color:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.count-btn:hover{text-decoration:underline}.add-item-btn{border:1px solid var(--ma-brand);background:var(--ma-brand);color:#fff;font-size:.88rem;font-weight:var(--ma-fw-bold);cursor:pointer;border-radius:8px;padding:6px 14px}.other-table td.col-month.editable{cursor:text}.other-table td.col-month.editable:hover{outline:2px solid var(--ma-brand);outline-offset:-2px;background:var(--ma-brand-tint)}.other-table td.col-month.editing{outline:2px solid var(--ma-brand);outline-offset:-2px;padding:0}.other-table .cell-input{text-align:right;box-sizing:border-box;background:#fff;border:none;width:100%;min-width:70px;padding:4px 6px;font-family:inherit;font-size:.82rem}.other-table .cell-input:focus{outline:none}.other-table .item-name.clickable{cursor:pointer}.other-table .item-name.clickable:hover{color:var(--ma-brand-deep);text-decoration:underline}.pos-badge{background:var(--ma-brand-tint);color:var(--ma-brand-deep);font-size:.66rem;font-weight:var(--ma-fw-bold);vertical-align:middle;white-space:nowrap;border-radius:4px;margin-left:6px;padding:0 6px;line-height:1.7;display:inline-block}.pos-note{background:var(--ma-brand-tint);color:var(--ma-brand-deep);font-weight:var(--ma-fw-bold);border-radius:4px;padding:0 5px;display:inline-block}.move-btns{vertical-align:middle;gap:2px;margin-right:6px;display:inline-flex}.move-btns button{border:1px solid var(--ma-line);background:var(--ma-paper);width:20px;height:20px;color:var(--ma-ink-soft);cursor:pointer;border-radius:4px;padding:0;font-size:.7rem;line-height:1}.move-btns button:hover{border-color:var(--ma-brand);color:var(--ma-brand-deep)}.other-table .move-btns button:disabled{opacity:.3;cursor:default}.other-table .col-name{min-width:210px}.summary-page{flex-direction:column;gap:16px;display:flex}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.summary-card{border:1px solid var(--ma-line);border-radius:var(--ma-radius-lg);background:var(--ma-paper-hi);padding:12px 16px}.summary-card.total{background:var(--ma-amber-tint);border-color:var(--ma-amber-deep)}.summary-card-label{color:var(--ma-ink-soft);font-size:.8rem}.summary-card-value{font-size:1.3rem;font-weight:var(--ma-fw-bold);color:var(--ma-brand-deep);margin-top:4px}.summary-page .sales-table td.yoy{color:var(--ma-ink-soft);font-size:.78rem}.summary-table tbody .biz-row td{font-weight:var(--ma-fw-bold);color:var(--ma-ink)}.summary-table tbody .biz-row .row-label,.summary-table tbody .cat-row .item-name{font-weight:var(--ma-fw-bold)}.summary-table tbody .cat-row .item-name.clickable{cursor:pointer;color:var(--ma-brand-deep)}.summary-table tbody .cat-row .item-name.clickable:hover{text-decoration:underline}.summary-table tbody .prev-body-row td{color:var(--ma-ink-soft);background:var(--ma-paper);font-size:.72rem;font-weight:var(--ma-fw-normal)}.summary-table tbody .prev-body-row .sticky-left{background:var(--ma-paper);padding-left:34px}.summary-table tbody .detail-row td{color:var(--ma-ink-soft);font-size:.76rem;font-weight:var(--ma-fw-normal)}.summary-table tbody .detail-row .sticky-left{padding-left:34px}.summary-table .move-btns button:disabled{opacity:.3;cursor:default}.summary-table .col-name{min-width:160px}.analysis-page{flex-direction:column;gap:14px;display:flex}.analysis-section{flex-direction:column;gap:8px;display:flex}.analysis-section h2{color:var(--ma-brand-deep);flex-wrap:wrap;align-items:center;gap:12px;margin:6px 0 0;font-size:1rem;display:flex}.metric-tabs{gap:4px;display:inline-flex}.metric-tabs button{border:1px solid var(--ma-line);background:var(--ma-paper-hi);font-size:.78rem;font-weight:var(--ma-fw-normal);color:var(--ma-ink-soft);cursor:pointer;border-radius:999px;padding:3px 12px}.metric-tabs button.on{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold)}.sales-table-wrap.short{min-height:0;max-height:none;overflow:auto visible}.analysis-table thead th{position:static}.analysis-table .col-name{min-width:92px}.analysis-table .col-month.strong{font-weight:var(--ma-fw-bold);color:var(--ma-ink)}.analysis-table .col-month.soft{color:var(--ma-ink-soft);font-size:.76rem}.analysis-table .col-month.future{background:repeating-linear-gradient(45deg,#0000,#0000 4px,#6b64550d 4px 8px)}.analysis-table tbody tr.no-grade td{color:var(--ma-ink-soft);background:var(--ma-paper)}.analysis-table tbody tr.no-grade .sticky-left{background:var(--ma-paper)}.analysis-table tbody tr.total-line td{font-weight:var(--ma-fw-bold);background:var(--ma-amber-tint-solid);border-top:2px solid var(--ma-amber-deep)}.analysis-table tbody tr.total-line .sticky-left{background:var(--ma-amber-tint-solid)}.analysis-table tbody tr.current-fy .sticky-left{background:var(--ma-brand-tint-solid);font-weight:var(--ma-fw-bold)}.analysis-table .col-bar{width:180px;min-width:120px;padding:4px 8px}.analysis-table .bar{background:var(--ma-brand);opacity:.75;border-radius:3px;min-width:1px;height:12px;display:block}.analysis-table tbody tr.no-grade .bar{background:var(--ma-ink-soft)}.section-note{color:var(--ma-ink-soft);margin:0;font-size:.76rem;line-height:1.6}.warn-note{color:var(--ma-amber-deep);font-weight:var(--ma-fw-bold);margin-top:4px;display:block}.analysis-section h2 .h2-sub{font-size:.78rem;font-weight:var(--ma-fw-normal);color:var(--ma-ink-soft)}.analysis-table tbody tr.sub-row td{color:var(--ma-ink-soft);background:var(--ma-paper);font-size:.76rem}.analysis-table tbody tr.sub-row .sticky-left{background:var(--ma-paper);padding-left:20px}.analysis-table tbody tr.sub-row .bar{opacity:.5;height:8px}.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}.section-hint{color:var(--ma-ink-soft);margin:0 0 10px;font-size:.83rem}.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.ghost{color:var(--ma-brand-deep);background:0 0}.data-page button:hover{background:var(--ma-brand-deep)}.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;margin-top:10px;display:flex}.import-result{margin-top:10px;font-size:.88rem}.import-message{color:var(--ma-brand-deep);font-size:.85rem;font-weight:var(--ma-fw-bold)}.feed-status-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.feed-status-row{align-items:center;gap:8px;font-size:.85rem;display:flex}.feed-dot{background:var(--ma-line);border-radius:50%;width:8px;height:8px}.feed-status-row.feed-online .feed-dot{background:#2e9e4a}.feed-status-row.feed-connecting .feed-dot{background:var(--ma-amber-deep)}.feed-status-row.feed-error .feed-dot{background:#c62828}.feed-biz{font-weight:var(--ma-fw-bold);min-width:100px}.feed-state{color:var(--ma-ink-soft)}.feed-time{color:var(--ma-ink-soft);font-size:.78rem}.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}.log-filters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.log-filters button{border:1px solid var(--ma-line);background:var(--ma-paper);color:var(--ma-ink-soft);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:.76rem}.log-filters button.on{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold)}.log-list{border:1px solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper);max-height:52vh;overflow:auto}.log-empty{text-align:center;color:var(--ma-ink-soft);margin:0;padding:20px;font-size:.86rem}.log-day{background:var(--ma-brand-tint-solid);color:var(--ma-brand-deep);font-size:.74rem;font-weight:var(--ma-fw-bold);z-index:1;padding:4px 12px;position:sticky;top:0}.log-row{border-bottom:1px solid var(--ma-line);padding:7px 12px}.log-row:last-child{border-bottom:none}.log-row-head{flex-wrap:wrap;align-items:center;gap:7px;font-size:.78rem;display:flex}.log-time{color:var(--ma-ink-soft);font-variant-numeric:tabular-nums}.log-source{background:var(--ma-line);color:var(--ma-ink);font-size:.7rem;font-weight:var(--ma-fw-bold);border-radius:4px;padding:0 6px}.log-source.src-shokudo,.log-source.src-cinderella{background:var(--ma-amber-tint);color:var(--ma-amber-deep)}.log-source.src-manual{background:var(--ma-brand-tint);color:var(--ma-brand-deep)}.log-ym{color:var(--ma-ink-soft)}.log-target{font-weight:var(--ma-fw-bold);color:var(--ma-ink)}.log-change{color:var(--ma-ink-soft);margin-top:2px;font-size:.8rem}.refresh-bar{align-items:center;gap:8px;margin-left:auto;display:flex}.refresh-bar .refresh-btn{border:1px solid var(--ma-brand);background:var(--ma-brand);color:#fff;font-size:.86rem;font-weight:var(--ma-fw-bold);white-space:nowrap;cursor:pointer;border-radius:8px;padding:6px 14px}.refresh-bar .refresh-btn:disabled{opacity:.55;cursor:default}.refresh-bar .log-btn{border:1px solid var(--ma-line);background:var(--ma-paper-hi);color:var(--ma-ink-soft);white-space:nowrap;cursor:pointer;border-radius:8px;padding:6px 12px;font-size:.84rem}.refresh-bar .log-btn:hover{border-color:var(--ma-brand);color:var(--ma-brand-deep)}.refresh-bar .log-count{background:var(--ma-amber-deep);color:#fff;font-size:.68rem;font-weight:var(--ma-fw-bold);border-radius:8px;margin-left:5px;padding:0 5px;display:inline-block}.refresh-bar .refresh-time{color:var(--ma-ink-soft);white-space:nowrap;font-size:.76rem}.refresh-bar .refresh-error{color:#c62828;font-weight:var(--ma-fw-bold)}.refresh-bar .refresh-message{color:var(--ma-brand-deep);background:var(--ma-brand-tint);white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:.78rem}@media (width<=860px){.refresh-bar .refresh-time,.refresh-bar .refresh-message{display:none}}:root{--ma-brand:#d9c9a8;--ma-brand-deep:#bda87e;--ma-amber:#ffd84d;--ma-amber-deep:#f0c320;--ma-brand-tint:#f2eada;--ma-amber-tint:#fff0bc;--ma-blue:#a6d3ff;--ma-blue-s:#e1efff;--ma-coral:#ffa987;--ma-coral-s:#ffe6dc;--ma-leaf:#a9d97f;--ma-leaf-s:#e6f3d8;--ma-mint:#9edcc2;--ma-mint-s:#ddf3ea;--ma-paper:#faf8f4;--ma-paper-hi:#fff;--ma-ink:#111;--ma-ink-soft:#8c8578;--ma-line:#e9e3d8;--ma-night:#111;--ma-night-2:#1a1a1a;--ma-cream:#f5f0e8;--ma-cream-soft:#b0a890;--ma-line-dark:#2a2520;--ma-line-green:#06c755;--ma-focus:#111;--ma-font-serif:"Zen Maru Gothic", "M PLUS Rounded 1c", system-ui, sans-serif;--ma-font-sans:"M PLUS Rounded 1c", system-ui, sans-serif;--ma-fz-display:clamp(2.2rem, 6vw, 3.4rem);--ma-fz-h1:clamp(1.7rem, 4vw, 2.45rem);--ma-fz-h2:clamp(1.3rem, 2.6vw, 1.8rem);--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:0;--ma-ls-normal:.02em;--ma-ls-wide:.16em;--ma-lh-tight:1.3;--ma-lh-body:1.7;--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:10px;--ma-radius:14px;--ma-radius-lg:24px;--ma-radius-full:999px;--ma-border:1px;--ma-shadow-soft:none;--ma-shadow-card:none;--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}
