*{box-sizing:border-box}body{margin:0;background:#e7eaf0;color:#343b49;font:16px/1.55 system-ui,sans-serif}header{display:flex;justify-content:space-between;padding:22px;background:#f1f3f7;border-bottom:1px solid #cfd6e1}header span,p{color:#626c7c}main,#login{padding:24px}#login{max-width:440px;margin:40px auto;background:#f1f3f7;border-radius:12px}nav,.row{display:flex;gap:10px;flex-wrap:wrap}.layout{display:grid;grid-template-columns:220px minmax(260px,1fr) minmax(260px,1fr);gap:22px;margin-top:22px}section,aside{background:#f1f3f7;border:1px solid #cfd6e1;border-radius:12px;padding:18px;min-width:0}button{cursor:pointer;background:#dfe6ef;border:1px solid #b9c5d5;border-radius:7px;padding:8px 12px;color:#343b49;font:inherit}button:disabled{opacity:.5;cursor:default}label{display:block;margin:10px 0}input,textarea,select{display:block;width:100%;font:inherit;padding:8px;border:1px solid #cfd6e1;border-radius:6px;background:#f8f9fb;color:#343b49}input[type=checkbox]{display:inline;width:auto}textarea{min-height:85px}h1{font-size:24px}h2{font-size:20px}h3{font-size:18px}.task{border-bottom:1px solid #cfd6e1;padding:12px 0;overflow-wrap:anywhere}.task p{white-space:pre-wrap;color:#343b49}#projects button{display:block;width:100%;margin-bottom:8px;text-align:left}#notice{padding:0 24px;min-height:24px}#weekly{font-size:12pt}#task-editor{margin-top:20px}button.selected{background:#c3cede}@media(max-width:850px){.layout{grid-template-columns:1fr}}[hidden]{display:none!important}
.timeline-panel{grid-column:1/-1;min-width:0}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.timeline-toolbar h2{margin:0}.timeline-toolbar label{margin:0;font-size:13px}.timeline-toolbar input{padding:4px 8px}.timeline-toolbar .row{align-items:center}.timeline-summary{font-size:13px;margin:10px 0}.timeline-scroll{overflow-x:auto;border:1px solid #cfd6e1;border-radius:9px}.timeline-table{width:100%;min-width:890px;table-layout:fixed;border-collapse:collapse;font-size:13px}.timeline-name-col{width:200px}.timeline-table th,.timeline-table td{border-right:1px solid #d7dde6;border-bottom:1px solid #d7dde6;padding:0;text-align:center;height:34px;font-weight:400}.timeline-table .timeline-name{background:#eef1f5;text-align:left;padding:8px 10px;position:sticky;left:0;z-index:1}.timeline-month{background:#dfe6ef;text-align:left!important;padding:8px 14px!important;letter-spacing:1px}.timeline-day{background:#e5eaf2;font-size:12px}.timeline-table .timeline-today{background:#dce4ef}.timeline-table th.timeline-today{box-shadow:inset 0 -3px #5e7188}.timeline-label{padding:0;background:none;border:0;text-align:left;width:100%;font-size:14px;overflow-wrap:anywhere}.timeline-dot{display:block;border:0;background:none;color:#5e7188;font-size:15px;width:100%;height:34px;padding:0;line-height:1}.timeline-dot:hover,.timeline-dot:focus-visible{background:#c6d3e4}.timeline-empty{padding:24px!important;text-align:left!important;color:#626c7c}.timeline-month-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;margin-top:12px}.timeline-month-links button{font-size:13px;padding:4px 8px}@media(min-width:1100px){.timeline-table{min-width:0}}@media(pointer:coarse){.timeline-dot{height:44px}}
/* 核定的冷灰莫蘭迪配色，工作內容 12pt。 */
:root{--ink:#343b49;--blue:#dfe6ef;--lilac:#e6e1ec;--sage:#e0e7e3;--surface:#f1f3f7}body{font-size:15px}header b{font-size:28px;letter-spacing:2px}main{max-width:1800px;margin:auto}.main-nav{align-items:center;margin-bottom:24px}.main-nav select{width:auto;margin-right:auto}.work-toolbar{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.work-toolbar select{width:240px}.row{align-items:center}.row input,.row select{width:auto}.row label{margin:0}.selected{background:#bdc9db!important}#project-view,#weekly-view{background:transparent;border:0;padding:0}.project-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:18px;margin-top:22px}.project-grid>section:first-child{background:var(--sage)}.project-grid>section:nth-child(2){background:var(--surface)}.project-grid>section:last-child{background:var(--lilac)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2{margin:4px 0}details{margin:12px 0;background:#ffffff66;border-radius:8px;padding:12px}summary{cursor:pointer;font-weight:600}.record{padding:12px 0;border-bottom:1px solid #bbc4d144;overflow-wrap:anywhere}.record button{font-size:13px;margin:4px}.record p{margin:5px 0;color:var(--ink)}a{color:#405d87;overflow-wrap:anywhere}.pre{white-space:pre-wrap}.warning{background:#ead8d5;padding:12px;color:#733b35}.weekly-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(450px,1.4fr);gap:20px;margin-top:20px}.weekly-layout>section{min-width:0}#slide-preview{margin-top:14px}#all-slides{display:none}.slide{background:linear-gradient(125deg,#e1e6ef,#ece5ee 65%,#dde7e4);border:1px solid #c7cedb;border-radius:16px;padding:30px;color:#343b49;min-height:480px;overflow-wrap:anywhere}.slide h1{font-size:24pt;line-height:1.3;margin:12px 0 28px}.slide h2{font-size:12pt;margin:0 0 18px}.slide-category{font-size:12px;letter-spacing:2px;color:#61748b}.slide-columns{display:flex;gap:26px;align-items:stretch}.slide-columns aside{width:30%;flex-shrink:0;background:#f1f3f788;border:0;font-size:12pt;padding:20px}.slide-columns aside p{white-space:pre-wrap;font-size:12pt;color:var(--ink)}.slide-work{flex:1;min-width:0;font-size:12pt}.slide-item{margin:0 0 16px;white-space:pre-wrap}.slide-item p{margin:0 0 5px;color:var(--ink)}.slide-item small{display:block;font-size:12pt;color:#5e6b7d}dialog{border:1px solid #bcc7d7;border-radius:16px;background:#eef1f6;color:var(--ink);padding:24px;width:min(620px,95vw);max-height:90vh}dialog::backdrop{background:#26334888}#edit-fields textarea{min-height:130px}#edit-error{color:#8e3939}#present-note{min-height:180px}#pending-files{display:grid;gap:12px}#expense-totals,#course-balance{padding:20px 0;font-size:18px}#expenses details{background:#f1f3f7}.projection{background:#1c2430}.projection main{padding:14px;max-width:none}.projection .slide{min-height:calc(100vh - 110px);padding:5vh 5vw}.projection nav{padding:8px;color:#ddd}.projection:fullscreen nav{display:none}.projection:fullscreen .slide{min-height:calc(100vh - 28px)}@media(max-width:1000px){.project-grid{grid-template-columns:1fr}.weekly-layout{grid-template-columns:1fr}.slide h1{font-size:20pt}}@media(max-width:600px){main{padding:12px}.slide{padding:18px}.slide-columns{gap:12px;flex-direction:column}.slide-columns aside{width:100%}.main-nav button{font-size:13px}}@media print{@page{size:A4 landscape;margin:8mm}body{background:white}header,#notice,.main-nav,.work-toolbar,#project-view,#weekly-view>.row,.weekly-layout>section:first-child,.weekly-layout>section:last-child>.row,#slide-preview,#courses-view,#expenses-view,#settings-view,dialog{display:none!important}main,#workspace,#work-panels,#weekly-view,.weekly-layout,.weekly-layout>section:last-child,#all-slides{display:block!important;padding:0;margin:0;max-width:none;border:0;background:none}#all-slides .slide{break-after:page;break-inside:avoid;min-height:180mm;border-radius:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.slide-columns{flex-direction:row}.slide-columns aside{width:30%}}
