:root{--m-header-height:48px;--m-nav-height:60px}.m-shell{background:var(--color-page-bg);flex-direction:column;width:100%;max-width:100vw;height:100dvh;display:flex;overflow-x:hidden}.m-header{z-index:10;background:var(--color-panel-bg);border-bottom:1px solid var(--color-border);padding-top:env(safe-area-inset-top,0px);flex-shrink:0;position:sticky;top:0}.m-header-inner{height:var(--m-header-height);grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;padding:0 12px;display:grid}.m-header-title{color:var(--color-text-main);text-align:center;white-space:nowrap;text-overflow:ellipsis;grid-column:2;margin:0;font-size:16px;font-weight:600;overflow:hidden}.m-header-back{color:var(--color-primary);cursor:pointer;background:0 0;border:none;grid-column:1;justify-content:flex-start;align-items:center;gap:2px;min-width:44px;min-height:44px;padding:8px 4px;font-size:15px;display:flex}.m-header-back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.m-header-back:active{opacity:.7}.m-header-identity{min-width:0;max-width:100%;font-size:var(--font-size-xxs);color:var(--color-text-sub);white-space:nowrap;text-overflow:ellipsis;grid-column:3;justify-self:end;overflow:hidden}.m-header-user{grid-column:3;justify-self:end;min-width:0;max-width:100%;position:relative}.m-header-user-btn{background:var(--color-page-bg);border:1px solid var(--color-border);max-width:100%;min-height:32px;color:var(--color-text-main);font-size:var(--font-size-xxs);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:16px;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.m-header-user-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.m-header-user-btn:active{opacity:.7}.m-header-user-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.m-header-user-caret{font-size:var(--font-size-xxs);flex-shrink:0;line-height:1}.m-header-menu{background:var(--color-panel-bg);border:1px solid var(--color-border);min-width:160px;box-shadow:var(--shadow-popover);z-index:20;border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.m-header-menu-item{width:100%;min-height:44px;color:var(--color-text-main);font-size:var(--font-size-xs);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:6px;align-items:center;padding:10px 12px;display:flex}.m-header-menu-item:active{background:var(--color-page-bg)}.m-header-menu-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.m-content{-webkit-overflow-scrolling:touch;min-height:0;padding-bottom:calc(var(--m-nav-height) + env(safe-area-inset-bottom,0px));flex:1;overflow:hidden auto}.m-content.m-content--no-nav{padding-bottom:env(safe-area-inset-bottom,0px);padding-top:env(safe-area-inset-top,0px)}.m-bottom-nav{background:var(--color-panel-bg);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0px);z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}.m-bottom-nav-item{min-height:var(--m-nav-height);color:var(--color-text-sub);-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:11px;font-weight:500;text-decoration:none;display:flex;position:relative}.m-bottom-nav-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.m-bottom-nav-item.is-active{color:var(--color-primary);font-weight:700}.m-bottom-nav-item.is-active:before{content:"";background:var(--color-primary);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:20%;right:20%}.m-bottom-nav-icon{font-size:22px;line-height:1}.m-state-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:260px;padding:48px 24px;display:flex}.m-state-title{color:var(--color-text-main);margin:0;font-size:16px;font-weight:600;line-height:1.5}.m-state-text{color:var(--color-text-sub);margin:0;font-size:14px;line-height:1.6}.m-state-sub{color:var(--color-text-sub);margin:0;font-size:13px;line-height:1.5}.m-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:12px 28px;font-size:15px;font-weight:500;transition:opacity .15s;display:inline-flex}.m-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.m-btn:active{opacity:.75}.m-btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.m-btn-secondary{background:var(--color-panel-bg);color:var(--color-primary);border-color:var(--color-primary)}.m-loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:.75s linear infinite m-spin}@keyframes m-spin{to{transform:rotate(360deg)}}.m-page{box-sizing:border-box;width:100%;max-width:600px;margin:0 auto;padding:24px 16px}.m-placeholder-message{text-align:center;color:var(--color-text-sub);padding:40px 16px;font-size:14px;line-height:1.7}.m-placeholder-message p{margin:0}@media (orientation:landscape){.m-bottom-nav{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.m-schedule-pre-header{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}}.m-projects-page{box-sizing:border-box;width:100%;max-width:600px;margin:0 auto}.m-search-bar{padding:12px 16px 8px}.m-search-input-wrap{align-items:center;display:flex;position:relative}.m-search-input{border:1px solid var(--color-border);background:var(--color-panel-bg);width:100%;height:40px;color:var(--color-text-main);box-sizing:border-box;-webkit-appearance:none;border-radius:8px;padding:0 36px 0 12px;font-size:15px}.m-search-input:focus{outline:2px solid var(--color-primary);outline-offset:0}.m-search-input::-webkit-search-cancel-button{display:none}.m-search-clear{color:var(--color-text-sub);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:4px;font-size:13px;display:flex;position:absolute;right:8px}.m-filters{flex-direction:column;gap:6px;padding:4px 16px 8px;display:flex}.m-filters-label{color:var(--color-text-sub);font-size:12px;font-weight:500}.m-filters-chips{flex-wrap:wrap;gap:6px;display:flex}.m-chip{border:1px solid var(--color-border);background:var(--color-panel-bg);color:var(--color-text-sub);cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap;border-radius:16px;align-items:center;gap:4px;min-height:32px;padding:6px 10px;font-size:13px;font-weight:500;display:inline-flex}.m-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.m-chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.m-chip-count{opacity:.85;font-size:11px}.m-result-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:6px 16px 4px;display:flex}.m-result-count{color:var(--color-text-sub);font-size:13px}.m-sort-select{color:var(--color-text-main);background:var(--color-page-bg);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;height:32px;padding:4px 8px;font-size:13px}.m-sort-select:focus{outline:2px solid var(--color-primary);outline-offset:0}.m-project-list{margin:0;padding:0;list-style:none}.m-project-item{border-bottom:1px solid var(--color-border);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;gap:4px;padding:12px 16px;display:flex}.m-project-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.m-project-item:active{background:var(--color-page-bg)}.m-project-item-row1{align-items:center;gap:8px;min-width:0;display:flex}.m-project-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-main);flex:1;font-size:15px;font-weight:500;overflow:hidden}.m-project-status-badge{background:var(--color-border);color:var(--color-text-sub);white-space:nowrap;border-radius:10px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:600}.m-project-item-row2{min-width:0}.m-project-address{color:var(--color-text-sub);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.m-load-more{justify-content:center;padding:20px 16px;display:flex}.m-load-more-btn{border:1px solid var(--color-primary);background:var(--color-panel-bg);min-width:200px;color:var(--color-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:8px;min-height:44px;padding:12px 24px;font-size:15px;font-weight:500}.m-load-more-btn:disabled{opacity:.55;cursor:not-allowed}.m-load-more-btn:not(:disabled):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.m-load-more-btn:not(:disabled):active{opacity:.75}.m-project-detail{width:100%}.m-project-tabs-wrap{border-bottom:1px solid var(--color-border);background:var(--color-panel-bg);z-index:5;align-items:stretch;display:flex;position:sticky;top:0}.m-tabs-arrow{background:var(--color-page-bg);width:44px;min-height:44px;font-size:var(--font-size-page-title);font-weight:var(--font-weight-bold);color:var(--color-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.m-tabs-arrow:not(:disabled):active{background:var(--color-border)}.m-tabs-arrow:disabled{opacity:.25;color:var(--color-text-sub);cursor:default}.m-tabs-arrow:not(:disabled):focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.m-project-tabs-strip{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;align-items:stretch;display:flex;overflow:auto hidden}.m-project-tabs-strip::-webkit-scrollbar{display:none}.m-project-tab{color:var(--color-text-sub);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;min-height:44px;padding:0 14px;font-size:14px;font-weight:500}.m-project-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.m-project-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.m-detail-body{padding-bottom:24px}.m-detail-project-name{color:var(--color-text-main);margin:0;padding:16px 16px 12px;font-size:18px;font-weight:700;line-height:1.45}.m-detail-section{border-top:1px solid var(--color-border);padding:12px 16px}.m-detail-section-title{color:var(--color-text-sub);letter-spacing:.05em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.m-detail-row{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.m-detail-row:last-child{margin-bottom:0}.m-detail-label{color:var(--color-text-sub);font-size:12px;font-weight:500}.m-detail-value{color:var(--color-text-main);white-space:pre-wrap;word-break:break-all;margin:0;font-size:15px;line-height:1.55}.m-detail-value.is-empty{color:var(--color-text-sub);font-style:italic}.m-map-scroll-wrap{align-items:center;display:flex}.m-map-arrow{width:28px;min-height:40px;color:var(--color-text-sub);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;display:flex}.m-map-arrow:disabled{opacity:.2;cursor:default}.m-map-arrow:not(:disabled):focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.m-map-buttons{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;gap:8px;padding:2px 0 4px;display:flex;overflow:auto hidden}.m-map-buttons::-webkit-scrollbar{display:none}.m-map-btn{border:1px solid var(--color-primary);color:var(--color-primary);background:var(--color-panel-bg);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:20px;flex-shrink:0;align-items:center;min-height:36px;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.m-map-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.m-map-btn:active{opacity:.7}.m-map-btn.is-disabled{border-color:var(--color-border);color:var(--color-text-sub);opacity:.45;cursor:default}.m-schedule-rows{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.m-schedule-row{border:none;border-bottom:1px solid var(--color-border);background:var(--color-panel-bg);cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;width:100%;min-height:52px;padding:14px 16px;display:flex}.m-schedule-row:last-child{border-bottom:none}.m-schedule-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.m-schedule-row:active{background:var(--color-page-bg)}.m-schedule-row-label{color:var(--color-text-sub);flex-shrink:0;min-width:70px;font-size:13px;font-weight:500}.m-schedule-row-value{color:var(--color-text-main);text-align:left;flex:1;font-size:15px;font-weight:500}.m-schedule-row-arrow{color:var(--color-text-sub);flex-shrink:0;font-size:18px}.m-members-subtabs{border-bottom:1px solid var(--color-border);background:var(--color-panel-bg);display:flex}.m-members-subtab{color:var(--color-text-sub);cursor:pointer;white-space:nowrap;text-align:center;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;min-height:44px;padding:10px 8px;font-size:14px;font-weight:500}.m-members-subtab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.m-members-subtab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.m-member-list{flex-direction:column;gap:12px;padding:12px 16px;display:flex}.m-member-card{border:1px solid var(--color-border);background:var(--color-panel-bg);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.m-member-name{color:var(--color-text-main);margin:0;font-size:15px;font-weight:600}.m-member-company{color:var(--color-text-sub);margin:0;font-size:13px}.m-phone-link{color:var(--color-primary);align-items:center;gap:4px;min-height:36px;padding:2px 0;font-size:14px;text-decoration:none;display:inline-flex}.m-phone-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.m-phone-empty{color:var(--color-text-sub);font-size:14px}.m-member-dates{border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;padding-top:8px;display:grid}.m-member-date-group{flex-direction:column;gap:3px;display:flex}.m-member-date-section-title{color:var(--color-text-sub);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:700}.m-member-date-label{color:var(--color-text-sub);margin:0;font-size:11px}.m-member-date-value{color:var(--color-text-main);margin:0 0 4px;font-size:13px}.m-members-empty{text-align:center;color:var(--color-text-sub);margin:0;padding:32px 0;font-size:14px}.m-tab-placeholder{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.m-schedule-page{height:100%}.m-schedule-scroll{-webkit-overflow-scrolling:touch;height:100%;overflow:auto}.m-schedule-pre-header{background:var(--color-panel-bg);z-index:7;width:100vw;position:sticky;left:0}.m-schedule-pre-header .m-project-tabs-wrap{z-index:auto;position:static}.m-schedule-pre-header .m-header{padding-top:0;position:static}.m-schedule-top-bar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.m-schedule-project-name{color:var(--color-text-main);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.m-schedule-jump-btns{flex-shrink:0;gap:6px;display:flex}.m-schedule-jump-btn{background:var(--color-panel-bg);border:1px solid var(--color-border);color:var(--color-text-main);cursor:pointer;white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:12px}.m-schedule-jump-btn:disabled{opacity:.4;cursor:default}.m-gantt-inner{position:relative}.m-gantt-month-row,.m-gantt-date-row{background:var(--color-panel-bg);border-bottom:1px solid var(--color-border)}.m-gantt-left{background:var(--color-panel-bg);border-right:1px solid var(--color-border);flex-shrink:0}.m-gantt-corner,.m-gantt-date-corner{border-bottom:1px solid var(--color-border)}.m-gantt-col-label{color:var(--color-text-sub);justify-content:center;align-items:center;height:100%;font-size:11px;display:inline-flex}.m-gantt-month-group{border-right:1px solid var(--color-border);box-sizing:border-box;flex-shrink:0;height:100%;position:relative}.m-gantt-month-label{height:100%;color:var(--color-text-main);white-space:nowrap;box-sizing:border-box;align-items:center;max-width:100%;padding-left:6px;padding-right:4px;font-size:11px;font-weight:600;display:inline-flex;position:sticky;left:184px;overflow:hidden}.m-gantt-date-cell{border-right:1px solid var(--color-border);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:100%;display:inline-flex}.m-gantt-date-cell.is-holiday .m-gantt-day,.m-gantt-date-cell.is-holiday .m-gantt-weekday{color:var(--color-danger)}.m-gantt-date-cell.is-today{background:var(--color-primary-light,var(--color-primary));opacity:.15}.m-gantt-date-cell.is-today .m-gantt-day,.m-gantt-date-cell.is-today .m-gantt-weekday{color:var(--color-primary);opacity:1}.m-gantt-day{color:var(--color-text-main);font-size:11px;font-weight:600;line-height:1}.m-gantt-weekday{color:var(--color-text-sub);font-size:10px;line-height:1}.m-gantt-body-row{border-bottom:1px solid var(--color-border)}.m-gantt-row-left{border-bottom:none}.m-gantt-name-cell{border-right:1px solid var(--color-border);box-sizing:border-box;align-items:center;min-width:0;display:flex;overflow:hidden}.m-gantt-name-cell.is-task-btn{cursor:pointer;text-align:left;background:0 0;border-top:none;border-bottom:none;border-left:none;gap:4px;padding-left:18px;padding-right:4px}.m-gantt-toggle-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:100%;padding:0;display:flex}.m-gantt-name-btn{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;min-width:0;height:100%;padding:0 4px 0 0;display:flex}.m-gantt-toggle{color:var(--color-text-sub);font-size:10px;line-height:1}.m-gantt-name-text{color:var(--color-text-main);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.m-gantt-body-row.is-phase .m-gantt-name-text{font-weight:600}.m-gantt-assign-cell{border-right:1px solid var(--color-border);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.m-gantt-assign-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:2px;width:100%;height:100%;padding:2px;display:flex}.m-gantt-no-assign{color:var(--color-text-disabled);font-size:13px}.m-gantt-avatar{background:var(--color-primary);width:26px;height:26px;color:var(--color-panel-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.m-gantt-extra-count{color:var(--color-text-sub);white-space:nowrap;font-size:10px}.m-gantt-timeline-cell{background-image:repeating-linear-gradient(to right, transparent 0px, transparent 29px, var(--color-border) 29px, var(--color-border) 30px);overflow:visible}.m-gantt-today-col{background:var(--color-primary);opacity:.08}.m-gantt-holiday-col{background:var(--color-danger);opacity:.06}.m-gantt-bar{pointer-events:none}.m-gantt-empty{text-align:center;justify-content:center;align-items:center;padding:48px 24px;display:flex}.m-dialog-overlay{background:var(--modal-backdrop-bg);z-index:100;padding-bottom:env(safe-area-inset-bottom,0px);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.m-dialog-panel{background:var(--color-panel-bg);width:100%;max-width:480px;max-height:80vh;box-shadow:var(--shadow-popover);border-radius:16px 16px 0 0;padding:24px 20px;overflow-y:auto}.m-dialog-title{color:var(--color-text-main);margin:0 0 12px;font-size:16px;font-weight:700}.m-dialog-subtitle{color:var(--color-text-sub);margin:0 0 8px;font-size:13px;font-weight:600}.m-dialog-empty{color:var(--color-text-sub);margin:0 0 16px;font-size:14px}.m-dialog-member-list{margin:0 0 16px;padding:0;list-style:none}.m-dialog-member-name{color:var(--color-text-main);border-bottom:1px solid var(--color-border);padding:8px 0;font-size:14px}.m-dialog-member-name:last-child{border-bottom:none}.m-dialog-close{width:100%;margin-top:8px}.m-dialog-current-value{color:var(--color-text-sub);margin:0 0 12px;font-size:13px}.m-dialog-field-label{color:var(--color-text-sub);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.m-dialog-date-input{border:1px solid var(--color-border);background:var(--color-panel-bg);width:100%;color:var(--color-text-main);box-sizing:border-box;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:16px;display:block}.m-dialog-error{color:var(--color-danger);margin:0 0 12px;font-size:13px}.m-dialog-confirm-date{color:var(--color-text-main);text-align:center;margin:0 0 8px;font-size:18px;font-weight:700}.m-dialog-confirm-msg{color:var(--color-text-main);margin:0 0 16px;font-size:14px;line-height:1.5}.m-dialog-actions{gap:10px;display:flex}.m-dialog-actions .m-btn{flex:1}.m-actuals-panel{flex-direction:column;gap:12px;padding:12px;display:flex}.m-actual-card{background:var(--color-panel-bg);border:1px solid var(--color-border);border-radius:10px;padding:14px}.m-actual-card-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.m-actual-project-name{color:var(--color-text-main);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.m-actual-company-name{color:var(--color-text-sub);text-overflow:ellipsis;white-space:nowrap;margin:0 0 10px;font-size:13px;font-weight:600;overflow:hidden}.m-actual-status-badge{border:1px solid var(--color-border);color:var(--color-text-sub);background:var(--color-page-bg);white-space:nowrap;border-radius:20px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:600}.m-actual-status-badge--neutral{background:var(--status-neutral-soft-bg);border-color:var(--status-neutral-soft-border);color:var(--status-neutral-soft-text)}.m-actual-status-badge--tentative{background:var(--status-tentative-soft-bg);border-color:var(--status-tentative-soft-border);color:var(--status-tentative-soft-text)}.m-actual-status-badge--reported{background:var(--status-reported-soft-bg);border-color:var(--status-reported-soft-border);color:var(--status-reported-soft-text)}.m-actual-status-badge--complete{background:var(--status-complete-soft-bg);border-color:var(--status-complete-soft-border);color:var(--status-complete-soft-text)}.m-actual-status-badge--inspected{background:var(--status-inspected-soft-bg);border-color:var(--status-inspected-soft-border);color:var(--status-inspected-soft-text)}.m-actual-status-badge--danger{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--color-danger)}.m-actual-blocking-msg{color:var(--color-danger);background:var(--color-page-bg);border-radius:6px;margin:0 0 10px;padding:8px;font-size:13px}.m-actual-dates{flex-direction:column;gap:2px;margin-bottom:12px;display:flex}.m-actual-date-row{align-items:baseline;gap:8px;padding:6px 0;display:flex}.m-actual-date-label{color:var(--color-text-sub);flex-shrink:0;min-width:72px;font-size:12px}.m-actual-date-value{color:var(--color-text-main);font-size:13px}.m-actual-date-divider{background:var(--color-border);height:1px;margin:4px 0}.m-actual-date-row--emphasis .m-actual-date-value{font-weight:700}.m-actual-date-row--editable{text-align:left;background:var(--color-page-bg);border:1px solid var(--color-border);cursor:pointer;width:100%;font:inherit;border-radius:8px;align-items:baseline;gap:8px;margin:2px 0;padding:10px 12px;display:flex}.m-actual-date-row--editable:active{background:var(--color-border)}.m-actual-date-row--editable .m-actual-date-value{flex:1;min-width:0}.m-actual-date-edit-hint{color:var(--color-primary);flex-shrink:0;font-size:12px;font-weight:600}.m-actual-inspected-badge{color:var(--color-success,var(--color-primary));border:1px solid var(--color-success,var(--color-primary));white-space:nowrap;border-radius:20px;padding:1px 8px;font-size:11px;font-weight:600}.m-actual-error{color:var(--color-danger);margin:0 0 8px;font-size:13px}.m-actual-confirm-btn,.m-actual-action-btn{width:100%;margin-top:4px}.m-actual-draft-actions{flex-direction:column;gap:8px;margin-top:4px;display:flex}.m-btn-danger{background:var(--color-danger);color:var(--color-panel-bg);border:1px solid var(--color-danger)}.m-actual-next{border:1px solid #0000;border-radius:8px;flex-direction:column;gap:2px;margin-bottom:12px;padding:12px 14px;display:flex}.m-actual-next__title{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:1.4}.m-actual-next__hint{font-size:var(--font-size-xs);color:var(--color-text-sub);line-height:1.4}.m-actual-next--action{background:var(--status-reported-soft-bg);border-color:var(--status-reported-soft-border)}.m-actual-next--action .m-actual-next__title{color:var(--status-reported-soft-text)}.m-actual-next--waiting{background:var(--status-tentative-soft-bg);border-color:var(--status-tentative-soft-border)}.m-actual-next--waiting .m-actual-next__title{color:var(--status-tentative-soft-text)}.m-actual-next--done{background:var(--status-inspected-soft-bg);border-color:var(--status-inspected-soft-border)}.m-actual-next--done .m-actual-next__title{color:var(--status-inspected-soft-text)}.m-actual-group{margin-bottom:14px}.m-actual-group__label{font-size:var(--font-size-xxs);font-weight:var(--font-weight-semibold);color:var(--color-text-sub);letter-spacing:.06em;margin:0 0 4px}.m-actual-actions{flex-direction:column;gap:8px;display:flex}.m-btn-action-start{background:var(--mobile-action-start-bg);color:var(--button-primary-text);border-color:var(--mobile-action-start-bg)}.m-btn-action-report{background:var(--mobile-action-report-bg);color:var(--button-primary-text);border-color:var(--mobile-action-report-bg)}.m-overall-page{height:100%}.m-overall-scroll{-webkit-overflow-scrolling:touch;height:100%;overflow:auto}.m-overall-pre-header{background:var(--color-panel-bg);z-index:7;width:100vw;position:sticky;left:0}.m-overall-pre-header .m-header{padding-top:0;position:static}.m-overall-filters{background:var(--color-panel-bg);border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;flex-direction:row;gap:8px;padding:8px 12px;display:flex;overflow-x:auto}.m-overall-filter-chip{border:1px solid var(--color-border);background:var(--color-page-bg);color:var(--color-text-sub);white-space:nowrap;cursor:pointer;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.m-overall-filter-chip.is-active{background:var(--color-primary);color:var(--color-panel-bg);border-color:var(--color-primary)}.m-overall-today-btn{border:1px solid var(--color-primary);background:var(--color-panel-bg);color:var(--color-primary);white-space:nowrap;cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.m-overall-inner{position:relative}.m-overall-month-row,.m-overall-date-row{background:var(--color-panel-bg);border-bottom:1px solid var(--color-border)}.m-overall-left{background:var(--color-panel-bg);border-right:1px solid var(--color-border);flex-shrink:0}.m-overall-corner,.m-overall-date-corner{border-bottom:1px solid var(--color-border)}.m-overall-col-label{color:var(--color-text-sub);justify-content:center;align-items:center;height:100%;font-size:10px;display:inline-flex}.m-overall-month-group{border-right:1px solid var(--color-border);box-sizing:border-box;flex-shrink:0;height:100%;position:relative}.m-overall-month-label{left:var(--m-overall-left-width,166px);height:100%;color:var(--color-text-main);white-space:nowrap;box-sizing:border-box;align-items:center;max-width:100%;padding-left:6px;padding-right:4px;font-size:10px;font-weight:600;display:inline-flex;position:sticky;overflow:hidden}.m-overall-date-cell{border-right:1px solid var(--color-border);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:1px;height:100%;display:inline-flex}.m-overall-date-cell.is-holiday .m-overall-day,.m-overall-date-cell.is-holiday .m-overall-weekday{color:var(--color-danger)}.m-overall-date-cell.is-today{background:var(--m-overall-today-cell-bg,#1677ff1f)}.m-overall-date-cell.is-today .m-overall-day,.m-overall-date-cell.is-today .m-overall-weekday{color:var(--m-overall-today-text-color,var(--color-primary));font-weight:700}.m-overall-day{color:var(--color-text-main);font-size:10px;font-weight:600;line-height:1}.m-overall-weekday{color:var(--color-text-sub);font-size:9px;line-height:1}.m-overall-row{border-bottom:1px solid var(--color-border)}.m-overall-row-left{border-bottom:none}.m-overall-name-cell{border-right:1px solid var(--color-border);box-sizing:border-box;align-items:center;min-width:0;display:flex;overflow:hidden}.m-overall-task-name-cell{padding-left:18px;padding-right:4px}.m-overall-toggle-btn{width:var(--m-overall-toggle-width,32px);min-width:var(--m-overall-toggle-width,32px);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;height:100%;padding:0;display:flex}.m-overall-project-name-btn,.m-overall-phase-name-btn{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;min-width:0;height:100%;padding:0 4px 0 0;display:flex}.m-overall-toggle{color:var(--color-text-sub);font-size:14px;line-height:1}.m-overall-name-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.m-overall-project-text{font-size:var(--m-overall-project-font-size,13px);color:var(--color-text-main);font-weight:700}.m-overall-phase-text{font-size:var(--m-overall-phase-font-size,12px);color:var(--color-text-main);font-weight:600}.m-overall-task-text{font-size:var(--m-overall-task-font-size,11px);color:var(--color-text-main)}.m-overall-assign-cell{border-right:1px solid var(--color-border);box-sizing:border-box;justify-content:center;align-items:center;gap:2px;display:flex}.m-overall-timeline-cell{background-image:repeating-linear-gradient(to right, transparent 0px, transparent calc(var(--m-overall-day-width,22px) - 1px), var(--color-border) calc(var(--m-overall-day-width,22px) - 1px), var(--color-border) var(--m-overall-day-width,22px));overflow:visible}.m-overall-today-col{background:var(--color-primary);opacity:.08}.m-overall-holiday-col{background:var(--color-danger);opacity:.06}.m-overall-bar{pointer-events:none;border-radius:3px;position:absolute}.m-overall-project-row{background:var(--color-table-row-bg,var(--color-panel-bg))}.m-overall-phase-row{background:var(--color-page-bg)}.m-overall-empty{text-align:center;justify-content:center;align-items:center;padding:48px 24px;display:flex}.m-company-info{flex-direction:column;gap:10px;display:flex}.m-company-field{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.m-company-field--stack{flex-direction:column;align-items:stretch;gap:4px}.m-company-field-label{font-size:var(--font-size-xs);color:var(--color-text-sub);flex-shrink:0;padding-top:6px}.m-company-field--stack .m-company-field-label{padding-top:0}.m-company-value-box{background:var(--color-panel-bg);border:1px solid var(--color-border);min-width:0;max-width:100%;font-size:var(--font-size-xs);color:var(--color-text-main);text-align:right;word-break:break-all;overflow-wrap:anywhere;border-radius:8px;padding:6px 10px}.m-company-field--stack .m-company-value-box{text-align:left;align-self:flex-start;margin-left:12px}.m-company-value-box.is-empty{color:var(--color-text-sub);font-style:italic}.m-company-chips{flex-wrap:wrap;gap:8px;display:flex}.m-company-chip{background:var(--color-page-bg);border:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-main);border-radius:16px;align-items:center;padding:6px 12px;display:inline-flex}.m-company-card-list{flex-direction:column;gap:12px;display:flex}.m-company-card{background:var(--color-panel-bg);border:1px solid var(--color-border);border-radius:8px;padding:12px}.m-company-card-title{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-text-main);margin:0 0 8px}.m-hs-body{font-size:var(--font-size-body);color:var(--color-text-main);white-space:pre-line;margin:0 0 16px;line-height:1.6}.m-hs-os{background:var(--color-page-bg);border:1px solid var(--color-border);border-radius:8px;margin-bottom:10px;padding:10px 12px}.m-hs-os-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-sub);margin-bottom:4px;display:block}.m-hs-os-steps{font-size:var(--font-size-xs);color:var(--color-text-main);white-space:pre-line;margin:0;line-height:1.6}.auth-page{min-height:100dvh;padding:24px 16px;padding-top:max(24px, env(safe-area-inset-top,24px));padding-bottom:max(24px, env(safe-area-inset-bottom,24px));background:var(--color-page-bg);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-panel-bg);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);width:min(480px,100%);box-shadow:var(--shadow-card);padding:32px 28px}.auth-card__title{font-size:20px;font-weight:var(--font-weight-bold);color:var(--color-text-main);text-align:center;margin:0 0 8px}.auth-card__description{font-size:var(--font-size-caption);color:var(--color-text-sub);text-align:center;margin:0 0 24px;line-height:1.6}.auth-card__actions{flex-direction:column;gap:10px;display:flex}.auth-btn{border-radius:var(--radius-button);width:100%;height:44px;font-size:var(--font-size-button);font-weight:var(--font-weight-medium);cursor:pointer;font-family:var(--font-family-base);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:10px;transition:opacity .15s,box-shadow .15s;display:flex}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-btn--google{color:#3c4043;background:#fff;border:1px solid #dadce0;box-shadow:0 1px 3px #0000001a}.auth-btn--google:hover:not(:disabled){box-shadow:0 2px 6px #00000026}.auth-btn--primary{background:var(--button-primary-bg);color:var(--button-primary-text)}.auth-btn--primary:hover:not(:disabled){opacity:.88}.auth-btn--secondary{background:var(--color-panel-bg);color:var(--color-text-sub);border:1px solid var(--color-border)}.auth-btn--secondary:hover:not(:disabled){background:var(--color-table-row-hover)}.auth-error{background:var(--status-danger-bg);border:var(--border-width-base) solid var(--status-danger-border);border-radius:var(--radius-card);color:var(--color-danger);font-size:var(--font-size-caption);margin-top:16px;padding:10px 14px;line-height:1.5}.auth-loading{text-align:center;color:var(--color-text-sub);font-size:var(--font-size-caption);padding:24px 0}.auth-loading p{margin:0}.auth-loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;margin:0 auto 12px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-code-label{font-size:var(--font-size-caption);color:var(--color-text-main);font-weight:var(--font-weight-medium);margin-bottom:8px;display:block}.auth-code-input{width:100%;height:52px;font-size:24px;font-weight:var(--font-weight-bold);text-align:center;letter-spacing:.35em;border:2px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-editable-bg);color:var(--color-text-main);font-variant-numeric:tabular-nums;font-family:var(--font-family-number);box-sizing:border-box;padding:0 16px}.auth-code-input:focus{border-color:var(--input-focus-border-color);outline:none}.auth-qr-wrapper{flex-direction:column;align-items:center;gap:14px;margin:20px 0;display:flex}.auth-qr-image{border:1px solid var(--color-border);border-radius:var(--radius-small);width:min(200px,100%);height:auto;display:block}.auth-secret-row{align-items:center;gap:6px;width:100%;display:flex}.auth-secret-text{color:var(--color-text-main);background:var(--color-readonly-bg);border:1px solid var(--color-border);border-radius:var(--radius-input);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding:7px 10px;font-family:Courier New,Courier,monospace;font-size:13px;overflow:hidden}.auth-secret-btn{border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-panel-bg);color:var(--color-text-main);cursor:pointer;white-space:nowrap;font-size:12px;font-family:var(--font-family-base);flex-shrink:0;padding:6px 10px}.auth-secret-btn:hover{background:var(--color-table-row-hover)}.auth-setupkey{background:var(--status-primary-bg);border:1px solid var(--status-primary-border);border-radius:var(--radius-card);margin-top:16px;padding:12px 14px}.auth-setupkey__title{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);color:var(--color-text-main);margin:0 0 6px}.auth-setupkey__desc{font-size:var(--font-size-caption);color:var(--color-text-sub);margin:0 0 12px;line-height:1.6}.auth-setupkey__copied{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-success);margin:8px 0 0}.auth-setupkey__note{font-size:var(--font-size-caption);color:var(--color-text-sub);margin:12px 0 0;line-height:1.6}.auth-secret-text--key{white-space:normal;text-overflow:clip;word-break:break-all;-webkit-user-select:all;user-select:all;overflow:visible}.auth-instructions{font-size:var(--font-size-caption);color:var(--color-text-main);background:var(--status-primary-bg);border:1px solid var(--status-primary-border);border-radius:var(--radius-card);margin:0 0 16px;padding:12px 14px;line-height:1.6}.auth-divider{border:none;border-top:1px solid var(--color-border);margin:20px 0}.auth-factor-name{font-size:var(--font-size-caption);color:var(--color-text-sub);text-align:center;margin:0 0 16px}.auth-ready-status{background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:var(--radius-card);align-items:center;gap:10px;margin-bottom:16px;padding:14px 16px;display:flex}.auth-ready-status__icon{color:var(--color-success);flex-shrink:0;font-size:18px}.auth-ready-status__text{font-size:var(--font-size-caption);color:var(--color-success);font-weight:var(--font-weight-medium)}.auth-ready-note{font-size:var(--font-size-caption);color:var(--color-text-sub);text-align:center;margin:0 0 24px;line-height:1.7}.auth-config-error-page{background:var(--status-danger-bg);justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.auth-config-error-card{background:var(--color-panel-bg);border:1px solid var(--color-danger);border-radius:var(--radius-card);text-align:center;width:min(480px,100%);box-shadow:var(--shadow-card);padding:32px 28px}.auth-config-error-card__title{font-size:18px;font-weight:var(--font-weight-bold);color:var(--color-danger);margin:0 0 12px}.auth-config-error-card__message{font-size:var(--font-size-caption);color:var(--color-text-sub);margin:0;line-height:1.6}.gantt-page{background:var(--color-bg,#f5f5f5);height:100vh;font-family:var(--font-family-base,sans-serif);color:var(--color-text-main,#1a1a1a);flex-direction:column;display:flex;overflow:hidden}.gantt-header{background:var(--color-panel-bg,#fff);border-bottom:1px solid var(--color-border,#e0e0e0);flex-shrink:0;align-items:center;gap:16px;height:52px;padding:0 20px;display:flex;box-shadow:0 1px 3px #0000000f}.gantt-header-back-btn{border:1px solid var(--color-border,#e0e0e0);border-radius:var(--radius-button,4px);background:var(--color-panel-bg,#fff);color:var(--color-text-main,#1a1a1a);cursor:pointer;white-space:nowrap;flex-shrink:0;padding:5px 12px;font-size:13px}.gantt-header-back-btn:hover{background:var(--color-bg,#f5f5f5)}.gantt-header-divider{background:var(--color-border,#e0e0e0);flex-shrink:0;width:1px;height:28px}.gantt-header-project-name{color:var(--color-text-sub,#666);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:13px;overflow:hidden}.gantt-header-schedule-name{font-size:15px;font-weight:var(--font-weight-bold,600);color:var(--color-text-main,#1a1a1a);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.gantt-header-badge{font-size:12px;font-weight:var(--font-weight-medium,500);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:2px 10px}.gantt-header-badge--adopted{color:var(--color-primary,#1a73e8);background:var(--status-primary-bg,#e8f0fe);border:1px solid var(--status-primary-border,#c5d8fb)}.gantt-header-badge--not-adopted{color:var(--color-text-sub,#666);background:var(--color-bg,#f5f5f5);border:1px solid var(--color-border,#e0e0e0)}.gantt-toolbar{background:var(--color-panel-bg,#fff);border-bottom:1px solid var(--color-border,#e0e0e0);flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 16px;display:flex}.gantt-toolbar-btn{border:1px solid var(--color-border,#e0e0e0);border-radius:var(--radius-button,4px);background:var(--color-panel-bg,#fff);color:var(--color-text-main,#1a1a1a);cursor:pointer;white-space:nowrap;padding:4px 12px;font-size:12px}.gantt-toolbar-btn:hover{background:var(--color-bg,#f5f5f5)}.gantt-toolbar-sep{background:var(--color-border,#e0e0e0);width:1px;height:20px}.gantt-state-screen{height:100vh;color:var(--color-text-sub,#666);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.gantt-state-error{color:var(--color-danger,#d32f2f)}.gantt-workspace{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.gantt-header-area{border-bottom:2px solid var(--color-border,#e0e0e0);background:var(--color-panel-bg,#fff);flex-direction:row;flex-shrink:0;display:flex}.gantt-left-header{border-right:2px solid var(--color-border,#e0e0e0);background:var(--color-panel-bg,#fff);box-sizing:border-box;flex-shrink:0;align-items:flex-end;height:108px;padding:0 12px 4px;display:flex}.gantt-left-header-label{color:var(--color-text-sub,#666);font-size:12px;font-weight:600}.gantt-date-header-scroll{flex:1;overflow:hidden}.gantt-date-header-inner{flex-direction:column;display:flex}.gantt-header-row{flex-direction:row;display:flex}.gantt-header-row--month{border-bottom:1px solid var(--color-border,#e0e0e0)}.gantt-header-cell{color:var(--color-text-main,#333);border-right:1px solid var(--color-border,#e0e0e0);white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;height:22px;font-size:11px;display:flex;overflow:hidden}.gantt-header-cell--month{background:var(--color-bg,#f9f9f9);justify-content:flex-start;padding-left:6px;font-size:11px;font-weight:600}.gantt-header-cell--day,.gantt-header-cell--weekday{background:var(--color-panel-bg,#fff)}.gantt-header-cell--weekday{border-bottom:1px solid var(--color-border,#e0e0e0)}.gantt-header-cell.is-sunday,.gantt-header-cell.is-holiday{color:#e53935;background:#bebec838}.gantt-header-cell.is-today{color:#e65100;background:#fff8e1;font-weight:700}.gantt-content-area{flex-direction:row;flex:1;display:flex;overflow:hidden}.gantt-left-body{border-right:2px solid var(--color-border,#e0e0e0);background:var(--color-panel-bg,#fff);box-sizing:border-box;flex-shrink:0;overflow:hidden}.gantt-left-row{border-bottom:1px solid var(--color-border-light,#f0f0f0);-webkit-user-select:none;user-select:none;box-sizing:border-box;cursor:pointer;align-items:center;gap:4px;display:flex;position:relative;overflow:hidden}.gantt-left-row:hover{background:#f0f4ff}.gantt-left-row--selected{background:#e8f0fe!important}.gantt-left-row--phase{border-top:2px solid var(--color-border,#e0e0e0);border-bottom-color:var(--color-border,#e0e0e0);background:#f7f7f8;font-weight:600}.gantt-left-row--task{background:var(--color-panel-bg,#fff)}.gantt-row-collapse-btn{width:22px;height:22px;color:var(--color-text-sub,#888);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;margin-right:2px;padding:0;font-size:12px;line-height:1;display:flex}.gantt-row-collapse-btn:hover{background:var(--color-border,#e0e0e0);color:var(--color-text-main,#333)}.gantt-row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.gantt-left-row--phase .gantt-row-title{font-size:12px;font-weight:600}.gantt-empty-left{color:var(--color-text-sub,#999);align-items:center;padding:16px 12px;font-size:12px;display:flex}.gantt-grid-wrapper{cursor:grab;-webkit-user-select:none;user-select:none;scrollbar-width:thin;flex:1;position:relative;overflow:auto}.gantt-grid-wrapper--grabbing{cursor:grabbing}.gantt-grid-inner{background-color:#fff;background-image:repeating-linear-gradient(90deg,#0000 0 39px,#d7dde5 39px 40px);min-height:100%;position:relative}.gantt-col-bg{pointer-events:none;position:absolute;top:0;bottom:0}.gantt-col-bg--sunday,.gantt-col-bg--holiday{background:#bebec829}.gantt-marker{pointer-events:none;z-index:10;width:0;position:absolute;top:0;bottom:0}.gantt-marker--today{border-left:2px solid #e53935}.gantt-marker--projectStart{border-left:2px dashed #43a047}.gantt-marker--projectEnd{border-left:2px dashed #f57c00}.gantt-marker--scheduleBaseStart{border-left:2px dashed #7b1fa2}.gantt-marker-label{white-space:nowrap;background:#ffffffe0;border-radius:2px;padding:1px 4px;font-size:10px;font-weight:600;position:absolute;top:3px;left:4px}.gantt-marker--today .gantt-marker-label{color:#e53935}.gantt-marker--projectStart .gantt-marker-label{color:#43a047}.gantt-marker--projectEnd .gantt-marker-label{color:#f57c00}.gantt-marker--scheduleBaseStart .gantt-marker-label{color:#7b1fa2}.gantt-header-row--pinlane{border-bottom:1px solid var(--color-border,#e0e0e0);background:var(--color-panel-bg,#fff);flex-shrink:0;position:relative;overflow:visible}.gantt-pin{pointer-events:none;height:13px;position:absolute}.gantt-pin--today{color:#e53935}.gantt-pin--scheduleBaseStart{color:#0288d1}.gantt-pin--projectStart{color:#43a047}.gantt-pin--projectEnd{color:#f57c00}.gantt-pin-flag-icon{width:12px;height:13px;display:block;position:absolute;top:0;left:-1px}.gantt-pin-flag-icon:before{content:"";background:currentColor;width:2px;position:absolute;top:0;bottom:0;left:0}.gantt-pin-flag-icon:after{content:"";border:4px solid #0000;border-left:7px solid;border-right-width:0;width:0;height:0;position:absolute;top:1px;left:2px}.gantt-pin-label{white-space:nowrap;color:currentColor;background:#ffffffe0;border-radius:2px;padding:0 2px;font-size:9px;font-weight:700;line-height:13px;position:absolute;top:0;left:12px}.gantt-pin--projectStart .gantt-pin-flag-icon:after{background:#43a047;border-width:0;width:9px;height:9px;top:0;box-shadow:0 0 0 1px #43a047}.gantt-pin-start-letter{text-align:center;color:#fff;pointer-events:none;z-index:1;width:9px;font-size:6px;font-weight:900;line-height:9px;position:absolute;top:0;left:1px}.gantt-pin--projectEnd .gantt-pin-flag-icon:after{background:repeating-conic-gradient(#f57c00 0deg 90deg,#fff 90deg 180deg) 0 0/4px 4px;border-width:0;width:9px;height:9px;top:0;box-shadow:0 0 0 1px #f57c00}.gantt-grid-row{box-sizing:border-box;border-bottom:1px solid #d7dde5;position:relative}.gantt-grid-row--phase{background:0 0;border-top:2px solid #d7dde5;border-bottom-color:#d7dde5}.gantt-grid-row--task{background:0 0}.gantt-bar{white-space:nowrap;cursor:pointer;border-radius:3px;min-width:4px;position:absolute;overflow:hidden}.gantt-bar:hover{filter:brightness(1.08)}.gantt-grid-row--selected{background:#e8f0fe73!important}.gantt-bar--task{background:#f5a623;height:30px;top:3px}.gantt-bar--phase{background:#e8971c;border-radius:2px;height:10px;padding:0;top:23px}.gantt-bar-label{color:#333;text-overflow:ellipsis;white-space:nowrap;padding:0 5px;font-size:13px;line-height:30px;display:block;overflow:hidden}.gantt-bar--phase .gantt-bar-label{display:none}.gantt-phase-label{text-overflow:ellipsis;white-space:nowrap;color:#333;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;padding:0 5px;font-size:13px;line-height:1.2;position:absolute;top:3px;overflow:hidden}.gantt-grid-empty{color:var(--color-text-sub,#999);justify-content:center;align-items:center;padding:32px 16px;font-size:13px;display:flex}.gantt-row-actions{opacity:0;flex-direction:column;flex-shrink:0;gap:0;transition:opacity .1s;display:flex}.gantt-left-row:hover .gantt-row-actions,.gantt-left-row--selected .gantt-row-actions{opacity:1}.gantt-row-action-btn{width:14px;height:14px;color:var(--color-text-sub,#888);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:0;font-size:8px;line-height:1;display:flex}.gantt-row-action-btn:hover:not(:disabled){background:var(--color-border,#e0e0e0);color:var(--color-text-main,#333)}.gantt-row-action-btn:disabled{opacity:.25;cursor:default}.gantt-bar--draggable{cursor:grab}.gantt-grid-wrapper--bar-dragging{cursor:grabbing!important}.gantt-grid-wrapper--bar-dragging .gantt-bar--draggable{cursor:grabbing}.gantt-bar-resize-handle{cursor:ew-resize;z-index:1;background:0 0;width:6px;position:absolute;top:0;bottom:0}.gantt-bar-resize-handle--left{left:0}.gantt-bar-resize-handle--right{right:0}.gantt-bar--draggable:hover .gantt-bar-resize-handle{background:#0000002e}.gantt-left-row--temp{cursor:default}.gantt-left-row--temp:hover{background:inherit}.gantt-temp-input{min-width:0;color:var(--color-text-sub,#999);cursor:text;background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:12px}.gantt-left-row--phase .gantt-temp-input{font-weight:600}.gantt-temp-input:focus{color:var(--color-text-main,#1a1a1a)}.gantt-temp-input::placeholder{color:#ccc;font-style:italic;font-weight:400}.gantt-grid-row--temp-placeholder{background:0 0}.gantt-edit-panel{z-index:50;background:var(--color-panel-bg,#fff);border-left:1px solid var(--color-border,#e0e0e0);flex-direction:column;width:320px;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-3px 0 14px #0000001a}.gantt-panel-header{border-bottom:1px solid var(--color-border,#e0e0e0);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px 8px;display:flex}.gantt-panel-type-label{color:var(--color-text-sub,#666);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.gantt-panel-breadcrumb{color:var(--color-text-sub,#aaa);font-size:11px}.gantt-panel-close-btn{width:24px;height:24px;color:var(--color-text-sub,#888);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.gantt-panel-close-btn:hover{background:var(--color-bg,#f5f5f5);color:var(--color-text-main,#333)}.gantt-panel-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.gantt-panel-delete-btn{border:1px solid var(--status-danger-border);background:var(--status-danger-bg);min-height:32px;color:var(--color-danger);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:4px 12px;line-height:1;display:inline-flex}.gantt-panel-delete-btn:hover{background:var(--color-danger);color:var(--button-danger-text);border-color:var(--color-danger)}.gantt-panel-delete-btn:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px}.gantt-panel-body{flex-direction:column;flex:1;gap:14px;padding:12px 14px;display:flex;overflow-y:auto}.gantt-panel-field{flex-direction:column;gap:4px;display:flex}.gantt-panel-field--dates{flex-direction:row;gap:12px}.gantt-panel-date-group{flex-direction:column;flex:1;gap:4px;display:flex}.gantt-panel-field--apply,.gantt-panel-field--description{flex-direction:column}.gantt-panel-label{color:var(--color-text-sub,#666);font-size:11px;font-weight:600}.gantt-panel-input{border:1px solid var(--color-border,#e0e0e0);width:100%;color:var(--color-text-main,#1a1a1a);background:var(--color-panel-bg,#fff);box-sizing:border-box;border-radius:4px;padding:6px 8px;font-size:13px}.gantt-panel-input:focus{border-color:var(--color-primary,#1a73e8);outline:none}.gantt-panel-date-value{color:var(--color-text-main,#1a1a1a);border-bottom:1px solid var(--color-border-light,#eee);padding:6px 0;font-size:13px}.gantt-panel-select{border:1px solid var(--color-border,#e0e0e0);width:100%;color:var(--color-text-main,#1a1a1a);background:var(--color-panel-bg,#fff);box-sizing:border-box;cursor:pointer;border-radius:4px;padding:6px 8px;font-size:13px}.gantt-panel-select:focus{border-color:var(--color-primary,#1a73e8);outline:none}.gantt-panel-assignee-placeholder{align-items:center;gap:8px;padding:4px 0;display:flex}.gantt-panel-assignee-circle{border:1.5px dashed var(--color-border,#ccc);border-radius:50%;flex-shrink:0;width:28px;height:28px}.gantt-panel-assignee-text{color:var(--color-text-sub,#aaa);font-size:12px}.gantt-panel-color-row{flex-wrap:wrap;gap:6px;padding:4px 0;display:flex}.gantt-panel-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0}.gantt-panel-color-swatch--selected{border-color:var(--color-text-main,#333);box-shadow:0 0 0 2px #00000026}.gantt-panel-color-display{align-items:center;gap:8px;padding:4px 0;display:flex}.gantt-panel-color-dot{border-radius:50%;flex-shrink:0;width:14px;height:14px}.gantt-panel-color-inherited{color:var(--color-text-sub,#aaa);font-size:11px}.gantt-panel-toggle-placeholder{color:var(--color-text-sub,#aaa);padding:4px 0;font-size:12px}.gantt-panel-textarea{border:1px solid var(--color-border,#e0e0e0);width:100%;min-height:72px;color:var(--color-text-main,#1a1a1a);background:var(--color-panel-bg,#fff);resize:vertical;box-sizing:border-box;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:12px}.gantt-panel-textarea:focus{border-color:var(--color-primary,#1a73e8);outline:none}.gantt-save-controls{background:var(--color-panel-bg,#fff);border-bottom:1px solid var(--color-border,#e0e0e0);flex-shrink:0;align-items:center;gap:8px;padding:5px 16px;display:flex}.gantt-save-status{margin-left:4px;font-size:12px}.gantt-save-status--unsaved{color:var(--color-warning,#e65c00)}.gantt-save-status--saving{color:var(--color-text-sub,#888)}.gantt-save-status--saved{color:var(--color-success,#22a559)}.gantt-save-status--error{color:var(--color-danger,#e53935)}.gantt-row-assignee-hint{color:var(--color-text-sub,#999);white-space:nowrap;text-overflow:ellipsis;opacity:.85;flex-shrink:1;max-width:72px;margin-left:2px;font-size:10px;overflow:hidden}.gantt-panel-assignee-area{border:1.5px dashed var(--color-border,#d0d0d0);cursor:pointer;background:var(--color-panel-bg,#fff);border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.gantt-panel-assignee-area:hover{border-color:var(--color-primary,#1a73e8);background:var(--color-bg,#f5f5f5)}.gantt-panel-assignee-empty{color:var(--color-text-sub,#aaa);font-size:12px}.gantt-panel-assignee-chip{background:var(--color-bg,#f0f4ff);border:1px solid var(--color-border,#d0d8f0);color:var(--color-text-main,#1a1a1a);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.gantt-assignee-provisional{color:#e65c00;background:#fff3e0;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700;line-height:1.4}.gantt-panel-assignee-edit-hint{color:var(--color-primary,#1a73e8);flex-shrink:0;margin-left:auto;font-size:11px}.gantt-picker-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gantt-picker-modal{background:var(--color-panel-bg,#fff);border-radius:10px;flex-direction:column;width:min(680px,96vw);height:min(82vh,700px);display:flex;overflow:hidden;box-shadow:0 10px 48px #00000047}.gantt-picker-header{flex-shrink:0;padding:20px 24px 0}.gantt-picker-title-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.gantt-picker-title{color:var(--color-text-main,#1a1a1a);font-size:17px;font-weight:700}.gantt-picker-close-btn{width:28px;height:28px;color:var(--color-text-sub,#888);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.gantt-picker-close-btn:hover{background:var(--color-bg,#f5f5f5);color:var(--color-text-main,#333)}.gantt-picker-item-label{color:var(--color-text-sub,#666);white-space:nowrap;text-overflow:ellipsis;margin-bottom:14px;font-size:12px;overflow:hidden}.gantt-picker-modes{gap:8px;margin-bottom:14px;display:flex}.gantt-picker-mode-btn{border:1px solid var(--color-border,#e0e0e0);background:var(--color-panel-bg,#fff);cursor:pointer;color:var(--color-text-main,#1a1a1a);border-radius:20px;padding:7px 16px;font-family:inherit;font-size:13px;transition:background .15s,border-color .15s,color .15s}.gantt-picker-mode-btn:hover{background:var(--color-bg,#f5f5f5)}.gantt-picker-mode-btn--active{background:var(--color-primary,#1a73e8);border-color:var(--color-primary,#1a73e8);color:#fff}.gantt-picker-mode-btn--active:hover{background:var(--color-primary,#1a73e8)}.gantt-picker-search-row{gap:8px;margin-bottom:12px;display:flex}.gantt-picker-search-input{border:1px solid var(--color-border,#e0e0e0);color:var(--color-text-main,#1a1a1a);background:var(--color-panel-bg,#fff);border-radius:6px;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:14px}.gantt-picker-search-input:focus{border-color:var(--color-primary,#1a73e8)}.gantt-picker-search-btn{background:var(--color-primary,#1a73e8);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:8px 18px;font-family:inherit;font-size:13px}.gantt-picker-search-btn:disabled{opacity:.4;cursor:default}.gantt-picker-candidates{border-top:1px solid var(--color-border,#e8e8e8);flex:1;padding:0 4px;overflow-y:auto}.gantt-picker-candidate-row{border-bottom:1px solid var(--color-bg,#f5f5f5);cursor:pointer;align-items:center;gap:14px;padding:12px 20px;transition:background .1s;display:flex}.gantt-picker-candidate-row:hover{background:var(--color-bg,#f5f5f5)}.gantt-picker-candidate-check{width:18px;height:18px;accent-color:var(--color-primary,#1a73e8);cursor:pointer;flex-shrink:0}.gantt-picker-candidate-info{flex:1;min-width:0}.gantt-picker-candidate-name{color:var(--color-text-main,#1a1a1a);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.gantt-picker-candidate-sub{color:var(--color-text-sub,#777);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12px;overflow:hidden}.gantt-picker-candidate-badges{flex-shrink:0;gap:4px;display:flex}.gantt-picker-badge{color:var(--color-primary,#1a73e8);white-space:nowrap;background:#e3f0ff;border-radius:4px;padding:2px 7px;font-size:11px}.gantt-picker-empty,.gantt-picker-loading{text-align:center;color:var(--color-text-sub,#aaa);padding:48px 24px;font-size:13px}.gantt-picker-error{color:var(--color-danger,#e53935);padding:24px;font-size:13px}.gantt-picker-footer{border-top:1px solid var(--color-border,#e0e0e0);background:var(--color-panel-bg,#fff);flex-shrink:0;align-items:center;gap:10px;padding:16px 24px;display:flex}.gantt-picker-footer-count{color:var(--color-text-sub,#888);flex:1;font-size:13px}.gantt-picker-footer-count--selected{color:var(--color-primary,#1a73e8);font-weight:600}.gantt-toolbar-btn--primary{background:var(--color-primary,#1a73e8);color:#fff;border-color:var(--color-primary,#1a73e8)}.gantt-toolbar-btn--primary:hover{background:#1565c0;border-color:#1565c0}.gantt-picker-work-type-row{margin-top:10px}.gantt-picker-work-type-select{border:1px solid var(--color-border,#e0e0e0);width:100%;color:var(--color-text-main,#1a1a1a);background:var(--color-panel-bg,#fff);cursor:pointer;box-sizing:border-box;border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.gantt-picker-work-type-select:focus{border-color:var(--color-primary,#1a73e8)}.gantt-pin--clickable{pointer-events:auto;cursor:grab}.gantt-pin--clickable:hover .gantt-pin-label{text-decoration:underline}.gantt-pin--draggable{pointer-events:auto;cursor:grab}.gantt-pin--drag-ghost{pointer-events:none;opacity:.85;z-index:10}body.gantt-pin-drag-active,body.gantt-pin-drag-active *{cursor:grabbing!important}.gantt-pin-popup{z-index:1000;background:#fff;border:1px solid #bbb;border-radius:6px;min-width:220px;padding:12px;position:fixed;box-shadow:0 4px 16px #0000002e}.gantt-pin-popup-title{color:#333;margin-bottom:8px;font-size:12px;font-weight:700}.gantt-pin-popup-date-input{box-sizing:border-box;border:1px solid #bbb;border-radius:4px;width:100%;margin-bottom:8px;padding:4px 6px;font-size:13px}.gantt-pin-popup-error{color:#e53935;margin-bottom:6px;font-size:11px}.gantt-pin-popup-actions{gap:8px;display:flex}.gantt-pin-popup-btn{cursor:pointer;background:#f5f5f5;border:1px solid #bbb;border-radius:4px;flex:1;padding:4px 8px;font-size:12px}.gantt-pin-popup-btn--save{color:#fff;background:#1976d2;border-color:#1565c0}.gantt-pin-popup-btn--save:disabled{cursor:not-allowed;background:#90caf9;border-color:#90caf9}.gantt-pin-popup-btn--cancel:disabled{opacity:.6;cursor:not-allowed}.gantt-panel-apply-children-btn{width:100%;font-size:13px;font-weight:var(--font-weight-medium,500);color:var(--color-primary,#1a73e8);background:var(--status-primary-bg,#e8f0fe);border:1px solid var(--status-primary-border,#c5d8fb);border-radius:var(--radius-button,4px);cursor:pointer;text-align:center;padding:7px 12px;transition:background .15s}.gantt-panel-apply-children-btn:hover:not(:disabled){background:#d2e3fc}.gantt-panel-apply-children-btn:disabled{color:var(--color-text-disabled,#bbb);background:var(--color-bg,#f5f5f5);border-color:var(--color-border,#e0e0e0);cursor:not-allowed}.gantt-panel-help-text{color:var(--color-text-sub,#666);text-align:center;margin-top:5px;font-size:12px}.gantt-toolbar-btn--template{color:var(--color-primary,#1a73e8);border-color:var(--status-primary-border,#c5d8fb);background:var(--status-primary-bg,#e8f0fe)}.gantt-toolbar-btn--template:hover{background:#d2e3fc}.gantt-toolbar-btn--shift{color:var(--color-primary,#1a73e8);border-color:var(--status-primary-border,#c5d8fb);background:var(--status-primary-bg,#e8f0fe)}.gantt-toolbar-btn--shift:hover{background:#d2e3fc}.gantt-shift-modal-backdrop{z-index:1100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gantt-shift-modal{background:var(--color-panel-bg,#fff);border:1px solid var(--color-border,#e0e0e0);border-radius:var(--radius-card,8px);flex-direction:column;min-width:340px;max-width:440px;padding:0;display:flex;box-shadow:0 8px 32px #0000002e}.gantt-shift-modal-header{border-bottom:1px solid var(--color-border,#e0e0e0);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.gantt-shift-modal-title{font-size:var(--font-size-body,14px);font-weight:var(--font-weight-bold,600);color:var(--color-text-main,#1a1a1a)}.gantt-shift-modal-close{color:var(--color-text-sub,#888);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px;line-height:1}.gantt-shift-modal-close:hover{background:var(--color-border,#e0e0e0);color:var(--color-text-main,#333)}.gantt-shift-modal-body{padding:20px}.gantt-shift-field{flex-direction:column;gap:6px;display:flex}.gantt-shift-label{font-size:var(--font-size-caption,12px);color:var(--color-text-sub,#666)}.gantt-shift-required{color:var(--color-danger,#ea4335)}.gantt-shift-input{border:1px solid var(--color-border,#e0e0e0);border-radius:var(--radius-button,4px);width:100%;font-size:var(--font-size-body,14px);color:var(--color-text-main,#1a1a1a);background:var(--color-panel-bg,#fff);box-sizing:border-box;padding:7px 10px}.gantt-shift-input:focus{border-color:var(--color-primary,#1a73e8);outline:none;box-shadow:0 0 0 2px #1a73e826}.gantt-shift-input--error{border-color:var(--color-danger,#ea4335)}.gantt-shift-field-error{font-size:var(--font-size-caption,12px);color:var(--color-danger,#ea4335);margin:0}.gantt-shift-hint{color:var(--color-text-sub,#888);margin:0;font-size:11px}.gantt-shift-modal-footer{border-top:1px solid var(--color-border,#e0e0e0);justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}.gantt-shift-btn{border-radius:var(--radius-button,4px);font-size:var(--font-size-caption,12px);font-weight:var(--font-weight-medium,500);cursor:pointer;border:1px solid var(--color-border,#e0e0e0);padding:6px 18px}.gantt-shift-btn--cancel{background:var(--color-panel-bg,#fff);color:var(--color-text-main,#333)}.gantt-shift-btn--cancel:hover{background:var(--color-bg,#f5f5f5)}.gantt-shift-btn--execute{background:var(--color-primary,#1a73e8);color:#fff;border-color:var(--color-primary,#1a73e8)}.gantt-shift-btn--execute:hover{background:#1565c0;border-color:#1565c0}.gantt-toolbar-btn--collapse{color:var(--color-text-sub,#666);padding:4px 8px;font-size:11px}.gantt-template-modal-backdrop{z-index:200;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gantt-template-modal{background:var(--color-panel-bg,#fff);border-radius:var(--radius-card,8px);flex-direction:column;width:420px;max-width:calc(100vw - 32px);display:flex;box-shadow:0 4px 24px #0000002e}.gantt-template-modal-header{border-bottom:1px solid var(--color-border,#e0e0e0);justify-content:space-between;align-items:center;padding:16px 16px 12px;display:flex}.gantt-template-modal-title{font-size:15px;font-weight:var(--font-weight-bold,600);color:var(--color-text-main,#1a1a1a)}.gantt-template-modal-body{flex-direction:column;gap:14px;padding:16px;display:flex}.gantt-template-modal-footer{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.gantt-template-required{color:#e53935}.gantt-panel-input--error{outline-color:#e53935;border-color:#e53935!important}.gantt-template-field-error{color:#e53935;margin-top:4px;font-size:12px}.gantt-template-save-error{color:#e53935;font-size:13px}.gantt-template-save-success{color:var(--color-primary,#1a73e8);text-align:center;padding:20px 0 8px;font-size:14px}:root{--overall-left-col-width:220px;--overall-day-width:32px;--overall-row-height:36px;--overall-date-header-height:66px}.overall-schedule-page{height:calc(100vh - var(--height-header,52px) - 2 * var(--space-page-y,16px));flex-direction:column;min-height:400px;display:flex;overflow:hidden}.overall-schedule-toolbar{border-bottom:var(--border-width-base,1px) solid var(--color-border,#e0e0e0);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 0;display:flex}.overall-schedule-toolbar-group{align-items:center;gap:4px;display:flex}.overall-schedule-toolbar-label{font-size:var(--font-size-caption,12px);color:var(--color-text-sub,#666);white-space:nowrap}.overall-schedule-toolbar input[type=date],.overall-schedule-toolbar select{font-size:var(--font-size-caption,12px);border:var(--border-width-base,1px) solid var(--color-border,#e0e0e0);border-radius:var(--radius-button,4px);background:var(--color-panel-bg,#fff);color:var(--color-text-main,#1a1a1a);padding:3px 6px}.overall-schedule-toolbar-checkbox{font-size:var(--font-size-caption,12px);color:var(--color-text-main,#1a1a1a);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:flex}.overall-schedule-toolbar-placeholder{font-size:var(--font-size-caption,12px);color:var(--color-text-sub,#666);border:var(--border-width-base,1px) solid var(--color-border,#e0e0e0);border-radius:var(--radius-button,4px);background:var(--color-bg,#f5f5f5);cursor:not-allowed;opacity:.6;padding:3px 10px}.overall-schedule-toolbar-select{font-size:var(--font-size-caption,12px);border:var(--border-width-base,1px) solid var(--color-border,#e0e0e0);border-radius:var(--radius-button,4px);background:var(--color-panel-bg,#fff);color:var(--color-text-main,#1a1a1a);max-width:130px;padding:3px 6px}.overall-schedule-toolbar-select:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg,#f5f5f5)}.overall-schedule-toolbar-divider{background:var(--color-border,#e0e0e0);width:1px;height:18px;margin:0 4px}.overall-schedule-toolbar-spacer{flex:1}.overall-schedule-btn{font-size:var(--font-size-caption,12px);border:var(--border-width-base,1px) solid var(--color-border,#e0e0e0);border-radius:var(--radius-button,4px);background:var(--color-panel-bg,#fff);color:var(--color-text-main,#1a1a1a);cursor:pointer;white-space:nowrap;padding:4px 12px}.overall-schedule-btn:hover{background:var(--color-bg,#f5f5f5)}.overall-schedule-btn--primary{background:var(--color-primary,#1976d2);color:#fff;border-color:var(--color-primary,#1976d2)}.overall-schedule-btn--primary:hover{opacity:.88}.overall-schedule-summary{font-size:var(--font-size-caption,12px);color:var(--color-text-sub,#666);border-bottom:var(--border-width-base,1px) solid var(--color-border,#e0e0e0);flex-shrink:0;align-items:center;gap:16px;padding:5px 0;display:flex}.overall-schedule-summary-readonly{color:var(--color-text-sub,#666);margin-left:auto;font-size:11px;font-style:italic}.overall-schedule-frame{border:var(--border-width-base,1px) solid var(--color-border,#e0e0e0);border-radius:var(--radius-card,6px);background:var(--color-panel-bg,#fff);flex:1;margin-top:4px;display:flex;overflow:hidden}.overall-schedule-left{width:var(--overall-left-col-width,220px);border-right:2px solid var(--color-border,#e0e0e0);flex-direction:column;flex-shrink:0;min-width:120px;display:flex;overflow:hidden}.overall-schedule-left-header{height:var(--overall-date-header-height,48px);font-size:var(--font-size-caption,12px);color:var(--color-text-sub,#666);background:var(--color-table-header-bg,#f8f8f8);border-bottom:var(--border-width-base,1px) solid var(--color-border,#e0e0e0);flex-shrink:0;align-items:center;padding:0 12px;font-weight:600;display:flex}.overall-schedule-left-body{flex:1;overflow:hidden auto}.overall-schedule-left-row{height:var(--overall-row-height,36px);font-size:var(--font-size-body,13px);color:var(--color-text-main,#1a1a1a);cursor:default;border-bottom:1px solid #d7dde5;align-items:center;gap:6px;padding:0 8px;display:flex}.overall-schedule-left-row:hover{background:var(--color-table-row-hover,#f5f5f5)}.overall-schedule-expand-btn{cursor:pointer;width:18px;height:18px;color:var(--color-text-sub,#666);background:0 0;border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:11px;line-height:1;display:flex}.overall-schedule-expand-btn:hover{background:var(--color-border,#e0e0e0)}.overall-schedule-expand-btn-placeholder{flex-shrink:0;width:18px;display:inline-block}.overall-schedule-project-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-body,13px);flex:1;overflow:hidden}.overall-schedule-timeline{flex-direction:column;flex:1;display:flex;overflow:hidden}.overall-schedule-timeline-scroll{cursor:grab;flex:1;position:relative;overflow:auto}.overall-schedule-timeline-inner{flex-direction:column;display:flex;position:relative}.overall-schedule-date-header{height:var(--overall-date-header-height,66px);background:var(--color-table-header-bg,#f8f8f8);z-index:2;border-bottom:1px solid #d7dde5;flex-direction:column;display:flex;position:sticky;top:0}.overall-schedule-date-header-row{flex-direction:row;flex-shrink:0;height:22px;display:flex}.overall-schedule-date-header-row--month{border-bottom:1px solid #d7dde5}.overall-schedule-date-header-row--weekday{border-top:1px solid #d7dde5}.overall-schedule-date-cell-month{color:var(--color-text-main,#333);white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:var(--color-bg,#f9f9f9);border-right:1px solid #d7dde5;flex-shrink:0;justify-content:flex-start;align-items:center;height:22px;padding-left:6px;font-size:11px;font-weight:600;display:flex;overflow:hidden}.overall-schedule-date-cell{width:var(--overall-day-width,32px);color:var(--color-text-sub,#666);white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;border-right:1px solid #d7dde5;flex-shrink:0;justify-content:center;align-items:center;height:22px;font-size:11px;display:flex;overflow:hidden}.overall-schedule-date-cell--today{color:var(--color-primary,#1976d2);background:#e8f4fd;font-weight:600}.overall-schedule-date-cell--sun{color:#c0392b;background:#bebec838}.overall-schedule-date-cell--sat{color:#2980b9}.overall-schedule-timeline-body{background-color:#fff;background-image:repeating-linear-gradient(90deg,#0000 0 31px,#d7dde5 31px 32px);position:relative}.overall-schedule-timeline-row{height:var(--overall-row-height,36px);box-sizing:border-box;border-bottom:1px solid #d7dde5;width:100%;display:block;position:relative}.overall-schedule-timeline-row:hover{background:var(--color-table-row-hover,#f5f5f5)}.overall-schedule-timeline-cell{width:var(--overall-day-width,32px);border-right:var(--border-width-base,1px) solid var(--color-border,#e0e0e0);flex-shrink:0}.overall-schedule-col-bg{pointer-events:none;background:#bebec829;position:absolute;top:0;bottom:0}.overall-schedule-today-line{background:var(--color-primary,#1976d2);opacity:.7;pointer-events:none;z-index:3;width:2px;position:absolute;top:0;bottom:0}.overall-schedule-state{color:var(--color-text-sub,#666);font-size:var(--font-size-body,13px);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:40px 0;display:flex}.overall-schedule-state--error{color:#c0392b}.overall-schedule-state-detail{color:var(--color-text-sub,#999);font-size:11px}.overall-schedule-name--link{cursor:pointer}.overall-schedule-name--link:hover{text-decoration:underline}.overall-schedule-left-row--phase{font-size:var(--font-size-caption,12px);background:#fafafa;padding-left:20px}.overall-schedule-left-row--task{font-size:var(--font-size-caption,12px);background:#fff;padding-left:36px}.overall-schedule-item-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-caption,12px);color:var(--color-text-main,#1a1a1a);flex:1;overflow:hidden}.overall-schedule-row--phase,.overall-schedule-row--task{background:0 0}.overall-schedule-row--phase:hover,.overall-schedule-row--task:hover{background:var(--color-table-row-hover,#f5f5f5)}.overall-schedule-bar{cursor:pointer;z-index:1;box-sizing:border-box;border-radius:3px;align-items:center;min-width:2px;padding:0 5px;transition:opacity .1s;display:flex;position:absolute;overflow:hidden}.overall-schedule-bar:hover{opacity:.82}.overall-schedule-bar--project{border:1.5px solid #d4b800;height:30px;top:3px}.overall-schedule-bar--phase{border:1px solid #0000002e;height:10px;padding:0;top:23px}.overall-schedule-bar--task{border:1px solid #0000001f;height:30px;top:3px}.overall-schedule-bar-label{text-overflow:ellipsis;white-space:nowrap;color:#333;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:13px;line-height:1;overflow:hidden}.overall-schedule-phase-label{text-overflow:ellipsis;white-space:nowrap;color:#333;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;padding:0 5px;font-size:13px;line-height:1.2;position:absolute;top:3px;overflow:hidden}.overall-schedule-date-missing{color:var(--color-text-sub,#bbb);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:10px;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.overall-schedule-pagination-count{white-space:nowrap}.overall-schedule-pagination{align-items:center;gap:4px;display:flex}.overall-schedule-btn--page{padding:2px 8px;font-size:11px}.overall-schedule-btn--page:disabled{opacity:.4;cursor:not-allowed}.overall-schedule-pagination-info{color:var(--color-text-sub,#666);white-space:nowrap;text-align:center;min-width:36px;font-size:11px}.overall-schedule-portrait-guidance{text-align:center;background:#eef2ff;border:1px solid #c5d8fb;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:12px;margin:4px 0;padding:16px;display:none}.overall-schedule-portrait-guidance-text{color:#444;font-size:14px;line-height:1.65}.overall-schedule-portrait-guidance-hint{border:1.5px solid var(--color-primary,#1976d2);color:var(--color-primary,#1976d2);-webkit-user-select:none;user-select:none;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 18px;font-size:13px;display:inline-flex}@media (width<=768px){:root{--overall-left-col-width:150px}.overall-schedule-toolbar{gap:6px}}@media (width<=768px) and (orientation:portrait){.overall-schedule-portrait-guidance{display:flex}.overall-schedule-page{height:auto;min-height:calc(100svh - var(--height-header,52px) - 2 * var(--space-page-y,16px));overflow-y:auto}.overall-schedule-frame{flex:none;height:340px;min-height:260px}}.mt-month-nav{margin-bottom:var(--space-page-y);align-items:center;gap:8px;display:flex}.mt-month-nav button{height:var(--height-input);padding:0 var(--space-input-padding-x);font-size:var(--font-size-base);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-panel-bg);color:var(--color-text-main);cursor:pointer}.mt-month-nav button:hover{border-color:var(--color-primary);color:var(--color-primary)}.mt-month-label{font-size:var(--font-size-section-title);font-weight:var(--font-weight-bold);color:var(--color-text-main);text-align:center;min-width:120px}.mt-summary{margin-bottom:var(--space-page-y);flex-wrap:wrap;gap:16px;display:flex}.mt-summary-card{border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel-bg);box-shadow:var(--shadow-card);min-width:160px;padding:12px 20px}.mt-summary-card-label{font-size:var(--font-size-caption);color:var(--color-text-sub);margin-bottom:4px}.mt-summary-card-value{font-size:var(--font-size-section-title);font-weight:var(--font-weight-bold);color:var(--color-text-main)}.mt-summary-card-value.candidate{color:var(--color-primary)}.mt-summary-card-value.warning{color:var(--color-warning)}.mt-tabs{border-bottom:2px solid var(--color-border);gap:0;margin-bottom:24px;display:flex}.mt-tab{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-sub);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 20px;transition:color .15s,border-color .15s}.mt-tab:hover{color:var(--color-primary)}.mt-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.mt-date-block{margin-bottom:32px}.mt-date-block-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.mt-date-block-title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-bold);color:var(--color-text-main)}.mt-batch-btn{height:var(--height-input);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border:var(--border-width-base) solid var(--color-primary);border-radius:var(--radius-input);background:var(--color-primary);color:#fff;cursor:pointer;padding:0 20px;transition:opacity .15s}.mt-batch-btn:hover{opacity:.85}.mt-batch-btn:disabled{opacity:.4;cursor:default}.mt-table-wrap{overflow-x:auto}.mt-table{border-collapse:collapse;width:100%;font-size:var(--font-size-table)}.mt-table th{padding:var(--space-table-cell-y) var(--space-table-cell-x);font-weight:var(--font-weight-bold);color:var(--table-header-text);background:var(--color-table-header-bg,#f5f5f5);text-align:left;white-space:nowrap;border-bottom:var(--border-width-base) solid var(--color-border)}.mt-table td{padding:var(--space-table-cell-y) var(--space-table-cell-x);color:var(--color-text-main);border-bottom:var(--border-width-base) solid var(--color-border);white-space:nowrap;vertical-align:middle}.mt-table tr.vendor-row{background:var(--color-panel-bg);font-weight:var(--font-weight-medium)}.mt-table tr.vendor-row:hover{background:var(--color-hover-bg,#f8f8f8)}.mt-table tr.payable-row{background:var(--color-bg,#fafafa)}.mt-table tr.payable-row td{font-size:calc(var(--font-size-table) - 1px);color:var(--color-text-sub);padding-left:calc(var(--space-table-cell-x) + 24px)}.mt-expand-btn{cursor:pointer;color:var(--color-text-sub);background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1}.mt-expand-btn:hover{color:var(--color-primary)}.mt-amount{text-align:right;font-variant-numeric:tabular-nums}.mt-status-badge{font-size:calc(var(--font-size-caption) - 1px);font-weight:var(--font-weight-medium);border-radius:var(--radius-small,4px);border:var(--border-width-base) solid;white-space:nowrap;padding:1px 8px;display:inline-block}.mt-status-badge.candidate{border-color:var(--color-success);color:var(--color-success);background:var(--status-success-bg)}.mt-status-badge.blocked{border-color:var(--color-warning);color:var(--color-warning);background:var(--status-warning-bg)}.mt-status-badge.batched{border-color:var(--color-primary);color:var(--color-primary);background:var(--status-info-bg)}.mt-status-badge.cancelled{border-color:var(--color-disabled);color:var(--color-disabled);background:var(--status-disabled-bg)}.mt-status-badge.paid{border-color:var(--color-success);color:var(--color-success);background:var(--status-success-bg)}.mt-blocked-section{margin-top:8px}.mt-blocked-toggle{cursor:pointer;font-size:var(--font-size-base);color:var(--color-text-sub);background:0 0;border:none;align-items:center;gap:6px;padding:8px 0;display:flex}.mt-blocked-toggle:hover{color:var(--color-warning)}.mt-link-btn{cursor:pointer;font-size:var(--font-size-caption);color:var(--color-primary);white-space:nowrap;background:0 0;border:none;padding:0;text-decoration:underline}.mt-link-btn:hover{opacity:.75}.mt-modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mt-modal{background:var(--color-panel-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-popover);width:90vw;max-width:600px;max-height:85vh;padding:28px 32px;overflow-y:auto}.mt-modal-title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-bold);color:var(--color-text-main);margin:0 0 20px}.mt-modal-info-row{flex-wrap:wrap;gap:24px;margin-bottom:16px;display:flex}.mt-modal-info-item{flex-direction:column;gap:2px;display:flex}.mt-modal-info-label{font-size:var(--font-size-caption);color:var(--color-text-sub)}.mt-modal-info-value{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-main)}.mt-modal-info-value.large{font-size:var(--font-size-section-title);color:var(--color-primary)}.mt-modal-warn{border:var(--border-width-base) solid var(--color-warning);border-radius:var(--radius-input);background:var(--status-warning-bg);font-size:var(--font-size-caption);color:var(--color-warning);margin-bottom:20px;padding:12px 16px;line-height:1.6}.mt-modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.mt-modal-actions button{height:var(--height-input);font-size:var(--font-size-base);border-radius:var(--radius-input);cursor:pointer;padding:0 20px}.mt-btn-cancel-modal{border:var(--border-width-base) solid var(--color-border);background:var(--color-panel-bg);color:var(--color-text-main)}.mt-btn-cancel-modal:hover{border-color:var(--color-text-sub)}.mt-btn-primary{border:var(--border-width-base) solid var(--color-primary);background:var(--color-primary);color:#fff;font-weight:var(--font-weight-medium)}.mt-btn-primary:hover{opacity:.85}.mt-btn-primary:disabled{opacity:.4;cursor:default}.mt-btn-danger{border:var(--border-width-base) solid var(--color-error,#e74c3c);background:var(--color-panel-bg);color:var(--color-error,#e74c3c)}.mt-btn-danger:hover{background:var(--color-error,#e74c3c);color:#fff}.mt-empty{text-align:center;color:var(--color-text-sub);font-size:var(--font-size-caption);padding:40px}.mt-batch-item-card{border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);margin-bottom:12px;overflow:hidden}.mt-batch-item-header{background:var(--color-table-header-bg,#f5f5f5);cursor:pointer;align-items:center;gap:12px;padding:12px 16px;display:flex}.mt-batch-item-header:hover{background:var(--color-hover-bg,#efefef)}.mt-batch-item-body{padding:16px}.mt-vendor-item-card{border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-input);margin-bottom:8px;overflow:hidden}.mt-vendor-item-header{background:var(--color-panel-bg);cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.mt-vendor-item-header:hover{background:var(--color-hover-bg,#f8f8f8)}.mt-vendor-item-body{background:var(--color-bg,#fafafa);border-top:var(--border-width-base) solid var(--color-border);padding:12px}.mt-bank-info{font-size:var(--font-size-caption);color:var(--color-text-sub);margin-bottom:8px}.mt-source-list{margin:0;padding:0;list-style:none}.mt-source-item{font-size:var(--font-size-caption);border-bottom:var(--border-width-base) solid var(--color-border);justify-content:space-between;padding:4px 0;display:flex}.mt-source-item:last-child{border-bottom:none}.mt-vendor-block{border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-input);margin-bottom:6px;overflow:hidden}.mt-vendor-row{background:var(--color-panel-bg);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 14px;display:flex}.mt-vendor-row:hover{background:var(--color-hover-bg,#f8f8f8)}.mt-expand-icon{color:var(--color-text-sub);flex-shrink:0;width:16px;font-size:12px}.mt-vendor-name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-main);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mt-vendor-badges{flex-shrink:0;gap:6px;display:flex}.mt-vendor-amount{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-main);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;min-width:100px}.mt-vendor-children{border-top:var(--border-width-base) solid var(--color-border);background:var(--color-bg,#fafafa)}.mt-payable-row{border-bottom:var(--border-width-base) solid var(--color-border);font-size:calc(var(--font-size-table) - 1px);align-items:center;gap:8px;padding:7px 14px 7px 36px;display:flex}.mt-payable-row:last-child{border-bottom:none}.mt-payable-row.confirmed{background:var(--status-info-bg,#f0f5ff)}.mt-payable-check{flex-shrink:0;align-items:center;width:20px;display:flex}.mt-payable-name{color:var(--color-text-main);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mt-payable-amount{font-variant-numeric:tabular-nums;text-align:right;min-width:90px;color:var(--color-text-main)}.mt-payable-status{flex-shrink:0;justify-content:flex-end;align-items:center;gap:4px;min-width:160px;display:flex}.mt-status-badge.unconfirmed{border-color:var(--color-text-sub);color:var(--color-text-sub);background:0 0}.mt-selection-bar{background:var(--color-primary);color:#fff;border-radius:var(--radius-input);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:10px 20px;display:flex;position:sticky;bottom:16px;box-shadow:0 4px 12px #00000026}.mr-back-btn{height:var(--height-input);padding:0 var(--space-input-padding-x);font-size:var(--font-size-base);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-panel-bg);color:var(--color-text-main);cursor:pointer;align-items:center;margin-bottom:12px;display:inline-flex}.mr-back-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.mr-month-nav{margin-bottom:var(--space-page-y);align-items:center;gap:8px;display:flex}.mr-month-nav button{height:var(--height-input);padding:0 var(--space-input-padding-x);font-size:var(--font-size-base);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-panel-bg);color:var(--color-text-main);cursor:pointer}.mr-month-nav button:hover{border-color:var(--color-primary);color:var(--color-primary)}.mr-month-label{font-size:var(--font-size-section-title);font-weight:var(--font-weight-bold);color:var(--color-text-main);text-align:center;min-width:120px}.mr-summary{margin-bottom:var(--space-page-y);flex-wrap:wrap;gap:16px;display:flex}.mr-summary-card{border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-panel-bg);box-shadow:var(--shadow-card);min-width:160px;padding:12px 20px}.mr-summary-card-label{font-size:var(--font-size-caption);color:var(--color-text-sub);margin-bottom:4px}.mr-summary-card-value{font-size:var(--font-size-section-title);font-weight:var(--font-weight-bold);color:var(--color-text-main)}.mr-summary-card-sub{font-size:var(--font-size-caption);color:var(--color-text-sub);margin-top:2px}.mr-list-container{border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);overflow:hidden}.mr-parent-header,.mr-parent-row{grid-template-columns:minmax(140px,2.5fr) minmax(44px,.6fr) minmax(90px,1.1fr) minmax(90px,1.1fr) minmax(90px,1.1fr) minmax(90px,1.1fr) minmax(140px,1.5fr);align-items:center;column-gap:8px;display:grid}.mr-parent-header{min-height:40px;font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);color:var(--table-header-text,var(--color-text-sub));background:var(--color-table-header-bg,#f5f5f5);border-bottom:var(--border-width-base) solid var(--color-border);white-space:nowrap;padding:0 14px}.mr-parent-row{background:var(--color-panel-bg);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:54px;font-size:var(--font-size-table);padding:6px 14px}.mr-parent-row:hover{background:var(--color-hover-bg,#f8f8f8)}.mr-group:not(:last-child){border-bottom:var(--border-width-base) solid var(--color-border)}.mr-parent-recipient{align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.mr-expand-button{cursor:pointer;color:var(--color-text-sub);background:0 0;border:none;flex-shrink:0;padding:0;font-size:11px;line-height:1}.mr-expand-button:hover{color:var(--color-primary)}.mr-recipient-name{font-weight:var(--font-weight-medium);color:var(--color-text-main);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mr-money-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.mr-date-cell{white-space:nowrap;line-height:1.3;font-size:var(--font-size-table);flex-direction:column;gap:2px;display:flex}.mr-date-cell>div{grid-template-columns:30px auto;column-gap:4px;display:grid}.mr-date-label{color:var(--color-text-sub)}.mr-status-cell{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px;display:flex}.mr-status-badge{font-size:calc(var(--font-size-caption) - 1px);font-weight:var(--font-weight-medium);border-radius:var(--radius-small,4px);border:var(--border-width-base) solid;white-space:nowrap;padding:1px 6px;display:inline-block}.mr-children{border-top:var(--border-width-base) solid var(--color-border)}.mr-child-header,.mr-child-row{grid-template-columns:minmax(140px,3fr) minmax(80px,1fr) minmax(90px,1fr) minmax(90px,1fr);align-items:center;column-gap:12px;display:grid}.mr-child-header{background:var(--color-table-header-bg,#f5f5f5);border-bottom:var(--border-width-base) solid var(--color-border);min-height:34px;font-size:12px;font-weight:var(--font-weight-bold);color:var(--table-header-text,var(--color-text-sub));white-space:nowrap;padding:0 30px}.mr-child-row{background:var(--color-bg,#fafafa);border-bottom:var(--border-width-base) solid var(--color-border);cursor:pointer;min-height:48px;font-size:var(--font-size-table);padding:7px 30px}.mr-child-row:last-child{border-bottom:none}.mr-child-row:hover{background:var(--color-hover-bg,#eef4ff)}.mr-empty{text-align:center;color:var(--color-text-sub);font-size:var(--font-size-caption);padding:40px}:root{--color-primary:#1677ff;--color-secondary:#6b7280;--color-success:#0b8f3a;--color-warning:#fa8c16;--color-danger:#ff4d4f;--color-info:#0ea5e9;--color-selected:#374151;--color-disabled:#9ca3af;--color-page-bg:#f3f4f6;--color-panel-bg:#fff;--color-sidebar-bg:#111827;--color-sidebar-text:#f9fafb;--color-sidebar-active-bg:#374151;--color-border:#d1d5db;--color-text-main:#111827;--color-text-sub:#6b7280;--color-table-header-bg:#f9fafb;--color-table-row-hover:#f3f4f6;--color-readonly-bg:#f9fafb;--color-editable-bg:#fff;--color-section-bg:#fff;--color-muted:var(--color-text-sub);--color-text:var(--color-text-main);--color-panel:var(--color-panel-bg);--color-bg:var(--color-page-bg);--color-actual-pending:#c46a16;--status-success-bg:#e8f8ef;--status-success-border:#bfebd0;--status-primary-bg:#eaf3ff;--status-primary-border:#cfe5ff;--status-warning-bg:#fff3e6;--status-warning-border:#ffd9b0;--status-danger-bg:#ffecef;--status-danger-border:#ffc9cf;--status-disabled-bg:#f1f3f5;--status-disabled-border:#d9dee5;--status-neutral-soft-bg:#f5f5f5;--status-neutral-soft-border:#e0e0e0;--status-neutral-soft-text:#666;--status-tentative-soft-bg:#fff8e0;--status-tentative-soft-border:#f5d76e;--status-tentative-soft-text:#d97706;--status-reported-soft-bg:#e8f4ff;--status-reported-soft-border:#9ecbff;--status-reported-soft-text:#1677ff;--status-complete-soft-bg:#f0ecff;--status-complete-soft-border:#c7b8ff;--status-complete-soft-text:#5b4cc4;--status-inspected-soft-bg:#e8f8ec;--status-inspected-soft-border:#9fd8ad;--status-inspected-soft-text:#16803a;--layout-sidebar-width:220px;--layout-main-width:1250px;--layout-min-width:1470px;--layout-header-search-min-width:260px;--layout-customer-search-min-width:380px;--space-page-x:24px;--space-page-y:24px;--space-sidebar-padding:16px;--space-sidebar-title-bottom:12px;--space-sidebar-item-y:10px;--space-sidebar-item-x:8px;--space-header-padding-y:12px;--space-header-padding-x:20px;--space-input-padding-y:8px;--space-input-padding-x:10px;--space-card-gap:12px;--space-card-row-gap:12px;--space-section-gap:12px;--space-form-gap:8px;--space-table-cell-x:8px;--space-table-cell-y:8px;--space-button-gap:12px;--height-header:48px;--height-table-header:40px;--height-table-row:40px;--height-input:36px;--height-button-small:28px;--height-button:36px;--height-button-large:44px;--textarea-min-height:80px;--popover-width:160px;--popover-item-height:36px;--font-family-base:"Segoe UI", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;--font-family-number:"Segoe UI", Arial, sans-serif;--font-size-page-title:24px;--font-size-section-title:18px;--font-size-body:16px;--font-size-caption:14px;--font-size-table:14px;--font-size-button:14px;--font-size-sidebar:14px;--font-size-label:14px;--font-size-xs:12px;--font-size-xxs:11px;--font-size-tiny:10px;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-card:8px;--radius-button:6px;--radius-input:6px;--radius-popover:6px;--radius-table:6px;--radius-small:4px;--shadow-card:0 1px 3px #1118271a;--shadow-popover:0 8px 24px #1118271f;--border-width-base:1px;--border-width-strong:2px;--button-normal-bg:#fff;--button-primary-bg:#1677ff;--button-primary-text:#fff;--button-secondary-bg:#6b7280;--button-secondary-text:#fff;--button-danger-bg:#ff4d4f;--button-danger-text:#fff;--button-disabled-bg:#9ca3af;--button-disabled-text:#f3f4f6;--button-link-text:#1677ff;--button-icon-bg:#fff;--button-icon-hover-bg:#f3f4f6;--popover-bg:#fff;--popover-border-color:#d1d5db;--popover-item-hover-bg:#f3f4f6;--popover-item-text:#111827;--popover-danger-text:#ff4d4f;--table-min-width:100%;--table-action-width:120px;--table-header-bg:#f9fafb;--table-header-text:#111827;--table-row-bg:#fff;--table-row-hover-bg:#f3f4f6;--table-row-selected-bg:#374151;--table-border-color:#d1d5db;--table-empty-text-color:#6b7280;--loading-text-color:#6b7280;--loading-bg:#f9fafb;--empty-text-color:#6b7280;--empty-bg:#fff;--error-text-color:#ff4d4f;--error-bg:#ffecef;--error-border-color:#ff4d4f;--detail-section-bg:#fff;--detail-section-header-bg:#f9fafb;--detail-section-border-color:#d1d5db;--detail-section-padding:24px;--input-placeholder-color:#6b7280;--input-focus-border-color:#1677ff;--modal-backdrop-bg:#11182773;--opacity-sidebar-title:.8;--m-overall-name-column-width:112px;--m-overall-assignee-column-width:54px;--m-overall-left-width:166px;--m-overall-toggle-width:32px;--m-overall-day-width:22px;--m-overall-project-bar-color:#ffd5d5;--m-overall-project-row-height:42px;--m-overall-phase-row-height:40px;--m-overall-task-row-height:36px;--m-overall-project-bar-height:16px;--m-overall-phase-bar-height:8px;--m-overall-task-bar-height:25px;--m-overall-project-font-size:13px;--m-overall-phase-font-size:12px;--m-overall-task-font-size:11px;--m-overall-month-header-height:24px;--m-overall-date-header-height:32px;--m-overall-today-cell-bg:#1677ff1f;--m-overall-today-text-color:#1677ff;--mobile-action-start-bg:var(--color-success);--mobile-action-report-bg:var(--color-primary);--mobile-action-complete-bg:var(--status-complete-soft-text);font-family:var(--font-family-base)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-family-base);font-size:var(--font-size-caption);color:var(--color-text-main);background:var(--color-page-bg);line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{height:100vh;display:flex;overflow:hidden}.app-shell__main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.app-shell__content{padding:var(--space-page-y) var(--space-page-x);flex:1;overflow:auto}.page{width:100%}.page-section{background:var(--color-panel-bg);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);margin-bottom:16px;padding:16px}.page-section__title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-bold);margin:0 0 12px}.page-grid{gap:var(--space-card-gap);grid-template-columns:repeat(3,1fr);display:grid}.page-grid--two{grid-template-columns:1fr 1fr}.project-card-list{gap:var(--space-card-gap);flex-direction:column;display:flex}.project-card-list__empty{color:var(--color-text-sub);font-size:var(--font-size-caption);margin:0}.project-card{background:var(--color-panel-bg);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:12px}.project-card--clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}.project-card--clickable:hover{border-color:var(--color-primary);box-shadow:var(--shadow-popover)}.project-card__name{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);color:var(--color-text-main);margin-bottom:4px;line-height:1.4}.project-card__customer{color:var(--color-text-sub);margin-bottom:4px;font-size:12px}.project-card__schedule{color:var(--color-text-main);margin-bottom:10px;font-size:12px}.project-card__statuses{flex-wrap:wrap;gap:6px;display:flex}.status-pill{font-size:11px;font-weight:var(--font-weight-medium);border:var(--border-width-base) solid transparent;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:3px 10px;transition:opacity .15s;display:inline-flex}.status-pill:hover{opacity:.85}.status-pill--warning{color:#be123c;background:#fff1f2;border-color:#fda4af}.status-pill--caution{color:#c2410c;background:#fff7ed;border-color:#fdba74}.status-pill--success{color:var(--color-success);background:var(--status-success-bg);border-color:var(--status-success-border)}.status-pill--neutral{color:#374151;background:#f3f4f6;border-color:#d1d5db}.status-pill--notApplicable{color:#9ca3af;background:#fff;border-color:#d1d5db;text-decoration:none;position:relative}.status-pill--notApplicable:after{content:"";pointer-events:none;background:#cbd5e1;height:1px;position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%)}.api-status{border-radius:var(--radius-small);opacity:.85;z-index:100;padding:4px 10px;font-size:11px;position:fixed;bottom:16px;right:16px}.api-status--connected{color:var(--color-success);background:var(--status-success-bg);border:var(--border-width-base) solid var(--status-success-border)}.api-status--disconnected{color:var(--color-danger);background:var(--status-danger-bg);border:var(--border-width-base) solid var(--status-danger-border)}.date-weekday{font-size:var(--font-size-caption);color:var(--color-text-sub);white-space:nowrap}.date-warning{color:var(--color-danger)}.flexible-date-input{flex-direction:column;gap:4px;display:flex}.flexible-date-input__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.flexible-date-input__text{width:160px;padding:var(--space-input-padding-y) var(--space-input-padding-x);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-editable-bg);color:var(--color-text-main);height:var(--height-input);font-size:var(--font-size-caption)}.flexible-date-input__calendar-btn{width:var(--height-input);height:var(--height-input);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-panel-bg);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}.flexible-date-input__calendar-btn:hover{background:var(--color-table-row-hover)}.flexible-date-input__picker{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.flexible-date-input__error{font-size:var(--font-size-caption)}.placeholder-page{background:var(--color-panel-bg);border:var(--border-width-base) dashed var(--color-border);border-radius:var(--radius-card);min-height:320px;color:var(--color-text-sub);font-size:var(--font-size-body);justify-content:center;align-items:center;display:flex}.top-page{height:calc(100vh - var(--height-header) - 2 * var(--space-page-y));flex-direction:column;gap:8px;min-height:480px;display:flex;overflow:hidden}.top-confirmation-bar{background:var(--color-panel-bg);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.top-confirmation-bar__left{flex-direction:column;gap:2px;display:flex}.top-confirmation-bar__title{font-size:var(--font-size-body);font-weight:var(--font-weight-bold);color:var(--color-text-main);line-height:1.4}.top-confirmation-bar__counts{font-size:var(--font-size-caption);color:var(--color-text-sub)}.top-confirmation-bar__date{font-size:var(--font-size-caption);color:var(--color-text-sub);white-space:nowrap;font-variant-numeric:tabular-nums}.top-board{gap:var(--space-card-gap);flex:1;grid-template-columns:1fr 1fr 1fr 1fr;min-height:410px;display:grid;overflow:hidden}.top-project-column{background:var(--color-panel-bg);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);min-width:0;box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.top-project-column__header{border-bottom:var(--border-width-base) solid var(--color-border);background:var(--color-table-header-bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px 8px;display:flex}.top-project-column__title{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);color:var(--color-text-main);margin:0;line-height:1.3}.top-project-column__count{font-size:11px;font-weight:var(--font-weight-medium);background:var(--color-border);color:var(--color-text-sub);border-radius:10px;flex-shrink:0;padding:1px 8px}.top-project-column__body{flex:1;min-height:0;padding:8px;overflow-y:auto}.top-right-column{gap:var(--space-section-gap);flex-direction:column;min-width:0;min-height:390px;display:flex;overflow:hidden}.top-side-block{background:var(--color-panel-bg);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);min-height:0;box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.top-side-block--completed{flex:1;min-height:44px}.top-side-block--memo,.top-side-block--recent{flex-shrink:0}.top-side-block--memo .top-side-block__body{max-height:160px;overflow-y:auto}.top-side-block--recent .top-side-block__body{max-height:92px;overflow-y:auto}.top-side-block__header{border-bottom:var(--border-width-base) solid var(--color-border);background:var(--color-table-header-bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px 8px;display:flex}.top-side-block__title{font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);color:var(--color-text-main);margin:0}.top-side-block__count{font-size:11px;font-weight:var(--font-weight-medium);background:var(--color-border);color:var(--color-text-sub);border-radius:10px;padding:1px 8px}.top-side-block__body{padding:8px;overflow:hidden}.top-side-block__body--scrollable{flex:1;min-height:0;overflow-y:auto}.top-memo-actions{gap:6px;margin-bottom:8px;display:flex}.top-memo-btn{border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-button);background:var(--color-panel-bg);color:var(--color-text-main);cursor:pointer;align-items:center;padding:4px 10px;font-size:12px;display:inline-flex}.top-memo-btn:disabled{cursor:not-allowed;opacity:.5;color:var(--color-text-sub)}.top-memo-list-label{color:var(--color-text-sub);margin:0 0 4px;font-size:12px}.top-memo-empty{color:var(--color-text-sub);margin:0;font-size:12px}.top-memo-list{margin:0;padding:0;list-style:none}.top-memo-list li{font-size:var(--font-size-caption);color:var(--color-text-main);border-bottom:var(--border-width-base) solid var(--color-border);cursor:pointer;border-radius:3px;padding:4px 2px;line-height:1.4}.top-memo-list li:last-child{border-bottom:none}.top-memo-list li:hover{background:var(--color-table-row-hover)}.memo-popup-backdrop{z-index:2000;background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.memo-popup{background:var(--color-panel-bg);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);width:min(520px,96vw);max-height:80vh;box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.memo-popup__header{border-bottom:var(--border-width-base) solid var(--color-border);background:var(--color-table-header-bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.memo-popup__title{font-size:var(--font-size-body);font-weight:var(--font-weight-bold);color:var(--color-text-main)}.memo-popup__close-btn{border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-button);background:var(--color-panel-bg);color:var(--color-text-sub);cursor:pointer;padding:3px 12px;font-size:12px}.memo-popup__body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.memo-popup__limit-msg{background:var(--status-warning-bg);border:var(--border-width-base) solid var(--status-warning-border);border-radius:var(--radius-card);font-size:var(--font-size-caption);color:var(--color-warning);margin:0;padding:10px 12px}.memo-popup__textarea{box-sizing:border-box;border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-input);width:100%;font-size:var(--font-size-caption);resize:vertical;min-height:140px;color:var(--color-text-main);background:var(--color-editable-bg);flex-shrink:0;padding:10px;font-family:inherit}.memo-popup__actions{flex-shrink:0;gap:8px;display:flex}.memo-popup__btn--primary{background:var(--button-primary-bg);color:var(--button-primary-text);border-radius:var(--radius-button);cursor:pointer;font-size:var(--font-size-caption);border:none;padding:6px 20px}.memo-popup__btn--primary:disabled{opacity:.45;cursor:not-allowed}.memo-popup__btn--secondary{border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-button);background:var(--color-panel-bg);color:var(--color-text-main);cursor:pointer;font-size:var(--font-size-caption);padding:6px 16px}.memo-popup__btn--danger{border:var(--border-width-base) solid var(--color-danger);border-radius:var(--radius-button);background:var(--color-panel-bg);color:var(--color-danger);cursor:pointer;font-size:var(--font-size-caption);padding:6px 14px}.memo-popup__btn--danger-sm{border:var(--border-width-base) solid var(--color-danger);border-radius:var(--radius-button);background:var(--color-panel-bg);color:var(--color-danger);cursor:pointer;white-space:nowrap;flex-shrink:0;padding:3px 10px;font-size:12px}.memo-popup__empty{color:var(--color-text-sub);font-size:var(--font-size-caption);text-align:center;margin:0;padding:24px 0}.memo-popup__back-btn{cursor:pointer;font-size:var(--font-size-caption);color:var(--color-primary);background:0 0;border:none;flex-shrink:0;padding:0;text-decoration:underline;display:inline-block}.memo-popup__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.memo-popup__list-item{border-bottom:var(--border-width-base) solid var(--color-border);align-items:center;gap:8px;padding:8px 4px;display:flex}.memo-popup__list-item:last-child{border-bottom:none}.memo-popup__list-item-btn{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;min-width:0;padding:0;display:flex}.memo-popup__list-item-btn:hover .memo-popup__list-title{color:var(--color-primary)}.memo-popup__list-title{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-main);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.memo-popup__list-preview{color:var(--color-text-sub);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.memo-popup__list-date{color:var(--color-text-sub);font-size:11px;display:block}.top-recent-empty{color:var(--color-text-sub);margin:0;font-size:12px}.top-recent-list{margin:0;padding:0;list-style:none}.top-recent-item{border-bottom:var(--border-width-base) solid var(--color-border);font-size:var(--font-size-caption);color:var(--color-text-main);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:4px 2px;line-height:1.4;overflow:hidden}.top-recent-item:last-child{border-bottom:none}.top-recent-item--clickable{cursor:pointer}.top-recent-item--clickable:hover{background:var(--color-table-row-hover)}.top-recent-item--clickable:focus{outline:2px solid var(--color-primary);outline-offset:1px}.top-recent-item__name{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-main)}.top-recent-item__action{color:var(--color-text-sub);margin-left:6px;font-size:12px}.top-recent-item__date{color:var(--color-text-sub);margin-top:1px;font-size:12px}.project-five-state-panel{background:var(--color-panel-bg);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);margin-bottom:var(--space-section-gap);box-shadow:var(--shadow-card);padding:20px}.project-five-state-panel__header{margin-bottom:16px}.project-five-state-panel__title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-bold);color:var(--color-text-main);margin:0 0 6px}.project-five-state-panel__desc{font-size:var(--font-size-caption);color:var(--color-text-sub);margin:0;line-height:1.5}.project-five-state-panel__rows{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.project-five-state-row{border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-card);background:var(--color-table-header-bg);padding:12px 14px}.project-five-state-row__top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.project-five-state-row__label-area{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.project-five-state-row__label{font-size:var(--font-size-body);font-weight:var(--font-weight-bold);color:var(--color-text-main)}.project-five-state-row__description{font-size:var(--font-size-caption);color:var(--color-text-sub);line-height:1.4}.project-five-state-row__select{border-radius:var(--radius-button);border:var(--border-width-base) solid var(--color-border);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);cursor:pointer;height:var(--height-button-small);font-family:var(--font-family-base);flex-shrink:0;padding:4px 8px}.project-five-state-row__select--pending{background:var(--status-disabled-bg);color:var(--color-text-sub);border-color:var(--status-disabled-border)}.project-five-state-row__select--ok{background:var(--status-success-bg);color:var(--color-success);border-color:var(--status-success-border)}.project-five-state-row__select--notApplicable{background:var(--status-disabled-bg);color:var(--color-disabled);border-color:var(--status-disabled-border)}.project-five-state-row__memo{width:100%;padding:var(--space-input-padding-y) var(--space-input-padding-x);border:var(--border-width-base) solid var(--color-border);border-radius:var(--radius-input);background:var(--color-editable-bg);color:var(--color-text-main);font-size:var(--font-size-caption);resize:vertical;box-sizing:border-box;min-height:50px;font-family:var(--font-family-base)}.project-five-state-row__memo::placeholder{color:var(--input-placeholder-color)}.project-five-state-panel__footer{align-items:center;gap:12px;display:flex}.project-five-state-panel__save-btn{height:var(--height-button);background:var(--button-primary-bg);color:var(--button-primary-text);border-radius:var(--radius-button);font-size:var(--font-size-button);font-weight:var(--font-weight-medium);cursor:pointer;font-family:var(--font-family-base);border:none;justify-content:center;align-items:center;padding:0 20px;display:inline-flex}.project-five-state-panel__save-btn:hover{opacity:.88}.project-five-state-panel__saved-msg{font-size:var(--font-size-caption);color:var(--color-success);font-weight:var(--font-weight-medium)}
