:root { font-family: system-ui, sans-serif; color-scheme: light; }
[hidden] { display: none !important; }
#task-dialog { box-sizing: border-box; width: min(760px, calc(100% - 2rem)); max-height: calc(100% - 2rem); border: 1px solid #dce3e8; border-radius: 12px; padding: 1.5rem; color: #173047; }
#task-dialog::backdrop { background: #17304766; }
.dialog-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.dialog-heading h2 { margin: 0; }
#task-form { flex-direction: column; align-items: stretch; }
#task-form input:not([type="checkbox"]) { box-sizing: border-box; width: 100%; }
#task-list-controls { gap: 1rem; margin-bottom: 1rem; }
#task-list-controls label { width: auto; display: flex; flex-direction: column; gap: .4rem; }
#task-list-controls label:first-child { flex: 1; min-width: min(220px, 100%); }
#task-list-controls select { font: inherit; padding: .55rem .7rem; border-radius: 6px; border: 1px solid #9cafbd; }
.task-row { display: grid; grid-template-columns: minmax(0, 1fr) 165px 180px 175px; gap: 1rem; align-items: center; padding: 1rem 0; }
.task-row-title { overflow-wrap: anywhere; }
.task-row-title > a { font-weight: 600; }
.task-row-title p { margin: .4rem 0 0; }
.task-row-links { display: flex; flex-direction: column; gap: .5rem; }
.task-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; margin-top: 1rem; }
@media (max-width: 1000px) { .task-row { grid-template-columns: minmax(0, 1fr) 165px 175px; } .task-updated { display: none; } }
@media (max-width: 680px) { .task-row { grid-template-columns: minmax(0, 1fr) 130px; gap: .7rem; } .task-row-links { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; } .task-pagination { justify-content: center; gap: .5rem; } #task-list-controls label { max-width: 100%; } }
body { margin: 0; background: #f5f7f8; color: #173047; }
main { padding: 2rem 1rem; }
.layout { display: grid; grid-template-columns: minmax(230px, 280px) minmax(0, 1fr); gap: 1.5rem; }
header { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.page-heading { display: flex; align-items: baseline; gap: .75rem 1.5rem; flex-wrap: wrap; }
.page-heading p { margin: 0; }
.connection-dialog { box-sizing: border-box; width: min(440px, calc(100% - 2rem)); padding: 1.5rem; border: 1px solid #dce3e8; border-radius: 12px; color: #173047; box-shadow: 0 16px 48px #17304733; }
.connection-dialog::backdrop { background: #17304766; }
.connection-dialog form { display: flex; flex-direction: column; align-items: stretch; gap: .75rem; }
.connection-dialog .dialog-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.connection-dialog h2, .connection-dialog p { margin: 0; }
#connection-close { background: transparent; color: #526678; font-size: 1.5rem; line-height: 1; }
#connection-close:hover, #connection-close:focus-visible { background: #edf5f9; }
#connection-error { color: #922f24; }
h1 { margin: 0; } h2 { margin-top: 0; }
p { color: #526678; }
section { background: white; border: 1px solid #dce3e8; border-radius: 10px; padding: 1.25rem; }
form { display: flex; gap: .5rem; align-items: end; flex-wrap: wrap; }
label { width: 100%; font-size: .9rem; }
input, button { font: inherit; padding: .55rem .7rem; border-radius: 6px; }
input { flex: 1; min-width: 120px; border: 1px solid #9cafbd; }
#task-form textarea { box-sizing: border-box; width: 100%; padding: .7rem; border: 1px solid #9cafbd; border-radius: 6px; font: inherit; resize: vertical; }
.checkbox-label { display: flex; align-items: center; gap: .4rem; width: auto; }
.checkbox-label input { flex: none; min-width: 0; }
button { border: 0; background: #17618c; color: white; cursor: pointer; }
button:hover, button:focus-visible { background: #104a6d; }
ul { list-style: none; padding: 0; margin: 0; }
li + li { border-top: 1px solid #e5ebee; }
.task { display: block; width: 100%; text-align: left; background: transparent; color: inherit; padding: .7rem 0; }
.task:hover, .task:focus-visible { background: #edf5f9; color: inherit; }
.record { padding: .6rem 0; border-top: 1px solid #e5ebee; }
.record > .material-heading { display: flex; align-items: flex-start; flex-wrap: wrap; gap: .5rem 1rem; }
.record > .material-heading > h4 { flex: 1; min-width: min(240px, 100%); overflow-wrap: anywhere; }
.material-interest-control { margin-left: auto; flex-shrink: 0; max-width: 100%; text-align: right; }
.material-interest-label { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; width: auto; }
.material-interest-label select { font: inherit; padding: .45rem .6rem; border-radius: 6px; border: 1px solid #9cafbd; background: white; }
.material-interest-message { display: block; max-width: 260px; overflow-wrap: anywhere; }
.report-material .material-interest-control { font-size: .9rem; font-weight: normal; }
.material-interest-slot { display: contents; }
#findings-controls { margin-bottom: 1rem; }
.findings-heading, .report-heading { flex: 1; justify-content: space-between; }
.findings-heading h1, .report-heading h1 { min-width: 0; overflow-wrap: anywhere; }
.page-title-name { font-size: .7em; font-weight: 500; color: #526678; }
.findings-heading p, .report-heading p { margin-left: auto; }
#findings-controls label { width: auto; max-width: 100%; display: flex; align-items: center; gap: .5rem; }
#findings-run, #findings-sort { font: inherit; padding: .55rem .7rem; border: 1px solid #9cafbd; border-radius: 6px; min-width: 0; max-width: 100%; }
.material-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem 1rem; margin-left: auto; max-width: 100%; font-size: .9rem; font-weight: normal; }
#findings-pagination button:disabled { opacity: .5; cursor: default; }
.muted { color: #607485; font-size: .9rem; }
a { color: #17618c; overflow-wrap: anywhere; }
h4 { margin: .5rem 0; } h5 { font-size: .95rem; margin: 1rem 0 .3rem; }
.record p { margin: .4rem 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.theses, .report ul { list-style: disc; padding-left: 1.5rem; }
.theses li + li, .report li + li { border: 0; margin-top: .4rem; }
.report { line-height: 1.65; overflow-wrap: anywhere; }
.report h1 { font-size: 1.65rem; } .report h2 { margin-top: 1.5rem; font-size: 1.4rem; }
.report p { color: inherit; }
.report pre { background: #f5f7f8; padding: 1rem; overflow: auto; }
.report code { font-size: .9em; }
.report table { display: block; overflow: auto; border-collapse: collapse; }
.report th, .report td { border: 1px solid #dce3e8; padding: .4rem .6rem; }
.report blockquote { border-left: 3px solid #9cafbd; margin-left: 0; padding-left: 1rem; }
.report-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-bottom: 1rem; }
#report-mail-dialog input { box-sizing: border-box; width: 100%; min-width: 0; }
#report-mail-status, #report-mail-error { overflow-wrap: anywhere; }
.report-page-title { font-size: 1.4rem; line-height: 1.35; overflow-wrap: anywhere; }
.report-sources { margin-top: 1.5rem; border: 0; border-top: 1px solid #dce3e8; border-radius: 0; padding: 1rem 0 0; }
.report-sources > h2 { margin: 0 0 1rem; font-size: 1.2rem; }
.report-material { padding: 1rem 0; border-top: 1px solid #e5ebee; }
.report-material .material-heading { margin: 0 0 .5rem; font-size: 1.05rem; }
.report-material .material-title { flex: 1; min-width: min(280px, 100%); }
.material-theses > summary, .material-questions > summary { cursor: pointer; font-weight: 600; width: fit-content; }
.material-theses > summary:focus-visible, .material-questions > summary:focus-visible { outline: 2px solid #17618c; outline-offset: 3px; }
.material-theses p { white-space: pre-wrap; margin: .35rem 0 .8rem; }
.material-theses li { white-space: pre-wrap; }
.material-theses h4 { margin-top: .9rem; }
.report-overview > h2:first-child { margin-top: 0; }
.report-period { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #dce3e8; }
.report-period p { margin: 0; }
.task-overview { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; background: #edf5f9; border-radius: 6px; padding: .7rem 1rem; }
.task-overview h2, .task-overview h3 { margin: 0; flex: 1; min-width: min(220px, 100%); }
.task-overview a { flex-shrink: 0; }
.task-status { background: #edf5f9; border-radius: 6px; padding: .7rem; }
.task-overview .task-status { margin: 0; padding: 0; font-size: .9rem; }
.task-details-heading { margin-bottom: 1rem; }
.task-details-heading .task-status { margin-left: auto; }
.task-controls { margin: 1rem 0; gap: .75rem 1rem; align-items: center; }
.task-controls .checkbox-label { font-size: .95rem; }
.conditions-heading { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .75rem; margin: 1rem 0; }
.conditions-heading h3 { margin: 0; }
.conditions-heading select { box-sizing: border-box; min-width: 0; max-width: 100%; font: inherit; padding: .55rem .7rem; border: 1px solid #9cafbd; border-radius: 6px; background: white; }
.task-editor { margin: 1rem 0; border: 1px solid #dce3e8; border-radius: 8px; padding: .8rem 1rem; }
.task-editor > summary { cursor: pointer; font-weight: 600; }
.task-edit-form { margin-top: 1rem; align-items: stretch; }
.task-edit-form label:not(.checkbox-label) { display: flex; flex-direction: column; gap: .4rem; }
.task-edit-form [hidden] { display: none !important; }
.task-edit-form textarea, .task-edit-form select { box-sizing: border-box; width: 100%; padding: .7rem; border: 1px solid #9cafbd; border-radius: 6px; font: inherit; }
.schedule-weekdays { display: flex; gap: 1rem; flex-wrap: wrap; border: 1px solid #dce3e8; border-radius: 6px; }
.schedule-weekdays[hidden] { display: none; }
.task-edit-form p { width: 100%; margin: .4rem 0; }
.stop-search { background: #922f24; }
.stop-search:hover, .stop-search:focus-visible { background: #70251c; }
.delete-task-controls { display: flex; align-items: center; gap: 1rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #dce3e8; }
.delete-task { background: transparent; color: #922f24; }
.delete-task:hover, .delete-task:focus-visible { background: #fff0ee; }
.task-overview[data-state="cancelled"], .task-status[data-state="cancelled"] { background: #f1f2f4; color: #526678; }
.task-overview[data-state="completed"], .task-status[data-state="completed"] { background: #edf8f1; color: #21643a; }
.task-overview[data-state="failed"], .task-status[data-state="failed"] { background: #fff0ee; color: #922f24; }
.task-overview .task-status { background: transparent; }
.collapsible-section { margin-top: 1rem; }
.collapsible-section summary { cursor: pointer; font-size: 1.17rem; font-weight: 700; padding: .75rem 0; }
.collapsible-section summary:focus-visible { outline: 2px solid #17618c; outline-offset: 3px; }
.task-reports { margin: 1rem 0; }
.task-report-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: .25rem 1rem; padding: .35rem 0; }
.task-report-row + .task-report-row { border-top: 1px solid #e5ebee; }
.task-report-row time { white-space: nowrap; }
.material-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem; }
.relevance-badge { margin-left: auto; font-size: .9rem; font-weight: 600; color: #21643a; white-space: nowrap; }
.ask-material { font-size: .9rem; white-space: nowrap; }
.material-questions { margin-top: .75rem; }
.question-panel { margin-top: 1.5rem; background: #f5f9fb; }
.report-material > .question-panel { margin-top: .75rem; padding: 1rem; }
.question-panel h3 { margin: 0 0 .75rem; }
.question-panel textarea { display: block; box-sizing: border-box; width: 100%; margin-top: .5rem; padding: .7rem; border: 1px solid #9cafbd; border-radius: 6px; font: inherit; resize: vertical; }
.question-answer { margin-top: 1rem; border-top: 1px solid #dce3e8; padding-top: 1rem; }
.question-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.delete-question { background: transparent; color: #922f24; font-size: .9rem; }
.delete-question:hover, .delete-question:focus-visible { background: #fff0ee; }
.question-delete-error { color: #922f24; }
.question-answer p, .question-answer blockquote { white-space: pre-wrap; }
button:disabled { cursor: wait; opacity: .65; }
@media (max-width: 680px) { header, .layout { grid-template-columns: 1fr; } }
