: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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ma-ink);background:var(--ma-paper);font-family:var(--ma-font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}html,body,#root{min-height:100vh;margin:0}body{font-size:var(--ma-fz-body)}h1,h2,h3{font-family:var(--ma-font-sans);color:var(--ma-ink);margin:0}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}table{border-collapse:collapse}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{align-items:center;gap:var(--ma-sp-8);padding:var(--ma-sp-3) var(--ma-sp-6);background:var(--ma-paper-hi);border-bottom:var(--ma-border) solid var(--ma-line);z-index:30;display:flex;position:sticky;top:0}.app-header h1{font-size:var(--ma-fz-h3);white-space:nowrap}.app-nav{gap:var(--ma-sp-2);flex-wrap:wrap;display:flex}.sync-dot{font-size:var(--ma-fz-h3);cursor:default;margin-left:auto}.app-nav button{padding:var(--ma-sp-2) var(--ma-sp-4);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);color:var(--ma-ink-soft);font-weight:var(--ma-fw-bold);background:0 0}.app-nav button.active{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff}.app-main{padding:var(--ma-sp-6);flex:1;max-width:100%;overflow-x:auto}@media print{.app-header{display:none}.app-main{padding:0}}.matrix-page{gap:var(--ma-sp-3);flex-direction:column;display:flex}.matrix-toolbar{gap:var(--ma-sp-2);flex-direction:column;display:flex}.toolbar-row{align-items:center;gap:var(--ma-sp-3);flex-wrap:wrap;display:flex}.toolbar-row label{align-items:center;gap:var(--ma-sp-2);font-weight:var(--ma-fw-bold);display:flex}.year-month-input{width:6.5em;padding:var(--ma-sp-1) var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);font-size:1rem}.toolbar-title{font-size:var(--ma-fz-h3);font-weight:var(--ma-fw-bold)}.period-label{color:var(--ma-ink-soft);font-size:.85rem}.brush-caption{color:var(--ma-ink-soft);font-size:.9rem}.brush-chip{border:2px solid var(--ma-line);background:var(--ma-paper-hi);font-weight:var(--ma-fw-bold);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.95rem;display:inline-flex}.brush-unit{opacity:.75;font-size:.75rem;font-weight:400}.brush-chip.selected{outline:3px solid var(--ma-ink);outline-offset:1px}.opt-choSocho{color:#4c1d95;background:#ede4ff;border-color:#8b5cf6}.opt-socho{color:#1e3a8a;background:#dbeafe;border-color:#3b82f6}.opt-encho{color:#7c2d12;background:#ffedd5;border-color:#f97316}.opt-choEncho{color:#7f1d1d;background:#fee2e2;border-color:#ef4444}.opt-ichijiToko{color:#14532d;background:#dcfce7;border-color:#22c55e}.opt-ichijiKyuko{color:#134e4a;background:#ccfbf1;border-color:#14b8a6}.brush-eraser{color:#374151;background:#f3f4f6;border-color:#9ca3af}.matrix-empty{color:var(--ma-ink-soft)}.matrix-table-wrap{border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper-hi);max-height:calc(100vh - 220px);overflow:auto}.matrix-table{border-collapse:separate;border-spacing:0;font-size:.8rem}.matrix-table th,.matrix-table td{border-right:1px solid var(--ma-line);border-bottom:1px solid var(--ma-line);padding:0}.matrix-table thead th{z-index:2;background:var(--ma-paper-hi);box-shadow:0 1px 0 var(--ma-line);position:sticky;top:0}.matrix-table th.col-name{z-index:1;background:var(--ma-paper-hi);text-align:left;white-space:nowrap;text-overflow:ellipsis;min-width:7.5em;max-width:9em;box-shadow:1px 0 0 var(--ma-line);padding:4px 8px;font-size:.85rem;position:sticky;left:0;overflow:hidden}.matrix-table thead th.sticky-corner{z-index:3}.col-date{text-align:center;min-width:38px;padding:3px 2px 2px;line-height:1.15}.col-date .date-num{font-size:.9rem;font-weight:var(--ma-fw-bold);display:block}.col-date .date-dow{color:var(--ma-ink-soft);font-size:.65rem;display:block}.col-date .date-month{color:var(--ma-ink-soft);font-size:.6rem;display:block}.col-total{text-align:center;min-width:2.5em;font-weight:var(--ma-fw-bold)}.matrix-cell{cursor:pointer;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-width:38px;height:40px}.matrix-cell:hover{background:#fffbe6}.matrix-cell.weekend,.col-date.weekend{background:#f4f1ea}.matrix-cell .mark{font-size:.62rem;font-weight:var(--ma-fw-bold);border-style:solid;border-width:1px;border-radius:4px;margin:1px;padding:1px 3px;line-height:1.3;display:inline-block}.month-picker{align-items:center;gap:var(--ma-sp-3);flex-wrap:wrap;display:flex}.month-picker-chips{gap:var(--ma-sp-2);flex-wrap:wrap;display:flex}.month-picker-chips button{padding:var(--ma-sp-1) var(--ma-sp-3);border:var(--ma-border) solid var(--ma-line);background:var(--ma-paper);color:var(--ma-ink-soft);font-size:var(--ma-fz-small);white-space:nowrap;border-radius:999px}.month-picker-chips button.active{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold)}.month-picker-input{align-items:center;gap:var(--ma-sp-2);font-size:var(--ma-fz-small);color:var(--ma-ink-soft);display:flex}.month-picker-input .year-month-input{width:5.5em;padding:var(--ma-sp-1) var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm)}.student-picker{gap:var(--ma-sp-2);flex-direction:column;display:flex}.sp-head{align-items:center;gap:var(--ma-sp-3);font-weight:var(--ma-fw-bold);font-size:var(--ma-fz-small);display:flex}.sp-count{color:var(--ma-ink)}.sp-btn{padding:2px var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);background:var(--ma-paper);cursor:pointer}.sp-import{margin-left:auto}.sp-import:disabled{opacity:.6;cursor:default}.sp-group{flex-direction:column;gap:4px;display:flex}.sp-grade-head{align-self:flex-start;align-items:center;gap:var(--ma-sp-2);padding:2px var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);background:var(--ma-paper-hi);font-weight:var(--ma-fw-bold);font-size:var(--ma-fz-small);cursor:pointer;color:var(--ma-ink-soft);display:inline-flex}.sp-grade-head.is-on{background:var(--ma-brand-tint);border-color:var(--ma-brand);color:var(--ma-brand-deep)}.sp-grade-count{opacity:.8;font-weight:400}.sp-chips{gap:var(--ma-sp-2);flex-wrap:wrap;display:flex}.sp-chip{padding:2px var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);background:var(--ma-paper);cursor:pointer;font-size:var(--ma-fz-small);-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:4px;display:inline-flex}.sp-chip.is-on{background:var(--ma-brand-tint);border-color:var(--ma-brand);color:var(--ma-brand-deep);font-weight:var(--ma-fw-bold)}.sp-hint{font-size:var(--ma-fz-small);color:var(--ma-ink-soft);margin:0}.bulk-panel{border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper-hi)}.bulk-toggle{text-align:left;width:100%;padding:var(--ma-sp-2) var(--ma-sp-3);font-weight:var(--ma-fw-bold);cursor:pointer;color:var(--ma-ink);background:0 0;border:none}.bulk-toggle-hint{font-weight:400;font-size:var(--ma-fz-small);color:var(--ma-ink-soft);margin-left:var(--ma-sp-2)}.bulk-body{padding:var(--ma-sp-3);gap:var(--ma-sp-3);border-top:var(--ma-border) solid var(--ma-line);flex-direction:column;display:flex}.bulk-modes{gap:var(--ma-sp-2);flex-wrap:wrap;display:flex}.bulk-mode{padding:var(--ma-sp-1) var(--ma-sp-3);border:var(--ma-border) solid var(--ma-line);background:var(--ma-paper);cursor:pointer;font-weight:var(--ma-fw-bold);font-size:var(--ma-fz-small);border-radius:999px}.bulk-mode.is-on{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff}.bulk-template{align-items:flex-end;gap:var(--ma-sp-3);flex-wrap:wrap;display:flex}.bulk-template-col{flex-direction:column;align-items:stretch}.bulk-field{gap:var(--ma-sp-1);flex-direction:column;display:flex}.bulk-field label{font-size:var(--ma-fz-small);color:var(--ma-ink-soft);font-weight:var(--ma-fw-bold)}.bulk-field input{padding:var(--ma-sp-1) var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);min-width:12em}.bulk-field-amount input{text-align:right;min-width:8em}.bulk-carry{align-items:center;gap:var(--ma-sp-1);font-size:var(--ma-fz-small);white-space:nowrap;display:flex}.bulk-notice{border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);width:100%;padding:var(--ma-sp-2);font:inherit;resize:vertical}.bulk-radio-row{gap:var(--ma-sp-3);font-size:var(--ma-fz-small);flex-wrap:wrap;display:flex}.bulk-radio-row label{cursor:pointer;align-items:center;gap:4px;display:flex}.bulk-seasonal-note{font-size:var(--ma-fz-small);color:var(--ma-ink-soft);margin:0;line-height:1.6}.bulk-actions{display:flex}.bulk-run{padding:var(--ma-sp-2) var(--ma-sp-4);border-radius:var(--ma-radius);background:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold);cursor:pointer;border:none}.bulk-run:hover{background:var(--ma-brand-deep)}.import-badge{background:#fbf9f4;border:1.5px solid #d5cfc2;border-radius:8px;margin:8px 0;padding:8px 12px;font-size:.88rem}.import-badge.is-error{background:#fdf0ee;border-color:#c0392b}.import-badge.regular-badge{background:#fdf6e9;border-color:#e8a13a}.import-badge-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.import-badge-title{white-space:nowrap;font-weight:700}.import-badge-status{color:#555}.import-badge-link{color:#1a6fb0;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.import-badge-toggle{white-space:nowrap;color:#555;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.import-badge-details{border-top:1px dashed #d5cfc2;margin-top:8px;padding-top:8px}.import-badge-details ul{max-height:260px;margin:4px 0;padding-left:18px;overflow-y:auto}.import-badge-details li.is-remove{color:#a33}.import-badge-warn{color:#a33;margin:4px 0;font-weight:600}.import-badge-hint{color:#888;margin:6px 0 0;font-size:.8rem}.import-badge-actions{gap:8px;margin-top:6px;display:flex}.hint-excluded-sample{color:#8c3b40;border:1px dashed #b4666a;border-radius:4px;padding:0 4px;text-decoration:line-through}.import-badge-actions .primary{color:#fff;cursor:pointer;background:#e8842a;border:none;border-radius:6px;padding:6px 14px;font-weight:700}.monthly-page{gap:var(--ma-sp-3);flex-direction:column;max-width:1680px;display:flex}.grade-group{gap:var(--ma-sp-2);flex-direction:column;display:flex}.grade-group-title{align-items:baseline;gap:var(--ma-sp-2);margin:var(--ma-sp-2) 0 0;border-bottom:2px solid var(--ma-line);padding-bottom:2px;font-size:.95rem;display:flex}.grade-group-count{color:var(--ma-ink-soft);font-size:.8rem;font-weight:400}.student-grid{gap:var(--ma-sp-2);grid-template-columns:repeat(auto-fill,minmax(360px,1fr));align-items:start;display:grid}.student-cell.is-open{grid-column:1/-1}.monthly-toolbar{align-items:center;gap:var(--ma-sp-3);flex-wrap:wrap;display:flex}.sticky-toolbar{z-index:20;background:var(--ma-paper);padding:var(--ma-sp-2) 0;position:sticky;top:0}.monthly-toolbar label{align-items:center;gap:var(--ma-sp-2);font-weight:var(--ma-fw-bold);display:flex}.search-input{padding:var(--ma-sp-1) var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);min-width:12em}.grand-total{font-weight:var(--ma-fw-bold);margin-left:auto}.common-notice-box textarea{border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);width:100%;padding:var(--ma-sp-2)}.monthly-empty{color:var(--ma-ink-soft)}.student-block{border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-lg,10px);background:var(--ma-paper-hi);overflow:hidden}.block-header{align-items:center;gap:var(--ma-sp-4);padding:var(--ma-sp-2) var(--ma-sp-4);cursor:pointer;background:var(--ma-paper-hi);display:flex}.student-block.collapsed .block-header{gap:2px var(--ma-sp-2);padding:var(--ma-sp-2) var(--ma-sp-3);flex-wrap:wrap}.student-block.collapsed .student-name{flex:auto;min-width:0}.student-block.collapsed .header-course{flex:100%;order:3;font-size:.78rem}.student-block.collapsed .header-sibling,.student-block.collapsed .header-excluded{order:4}.student-block.collapsed .btn-collapse{order:5;margin-left:auto}.student-block:not(.collapsed) .block-header{border-bottom:var(--ma-border) solid var(--ma-line)}.student-name{font-weight:var(--ma-fw-bold);min-width:8em;font-size:1.05rem}.header-course{color:var(--ma-ink-soft);font-size:.9rem}.header-billing{font-weight:var(--ma-fw-bold);margin-left:auto}.btn-collapse{border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);background:0 0;padding:2px 10px;font-size:.8rem}.block-body{padding:var(--ma-sp-3) var(--ma-sp-4);gap:var(--ma-sp-3);flex-direction:column;display:flex}.block-section h4{color:var(--ma-ink-soft);margin:0 0 var(--ma-sp-1);font-size:.85rem}.course-row{align-items:center;gap:var(--ma-sp-4);flex-wrap:wrap;display:flex}.weekday-checks{gap:var(--ma-sp-1);display:flex}.weekday-check{border:1px solid var(--ma-line);cursor:pointer;font-weight:var(--ma-fw-bold);border-radius:6px;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.weekday-check.on{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff}.period-line{color:var(--ma-ink-soft);flex-wrap:wrap;gap:16px;margin:0 0 6px;font-size:.8rem;display:flex}.weekday-check.is-excluded{color:#8c3b40;background:#f7e9e9;border-style:dashed;border-color:#b4666a;text-decoration:line-through}.weekday-check.is-extra.on{border-style:dashed;border-color:#1a6fb0;box-shadow:inset 0 0 0 2px #cfe4f5}.regular-source-note{flex-wrap:wrap;gap:12px;margin:4px 0 0;font-size:.78rem;display:flex}.regular-source-note .note-excluded{color:#8c3b40}.regular-source-note .note-extra{color:#1a6fb0}.header-excluded{color:#8c3b40;white-space:nowrap;border:1px dashed #b4666a;border-radius:999px;padding:1px 8px;font-size:.75rem}.header-sibling{color:var(--ma-ink-soft);border:1px solid var(--ma-line);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.75rem}.course-fields{align-items:center;gap:var(--ma-sp-2);flex-wrap:wrap;display:flex}.course-fields label{align-items:center;gap:4px;font-size:.85rem;display:flex}.input-course-label{border:1px solid var(--ma-line);border-radius:6px;width:13em;padding:4px 8px}.input-amount{border:1px solid var(--ma-line);text-align:right;border-radius:6px;width:7em;padding:4px 8px}.course-computed{font-weight:var(--ma-fw-bold)}.btn-reset,.btn-small{border:1px solid var(--ma-line);background:0 0;border-radius:6px;padding:3px 10px;font-size:.8rem}.option-summary{border-collapse:collapse;font-size:.85rem}.option-summary td{vertical-align:top;padding:3px 10px 3px 0}.opt-label{font-weight:var(--ma-fw-bold);white-space:nowrap;border-style:solid;border-width:1px;border-radius:6px;padding:1px 8px!important}.opt-count,.opt-amount{white-space:nowrap}.opt-amount{font-weight:var(--ma-fw-bold)}.opt-dates{color:var(--ma-ink-soft);font-size:.75rem}.opt-none{color:var(--ma-ink-soft)}.seasonal-row,.other-line{align-items:center;gap:var(--ma-sp-2);margin-bottom:var(--ma-sp-1);flex-wrap:wrap;display:flex}.input-other-label{border:1px solid var(--ma-line);border-radius:6px;width:12em;padding:4px 8px}.input-other-detail{border:1px solid var(--ma-line);border-radius:6px;flex:1;min-width:10em;padding:4px 8px}.carry-check{white-space:nowrap;align-items:center;gap:3px;font-size:.8rem;display:inline-flex}.btn-delete{color:#a33;background:0 0;border:1px solid #e5b5b5;border-radius:6px;padding:2px 8px}.totals-section{border-radius:var(--ma-radius);padding:var(--ma-sp-2) var(--ma-sp-3);background:#faf7ef}.totals-grid{align-items:center;gap:var(--ma-sp-4);flex-wrap:wrap;display:flex}.totals-grid label{align-items:center;gap:4px;font-size:.85rem;display:flex}.total-item{font-size:.9rem}.total-item strong{margin-left:4px}.total-item.billing{font-size:1rem}.total-item.billing strong{color:var(--ma-brand);font-size:1.15rem}.section-hint{color:var(--ma-ink-soft);margin:var(--ma-sp-1) 0 0;font-size:.8rem}.block-section textarea{border:1px solid var(--ma-line);width:100%;padding:var(--ma-sp-1) var(--ma-sp-2);border-radius:6px}.plan-select-label{align-items:center;gap:6px;font-size:.85rem;display:flex}.plan-select-label select{border:1px solid var(--ma-line);border-radius:6px;max-width:14em;padding:4px 8px}.option-editors{flex-direction:column;gap:6px;display:flex}.option-editor{border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:4px 8px;display:flex}.option-editor.has-dates{background:#fdfaf2}.option-editor .opt-label{text-align:center;min-width:8.5em}.opt-unit{color:var(--ma-ink-soft);min-width:5em;font-size:.75rem}.opt-date-chips{flex-wrap:wrap;flex:1;align-items:center;gap:4px;min-width:12em;display:flex}.date-chip{font-size:.8rem;font-weight:var(--ma-fw-bold);white-space:nowrap;border-style:solid;border-width:1px;border-radius:999px;align-items:center;gap:2px;padding:2px 4px 2px 8px;display:inline-flex}.chip-remove{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 4px;font-size:.85rem}.chip-remove:hover{opacity:1}.opt-add{align-items:center;gap:4px;display:flex}.opt-add input[type=date]{border:1px solid var(--ma-line);border-radius:6px;padding:3px 6px;font-size:.85rem}.opt-total{font-weight:var(--ma-fw-bold);white-space:nowrap}.opt-label-btn{cursor:pointer;font-size:.9rem}.opt-label-btn:hover{filter:brightness(.95)}.btn-cal{white-space:nowrap}.btn-cal.open{background:var(--ma-ink);border-color:var(--ma-ink);color:#fff}.opt-calendar{gap:var(--ma-sp-5);padding:var(--ma-sp-2) var(--ma-sp-2) var(--ma-sp-1);border-top:1px dashed var(--ma-line);flex-wrap:wrap;flex-basis:100%;margin-top:4px;display:flex}.cal-month-title{font-weight:var(--ma-fw-bold);margin-bottom:4px;font-size:.85rem}.cal-grid{grid-template-columns:repeat(7,38px);gap:3px;display:grid}.cal-dow{text-align:center;color:var(--ma-ink-soft);padding:2px 0;font-size:.7rem}.cal-dow.weekend{color:#b0a99a}.cal-day{border:1px solid var(--ma-line);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border-radius:8px;height:36px;font-size:.9rem}.cal-day.weekend{color:#a89f8d;background:#f4f1ea}.cal-day:hover{outline:2px solid var(--ma-line)}.cal-day.on{font-weight:var(--ma-fw-bold);border-width:2px}.student-block.is-regular-changed{border-color:#e8a100;box-shadow:inset 5px 0 #e8a100}.header-regular-changed{color:#8a6100;white-space:nowrap;background:#fff3c4;border:1px solid #e8a100;border-radius:999px;padding:1px 8px;font-size:.75rem}.student-block.collapsed .header-regular-changed{order:4}.order-modal-backdrop{z-index:120;background:#00000073;justify-content:center;align-items:flex-start;padding:6vh 2vw;display:flex;position:fixed;inset:0;overflow-y:auto}.order-modal{background:var(--ma-paper);border-radius:var(--ma-radius-lg,10px);width:min(720px,96vw);overflow:visible}.order-modal-head{align-items:center;gap:var(--ma-sp-3);padding:var(--ma-sp-3);border-bottom:var(--ma-border) solid var(--ma-line);background:var(--ma-paper-hi);border-radius:var(--ma-radius-lg,10px) var(--ma-radius-lg,10px) 0 0;display:flex}.order-modal-head strong{flex:1}.order-modal-close,.order-modal-tabs button,.order-modal-actions button{padding:var(--ma-sp-1) var(--ma-sp-3);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);background:var(--ma-paper)}.order-modal-tabs button.active,.order-modal-actions button.primary{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold)}.order-modal-actions button:disabled{opacity:.5}.order-modal-body{padding:var(--ma-sp-3);gap:var(--ma-sp-3);flex-direction:column;display:flex}.order-modal-row{align-items:center;gap:var(--ma-sp-2);flex-wrap:wrap;display:flex}.order-modal-label{font-size:var(--ma-fz-small);font-weight:var(--ma-fw-bold);min-width:5em}.order-modal-picker{flex:1;min-width:18em}.order-modal-price,.order-modal-qty{padding:var(--ma-sp-1) var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm)}.order-modal-price{width:12em}.order-modal-qty{width:4em}.order-modal-check{font-size:var(--ma-fz-small);align-items:center;gap:4px;display:flex}.order-modal-hint{font-size:var(--ma-fz-small);color:var(--ma-ink-soft)}.order-modal-warn{color:#8c3b40;font-size:var(--ma-fz-small);margin:0}.order-modal-added{font-size:var(--ma-fz-small);border-radius:var(--ma-radius-sm);padding:var(--ma-sp-2);background:#f3f7f4}.order-modal-added ul{margin:4px 0 0;padding-left:1.2em}.order-modal-actions{align-items:center;gap:var(--ma-sp-3);display:flex}.order-add{border:2px solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper-hi);padding:var(--ma-sp-3);gap:var(--ma-sp-3);flex-direction:column;display:flex}.oa-title{font-weight:var(--ma-fw-bold);align-items:baseline;gap:var(--ma-sp-2);flex-wrap:wrap;display:flex}.oa-hint{font-weight:400;font-size:var(--ma-fz-small);color:var(--ma-ink-soft)}.oa-section{gap:var(--ma-sp-2);flex-direction:column;display:flex}.oa-section-title{font-size:var(--ma-fz-small);font-weight:var(--ma-fw-bold);color:var(--ma-ink-soft)}.oa-targets{font-size:var(--ma-fz-small);background:var(--ma-paper);border:1px solid var(--ma-line);border-radius:var(--ma-radius-sm);padding:var(--ma-sp-1) var(--ma-sp-2);gap:var(--ma-sp-2);flex-wrap:wrap;align-items:center;display:flex}.oa-clear{border:1px solid var(--ma-line);background:var(--ma-paper-hi);border-radius:var(--ma-radius-sm);font-size:var(--ma-fz-small);cursor:pointer;padding:1px 8px}.oa-row{gap:var(--ma-sp-2);flex-wrap:wrap;align-items:center;display:flex}.oa-row-no{text-align:right;width:1.4em;color:var(--ma-ink-soft);font-size:var(--ma-fz-small)}.oa-row .oa-name{flex:22em;min-width:16em}.oa-price{width:8em}.oa-qty{width:5em}.oa-row input{padding:var(--ma-sp-1) var(--ma-sp-2);border:1px solid var(--ma-line);border-radius:var(--ma-radius-sm)}.oa-row-remove{border:1px solid var(--ma-line);background:var(--ma-paper);border-radius:var(--ma-radius-sm);cursor:pointer;width:2em}.oa-add-row{border:1px dashed var(--ma-line);border-radius:var(--ma-radius-sm);padding:var(--ma-sp-1) var(--ma-sp-3);cursor:pointer;background:0 0;align-self:flex-start}.oa-foot{align-items:center;gap:var(--ma-sp-3);border-top:1px solid var(--ma-line);padding-top:var(--ma-sp-3);flex-flow:wrap}.oa-ym{align-items:center;gap:var(--ma-sp-2);font-weight:var(--ma-fw-bold);font-size:var(--ma-fz-small);display:flex}.oa-ym .year-month-input{width:6em;padding:var(--ma-sp-1) var(--ma-sp-2);border:1px solid var(--ma-line);border-radius:var(--ma-radius-sm)}.oa-ym-unset{border:1px solid var(--ma-line);background:var(--ma-paper);border-radius:var(--ma-radius-sm);padding:var(--ma-sp-1) var(--ma-sp-2);font-size:var(--ma-fz-small);cursor:pointer}.oa-urgent{font-size:var(--ma-fz-small);align-items:center;gap:4px;display:flex}.oa-run{background:var(--ma-brand);color:#fff;border-radius:var(--ma-radius-sm);padding:var(--ma-sp-2) var(--ma-sp-4);font-weight:var(--ma-fw-bold);cursor:pointer;border:none;margin-left:auto}.oa-run:disabled{opacity:.45;cursor:default}.order-add .student-picker{border:1px solid var(--ma-line);border-radius:var(--ma-radius-sm);max-height:260px;padding:var(--ma-sp-2);background:var(--ma-paper);overflow-y:auto}.kyozai-page{gap:var(--ma-sp-4);flex-direction:column;display:flex}.kyozai-toolbar{align-items:center;gap:var(--ma-sp-4);flex-wrap:wrap;display:flex}.kyozai-toolbar label{align-items:center;gap:var(--ma-sp-2);font-weight:var(--ma-fw-bold);display:flex}.kyozai-summary{color:var(--ma-ink-soft)}.kyozai-filter{align-items:center;gap:var(--ma-sp-2);display:flex}.kyozai-filter button{padding:var(--ma-sp-1) var(--ma-sp-3);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);background:var(--ma-paper);color:var(--ma-ink-soft);white-space:nowrap}.kyozai-filter button.active{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold)}.kyozai-filter-label{color:var(--ma-ink-soft);font-size:var(--ma-fz-small);white-space:nowrap}.kyozai-bulk-bar{align-items:center;gap:var(--ma-sp-3);background:var(--ma-brand-tint);border:var(--ma-border) solid var(--ma-brand);border-radius:var(--ma-radius);padding:var(--ma-sp-3);z-index:10;display:flex;position:sticky;top:60px}.kyozai-bulk-bar>span{font-weight:var(--ma-fw-bold);color:var(--ma-brand-deep)}.kyozai-bulk-bar label{align-items:center;gap:var(--ma-sp-2);font-size:var(--ma-fz-small);display:flex}.kyozai-bulk-btn{padding:var(--ma-sp-1) var(--ma-sp-4);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)}.kyozai-bulk-clear{padding:var(--ma-sp-1) var(--ma-sp-3);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);background:var(--ma-paper);color:var(--ma-ink-soft)}.kyozai-student-input{min-width:13em;padding:var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm)}.kyozai-cell-ym{border:var(--ma-border) solid transparent;border-radius:var(--ma-radius-sm);background:0 0;width:5.5em;padding:2px 4px}.kyozai-cell-ym:hover,.kyozai-cell-ym:focus{border-color:var(--ma-line);background:var(--ma-paper)}.kyozai-table tr.row-unset{background:var(--ma-brand-tint)}.kyozai-table tr.row-unset .kyozai-cell-ym{border-color:var(--ma-brand)}.kyozai-add-form{background:var(--ma-paper-hi);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);padding:var(--ma-sp-4);gap:var(--ma-sp-3);flex-direction:column;display:flex}.kyozai-form-title{font-size:var(--ma-fz-small);font-weight:var(--ma-fw-bold);color:var(--ma-ink-soft)}.kyozai-form-row{align-items:center;gap:var(--ma-sp-3);flex-wrap:wrap;display:flex}.kyozai-form-row select,.kyozai-form-row input[type=number],.kyozai-name-input{padding:var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm)}.kyozai-name-input{flex:1;min-width:16em}.kyozai-price-input{width:7em}.kyozai-qty-input{width:4.5em}.kyozai-cell-qty{border:var(--ma-border) solid transparent;border-radius:var(--ma-radius-sm);background:0 0;width:4em;padding:2px 4px}.kyozai-cell-qty:hover,.kyozai-cell-qty:focus{border-color:var(--ma-line);background:var(--ma-paper)}.kyozai-urgent-label{white-space:nowrap;font-size:var(--ma-fz-small);align-items:center;gap:4px;display:flex}.kyozai-add-btn{padding:var(--ma-sp-2) var(--ma-sp-6);border:var(--ma-border) solid var(--ma-brand);border-radius:var(--ma-radius);background:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold)}.kyozai-table-wrap{border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper-hi);overflow-x:auto}.kyozai-table{width:100%;font-size:var(--ma-fz-small)}.kyozai-table th,.kyozai-table td{border-bottom:var(--ma-border) solid var(--ma-line);padding:var(--ma-sp-2);text-align:left;white-space:nowrap}.kyozai-table th{background:var(--ma-paper);position:sticky;top:0}.kyozai-table tr.row-ordered{background:var(--ma-amber-tint)}.kyozai-table tr.row-arrived{opacity:.6}.col-student{font-weight:var(--ma-fw-bold)}.kyozai-cell-name{border:var(--ma-border) solid transparent;border-radius:var(--ma-radius-sm);background:0 0;min-width:22em;padding:2px 4px}.kyozai-cell-price{border:var(--ma-border) solid transparent;border-radius:var(--ma-radius-sm);background:0 0;width:6em;padding:2px 4px}.kyozai-cell-name:hover,.kyozai-cell-price:hover,.kyozai-cell-name:focus,.kyozai-cell-price:focus{border-color:var(--ma-line);background:var(--ma-paper)}.kyozai-empty{text-align:center;color:var(--ma-ink-soft);padding:var(--ma-sp-6)!important}.kyozai-note{color:var(--ma-ink-soft);font-size:var(--ma-fz-small);margin:0}.kyozai-master-note{color:#6d4c41;background:#fff8e1;border:1px solid #ffe082;border-radius:6px;margin:0 0 12px;padding:8px 12px;font-size:13px;line-height:1.7}.kyozai-master-note a{color:#1565c0;font-weight:600}.kyozai-search-input{border:1px solid var(--line,#d5d5d5);border-radius:6px;flex:220px;min-width:160px;padding:6px 10px;font-size:.9rem}.catalog-picker{flex:260px;align-items:center;min-width:180px;display:flex;position:relative}.catalog-picker>input{border:1px solid var(--line,#d5d5d5);border-radius:6px;width:100%;padding:6px 26px 6px 10px;font-size:.9rem}.catalog-picker-clear{color:#555;cursor:pointer;background:#e6e6e6;border:none;border-radius:50%;width:20px;height:20px;padding:0;font-size:.8rem;line-height:1;position:absolute;right:4px}.catalog-picker-list{z-index:40;border:1px solid var(--line,#d5d5d5);background:#fff;border-radius:8px;max-height:320px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 18px #00000024}.catalog-picker-item{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f0f0f0;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;font-size:.88rem;display:flex}.catalog-picker-item.active{background:#eef4ff}.catalog-picker-name{flex:auto}.catalog-picker-price{color:#666;font-variant-numeric:tabular-nums;flex:none}.catalog-picker-empty,.catalog-picker-more{color:#777;padding:8px 10px;font-size:.82rem}.catalog-picker-more{background:#fafafa;border-top:1px solid #f0f0f0}.notice-page{color:#1a1a1a;box-sizing:border-box;width:190mm;min-height:260mm;font-family:var(--ma-font-sans);box-shadow:var(--ma-shadow-card);background:#fff;margin:0 auto;padding:12mm}.notice-header{border-bottom:2px solid #1a1a1a;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:8px;display:flex}.notice-yearmonth{font-size:.9rem}.notice-title{margin:0;font-size:1.6rem}.notice-room-info{text-align:right;font-size:.85rem;line-height:1.5}.notice-addressee{margin-bottom:16px;font-size:1.1rem}.notice-summary-boxes{gap:8px;margin-bottom:16px;display:flex}.summary-box{text-align:center;border:1px solid #999;border-radius:4px;flex-direction:column;flex:1;gap:4px;padding:8px;font-size:.85rem;display:flex}.summary-box strong{font-size:1.1rem}.notice-detail-title{margin-bottom:4px;font-size:.95rem;font-weight:700}.notice-detail-table{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:.85rem}.notice-detail-table th,.notice-detail-table td{text-align:left;border:1px solid #ccc;padding:6px 8px}.notice-detail-table th{background:#f0ede6}.notice-detail-table td:last-child{text-align:right}.amount-negative{color:#c93a16}.notice-totals{flex-direction:column;align-self:flex-end;gap:4px;width:50%;margin-bottom:12px;margin-left:auto;font-size:.9rem;display:flex}.totals-row{justify-content:space-between;display:flex}.notice-grand-total{color:#c93a16;border:2px solid #e7481f;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 16px;font-size:1.3rem;font-weight:700;display:flex}.notice-text-area{white-space:pre-wrap;border-top:1px dashed #999;padding-top:8px;font-size:.85rem;line-height:1.6}@media print{@page{size:A4;margin:10mm}.notice-page{box-shadow:none;page-break-after:always;width:auto;min-height:auto;margin:0}.notice-page:last-child{page-break-after:auto}}.notice-lead{margin:0 0 12px;font-size:.9rem}.summary-box.grand{border:2px solid #e7481f}.summary-box.grand strong{color:#c93a16;font-size:1.2rem}.notice-detail-table .detail-cell{color:#444;font-size:.75rem}.notice-detail-table .tax-row td,.notice-detail-table .total-row td{border-top:2px solid #999}.notice-detail-table .total-row td{font-size:.95rem;font-weight:700}.notice-text-title{margin-bottom:4px;font-weight:700}.notice-page .is-changed td,.summary-box.grand.is-changed{background:#fff3c4;box-shadow:inset 4px 0 #e8a100}.notice-previous{box-shadow:none;background:#fafafa;border:1px dashed #999}@media print{.notice-page .is-changed td,.summary-box.grand.is-changed{box-shadow:none;background:0 0}}.notice-page .is-removed td{color:#8c2f2f;background:#ffe2e2;box-shadow:inset 4px 0 #c0392b}@media print{.notice-page .is-removed td{box-shadow:none;color:inherit;background:0 0}}.notice-page-wrap{gap:var(--ma-sp-4);flex-direction:column;display:flex}.notice-empty{padding:var(--ma-sp-8);text-align:center;color:var(--ma-ink-soft)}.notice-toolbar{align-items:center;gap:var(--ma-sp-3);background:var(--ma-paper-hi);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);padding:var(--ma-sp-3);flex-wrap:wrap;display:flex}.notice-toolbar label{align-items:center;gap:var(--ma-sp-2);font-weight:var(--ma-fw-bold);font-size:var(--ma-fz-small);display:flex}.notice-toolbar select,.notice-toolbar .year-month-input{padding:var(--ma-sp-1) var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm)}.notice-toolbar .year-month-input{width:5.5em}.notice-toolbar button{padding:var(--ma-sp-1) var(--ma-sp-3);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);background:var(--ma-paper)}.notice-toolbar button:disabled{opacity:.4}.btn-print{font-weight:var(--ma-fw-bold);background:var(--ma-brand)!important;border-color:var(--ma-brand)!important;color:#fff!important}.notice-preview-area{background:var(--ma-line);padding:var(--ma-sp-6) 0;gap:var(--ma-sp-6);flex-direction:column;align-items:center;display:flex}.notice-prev-toggle{font-weight:400!important}.notice-compare{gap:var(--ma-sp-4);justify-content:center;align-items:flex-start;max-width:100%;display:flex}.notice-compare-col{gap:var(--ma-sp-2);flex-direction:column;align-items:center;display:flex}.notice-compare.has-previous .notice-page{transform-origin:top}.notice-preview-area .notice-page{zoom:var(--notice-scale,1)}@media (width<=1500px){.notice-compare.has-previous .notice-compare-col{width:48%}.notice-compare.has-previous .notice-page{zoom:calc(var(--notice-scale,1) * .72)}}.notice-compare-caption{gap:var(--ma-sp-3);font-size:var(--ma-fz-small);font-weight:var(--ma-fw-bold);color:var(--ma-ink-soft);flex-wrap:wrap;align-items:center;display:flex}.notice-compare-prev .notice-compare-caption{color:#777}.notice-compare-empty{color:#777;background:#fafafa;border:1px dashed #999;justify-content:center;align-items:center;width:190mm;max-width:100%;min-height:120px;display:flex}.billing-diff{border-radius:999px;padding:2px 8px;font-size:.8rem}.billing-diff.same{color:#2e7d32;background:#e8f5e9}.billing-diff.up{color:#8a5a00;background:#fff3c4}.billing-diff.down{color:#0d47a1;background:#e3f2fd}.notice-search input{width:11em;margin-left:var(--ma-sp-2)}.notice-search-count{margin-left:var(--ma-sp-1);color:var(--ma-ink-soft);font-size:var(--ma-fz-micro,.75rem)}.notice-toolbar-hint{font-size:var(--ma-fz-small);color:var(--ma-ink-soft)}@media print{.no-print{display:none!important}.notice-compare{display:block}.notice-preview-area .notice-page,.notice-compare.has-previous .notice-page{zoom:1}.notice-compare.has-previous .notice-compare-col{width:auto}.notice-preview-area{background:0 0;padding:0;display:block}}.removed-summary{color:#8c2f2f;background:#ffe2e2;border:1px solid #c0392b;border-radius:999px;flex:100%;margin-left:8px;padding:1px 8px;font-size:.78rem;line-height:1.5}.removed-caption{color:#8c2f2f;margin-left:8px;font-size:.78rem}.notice-zoom{gap:var(--ma-sp-2)}.notice-zoom input[type=range]{width:8em;accent-color:var(--ma-brand)}.notice-zoom-value{text-align:right;font-variant-numeric:tabular-nums;min-width:3.2em;color:var(--ma-ink-soft)}.notice-zoom-reset{font-size:var(--ma-fz-small)}.notice-export{border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper-hi)}.notice-export-toggle{text-align:left;width:100%;padding:var(--ma-sp-3);font-weight:var(--ma-fw-bold);cursor:pointer;background:0 0;border:none}.notice-export-count{margin-left:var(--ma-sp-3);color:var(--ma-ink-soft);font-weight:400;font-size:var(--ma-fz-small)}.notice-export-body{padding:0 var(--ma-sp-3) var(--ma-sp-3);gap:var(--ma-sp-3);flex-direction:column;display:flex}.notice-export-actions,.notice-export-select{align-items:center;gap:var(--ma-sp-3);flex-wrap:wrap;display:flex}.notice-export-actions button,.notice-export-select button{padding:var(--ma-sp-1) var(--ma-sp-3);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);background:var(--ma-paper)}.notice-export-actions button.primary{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold)}.notice-export-actions button:disabled{opacity:.5}.notice-export-progress{font-weight:var(--ma-fw-bold);color:var(--ma-brand-deep,#8a5a00)}.notice-export-hint{font-size:var(--ma-fz-small);color:var(--ma-ink-soft)}.notice-export-list{gap:2px var(--ma-sp-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));max-height:40vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.notice-export-list li{align-items:center;gap:var(--ma-sp-2);border-bottom:1px solid var(--ma-line);padding:2px 0;display:flex}.notice-export-list li.is-skipped .notice-export-name{color:#999;text-decoration:line-through}.notice-export-name{text-align:left;border-radius:var(--ma-radius-sm);cursor:pointer;font-size:var(--ma-fz-small);background:0 0;border:none;flex:1;padding:2px 4px}.notice-export-name:hover{background:#fff3c4}.notice-export-edit{margin-left:var(--ma-sp-2);font-size:var(--ma-fz-micro,.72rem);color:var(--ma-ink-soft)}.notice-export-amount{font-size:var(--ma-fz-small);color:var(--ma-ink-soft);font-variant-numeric:tabular-nums}.notice-modal-backdrop{z-index:100;background:#00000073;justify-content:center;align-items:flex-start;padding:4vh 2vw;display:flex;position:fixed;inset:0;overflow-y:auto}.notice-modal{background:var(--ma-paper);border-radius:var(--ma-radius-lg,10px);flex-direction:column;width:min(980px,96vw);max-height:92vh;display:flex;overflow:hidden}.notice-modal-head{align-items:center;gap:var(--ma-sp-3);padding:var(--ma-sp-3);border-bottom:var(--ma-border) solid var(--ma-line);background:var(--ma-paper-hi);display:flex}.notice-modal-head strong{flex:1}.notice-modal-locked{color:#8c3b40;font-size:var(--ma-fz-small)}.notice-modal-close{padding:var(--ma-sp-1) var(--ma-sp-3);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);background:var(--ma-paper)}.notice-modal-body{padding:var(--ma-sp-3);overflow-y:auto}.btn-edit-here{color:#8a6100;font-weight:var(--ma-fw-bold);border-color:#e8a100!important}.plans-page{gap:var(--ma-sp-4);flex-direction:column;max-width:900px;display:flex}.plans-page .page-toolbar{justify-content:space-between;align-items:center;gap:var(--ma-sp-3);display:flex}.plans-page .page-toolbar button{padding:var(--ma-sp-1) var(--ma-sp-3);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper-hi);font-weight:var(--ma-fw-bold)}.plan-card{border:var(--ma-border) solid var(--ma-line);background:var(--ma-paper-hi);padding:var(--ma-sp-3) var(--ma-sp-4);gap:var(--ma-sp-3);border-radius:10px;flex-direction:column;display:flex}.plan-card-header{align-items:center;gap:var(--ma-sp-3);display:flex}.plan-name-input{font-size:1.05rem;font-weight:var(--ma-fw-bold);border:1px solid var(--ma-line);border-radius:6px;flex:1;max-width:22em;padding:4px 10px}.plan-usage{color:var(--ma-ink-soft);font-size:.8rem}.plan-card-header .btn-delete:disabled{opacity:.35}.plan-tables{gap:var(--ma-sp-3);flex-direction:column;display:flex}.plan-table-block h4{color:var(--ma-ink-soft);margin:0 0 var(--ma-sp-1);font-size:.85rem}.plan-table{border-collapse:collapse}.plan-table th,.plan-table td{border:1px solid var(--ma-line);text-align:center;padding:3px 6px;font-size:.85rem}.plan-table input{text-align:right;background:0 0;border:none;width:6em;padding:3px 4px;font-size:.9rem}.plan-table input:focus{outline:2px solid var(--ma-brand);border-radius:4px}.student-master-page{gap:var(--ma-sp-4);flex-direction:column;display:flex}.page-toolbar{justify-content:space-between;align-items:center;gap:var(--ma-sp-3);flex-wrap:wrap;display:flex}.page-toolbar h2{font-size:var(--ma-fz-h3)}.toolbar-actions{gap:var(--ma-sp-2);display:flex}.toolbar-actions button,.paste-actions button{padding:var(--ma-sp-2) var(--ma-sp-4);border:var(--ma-border) solid var(--ma-brand);border-radius:var(--ma-radius);background:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold)}.paste-box{background:var(--ma-paper-hi);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);padding:var(--ma-sp-4);gap:var(--ma-sp-3);flex-direction:column;display:flex}.paste-hint{font-size:var(--ma-fz-small);color:var(--ma-ink-soft);margin:0}.paste-box textarea{border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);width:100%;padding:var(--ma-sp-3);font-family:var(--mono,monospace)}.paste-result p{margin:0 0 var(--ma-sp-1)}.paste-errors{padding-left:var(--ma-sp-4);color:var(--ma-brand-deep);font-size:var(--ma-fz-small);margin:0}.student-table-wrap{border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);background:var(--ma-paper-hi);overflow-x:auto}.student-table{width:100%;font-size:var(--ma-fz-small)}.student-table th,.student-table td{border-bottom:var(--ma-border) solid var(--ma-line);padding:var(--ma-sp-2);text-align:left;white-space:nowrap}.student-table th{background:var(--ma-paper);position:sticky;top:0}.student-table tr.row-inactive{opacity:.5}.student-table input,.student-table select{border:var(--ma-border) solid transparent;border-radius:var(--ma-radius-sm);padding:var(--ma-sp-1) var(--ma-sp-2);background:0 0;width:100%}.student-table input:hover,.student-table select:hover,.student-table input:focus,.student-table select:focus{border-color:var(--ma-line);background:var(--ma-paper)}.input-narrow{width:5em!important}.input-name{min-width:7em}.input-line-url{min-width:12em}.col-move{gap:2px;display:flex}.col-move button{color:var(--ma-ink-soft);background:0 0;border:none;padding:0 2px}.col-check{text-align:center}.btn-delete{color:var(--ma-ink-soft);font-size:var(--ma-fz-small);background:0 0;border:none}.btn-delete:hover{color:var(--ma-brand-deep)}.grade-heading-row th{text-align:left;padding:var(--ma-sp-2) var(--ma-sp-2) 2px;color:var(--ma-ink-soft);border-bottom:2px solid var(--ma-line);background:var(--ma-paper);font-size:.85rem}.input-furigana{min-width:9em}.hint-warn{color:var(--ma-ink);background:var(--ma-brand-tint);border:1px dashed var(--ma-line);border-radius:var(--ma-radius);padding:var(--ma-sp-2)}.sort-switch{display:inline-flex}.sort-switch button{border:var(--ma-border) solid var(--ma-line);color:var(--ma-ink-soft);background:0 0;padding:3px 10px;font-size:.85rem}.sort-switch button:first-child{border-radius:var(--ma-radius) 0 0 var(--ma-radius)}.sort-switch button:last-child{border-radius:0 var(--ma-radius) var(--ma-radius) 0;margin-left:-1px}.sort-switch button.active{background:var(--ma-brand);border-color:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold)}.sibling-cell{flex-wrap:wrap;align-items:center;gap:4px;min-width:10em;display:flex}.sibling-chip{border:1px solid var(--ma-line);background:var(--ma-paper);white-space:nowrap;border-radius:999px;align-items:center;gap:2px;padding:1px 6px;font-size:.75rem;display:inline-flex}.sibling-chip button{color:var(--ma-ink-soft);background:0 0;border:0;padding:0 2px;line-height:1}.sibling-add{border:1px dashed var(--ma-line);color:var(--ma-ink-soft);background:0 0;border-radius:999px;padding:0 8px}.sibling-suggest{align-items:center;gap:var(--ma-sp-2);padding:var(--ma-sp-2);border:1px dashed var(--ma-line);border-radius:var(--ma-radius);flex-wrap:wrap;display:flex}.sibling-suggest-title{font-size:.85rem;font-weight:var(--ma-fw-bold);color:var(--ma-ink-soft)}.sibling-suggest-item{border:var(--ma-border) solid var(--ma-line);background:var(--ma-paper-hi);border-radius:999px;padding:3px 12px;font-size:.85rem}.sibling-suggest-item:hover{background:var(--ma-brand-tint)}.col-move button:disabled{opacity:.3;cursor:default}.modal-backdrop{z-index:50;padding:var(--ma-sp-4);background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--ma-paper);border-radius:var(--ma-radius-lg);padding:var(--ma-sp-6);width:min(560px,100%);max-height:90vh;box-shadow:var(--ma-shadow-card);overflow:auto}.modal-card h3{margin:0 0 var(--ma-sp-4);font-size:var(--ma-fz-h3)}.modal-grid{gap:var(--ma-sp-3) var(--ma-sp-4);grid-template-columns:1fr 1fr;display:grid}.modal-grid label{font-size:var(--ma-fz-small);color:var(--ma-ink-soft);flex-direction:column;gap:4px;display:flex}.modal-grid label.modal-check{align-items:center;gap:var(--ma-sp-2);color:var(--ma-ink);flex-direction:row;align-self:end}.modal-hint{font-size:var(--ma-fz-micro);color:var(--ma-ink-soft)}.modal-note{margin:var(--ma-sp-4) 0 0;font-size:var(--ma-fz-micro);color:var(--ma-ink-soft)}.modal-actions{justify-content:flex-end;gap:var(--ma-sp-2);margin-top:var(--ma-sp-4);display:flex}.modal-actions .btn-primary{background:var(--ma-ink);color:#fff;border-color:var(--ma-ink)}@media (width<=768px){.modal-card{padding:var(--ma-sp-4);max-height:88vh}.modal-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.data-page{gap:var(--ma-sp-6);flex-direction:column;max-width:48em;display:flex}.data-section{background:var(--ma-paper-hi);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius);padding:var(--ma-sp-4);gap:var(--ma-sp-3);flex-direction:column;display:flex}.data-section h2{font-size:var(--ma-fz-h3)}.section-hint{color:var(--ma-ink-soft);font-size:var(--ma-fz-small);margin:0}.data-section label{align-items:center;gap:var(--ma-sp-2);font-weight:var(--ma-fw-bold);font-size:var(--ma-fz-small);display:flex}.year-month-input{width:6em;padding:var(--ma-sp-1) var(--ma-sp-2);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm)}.data-actions{align-items:center;gap:var(--ma-sp-3);flex-wrap:wrap;display:flex}.data-row{align-items:center;gap:var(--ma-sp-3);display:flex}.data-row-column{gap:var(--ma-sp-2);flex-direction:column;display:flex}.data-section button{padding:var(--ma-sp-2) var(--ma-sp-4);border:var(--ma-border) solid var(--ma-brand);border-radius:var(--ma-radius);background:var(--ma-brand);color:#fff;font-weight:var(--ma-fw-bold);white-space:nowrap}.file-import-label{padding:var(--ma-sp-2) var(--ma-sp-4);border:var(--ma-border) dashed var(--ma-line);border-radius:var(--ma-radius);color:var(--ma-ink-soft);cursor:pointer;font-weight:var(--ma-fw-bold);display:inline-flex;position:relative}.file-import-label input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.tsv-output{width:100%;font-family:var(--mono,monospace);border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);padding:var(--ma-sp-2)}.data-section textarea{border:var(--ma-border) solid var(--ma-line);border-radius:var(--ma-radius-sm);width:100%;padding:var(--ma-sp-2);box-sizing:border-box;font-family:inherit}.import-result p{margin:0 0 var(--ma-sp-1)}.import-errors{padding-left:var(--ma-sp-4);color:var(--ma-brand-deep);font-size:var(--ma-fz-small);margin:0}.btn-danger{color:#c93a16;background:0 0;border:1px solid #c93a16;border-radius:6px;padding:6px 14px;font-weight:700}.cs-fetch-box{border:1px solid var(--ma-line,#d8d2c4);padding:var(--ma-sp-3,12px);margin-bottom:var(--ma-sp-3,12px);background:var(--ma-surface-soft,#faf8f3);border-radius:8px}.cs-passcode-input{width:12em}.file-import-label.is-disabled,.data-page button:disabled{opacity:.45;cursor:not-allowed}.editlock-bar{border-bottom:1px solid #00000014;flex-wrap:wrap;align-items:center;gap:10px;padding:7px 14px;font-size:13px;display:flex}.editlock-msg{font-weight:600}.editlock-free{color:#3a5a44;background:#f3f7f4}.editlock-self{color:#256d3c;background:#eaf6ee}.editlock-locked{color:#a12a2a;background:#fbeaea}.editlock-locked-soft{color:#8a5a00;background:#fff6e5}.editlock-btn,.editlock-take{color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid;border-radius:6px;padding:3px 10px;font-size:12px}.editlock-btn.ghost{opacity:.75;border-color:#0003}.editlock-btn:hover,.editlock-take:hover{filter:brightness(.95)}.editlock-take{color:#fff;background:#a12a2a;border-color:#a12a2a;font-weight:700}.editlock-name-edit{align-items:center;gap:6px;display:inline-flex}.editlock-name-edit input{border:1px solid #00000040;border-radius:6px;padding:3px 8px;font-size:12px}.app-main.is-view-only{opacity:.5;filter:grayscale(.25)}@media print{.editlock-bar{display:none!important}}
