@import "https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@700;900&family=M+PLUS+Rounded+1c:wght@400;500;700&display=swap";:root{--ma-brand:#1e6fb8;--ma-brand-deep:#17568f;--ma-amber:#1e6fb8;--ma-amber-deep:#c47f20;--ma-brand-tint:#1e6fb814;--ma-amber-tint:#e8a44a1f;--ma-paper:#f7fafd;--ma-paper-hi:#fff;--ma-ink:#111;--ma-ink-soft:#6b7280;--ma-line:#e2e8ef;--ma-night:#0d0d0d;--ma-night-2:#1a1a1a;--ma-cream:#f5f0e8;--ma-cream-soft:#b0a890;--ma-line-dark:#e2e8ef;--ma-line-green:#06c755;--ma-focus:#e7481f;--ma-font-serif:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;--ma-font-sans:"M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "Yu Gothic", 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;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ma-surface:#fff}*{box-sizing:border-box}body{font-family:var(--ma-font-sans);color:var(--ma-ink);background:var(--ma-paper);margin:0}#root{min-height:100svh}.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}.app-shell{max-width:100%;padding:var(--ma-sp-4,16px) var(--ma-sp-5,24px)}.app-header{border-bottom:1px solid var(--ma-line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.app-header h1{font-family:var(--ma-font-serif);color:var(--ma-brand);margin:0;font-size:1.6rem}.month-controls{align-items:center;gap:12px;display:flex}.month-controls select{padding:4px 8px;font-size:1rem}.tab-nav{flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.tab-nav button{border:1px solid var(--ma-line);background:var(--ma-paper-hi);color:var(--ma-ink);cursor:pointer;border-radius:999px;padding:8px 16px;font-family:inherit;font-size:.9rem}.tab-nav button.active{background:var(--ma-brand);color:#fff;border-color:var(--ma-brand);font-weight:700}.panel{background:var(--ma-paper-hi);border:1px solid var(--ma-line);border-radius:24px;margin-bottom:16px;padding:20px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.panel-head h2,.panel-head h3{margin:0}.collapsible-title{cursor:pointer;-webkit-user-select:none;user-select:none}.grand-total{font-weight:var(--ma-fw-bold);font-size:1.2rem}.btn{color:#fff;cursor:pointer;background:#111;border:none;border-radius:999px;padding:8px 18px;font-family:inherit;font-size:.9rem;font-weight:700}.btn:hover{background:#333}.btn-text{border:1px solid var(--ma-line);color:var(--ma-ink);cursor:pointer;background:#fff;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:.85rem}.btn-text:hover{background:var(--ma-brand-tint)}.table-scroll{max-width:100%;overflow-x:auto}.grid-table{border-collapse:collapse;white-space:nowrap;font-size:.85rem}.grid-table th,.grid-table td{border:1px solid var(--ma-line);text-align:center;padding:3px 6px}.grid-table .col-name{text-align:left;min-width:8em}.sticky-col{background:var(--ma-paper-hi);z-index:1;position:sticky;left:0}.col-total{font-weight:var(--ma-fw-bold)}.cell-input{text-align:center;width:100%;color:inherit;background:0 0;border:none;font-size:.85rem}.cell-input:focus{outline:2px solid var(--ma-focus);background:var(--ma-brand-tint)}.cell-text{width:5em}.pay-amt{text-align:right;font-variant-numeric:tabular-nums;margin-bottom:2px;font-weight:700}.pay-amt.zero{color:var(--ma-text-muted,#8a8f98);font-weight:400}.calc-note{color:var(--ma-text-muted,#8a8f98);white-space:nowrap;justify-content:flex-end;align-items:center;gap:2px;font-size:.72rem;display:flex}.calc-note.bad{color:#e2645a;justify-content:flex-end}.cell-rate{width:4.2em;min-width:0}.cell-days{width:3em;min-width:0}.cell-days.is-auto::placeholder{color:var(--ma-text-muted,#8a8f98);opacity:.85}.cell-expr{text-align:right;width:5.4em;min-width:0}.cell-input.bad{border-color:#e2645a}.col-transport,.col-allowance{min-width:7.5em}.allowance-detail-btn{border:1px solid var(--ma-line,#444);color:inherit;cursor:pointer;background:0 0;border-radius:3px;padding:1px 4px;font-size:.72rem;line-height:1.2}.allowance-detail-btn:hover{border-color:var(--ma-brand,#e8842a)}.allowance-detail-btn.has-detail{border-color:var(--ma-brand,#e8842a);color:var(--ma-brand,#e8842a)}.grid-table tr.row-overdays td{background:#e2645a1f}.grid-table thead tr.group-head th{color:var(--ma-text-muted,#8a8f98);border-bottom:0;font-size:.72rem;font-weight:600}.cell-name{text-align:left;width:8.5em}.cell-name:focus{border-color:var(--ma-brand,#e8842a);background:var(--ma-brand-tint)}.cell-num{width:4.5em}.cell-day{width:2.4em}.day-grid th,.day-grid td{min-width:2.4em}.hint{color:var(--ma-ink-soft);margin:6px 0;font-size:.85rem}.empty-state{text-align:center;padding:40px 16px}.empty-state p{margin-bottom:16px}.data-section{margin-bottom:24px}.backup-actions{flex-wrap:wrap;gap:8px;display:flex}.verify-result .ok{color:#1a7f37;font-weight:var(--ma-fw-bold)}.verify-result .ng{color:var(--ma-brand-deep);font-weight:var(--ma-fw-bold)}.hint.ng{color:var(--ma-brand-deep)}.pdf-import-body{padding:0 16px 16px}.pdf-import-result{margin-top:12px}tr.row-unmatched{background:#fff4f0}tr.row-unmatched .col-name{color:var(--ma-brand-deep)}.show-retired-toggle{opacity:.85;cursor:pointer;white-space:nowrap;align-items:center;gap:4px;font-size:.85rem;display:inline-flex}.panel-head-right{align-items:center;gap:12px;display:flex}.col-retired{text-align:center}tr.row-retired{opacity:.55}.staff-table tr.row-retired{opacity:1;color:var(--ma-text-muted,#9aa);background:#fff}.allowance-cell{border:1px solid var(--ma-line);width:100%;min-width:84px;color:inherit;cursor:pointer;text-align:right;font-variant-numeric:tabular-nums;background:#fff;border-radius:6px;padding:5px 8px}.allowance-cell:hover{border-color:var(--ma-accent,#e8965a)}.allowance-cell.has-detail{border-color:var(--ma-accent,#e8965a);font-weight:var(--ma-fw-bold)}.allowance-add{flex-wrap:wrap;align-items:center;gap:8px;padding:0 16px 12px;display:flex}.allowance-add input,.allowance-add select{border:1px solid var(--ma-line);color:inherit;background:#fff;border-radius:8px;padding:8px 10px}.allowance-cat-section{padding:0 16px 8px}.allowance-cat-section h3{margin:12px 0 6px}.allowance-total{text-align:right;margin-top:12px;font-size:1.05rem}.col-num{text-align:right;font-variant-numeric:tabular-nums}.modal-overlay{z-index:100;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--ma-surface,#fff);border:1px solid var(--ma-line);border-radius:20px;width:min(640px,100%);max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 12px 40px #1111112e}.modal h3{margin:0 0 16px}.modal-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-field{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.modal-field-wide{grid-column:1/-1}.modal-field input,.modal-field select{border:1px solid var(--ma-line);color:inherit;background:#fff;border-radius:8px;padding:8px 10px;font-size:.95rem}.modal-actions{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}@media (width<=520px){.modal-grid{grid-template-columns:1fr}}.retired-tag{background:var(--ma-brand-deep);color:#fff;vertical-align:middle;border-radius:8px;margin-left:6px;padding:0 6px;font-size:.7rem;display:inline-block}.sr-setup{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.sr-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sr-label{width:5.5em;color:var(--ma-text-muted,#8a8f98);font-size:.82rem}.sr-url{border:1px solid var(--ma-line,#444);min-width:18em;color:inherit;background:0 0;border-radius:3px;flex:1;padding:5px 8px;font-size:.8rem}.sr-pass{border:1px solid var(--ma-line,#444);width:12em;color:inherit;background:0 0;border-radius:3px;padding:5px 8px}.sr-note{border:1px solid var(--ma-line,#444);min-width:16em;color:inherit;background:0 0;border-radius:3px;flex:1;padding:6px 9px}.sr-badge{border:1px solid var(--ma-line,#444);color:var(--ma-text-muted,#8a8f98);border-radius:999px;padding:2px 10px;font-size:.75rem}.sr-badge.done{color:#4fbf8f;border-color:#4fbf8f}.sr-req{border:1px solid var(--ma-brand,#e8842a);background:#e8842a14;border-radius:4px;margin-bottom:12px;padding:10px 12px}.sr-req-head{color:var(--ma-brand,#e8842a);margin-bottom:4px;font-size:.85rem;font-weight:700}.sr-req-body{white-space:pre-wrap;font-size:.88rem;line-height:1.6}.sr-req-meta{color:var(--ma-text-muted,#8a8f98);margin-top:6px;font-size:.75rem}.sr-preview{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:8px;display:flex}.sr-inline{align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.sr-submit-row{margin-top:12px}.sr-message{color:var(--ma-brand,#e8842a);margin-top:8px;font-size:.85rem}.sr-hist{margin-top:14px;font-size:.85rem}.sr-hist ol{color:var(--ma-text-muted,#8a8f98);margin:6px 0 0;padding-left:20px}.sr-msg-guard{color:#8a5a12;background:#fff5e0;border-left:4px solid #e08a1e;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.7}.sr-msg-guard-text{margin:0 0 4px;font-weight:700}.sr-msg-guard .hint{color:#8a5a12;opacity:.85}.sr-msg-guard .btn-text{margin-top:4px}.sr-msg-panel{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:14px 0;display:grid}.sr-msg-section{border:1px solid var(--ma-line,#e2e8ef);border-radius:12px;padding:10px 12px}.sr-msg-section h4{margin:0 0 8px;font-size:.85rem}.sr-msg-rowlist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sr-msg-row{align-items:center;gap:6px;font-size:.85rem;display:flex}.sr-msg-row label{align-items:center;gap:6px;display:flex}.sr-msg-row.excluded{opacity:.4;text-decoration:line-through}.sr-transport-panel{grid-column:1/-1}.sr-transport-group{margin-bottom:12px}.sr-transport-group-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.sr-transport-exc{border-bottom:1px dashed var(--ma-line,#e2e8ef);flex-direction:column;align-items:stretch;padding-bottom:8px}.sr-note-empty{background:#f5cf002e;border-color:#c9a900}.sr-msg-warn-box{background:#e2645a14;border-radius:10px;padding:8px 10px}.sr-msg-textarea-wrap{margin:12px 0}.sr-msg-textarea{border:1px solid var(--ma-line,#e2e8ef);resize:vertical;border-radius:12px;width:100%;min-height:360px;padding:12px;font-family:inherit;font-size:.95rem;line-height:1.6}.sr-msg-actions{gap:10px}@media (width<=560px){.sr-msg-actions{flex-direction:column;align-items:stretch}.sr-msg-actions .btn,.sr-msg-actions .btn-text,.sr-msg-actions .btn-ghost{width:100%}.sr-msg-actions .sr-msg-actions-spacer{display:none}}.grid-table tr.row-sum td{border-top:2px solid var(--ma-line,#444);font-weight:700}.grid-table .col-ref{color:var(--ma-text-muted,#8a8f98);font-variant-numeric:tabular-nums;background:#8080800f}.level-table{width:auto;max-width:100%}.level-table .col-level-name{font-weight:var(--ma-fw-bold);white-space:nowrap}.level-table .col-cando{white-space:normal;text-align:left;vertical-align:top;min-width:12em;max-width:16em;line-height:1.7}@media (width>=1000px){.level-table{table-layout:fixed;width:100%}.level-table .col-cando{min-width:0;max-width:none}.level-table thead tr:first-child th:first-child,.level-table thead tr:first-child th:nth-child(5){width:7em}.level-table thead tr:first-child th:nth-child(6){width:8em}.level-table thead tr:first-child th:nth-child(7){width:4.5em}}.level-table tr.level-subhead th{opacity:.7;text-align:left;padding-top:0;font-size:.75rem;font-weight:400}.cando-one{font-size:.85rem;line-height:1.6}.btn-write{opacity:.75}.level-table tr.row-nolevel td{border-top:2px solid var(--ma-line)}.cando-list{margin:0;padding-left:1.1em;font-size:.85rem;line-height:1.6}.level-assign{margin-top:28px}.submitted-badge{border:1px solid var(--ma-line);opacity:.9;border-radius:8px;margin-left:12px;padding:2px 8px;font-size:.75rem;display:inline-block}.level-staff-table{table-layout:fixed;width:auto;max-width:100%}.level-staff-table .cg-name{width:210px}.level-staff-table .cg-grade{width:80px}.level-staff-table .cg-rate{width:190px}.level-staff-table .cg-level{width:130px}@media (width>=560px){.level-assign .table-scroll{overflow:visible}}.level-staff-table thead th{z-index:2;background:var(--ma-surface,#fff);position:sticky;top:0}.level-staff-table tr.level-group-row th{text-align:left;border-bottom:1px solid var(--ma-line);padding-top:14px}.level-staff-table tr.level-group-row th .hint{margin-left:12px;font-weight:400}.level-group-name{font-weight:var(--ma-fw-bold);border-left:4px solid var(--ma-brand);padding-left:8px;display:inline-block}.level-staff-table tr.level-group-none .level-group-name{border-left-color:var(--ma-brand,#e8842a);color:var(--ma-brand,#e8842a)}.level-select{border:1px solid var(--ma-line);min-height:30px;color:inherit;background:#fff;border-radius:6px;padding:4px 8px;font-size:.9rem}.level-select:disabled{opacity:.4;cursor:not-allowed}.override-tag{border:1px solid var(--ma-brand,#e8842a);color:var(--ma-brand,#e8842a);vertical-align:middle;border-radius:8px;margin-left:6px;padding:0 6px;font-size:.7rem;display:inline-block}.nolevel-note{font-size:.72rem;display:block}.modal-narrow{width:min(640px,100%)}.modal-form .modal-actions{background:var(--ma-surface,#fff);margin:0 -24px -24px;padding:12px 24px 24px;position:sticky;bottom:-24px}@media (width<=560px){.modal-form .modal-actions{flex-direction:column-reverse}.modal-form .modal-actions .btn,.modal-form .modal-actions .btn-text{width:100%}}.modal-actions-3{flex-wrap:wrap}.btn-ghost{border:1px solid var(--ma-line);color:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:8px 16px;font-size:.9rem}.modal-field textarea{border:1px solid var(--ma-line);color:inherit;resize:vertical;background:#fff;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:.95rem;line-height:1.6}@media (width<=560px){.modal-actions-3 .btn,.modal-actions-3 .btn-ghost{width:100%}}.level-staff-table .cg-since{width:230px}.col-since{white-space:nowrap}.since-len{margin-left:2px}.btn-history{margin-left:8px;padding:2px 10px;font-size:.75rem}.history-table td,.history-table th{white-space:nowrap}.history-arrow{color:var(--ma-ink-soft)}.history-up{color:var(--ma-brand);font-weight:700}
