button:disabled {
    cursor: not-allowed;
    opacity: 0.48;
}

button.is-busy {
    cursor: wait;
    opacity: 0.62;
    pointer-events: none;
}

.quarter-time-picker {
    display: grid;
    grid-template-columns: repeat(2, minmax(72px, 1fr));
    gap: 6px;
    width: 100%;
}

.quarter-time-picker select,
.quarter-time-picker input {
    min-width: 0;
    width: 100%;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
    font: inherit;
}

.quarter-time-picker:has(input[type="date"]) {
    grid-template-columns: minmax(130px, 1.4fr) repeat(2, minmax(72px, 0.7fr));
}

#workSummary {
    width: min(680px, calc(100vw - 32px));
    max-width: 680px;
    overflow-x: hidden;
}

#summaryMeta {
    grid-template-columns: max-content minmax(60px, 1fr) max-content minmax(150px, 1.6fr);
    align-items: baseline;
    column-gap: 12px;
}

@media (max-width: 560px) {
    #summaryMeta {
        grid-template-columns: 90px 1fr;
    }
}

#redmineQueue { width: min(680px, calc(100vw - 32px)); max-width: 680px; }
#redmineQueueList { max-height: 55vh; overflow: auto; }
.submission-row { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 10px; align-items: center; padding: 10px 4px; border-bottom: 1px solid var(--line); }
.submission-row span { color: var(--muted); }
.submission-row b { padding: 4px 8px; border-radius: 12px; background: #edf2f1; }
.submission-row .status-failed,.submission-row .status-unknown,.submission-row em { color: #a54835; background: #fff0eb; }
.submission-row em { grid-column: 1 / -1; font-style: normal; padding: 5px; }
.submission-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 6px; }
.submission-actions button { padding: 6px 9px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.event > strong[data-redmine-link] { cursor: pointer; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 2px; }
.event > strong[data-redmine-link]:hover { text-decoration-color: currentColor; }
.plan-activity { display: block; margin-top: 3px; overflow: hidden; color: #315d58; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.actual-event .finish-actual { position: absolute; right: 3px; bottom: 3px; padding: 3px 7px; border: 0; border-radius: 6px; background: #f6c76b; color: #47330c; font-size: 10px; font-weight: 700; }
.team { overflow-y: auto; }
.team-empty { padding: 14px 0; border-top: 1px solid var(--line); color: var(--muted); }
.team-person { padding: 13px 0; border-top: 1px solid var(--line); }
.team-person-head { display: flex; align-items: center; gap: 9px; }
.team-person-head > b { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #dfeeea; color: var(--green); }
.team-current { margin: 8px 0 4px; padding: 7px; border-radius: 6px; background: #fff4d6; font-size: 11px; }
.team-current em { margin-right: 5px; color: #7a5900; font-style: normal; font-weight: 700; }
.team-current.idle { background: #f4f7f5; color: var(--muted); }
.team-difference { margin: 3px 0; color: #a05239; font-size: 10px; }
.team-person ul { margin: 7px 0 0; padding: 0; list-style: none; }
.team-person li { display: grid; grid-template-columns: 70px 1fr; gap: 5px; padding: 4px 0; font-size: 10px; }
.team-person li time { color: var(--muted); }
.team-person li i { grid-column: 2; width: max-content; padding: 1px 5px; border-radius: 8px; background: #e4effc; color: #3b6390; font-style: normal; }
.team-copy { grid-column: 2; display: flex; gap: 4px; }
.team-copy button { padding: 3px 6px; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--green); font-size: 9px; cursor: pointer; }
.team-overview-link { display: block; margin: 0 0 12px; color: var(--green); font-size: 11px; font-weight: 700; text-decoration: none; }
