*{box-sizing:border-box}body{margin:0;background:#efeeec;color:#4b3e42;font:16px/1.55 system-ui,sans-serif}header{display:flex;justify-content:space-between;padding:22px;background:#f8f6f7;border-bottom:1px solid #d9cfd2}header span,p{color:#796b70}main,#login{padding:24px}#login{max-width:440px;margin:40px auto;background:#f8f6f7;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:#f8f6f7;border:1px solid #d9cfd2;border-radius:12px;padding:18px;min-width:0}button{cursor:pointer;background:#e9dfe2;border:1px solid #ceb9c0;border-radius:7px;padding:8px 12px;color:#4b3e42;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 #d9cfd2;border-radius:6px;background:#fcfafb;color:#4b3e42}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 #d9cfd2;padding:12px 0;overflow-wrap:anywhere}.task p{white-space:pre-wrap;color:#4b3e42}#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:#dbcad0}@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 #d9cfd2;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 #e0d6d9;border-bottom:1px solid #e0d6d9;padding:0;text-align:center;height:34px;font-weight:400}.timeline-table .timeline-name{background:#f5f0f2;text-align:left;padding:8px 10px;position:sticky;left:0;z-index:1}.timeline-month{background:#e9dfe2;text-align:left!important;padding:8px 14px!important;letter-spacing:1px}.timeline-day{background:#eee6e9;font-size:12px}.timeline-table .timeline-today{background:#eadbe2}.timeline-table th.timeline-today{box-shadow:inset 0 -3px #81636d}.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:#81636d;font-size:15px;width:100%;height:34px;padding:0;line-height:1}.timeline-dot:hover,.timeline-dot:focus-visible{background:#ddcbd1}.timeline-empty{padding:24px!important;text-align:left!important;color:#796b70}.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:#4b3e42;--blue:#e9dfe2;--lilac:#e8dde1;--sage:#e9dfe2;--surface:#f8f6f7}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:#dbcad0!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 #d0c1c644;overflow-wrap:anywhere}.record button{font-size:13px;margin:4px}.record p{margin:5px 0;color:var(--ink)}a{color:#7f5563;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,#e7e0e2,#eee5e8 65%,#ecdce2);border:1px solid #d5c6cb;border-radius:16px;padding:30px;color:#4b3e42;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:#86626e}.slide-columns{display:flex;gap:26px;align-items:stretch}.slide-columns aside{width:30%;flex-shrink:0;background:#faf8f9ab;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:#77646a}dialog{border:1px solid #cfbcc2;border-radius:16px;background:#f5f1f2;color:var(--ink);padding:24px;width:min(620px,95vw);max-height:90vh}dialog::backdrop{background:#46343a88}#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:#f8f6f7}.projection{background:#352a2e}.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%}}

/* Shared navigation and work surfaces. Course cards retain their own pink theme. */
:root{--ink:#4b3e42;--blue:#e9dfe2;--lilac:#e9e3e5;--sage:#e8dde1;--surface:#f8f6f7;--accent:#ead6dd;--rose:#e8d5de}
header{background:#f7f4f5;border-bottom-color:#dccbd1}header b{color:#ead6dd}input[type=checkbox]{accent-color:var(--accent)}button:hover:not(:disabled){border-color:#af8a96}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9f7b87;outline-offset:2px}
.main-nav button.selected,#categories button.selected{background:#ead6dd!important;color:#fff;border-color:#ead6dd}.main-nav button{background:#f7f4f5;border-color:#dccbd1}.main-nav #space{background:#e8dde1;border-color:#ceb5bd;color:#704a57}
#login{border:1px solid #e1d3d8;box-shadow:0 12px 40px #75525e0c}#login h1{color:#7e5663}#login button,#add-project,#add-task,#save-draft,#save-present-note,#edit-integrations,#edit-form button[type=submit]{background:#ead6dd;color:#fff;border-color:#ead6dd}
.project-grid>section{border-color:#e3dbe0}.project-grid>section:first-child{background:#f4eff1}.project-grid>section:nth-child(2){background:#f6edf1}.project-grid>section:last-child{background:#f1eef1}.project-grid button{background:#eee3e8;border-color:#d8c7cf;color:#594952}.project-grid #add-task{background:#efdee6;border-color:#d7c3cd;color:#594952}.project-grid button:hover,.project-grid #add-task:hover{background:#e7d3dd}.section-title h2{color:#71525c}#project-title{color:#71525c}
.weekly-layout>section:first-child{background:#f0e9eb}.weekly-layout>section:last-child{background:#f7f2f4}.slide-category{color:#855c6a}.slide-columns aside{background:#faf8f9ab}.slide h1{color:#694652}.slide h2{color:#805e69}
#settings-view{background:#f7f2f4;border-color:#dccbd1}#settings-view h1{color:#7e5663}#integration-status{background:#f0e8eb;border:1px solid #e3d4d9;border-radius:10px;padding:10px 18px;margin-bottom:18px}#integration-status p{color:#705961}#pair-result:not(:empty){background:#eee0e7;color:#6e4d62;padding:14px;border-radius:10px}

/* Pale blush controls use deep grey labels for readable contrast. */
header b{color:#805664}.main-nav button.selected,#categories button.selected{color:#51454c;border-color:#ceb5c0}#login button,#add-project,#add-task,#save-draft,#save-present-note,#edit-integrations,#edit-form button[type=submit]{color:#51454c;border-color:#ceb5c0}#login button:hover,#add-project:hover,#add-task:hover,#save-draft:hover,#save-present-note:hover,#edit-integrations:hover,#edit-form button[type=submit]:hover{background:#e1c7d2}.projection nav{color:#eee}

/* Pale blush surfaces and grey text keep the light palette readable. */
:root{--accent:#967383}body{background:#eeecee;color:#4c4549}header{background:#faf7f9}header b{color:#876b79}input[type=checkbox]{accent-color:#967383}.main-nav button.selected,#categories button.selected{background:#ead6dd!important;color:#51454c}.slide{background:linear-gradient(125deg,#e8e5e8,#f1e7ec 65%,#ead9e1)}.slide h1{color:#715a65}
