*{box-sizing:border-box}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans JP,Arial,sans-serif;color:#111;background:#fff}#root{width:100%}:root{--sel: #1a73e8;--line: #dadce0;--line2: #c7c9cc;--text: #1f1f1f;--muted: #6b7280;--scrollbarReserve: 16px;--bodyRowH: 26px;--footerRowHeight: var(--bodyRowH);--missingSpacerHeight: var(--scrollbarReserve);--footerAssignedBg: #f0fdf4;--footerAssignedLabelBg: #dcfce7;--footerMissingBg: #f8fafc;--footerMissingLabelBg: #f3f4f6;--missingColBg: rgba(244, 63, 94, .06);--missingColHdrBg: rgba(244, 63, 94, .1);--missingColEdge: rgba(244, 63, 94, .18);--colRowHdrW: 4ch;--colNameW: 20ch;--colMaxConsecW: 15ch;--colMaxWeekW: 14ch;--colShiftW: 65px;--colWeekTotalW: 96px;--colMonthTotalW: 96px;--colTrailingDayGapW: 18px;--colSummaryGapW: 16px;--colVScrollLaneW: 18px;--colMetaW: 88px;--fixedColsW: calc(var(--colRowHdrW) + var(--colNameW) + var(--colMaxConsecW) + var(--colMaxWeekW) + var(--colMetaW) + 2px);--hdrDateH: 24px;--hdrReqH: 24px;--hdrGap: 0px;--hdrPadY: 0px;--hdrTotalH: calc(var(--hdrDateH) + var(--hdrReqH));--gridBodyHeight: 290px}.type2-grid-panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;background:#fff;min-width:var(--type2UpperPanelMinW)}.tablebar{display:grid;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fafafa}.tablebar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.tablebar-row-bottom{justify-content:flex-start}.type2-cell-edit-mode{display:grid;gap:8px;width:100%;min-width:0}.type2-cell-edit-mode-group{display:flex;flex-wrap:wrap;gap:8px}.type2-cell-edit-mode-btn{min-width:56px;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);font-size:13px;cursor:pointer}.type2-cell-edit-mode-btn.is-active{border-color:#111827;background:#111827;color:#fff}.type2-cell-edit-mode-btn:disabled{opacity:.6;cursor:not-allowed}.type2-cell-state-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.type2-cell-state-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.type2-cell-state-legend .type2-cell-visual{width:14px;height:14px;flex:0 0 14px}.type2-required-mainband-header{font-size:13px;font-weight:700;color:var(--text)}.type2-required-mainband{display:grid;gap:8px;width:100%;min-width:0}.type2-required-mainband-all .type2-settings-row{width:100%;max-width:360px;flex-wrap:nowrap;gap:12px}.type2-required-mainband-all .type2-settings-input{min-width:0;flex:1 1 auto}.type2-settings-row{display:flex;align-items:center;gap:8px}.type2-settings-input{width:100%;min-width:0;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px;color:var(--text)}.type2-settings-apply{min-width:72px;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px;color:var(--text);cursor:pointer}.type2-settings-apply:disabled{opacity:.6;cursor:not-allowed}.type2-mainband-weekday-grid{display:grid;grid-template-columns:repeat(4,minmax(112px,1fr));gap:12px;width:100%;max-width:688px}.type2-mainband-weekday-item{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;min-width:0}.type2-settings-weekday-label{display:inline-flex;align-items:center;justify-content:flex-end;min-width:36px;font-size:12px;color:var(--muted);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:clip}.type2-mainband-weekday-apply{grid-column:4;justify-self:start;align-self:center;margin-left:18px}.type2-view-select{min-width:96px}.tablebar .group{display:flex;align-items:center;gap:8px}.tablebar-io{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1 1 420px;min-width:0}.tablebar-io .btn{height:30px;padding:0 8px;white-space:nowrap}.tablebar-import{display:inline-flex;align-items:center;gap:6px}.tablebar-note{font-size:11px;color:var(--muted);white-space:nowrap}.label{font-size:12px;color:var(--muted)}.weeknav{display:flex;align-items:center;gap:6px}.rangehint{font-size:12px;color:var(--muted);min-width:120px}.btn,.select,.rpBtn,.filter input{border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px}.btn,.rpBtn{height:32px;padding:0 10px}.btn,.rpBtn,.select{cursor:pointer}.btn:disabled,.rpBtn:disabled{opacity:.6;cursor:not-allowed}.filter{margin-left:0;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#fff;min-width:280px;max-width:460px;flex:1 1 320px}.filter .label{white-space:nowrap;line-height:1}.tablebar-row-bottom .filter{margin-left:0}.filter input{border:none;outline:none;width:100%;min-width:120px;background:transparent}.filter .clear{border:none;background:transparent;cursor:pointer;color:var(--muted);font-size:16px;line-height:1;padding:0 4px}.filter .clear:disabled{cursor:default;opacity:.45}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.excel-grid-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto}.excel-top,.excel-middle,.excel-bottom,.excel-xbar{display:grid;grid-template-columns:var(--fixedColsW) minmax(0,1fr)}.excel-middle.excel-middle-vlane,.excel-top.excel-top-vlane,.excel-bottom.excel-bottom-vlane{grid-template-columns:var(--fixedColsW) minmax(0,1fr) var(--colVScrollLaneW)}.excel-vlane-headspacer,.excel-vlane-footerspacer{background:#fff;border-left:1px solid var(--line)}.excel-top{border-bottom:1px solid var(--line)}.excel-top .sheet tr>*{border-bottom:0}.excel-middle{border-bottom:1px solid var(--line)}.excel-middle .sheet tbody tr:first-child>*{border-top:0}.excel-corner,.excel-left-scroll,.excel-footer-left,.excel-xbar-left{overflow:hidden;border-right:2px solid var(--line2);background:#fff}.excel-head-scroll,.excel-footer-right{overflow:hidden;background:#fff}.excel-main-scroll{overflow-y:auto;overflow-x:hidden;height:var(--gridBodyHeight);background:#fff}.excel-main-scroll{scrollbar-width:none;-ms-overflow-style:none}.excel-left-scroll{overflow-y:hidden;overflow-x:hidden;height:var(--gridBodyHeight)}.excel-left-scroll{scrollbar-width:none;-ms-overflow-style:none}.excel-xbar{border-top:1px solid var(--line);background:#fff}.excel-main-scroll::-webkit-scrollbar,.excel-left-scroll::-webkit-scrollbar{width:0;height:0}.excel-xbar-right{overflow-x:auto;overflow-y:hidden;height:16px;scrollbar-gutter:stable}.excel-xbar-track{height:1px}.excel-vlane-shell{overflow:hidden;height:var(--gridBodyHeight);background:#eef2f7;border-left:1px solid var(--line)}.excel-vlane-scroll{width:100%;min-width:100%;max-width:100%;height:100%;overflow-y:scroll;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#94a3b8 #eef2f7;background:#eef2f7}.excel-vlane-track{width:1px;min-width:1px}.excel-vlane-scroll::-webkit-scrollbar{width:var(--colVScrollLaneW);background:#eef2f7}.excel-vlane-scroll::-webkit-scrollbar-track{background:#eef2f7}.excel-vlane-scroll::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px;border:3px solid #eef2f7;min-height:28px}.excel-vlane-scroll::-webkit-scrollbar-thumb:hover{background:#64748b}.gridWrap{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 280px);scrollbar-gutter:stable both-edges;background:#fff}table.sheet{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;table-layout:fixed}.sheet-fixed{width:var(--fixedColsW);min-width:var(--fixedColsW)}.sheet th,.sheet td{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background-clip:padding-box;box-sizing:border-box;padding:0}.sheet tr>*:first-child{border-left:1px solid var(--line)}.sheet tr:first-child>*{border-top:1px solid var(--line)}col.col-rowhdr{width:var(--colRowHdrW)}col.col-name{width:var(--colNameW)}col.col-maxconsec{width:var(--colMaxConsecW)}col.col-maxweek{width:var(--colMaxWeekW)}col.col-meta{width:var(--colMetaW);min-width:var(--colMetaW);max-width:var(--colMetaW)}col.col-shift{width:var(--colShiftW);min-width:var(--colShiftW);max-width:var(--colShiftW)}col.col-trailing-day-gap{width:var(--colTrailingDayGapW);min-width:var(--colTrailingDayGapW);max-width:var(--colTrailingDayGapW)}col.col-summary-month{width:var(--colMonthTotalW);min-width:var(--colMonthTotalW);max-width:var(--colMonthTotalW)}col.col-summary-gap{width:var(--colSummaryGapW);min-width:var(--colSummaryGapW);max-width:var(--colSummaryGapW)}.hdr th,.hdr td{background:#f8f9fa;font-weight:600;font-size:12px;padding:0;white-space:nowrap;text-align:center;vertical-align:middle}.hdrLeftMerged,.metaHeadCell,.summaryHead{overflow:hidden;text-overflow:ellipsis}.hdr tr:first-child>.hdrLeftMerged{height:var(--hdrTotalH);min-height:var(--hdrTotalH);max-height:var(--hdrTotalH)}.hdr tr:first-child>th:not(.hdrLeftMerged){height:var(--hdrDateH);min-height:var(--hdrDateH);max-height:var(--hdrDateH)}.hdr tr:nth-child(2)>td,.hdr tr:nth-child(2)>th{height:var(--hdrReqH);min-height:var(--hdrReqH);max-height:var(--hdrReqH)}.hdrDate{display:flex;align-items:center;justify-content:center;height:100%;padding:0 4px;line-height:1.1}.metaHeadCell{background:#f1f3f4}.summaryHead{background:#f1f3f4;color:#4b5563}.trailingDayGapHead{background:#fff}.trailingDayGapCell,.sheet-footer td.footerTrailingDayGap{background:#fff;pointer-events:none}.summaryMonthHead{font-weight:700}.summaryMonthHead{position:sticky;right:var(--colSummaryGapW);z-index:4;box-shadow:inset 1px 0 0 var(--line)}.summaryGapHead{background:#fff}.summaryGapHead{position:sticky;right:0;z-index:5;box-shadow:inset 1px 0 0 var(--line)}.hdrMetaTitle,.hdrMetaSub{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0 6px;line-height:1.1;font-size:11px;color:#4b5563;overflow:hidden;text-overflow:ellipsis}.reqHeadCell{background:#f8f9fa;padding:0}.metaColCell{background:#f8fafc}.reqInput{width:100%;height:100%;border:0;border-radius:0;background:#fff;font-size:12px;text-align:center;padding:0 4px;box-sizing:border-box;outline:none}.reqInput:focus{box-shadow:inset 0 0 0 2px var(--sel)}.reqInput.is-readonly-hint{background:#f59e0b1a}.reqInput:disabled{color:#6b7280;cursor:default}.rowhdr{background:#f1f3f4;font-weight:600;text-align:center;-webkit-user-select:none;user-select:none}.rowhdrCell{cursor:pointer}.excel-left-scroll .sheet tbody tr.rowSelected>td,.excel-main-scroll .sheet tbody tr.rowSelected>td{background:#3b82f61a;outline:1px solid rgba(37,99,235,.28);outline-offset:-1px}.excel-main-scroll .sheet tbody tr.rowSelected>td.missingCol{background:#f43f5e24}td.cell{position:relative;height:var(--bodyRowH);min-height:var(--bodyRowH);max-height:var(--bodyRowH);padding:0;background:#fff}td.summaryCell{background:#f8fafc;color:#334155;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;padding:0 8px}td.summaryMonthCell{position:sticky;right:var(--colSummaryGapW);z-index:3;box-shadow:inset 1px 0 0 var(--line)}td.summaryGapCell{background:#fff;pointer-events:none}td.summaryGapCell{position:sticky;right:0;z-index:4;box-shadow:inset 1px 0 0 var(--line)}.excel-left-scroll .sheet tbody tr,.excel-main-scroll .sheet tbody tr{height:var(--bodyRowH)}.excel-left-scroll .sheet tbody tr>th,.excel-left-scroll .sheet tbody tr>td,.excel-main-scroll .sheet tbody tr>td{height:var(--bodyRowH);min-height:var(--bodyRowH);max-height:var(--bodyRowH);line-height:1.2}.cellInput{width:100%;min-width:0;height:100%;border:none;outline:none;padding:0 8px;font-size:13px;background:transparent;box-sizing:border-box}.cellInput.shift{scroll-margin-top:88px;text-align:center;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.type2-cell-visual{display:inline-flex;align-items:center;justify-content:center;font-family:Segoe UI Symbol,"Apple Color Emoji","Noto Color Emoji",sans-serif;font-size:12px;line-height:1}.cellInput.shift .type2-cell-visual{width:100%;height:100%}.type2-cell-visual-locked{color:#2563eb}.type2-cell-visual-assigned{color:#198754;font-size:14px}.type2-cell-visual-unavailable{color:#b91c1c;font-size:14px}.cellInput.nameInput,.cellInput.numInput{font-family:inherit;padding:0 8px;text-align:left}.cellInput.numInput{text-align:right;padding:0 6px}.cellInput.nameInput:disabled,.cellInput.numInput:disabled{color:#9ca3af;cursor:default}.cellInput.shift.is-work{box-shadow:inset 0 0 0 2px #2563eb;background:#eff6ff}.cellInput.shift.is-assigned{background:#f0fdf4}.cellInput.shift.is-off{box-shadow:inset 0 0 0 2px #ef4444;background:#fff1f2}.cellInput.shift.is-unavailable{color:#b91c1c;background:#fff1f2}.cellInput.shift.is-virtual{color:#9ca3af;background:#f8fafc}th.missingCol{background:var(--missingColHdrBg);box-shadow:inset 1px 0 0 var(--missingColEdge),inset -1px 0 0 var(--missingColEdge)}td.missingCol{background:var(--missingColBg);box-shadow:inset 1px 0 0 var(--missingColEdge),inset -1px 0 0 var(--missingColEdge)}.sheet-footer tr.footerRow th.footerRowHdr,.sheet-footer tr.footerRow td{background:var(--footerMissingBg);font-size:12px;color:var(--muted);text-align:center;height:var(--footerRowHeight);border-top:2px solid var(--line2)}.sheet-footer tr.footerRow th.footerRowHdr{background:#f1f3f4}.sheet-footer tr.footerRow td.footerLabel{text-align:left;padding-left:8px;font-weight:700;color:#334155;background:var(--footerMissingLabelBg)}.sheet-footer tr.footerRow td.missingPos{color:#b91c1c;font-weight:800;background:#dc26261a}.sheet-footer tr.footerAssigned td,.sheet-footer tr.footerAssigned th.footerRowHdr{background:var(--footerAssignedBg)}.sheet-footer tr.footerAssigned td.footerLabel{background:var(--footerAssignedLabelBg)}.sheet-footer tr.footerMissing td,.sheet-footer tr.footerMissing th.footerRowHdr{background:var(--footerMissingBg)}.sheet-footer tr.footerMissing td.footerLabel{background:var(--footerMissingLabelBg)}.sheet-footer tr.footerSpacer th.footerRowHdr,.sheet-footer tr.footerSpacer td{height:var(--missingSpacerHeight);background:transparent;border-top:none;padding:0;pointer-events:none}.sheet-footer td.footerSummaryCell{background:#f8fafc;color:#334155;font-weight:700;font-variant-numeric:tabular-nums}.sheet-footer td.footerSummaryMonth{position:sticky;right:var(--colSummaryGapW);z-index:3;box-shadow:inset 1px 0 0 var(--line)}.sheet-footer td.footerSummaryGap{background:transparent}.sheet-footer td.footerSummaryGap{position:sticky;right:0;z-index:4;box-shadow:inset 1px 0 0 var(--line)}.sheet-footer tr.footerAssigned td.footerTrailingDayGap{background:var(--footerAssignedBg)}.sheet-footer tr.footerMissing td.footerTrailingDayGap{background:var(--footerMissingBg)}.sheet-footer tr.footerSpacer td.footerTrailingDayGap{background:transparent}.sheet-footer tr.footerAssigned td.footerSummaryGap{background:var(--footerAssignedBg)}.sheet-footer tr.footerMissing td.footerSummaryGap{background:var(--footerMissingBg)}.sheet-footer tr.footerSpacer td.footerSummaryGap{background:transparent}.type2-dev-diagnostics{display:grid;gap:6px;padding:10px 12px;border-top:1px dashed var(--line);background:#f9fafb}.type2-dev-disabled{margin:0;font-size:12px;color:var(--muted)}.type2-dev-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.type2-dev-pill{padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;color:var(--muted)}.type2-name-cell{display:grid;line-height:1.2;padding:4px 8px}.type2-name-cell small{color:var(--muted);font-size:11px}.type2-ctx{position:fixed;z-index:999;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:grid;gap:2px}.type2-ctx-item{border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:10px;font-size:13px;color:var(--text);cursor:pointer}.type2-ctx-item:hover{background:#f3f4f6}.type2-ctx-item.is-danger{color:#b91c1c}.type2-ctx-sep{height:1px;background:var(--line);margin:6px 4px}.type2-modal-backdrop{position:fixed;inset:0;background:#0000002e;display:flex;align-items:center;justify-content:center;z-index:1000}.type2-modal{width:min(420px,calc(100vw - 24px));background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:14px}.type2-modal h3{margin:0 0 8px;font-size:15px}.type2-modal p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.5}.type2-modal-actions{display:flex;justify-content:flex-end;gap:8px}.type2-modal-actions .btn{height:34px}.type2-modal-actions .btn.danger{border-color:#fecaca;background:#fff5f5;color:#b91c1c}.sheet-footer tr.footerMissing td.footerSummaryMonth.missingPos{background:#f8dede;background-image:none;opacity:1;background-clip:padding-box}.summaryMonthHead,td.summaryMonthCell,.sheet-footer td.footerSummaryMonth{box-shadow:inset 2px 0 #c3c8cf}.sheet-footer tr.footerSpacer th.footerRowHdr,.sheet-footer tr.footerSpacer td,.sheet-footer tr.footerSpacer td.footerTrailingDayGap,.sheet-footer tr.footerSpacer td.footerSummaryGap{background:var(--footerMissingBg);background-image:none;opacity:1}col.col-summary-week{width:var(--colWeekTotalW);min-width:var(--colWeekTotalW);max-width:var(--colWeekTotalW)}.summaryWeekHead,td.summaryWeekCell,.sheet-footer td.footerSummaryWeek{position:sticky;right:calc(var(--colSummaryGapW, 16px) + var(--colMonthTotalW));box-shadow:inset 2px 0 #c3c8cf}.summaryMonthHead.summaryMonthAfterWeek,td.summaryMonthCell.summaryMonthAfterWeek,.sheet-footer td.footerSummaryMonth.summaryMonthAfterWeek{box-shadow:none!important}.sheet-footer tr.footerMissing td.footerSummaryWeek.missingPos{background:#f8dede;color:#9f1239;opacity:1}.sheet-footer tr.footerSpacer td.footerSummaryWeek,.sheet-footer tr.footerSpacer td.footerSummaryMonth,.sheet-footer tr.footerSpacer td.footerSummaryMonth.summaryMonthAfterWeek,.sheet-footer tr.footerSpacer td.footerSummaryGap{background:var(--footerMissingBg);background-image:none;opacity:1}:root{--line: #dadce0;--line2: #c7c9cc;--border: #dadce0;--text: #1f1f1f;--muted: #6b7280;--shadow: 0 6px 18px rgba(0, 0, 0, .08);--radius: 12px;--type2UpperPanelMinW: 1180px;--type2UserLogHeight: 360px}html,body{height:100%;background:#fff;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{margin:0}.type2-root{min-height:100vh;background:#fff}.type2-main{display:grid;grid-template-areas:"grid pane";grid-template-columns:minmax(0,1fr) 340px;gap:12px;padding:12px 14px 16px}.type2-main.is-pane-bottom{grid-template-areas:"grid" "bottom";grid-template-columns:minmax(0,1fr)}.type2-region-grid{grid-area:grid;min-width:0}.type2-region-grid-scroll{width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:stable both-edges}.type2-region-grid-inner{position:relative;width:max(100%,var(--type2UpperPanelMinW));min-width:var(--type2UpperPanelMinW)}.type2-processing-overlay{position:absolute;inset:0 0 auto;min-height:100%;display:grid;place-items:center;padding:24px;background:#11182714;pointer-events:auto;z-index:12}.type2-processing-dialog{width:min(320px,calc(100% - 24px));display:grid;gap:12px;justify-items:center;padding:18px 20px;border:1px solid rgba(17,24,39,.1);border-radius:14px;background:#fffffff5;box-shadow:0 18px 40px #0f172a24}.type2-processing-dialog-title{color:var(--text);font-size:14px;font-weight:700;text-align:center}.type2-processing-dialog-cancel{min-width:104px;height:34px;border:1px solid var(--line2);border-radius:999px;background:#fff;color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.type2-user-message-panel{margin-top:14px;display:grid;gap:8px}.type2-user-message-title{font-size:13px;font-weight:700;color:var(--text)}.type2-user-message-box{width:100%;min-height:var(--type2UserLogHeight);height:var(--type2UserLogHeight);padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fcfcfd;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans JP,Arial,sans-serif;font-size:13px;line-height:1.45;overflow:auto}.type2-user-message-entry{display:grid;grid-template-columns:1fr;gap:6px;align-items:start;padding:6px 0}.type2-user-message-entry+.type2-user-message-entry{margin-top:8px;padding-top:8px;border-top:1px solid #eceff3}.type2-user-message-timestamp{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.type2-user-message-lines{display:grid;gap:4px}.type2-user-message-text{color:var(--text);min-width:0;word-break:break-word}.type2-user-message-text-error{color:#b42318}.type2-user-message-text-error{background:#b423180d;border-radius:8px;padding:8px 10px}.type2-region-pane{grid-area:pane;min-width:0}.type2-region-bottom{grid-area:bottom;min-width:0;margin-top:2px}.type2-notice{margin:8px 14px 0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px}.type2-topbar{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(320px,1fr) auto;gap:16px;align-items:center;padding:10px 14px}.type2-topbar-brand{display:grid;gap:2px;min-width:0}.type2-topbar-center,.type2-topbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.type2-topbar-right{justify-content:flex-end;margin-left:auto}.type2-topbar-title{font-weight:700;font-size:16px;line-height:1.15;overflow-wrap:anywhere}.type2-topbar-subtitle{font-size:12px;color:var(--muted)}.type2-field{display:inline-flex;align-items:center;gap:6px;font-size:13px}.type2-field span{font-size:13px}.type2-field input,.type2-field select{height:32px;border:1px solid var(--line);border-radius:8px;padding:0 8px;font-size:13px;background:#fff}.type2-field-month{position:sticky;gap:6px}.monthbox{position:sticky}.monthbox-anchor{position:sticky;display:inline-flex}.type2-month-trigger{height:32px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;font-size:13px;cursor:pointer}.type2-month-test-hook{position:absolute;left:0;top:0;width:2px;height:2px;overflow:hidden;opacity:.01}.type2-month-test-hook select{width:2px;height:2px;min-width:2px;padding:0;border:0}.type2-month-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:224px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow);padding:8px}.type2-month-popover-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.type2-month-year{font-size:13px;font-weight:600}.type2-month-nav{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:16px;line-height:1;cursor:pointer}.type2-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.type2-month-cell{height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px;cursor:pointer}.type2-month-cell.is-active{border-color:#198754;background:#ecfdf3;color:#0f5132;font-weight:700}.type2-month-popover-foot{margin-top:8px;display:flex;justify-content:flex-end}.type2-month-today{height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 10px;font-size:12px;cursor:pointer}.type2-topbar-center>button,.type2-topbar-right>button{height:32px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:13px;cursor:pointer}.type2-topbar-right>button:nth-child(1){height:36px;padding:0 18px;border-color:#0f5132;background:#198754;color:#fff;font-weight:700}.type2-topbar-right>button:nth-child(2){border-color:#fecaca;background:#fff5f5;color:#b91c1c}.type2-topbar-right>button:nth-child(3),.type2-topbar-right>button:nth-child(4),.type2-topbar-right>button:nth-child(5){width:34px;min-width:34px;padding:0;font-size:16px}.type2-topbar-right>button:disabled{cursor:not-allowed}.type2-right-pane{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 12px}.type2-dock-devline{display:grid;gap:6px;padding:2px 0 8px;border-bottom:1px dashed var(--line);margin-bottom:8px}.type2-dock-devline-disabled{margin:0;font-size:12px;color:var(--muted)}.type2-dock-devline-pills{display:flex;gap:8px;flex-wrap:wrap}.type2-dock-pill{padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;color:var(--muted)}.type2-right-title{font-size:13px;font-weight:700;margin-bottom:8px}.type2-tabs{display:flex;gap:6px;margin-bottom:10px}.type2-tabs button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:4px 10px;font-size:12px;cursor:pointer}.type2-tabs button.is-active{background:#111827;border-color:#111827;color:#fff}.type2-right-content{border:1px solid var(--line);border-radius:10px;padding:10px;min-height:220px;max-height:260px;overflow:auto}.type2-status-actions,.type2-status-block,.type2-missing-chips,.type2-chip-btn{margin-top:8px}.type2-status-block{border:1px solid var(--line);border-radius:8px;padding:8px;font-size:12px;color:var(--muted)}.type2-missing-chips{display:flex;flex-wrap:wrap;gap:6px}.type2-chip-btn{border:1px solid var(--line);border-radius:999px;background:#fff;padding:3px 8px;font-size:12px;cursor:pointer}.type2-drawer-backdrop{position:fixed;inset:0;background:#1118273d;z-index:40;pointer-events:none}.type2-drawer{position:absolute;right:0;top:0;height:100%;width:min(360px,92vw);background:#fff;border-left:1px solid var(--line);box-shadow:-10px 0 24px #0000001f;display:grid;grid-template-rows:auto minmax(0,1fr);pointer-events:auto}.type2-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;min-height:48px;border-bottom:1px solid var(--line)}.type2-drawer-header strong{font-size:16px;line-height:1.2}.type2-drawer-header button{border:none;background:transparent;border-radius:8px;height:28px;width:28px;padding:0;font-size:0;color:transparent;cursor:pointer}.type2-drawer-header button:before{content:"×";font-size:20px;line-height:28px;color:var(--muted)}.type2-drawer-body{padding:12px 12px 16px;overflow:auto}.type2-drawer-body>.type2-drawer-note{display:none}.type2-settings-panel{display:grid;gap:14px}.type2-settings-sec{border-top:1px solid #eceff3;padding-top:14px;padding-bottom:12px}.type2-settings-sec:last-child{padding-bottom:0}.type2-settings-title{margin:0 0 10px;font-size:15px;line-height:1.2}.type2-settings-subsec{border:1px solid #e8edf4;border-radius:10px;padding:10px;background:#fafbfc}.type2-settings-subsec+.type2-settings-subsec{margin-top:10px}.type2-settings-subtitle{margin:0;font-size:13px;line-height:1.3}.type2-settings-weekday-grid{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.type2-settings-weekday-item{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px}.type2-settings-weekday-label{font-size:12px;color:var(--muted)}.type2-settings-weekday-item .type2-settings-input{min-width:0;width:100%}@media(max-width:420px){.type2-settings-weekday-grid{grid-template-columns:1fr}}.type2-settings-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.type2-settings-label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.type2-settings-input,.type2-settings-select{border:1px solid var(--line);border-radius:10px;height:32px;padding:0 10px;min-width:120px;font-size:13px;background:#fff}.type2-settings-input{appearance:none;-webkit-appearance:none;-moz-appearance:textfield}.type2-settings-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;cursor:pointer}.type2-settings-input::-webkit-outer-spin-button,.type2-settings-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.type2-settings-apply,.type2-settings-reset{height:32px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px;font-size:13px;cursor:pointer}.type2-settings-reset-danger{border-color:#fecaca;background:#fff5f5;color:#b91c1c}.type2-settings-hint{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.type2-settings-note{margin:0;color:#4b5563;font-size:12px;line-height:1.5}.type2-confirm-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:#11182766;z-index:80}.type2-confirm-dialog{width:min(460px,92vw);border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 20px 40px #00000038;padding:16px}.type2-confirm-title{margin:0 0 8px;font-size:16px;line-height:1.2}.type2-confirm-text{margin:0;color:#4b5563;font-size:13px;line-height:1.5}.type2-confirm-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}.type2-reset-confirm{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.type2-reset-title{margin:0 0 4px;font-weight:700;font-size:14px}.type2-reset-text{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.type2-reset-actions{margin-top:10px;display:flex;justify-content:flex-end;gap:8px}.type2-help-panel{display:grid;gap:8px;color:#374151;font-size:13px;line-height:1.5}.type2-help-list{margin:0;padding-left:22px;display:grid;gap:14px}.type2-help-list li{padding-left:2px}@media(max-width:1120px){.type2-main{grid-template-areas:"grid" "pane";grid-template-columns:minmax(0,1fr)}.type2-main.is-pane-bottom{grid-template-areas:"grid" "bottom"}.filter{min-width:220px}.type2-topbar{grid-template-columns:1fr}.type2-topbar-right{justify-content:flex-start}}.type2-log-list{display:grid;gap:6px;margin-top:8px;margin-bottom:10px}.type2-log-list p{margin:0;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--muted);background:#fff;line-height:1.4}.type2-dev-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.type2-dev-btn{height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:13px;padding:0 12px;cursor:pointer}.type2-dev-import{position:sticky;overflow:hidden;display:inline-flex;align-items:center}.type2-dev-import input{position:absolute;inset:0;opacity:0;cursor:pointer}.type2-dev-meta{margin-top:10px;display:grid;gap:4px}.type2-dev-meta p{margin:0;color:var(--muted);font-size:12px}.type2-right-quick-divider{border-top:1px dashed var(--line);margin:8px 0}.type2-right-quick-actions{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0}.type2-right-quick-actions .type2-dev-btn{margin:0}.type2-right-quick-actions+.type2-dev-meta{margin-top:8px}.type2-dev-meta{color:var(--muted);font-size:12px}
