:root{--bg:#f6f5ef;--paper:#fffefb;--green:#526e5c;--deep:#314d40;--sage:#e8eee6;--gold:#ab884a;--ink:#34443b;--muted:#738074;--line:#e3e7dd;--danger:#a94e3e;--shadow:0 6px 24px #2c443309}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 "Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button,.button{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:9px 16px;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.4}button:hover,.button:hover{background:var(--sage);border-color:#a8b9a7}button:disabled{opacity:.5;cursor:default}.primary{background:var(--green);border-color:var(--green);color:white}.primary:hover{background:var(--deep);color:white}.quiet{background:transparent;border-color:transparent}.danger{color:var(--danger)}.small{font-size:13px;padding:5px 9px}.muted{color:var(--muted)}.tiny{font-size:13px;color:var(--muted)}.topbar{position:sticky;top:0;z-index:10;background:#fffefbf5;border-bottom:1px solid var(--line);padding:12px 30px;display:flex;align-items:center;justify-content:space-between;gap:12px;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--deep)}.brand img{width:40px;height:40px;border-radius:12px}.brand strong{font-size:21px;letter-spacing:.12em}.brand span{font-size:12px;letter-spacing:.15em}.account{display:flex;gap:12px;align-items:center;font-size:14px}.save{font-size:12px;color:var(--green);max-width:250px}.save.warning{color:var(--danger)}.layout{max-width:1500px;margin:auto;display:grid;grid-template-columns:190px minmax(0,1fr);gap:32px;padding:28px 30px}.sidebar{position:sticky;top:90px;align-self:start}.nav{display:flex;flex-direction:column;gap:8px}.nav button{justify-content:flex-start;padding:13px 15px;background:transparent;border:0}.nav button.active{background:var(--green);color:white}.nav .symbol{font-size:20px;width:25px}.side-note{margin-top:40px;border-top:1px solid var(--line);padding:20px 12px;color:var(--muted);font-size:13px}.side-note strong{display:block;color:var(--green)}main{min-width:0}.hero{background:#ecf0e7;border:1px solid #dce5d7;border-radius:22px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;min-height:202px;margin-bottom:26px}.hero-copy{padding:27px 34px;position:relative;z-index:1}.eyebrow{font-size:12px;letter-spacing:.22em;color:var(--green);font-weight:700}.hero h1{margin:5px 0 10px;font-size:36px;font-weight:600;letter-spacing:.07em;color:var(--deep)}.hero p{margin:0;font-size:15px;color:#667867}.hero small{font-size:12px}.hero-art{height:202px;width:230px;object-fit:cover;flex-shrink:0;mask-image:linear-gradient(to right,transparent,black 25%)}h1,h2,h3{line-height:1.4}h2{font-size:23px;margin:0}h3{font-size:18px;margin:0}p{margin:10px 0}.toolbar,.section-head{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:18px}.toolbar .left,.actions,.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters{margin-bottom:18px}.filters input{max-width:300px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:24px;margin-bottom:22px;box-shadow:var(--shadow)}details.panel{padding:0}details.panel>summary{padding:18px 24px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}details.panel>summary:after{content:'＋';color:var(--green)}details[open].panel>summary:after{content:'－'}details.panel>.panel-body{padding:0 24px 24px}.stats{display:flex;gap:8px;flex-wrap:wrap}.chip{background:var(--sage);color:var(--green);border-radius:30px;padding:3px 10px;font-size:12px;display:inline-block}.chip.gold{background:#f5edda;color:#8b6c30}.chip.red{background:#fbece8;color:var(--danger)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.event-card{border:1px solid var(--line);background:var(--paper);border-radius:17px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:transform .15s,box-shadow .15s}.event-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #344f3414}.card-top{display:flex;gap:17px;padding:24px 24px 15px}.date-block{background:#edf1e9;min-width:63px;height:75px;border-radius:13px;text-align:center;padding:7px}.date-block b{display:block;font:30px/1.15 Georgia,serif;color:var(--green)}.date-block span{font-size:12px}.card-title{flex:1;min-width:0}.card-title h3{font-size:20px;margin:7px 0}.card-body{padding:0 24px 20px}.card-meta{font-size:14px;color:var(--muted)}.card-footer{padding:12px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty .sprout{font-size:36px;display:block;margin-bottom:10px}.empty h3{color:var(--green)}input,select,textarea{width:100%;border:1px solid #d9dfd5;border-radius:9px;padding:9px 11px;background:#fffefb;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #93ac9470;outline-offset:1px;border-color:var(--green)}textarea{resize:vertical;min-height:90px;line-height:1.65;overflow-y:auto}input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}input[type=file]{max-width:100%;font-size:14px}label.field{display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--muted)}label.field>input,label.field>textarea,label.field>select{font-size:16px;color:var(--ink)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.span2{grid-column:span 2}.span3{grid-column:1/-1}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{background:#f1f3ec;padding:12px;font-weight:500;color:var(--green);white-space:nowrap}td{padding:12px;border-top:1px solid var(--line);vertical-align:top}td input,td textarea,td select{font-size:14px;padding:7px}td textarea{min-height:75px}tr:hover td{background:#fcfcf8}.flow-table{min-width:940px;table-layout:fixed}.flow-table th:nth-child(1){width:108px}.flow-table th:nth-child(2){width:110px}.flow-table th:nth-child(3){width:110px}.flow-table th:nth-child(4){width:110px}.flow-table th:last-child{width:88px}.flow-table input{margin-bottom:5px}.checkrow{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding:13px 0}.checkrow:last-child{border:0}.checkrow input[type=checkbox]{margin-top:8px;flex-shrink:0}.checkrow .grow{flex:1}.checkrow.done{opacity:.6}.checkrow.done .tasktitle{text-decoration:line-through}.section-nav{display:flex;gap:8px;overflow:auto;margin:18px 0;position:sticky;top:72px;z-index:5;background:var(--bg);padding:8px 0}.section-nav a{white-space:nowrap;text-decoration:none;color:var(--green);font-size:14px;padding:7px 12px;background:var(--paper);border:1px solid var(--line);border-radius:25px}.panel[id]{scroll-margin-top:140px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.cal-day{min-height:83px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px;font-size:13px;cursor:pointer}.cal-day:hover{background:#f4f6ef}.cal-day.today{background:#eef3e9}.cal-day.today>b{background:var(--green);color:white;border-radius:50%;padding:2px 6px}.cal-day.blank{background:#fafaf7;cursor:default}.weekday{text-align:center;font-size:12px;color:var(--muted);padding:8px}.weekday.weekend{color:var(--danger)}.cal-item{display:block;font-size:11px;border-radius:4px;padding:1px 4px;margin-top:3px;background:#e4eddf;color:#426046;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-item.meeting{background:#eee7f0;color:#7b6584}.cal-item.other{background:#f5ebd4;color:#967136}.calendar-controls{display:flex;align-items:center;gap:8px;margin-bottom:15px;justify-content:space-between}.calendar-controls label{font-size:12px;display:inline-flex;gap:4px;align-items:center}.calendar-controls input{width:14px;height:14px}.poster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.poster img{width:100%;max-height:260px;object-fit:contain;border-radius:10px;background:#f4f3ec}.resource{border-top:1px solid var(--line);padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.resource:first-child{border:0}.resource a{color:var(--green)}dialog{border:1px solid var(--line);border-radius:20px;max-width:min(1000px,94vw);width:760px;padding:26px;background:var(--paper);color:var(--ink);max-height:90vh;overflow:auto;box-shadow:0 20px 100px #253d3633}dialog::backdrop{background:#203f3344;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.notice{background:#f5efdd;border:1px solid #e9debf;border-radius:10px;padding:12px 16px;font-size:14px;margin:14px 0}.notice.green{background:var(--sage);border-color:#d8e1d3}.login{max-width:580px;margin:65px auto;text-align:center;padding:30px}.login img{width:130px;border-radius:32px;margin-bottom:15px}.login h1{font-size:36px;letter-spacing:.15em}.login .button,.login button{margin:10px}.loading{text-align:center;padding:100px;color:var(--green)}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--deep);color:white;border-radius:12px;padding:12px 22px;z-index:100;display:none;max-width:90vw}.demo-banner{background:#f0e6cf;color:#7a6131;font-size:13px;text-align:center;padding:5px}.list-name{font-weight:600;color:var(--green);cursor:pointer}.list-name:hover{text-decoration:underline}.conflict-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.conflict-columns pre{white-space:pre-wrap;word-break:break-word;background:var(--bg);padding:15px;max-height:350px;overflow:auto;font-size:13px}.checkbox-label{display:flex;gap:8px;align-items:center}.delete-line{display:flex;justify-content:space-between;gap:15px;margin-top:18px}.linkbox{font-size:13px;word-break:break-all;color:var(--muted)}.mobile-only{display:none}@media(min-width:1450px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.layout{grid-template-columns:155px minmax(0,1fr);gap:20px;padding:22px}.role-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.span3{grid-column:1/-1}.hero-copy{padding:25px}.hero-art{width:175px}.hero h1{font-size:30px}}@media(max-width:760px){body{font-size:16px}.topbar{padding:10px 15px}.brand strong{font-size:19px}.brand span{display:none}.account{gap:6px;font-size:12px}.account .username{display:none}.save{max-width:155px;font-size:11px}.layout{display:block;padding:12px 15px 50px}.sidebar{position:static}.nav{flex-direction:row;overflow:auto;gap:3px;margin:0 -15px 15px;padding:0 15px}.nav button{white-space:nowrap;padding:10px 12px;font-size:14px}.nav .symbol{display:none}.side-note{display:none}.hero{min-height:172px;margin-bottom:20px}.hero-copy{padding:20px}.hero h1{font-size:27px}.hero p{font-size:12px;max-width:205px}.hero-art{height:172px;width:110px}.cards{grid-template-columns:1fr}.panel{padding:18px}.form-grid,.role-grid{grid-template-columns:1fr 1fr;gap:13px}.span2{grid-column:1/-1}.toolbar{gap:10px}.toolbar h2{font-size:22px}details.panel>summary{padding:15px 17px}details.panel>.panel-body{padding:0 12px 15px}.cal-day{min-height:65px;padding:3px;font-size:12px}.cal-item{font-size:9px;padding:1px}.calendar-controls{flex-wrap:wrap}.poster-grid{grid-template-columns:1fr 1fr}.section-nav{top:65px}.flow-table{display:block;min-width:0}.flow-table thead{display:none}.flow-table tbody{display:block}.flow-table tr{display:grid;grid-template-columns:1fr 1fr;padding:14px;gap:10px;border-bottom:2px solid var(--line)}.flow-table td{display:block;padding:0;border:0}.flow-table td:before{content:attr(data-label);font-size:12px;color:var(--muted);display:block;margin-bottom:4px}.flow-table td:nth-child(5),.flow-table td:nth-child(6){grid-column:1/-1}.flow-table td:last-child{grid-column:1/-1;display:flex;gap:8px}.flow-table td:last-child:before{display:none}.desktop-only{display:none}.mobile-only{display:block}.conflict-columns{grid-template-columns:1fr}.resource{align-items:flex-start;flex-direction:column}dialog{padding:20px}.table-wrap:not(.flow-wrap) table{min-width:620px}.card-top{padding:20px 20px 12px}.card-body{padding:0 20px 18px}.card-footer{padding:12px 20px}}
.actions select,.filters select{width:auto;max-width:260px}.filters input{flex:1;min-width:160px}.actions{max-width:100%}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto}hr{border:0;border-top:1px solid var(--line);margin:24px 0}select#year{min-width:88px}select#half{min-width:105px}@media(max-width:760px){.actions select,.filters select{max-width:100%}.hero h1{letter-spacing:0;font-size:25px}.hero-art{width:90px}.hero-copy{padding:18px}.form-grid{grid-template-columns:1fr 1fr}.account .save{padding:4px}.table-wrap{max-width:100%}}
/* Phone-first lists: one set of controls, presented as cards on narrow screens. */
@media(max-width:760px){
button,.button{min-height:44px}.small{font-size:14px;padding:9px 12px}
input:not([type=checkbox]),select,textarea{font-size:16px;min-height:44px}
.nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;margin:0 0 16px;padding:0;gap:7px}.nav button{justify-content:center;white-space:normal;font-size:15px;padding:11px 8px;background:var(--paper);border:1px solid var(--line)}.nav button.active{background:var(--green)}
.form-grid,.role-grid{grid-template-columns:minmax(0,1fr)}.span2,.span3{grid-column:1/-1}
.filters{align-items:stretch}.filters input,.filters select{width:100%;max-width:none;flex-basis:100%}
.mobile-card-wrap{border:0;overflow:visible}.mobile-card-wrap .mobile-card-table{display:block;min-width:0!important;width:100%}
.mobile-card-table thead{display:none}.mobile-card-table tbody{display:grid;gap:14px;width:100%}
.mobile-card-table tr{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--paper);gap:11px}
.mobile-card-table td{display:block;border:0;padding:0;overflow-wrap:anywhere;font-size:16px;min-width:0}
.mobile-card-table td[data-label]:before{content:attr(data-label);display:block;font-size:13px;color:var(--muted);margin-bottom:4px}
.mobile-card-table td:first-child{font-size:20px;font-weight:600;color:var(--deep)}
.mobile-card-table .list-name{padding:4px 0;justify-content:flex-start;font-size:20px;max-width:100%;text-align:left}
.mobile-card-table .card-row-actions{border-top:1px solid var(--line);padding-top:8px;text-align:right}
.mobile-card-table textarea{min-height:80px}.mobile-card-table td label.field{gap:0}
.modal-footer{flex-wrap:wrap}.modal-footer button{flex:1;min-width:130px}.checkrow .grow{min-width:0}
.flow-table td input,.flow-table td select,.flow-table td textarea{font-size:16px}
.topbar{gap:6px}.topbar .save{min-height:44px;max-width:155px;overflow-wrap:anywhere}.brand{gap:7px}.brand img{width:34px;height:34px}.brand strong{font-size:18px}
}

/* v1.0.3: activity reading view */
.activity-mode{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.activity-end{display:flex;justify-content:flex-end;margin:24px 0}.read-field{min-width:0;padding:8px 0}.read-label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.read-value{font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.read-value a{color:var(--green)}.activity-read .role-grid .read-field{border-bottom:1px solid var(--line)}.activity-read .resource p{white-space:pre-wrap;overflow-wrap:anywhere}.activity-read .poster{border:1px solid var(--line);border-radius:12px;padding:16px}.read-flow-table{min-width:980px;table-layout:fixed}.read-flow-table th:nth-child(1){width:115px}.read-flow-table th:nth-child(2),.read-flow-table th:nth-child(3),.read-flow-table th:nth-child(4){width:115px}.read-flow-table th:nth-child(5){width:210px}.read-flow-table th:nth-child(6){width:150px}.read-flow-table th:nth-child(7){width:160px}.read-flow-table td{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.read-flow-table tbody tr:nth-child(even){background:#f7f8f3}.flow-task+.flow-task{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.read-flow-wrap{overscroll-behavior-x:contain}.activity-read .card-row-actions:empty{display:none}@media(max-width:760px){.read-flow-table{font-size:15px}.activity-mode .primary{min-width:90px}.activity-read .read-field{padding:7px 0}.activity-read .poster-grid{grid-template-columns:minmax(0,1fr)}}

/* Compact activity summary: retain readable font sizes on phones and laptops. */
.activity-summary{margin:0}.summary-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--line);align-items:baseline}.summary-row:last-child{border-bottom:0}.summary-row dt{font-size:14px;color:var(--muted)}.summary-row dd{margin:0;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.role-summary .summary-row{grid-template-columns:140px minmax(0,1fr)}.unassigned-roles{margin-top:12px}.unassigned-roles summary{font-size:14px;color:var(--muted);cursor:pointer;padding:8px 0}.unassigned-roles .stats{padding:8px 0}.role-notes{margin-top:16px}.activity-section>.panel-body>.section-head{margin-top:8px}.activity-section>summary{min-height:56px}.activity-section .checkrow .form-grid{gap:8px}.activity-read .section-nav{scroll-padding-inline:12px}.activity-section[id]{scroll-margin-top:150px}@media(min-width:1000px){.role-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}}@media(max-width:760px){.summary-row,.role-summary .summary-row{grid-template-columns:112px minmax(0,1fr);gap:10px;padding:10px 0}.summary-row dt{font-size:14px}.summary-row dd{font-size:16px}.activity-section>.panel-body{padding:0 16px 16px!important}.activity-section .delete-line{margin-top:12px}.activity-section .read-field{padding:4px 0}}
/* v1.0.4: larger type across all application surfaces. */
body{font-size:18px}h2{font-size:26px}h3{font-size:20px}.tiny,.read-label,.side-note,.save,.chip,.eyebrow,.brand span,.calendar-controls label,.weekday,.linkbox{font-size:14px}.account,.notice,.card-meta,.section-nav a,.filters,.summary-row dt,.unassigned-roles summary,label.field{font-size:16px}.small{font-size:16px}.card-title h3{font-size:22px}.date-block span{font-size:14px}.hero p{font-size:17px}.hero small{font-size:14px}.hero h1{font-size:38px}.read-value,.summary-row dd,label.field>input,label.field>textarea,label.field>select,input,select,textarea{font-size:18px}table,td input,td textarea,td select,.read-flow-table{font-size:16px}.cal-day{font-size:14px}.cal-item{font-size:12px}.conflict-columns pre,pre{font-size:15px}.demo-banner{font-size:15px}.login h1{font-size:38px}.nav button{font-size:18px}.brand strong{font-size:23px}.topbar .save{max-width:280px}.read-flow-table{min-width:1060px}.read-flow-table th:nth-child(7){width:190px}.summary-row{grid-template-columns:136px minmax(0,1fr)}.role-summary .summary-row{grid-template-columns:158px minmax(0,1fr)}
@media(max-width:760px){.brand strong{font-size:20px}.brand img{width:34px;height:34px}.account{font-size:14px;gap:2px}.account .save,.topbar .save{font-size:13px;max-width:135px;padding:4px}.account button[data-action=logout]{font-size:16px;padding:7px}.nav button{font-size:17px}.toolbar h2{font-size:25px}.hero h1{font-size:28px}.hero p{font-size:14px}.hero small{font-size:13px}.hero-art{width:75px}.hero-copy{padding:16px}.section-nav a{font-size:16px;padding:8px 12px}.small{font-size:16px}.summary-row,.role-summary .summary-row{grid-template-columns:124px minmax(0,1fr);gap:9px}.summary-row dt{font-size:16px}.summary-row dd,.read-value{font-size:18px}input:not([type=checkbox]),select,textarea,.flow-table td input,.flow-table td select,.flow-table td textarea{font-size:18px}.mobile-card-table td{font-size:18px}.mobile-card-table td[data-label]:before,.flow-table td:before{font-size:14px}.mobile-card-table td:first-child,.mobile-card-table .list-name{font-size:22px}.cal-day{font-size:14px}.cal-item{font-size:11px}.date-block{min-width:70px;height:84px}.read-flow-table{font-size:16px}.activity-section[id]{scroll-margin-top:160px}.activity-read .poster-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:370px){.brand strong{font-size:19px}.account .save,.topbar .save{max-width:115px}.topbar{padding-inline:10px}.hero h1{font-size:26px}.hero-art{width:55px}}
/* v1.0.5: compact directory, inline notes and touch-friendly coworker picker */
.people-list{width:100%;table-layout:fixed;min-width:0}.people-list th:nth-child(1){width:20%}.people-list th:nth-child(2){width:20%}.people-list th:nth-child(3){width:43%}.people-list th:nth-child(4){width:17%}.people-list td,.people-list th{padding:12px 8px;vertical-align:top;overflow-wrap:anywhere}.people-list .list-name{padding:0;min-height:44px;text-align:left}.person-event{margin-bottom:10px}.person-event small{display:block;color:var(--muted)}.person-note[hidden]{display:none}.person-note td{background:#f4f5ee}.people-list summary{cursor:pointer}.coworker-picker{border:1px solid #cbd3c9;border-radius:12px;padding:12px}.coworker-picker summary{cursor:pointer;min-height:28px}.coworker-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:280px;overflow:auto;margin-top:10px}.coworker-options label{display:flex;align-items:center;gap:10px;min-height:48px;overflow-wrap:anywhere}.coworker-options input{width:22px;height:22px}.people-panel{padding:16px}@media(max-width:600px){.people-list td,.people-list th{padding:10px 5px;font-size:16px}.people-list button{font-size:16px}.people-list th:nth-child(1){width:20%}.people-list th:nth-child(2){width:19%}.people-list th:nth-child(3){width:42%}.people-list th:nth-child(4){width:19%}.people-list .small{padding:4px;white-space:normal}.person-event small{font-size:14px}.people-panel{padding:12px 6px}}

/* v1.0.6: explicit editing next to each name; wraps on narrow screens. */
.people-list .person-edit-button{display:inline-block;margin:4px 0 4px 8px;min-height:44px;padding:6px 12px;border:1px solid #a8b7a7;background:#f1f4ec;color:#354d3c;white-space:nowrap}.people-list .list-name{text-decoration:underline;text-decoration-color:#a8b7a7;text-underline-offset:4px}.people-list .person-edit-button:focus-visible{outline:3px solid #526a59;outline-offset:2px}@media(max-width:600px){.people-list .person-edit-button{margin-left:0;display:block}}

.baptism-badge{display:table;margin-top:6px;padding:3px 7px;border-radius:6px;font-size:14px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}.baptism-badge.baptized{background:#e8f0e4;color:#35583b}.baptism-badge.not-baptized{background:#f5edda;color:#775b27}.baptism-badge.unconfirmed{background:#efefea;color:#616b60}

.person-selection{display:inline-flex;margin-right:8px;vertical-align:middle;min-height:44px;align-items:center}.person-selection input{width:22px;height:22px}.people-panel .section-head{flex-wrap:wrap}#bulk-delete-status{color:var(--danger);white-space:pre-wrap}

/* Compact people rows: name and inviter first; tools and baptism last. */
.people-panel .table-wrap .people-list{min-width:0;table-layout:fixed}
.people-panel .people-list th:nth-child(1){width:16%}.people-panel .people-list th:nth-child(2){width:15%}.people-panel .people-list th:nth-child(3){width:43%}.people-panel .people-list th:nth-child(4){width:26%}
.people-panel .people-list td{padding:8px;vertical-align:middle}.people-panel .people-list .person-selection{margin-right:6px;min-height:36px}.people-panel .people-list .list-name{min-height:36px}
.people-panel .person-event{margin:0;display:inline}.people-more-events{display:inline-block;margin-left:8px}.people-more-events[open]{display:block;margin:4px 0 0}.people-more-events[open] .person-event{display:block;margin-top:4px}.people-more-events summary{color:var(--green);font-size:14px}
.person-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.people-panel .person-row-actions .baptism-badge{display:inline-flex;margin:0;padding:3px 6px;order:0;white-space:nowrap}.people-panel .person-row-actions .person-edit-button{display:inline-flex;margin:0;min-height:36px;padding:4px 8px;order:1}.people-panel .person-row-actions [data-action=person-note]{min-height:36px;padding:4px 6px;order:2}
@media(max-width:600px){.people-panel .people-list thead{display:none}.people-panel .people-list tbody{display:block}.people-panel .people-list .person-main-row{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;padding:8px 4px;border-bottom:1px solid var(--line)}.people-panel .people-list .person-main-row td{display:block;border:0;padding:0;width:auto;min-width:0}.people-panel .people-list .person-main-row td:nth-child(1){flex:0 1 auto}.people-panel .people-list .person-main-row td:nth-child(2){flex:0 1 auto;color:var(--muted)}.people-panel .people-list .person-main-row td:nth-child(3){flex:1 1 110px}.people-panel .people-list .person-main-row td:nth-child(4){flex:0 1 auto}.people-panel .people-list .person-selection{min-height:40px}.people-panel .people-list .list-name{min-height:40px}.people-panel .person-row-actions .person-edit-button,.people-panel .person-row-actions [data-action=person-note]{min-height:40px}.people-panel .people-list .person-note:not([hidden]){display:block}.people-panel .people-list .person-note td{display:block;width:100%;padding:10px}.people-panel .people-list button{font-size:16px}.people-panel .person-more-events{margin-left:5px}}

/* v1.0.22: larger text throughout phone layouts */
@media(max-width:760px){
 body{font-size:20px}h1,.hero h1,.login h1{font-size:32px}h2,.toolbar h2{font-size:28px}h3,.card-title h3{font-size:24px}h4{font-size:22px}.brand strong{font-size:23px}.nav button{font-size:20px}
 button,.button,.small,input,select,textarea,label.field,.field,.account,.notice,.card-meta,.section-nav a,.filters,.summary-row dt,.unassigned-roles summary,.checkbox-label,.coworker-picker,.coworker-options label{font-size:18px}
 .read-value,.summary-row dd,label.field>input,label.field>textarea,label.field>select,input:not([type=checkbox]),.flow-table td input,.flow-table td select,.flow-table td textarea{font-size:20px}
 .tiny,.read-label,.side-note,.save,.chip,.eyebrow,.brand span,.calendar-controls label,.weekday,.linkbox,.date-block span,.hero p,.hero small,.cal-day,.cal-item,.demo-banner,.person-event small,.people-more-events summary,.baptism-badge,.mobile-card-table td[data-label]:before,.flow-table td:before{font-size:16px}
 .account .save,.topbar .save{font-size:15px}.account button[data-action=logout]{font-size:18px}table,th,td,.read-flow-table,.people-list td,.people-list th,.people-list button,.mobile-card-table td,.people-list .small{font-size:18px}.mobile-card-table td:first-child,.mobile-card-table .list-name{font-size:24px}pre,.conflict-columns pre{font-size:17px}
 .people-list .person-main-row td{overflow-wrap:anywhere}.people-list .person-row-actions{flex-wrap:wrap}.brand{flex-shrink:0}.account{flex-wrap:wrap;justify-content:flex-end;min-width:0}.topbar{gap:6px}.hero-copy{min-width:0}.hero-art{flex-shrink:0}.section-nav a{padding:9px 12px}
}

/* v1.0.23: keep each person's actions together */
.people-panel .person-row-actions{flex-wrap:nowrap;white-space:nowrap;width:max-content;max-width:100%;gap:8px}
.people-panel .person-row-actions>*{flex-shrink:0}
.people-panel .person-row-actions .person-edit-button{order:0}
.people-panel .person-row-actions .baptism-badge{order:1}
.people-panel .person-row-actions [data-action=person-note]{order:2;white-space:nowrap}
@media(min-width:601px){.people-panel .people-list th:nth-child(1){width:15%}.people-panel .people-list th:nth-child(2){width:14%}.people-panel .people-list th:nth-child(3){width:auto}.people-panel .people-list th:nth-child(4){width:280px}.people-panel .people-list td.person-actions-cell{vertical-align:middle}}
@media(max-width:600px){.people-panel .people-list .person-main-row td.person-actions-cell{flex:0 0 auto;max-width:100%}.people-panel .person-row-actions{gap:6px}}

/* v1.0.27: readable calendar items on phones */
@media(max-width:760px){
 .cal-item{font-size:20px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;padding:3px 2px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
 .cal-day{font-size:18px;min-height:100px}
 .weekday{font-size:18px}
 .calendar-controls label{font-size:20px}
 .calendar-controls input{width:18px;height:18px}
}

/* v1.0.31: one compact share entry, full-width mobile preview */
.share-more{padding:14px 0;border-top:1px solid var(--line)}
.share-more summary{cursor:pointer;color:var(--green);padding:8px 0}
.share-more .checkbox-label{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 0}
.share-more .checkbox-label input{width:22px;height:22px;flex-shrink:0}
.share-controls select{width:100%}
#share-preview-image{display:block;max-width:100%;height:auto;margin:14px auto;border:1px solid var(--line);border-radius:12px}
.share-result-actions{padding:14px 0;flex-wrap:wrap}
.share-result-actions p{flex-basis:100%;margin:0}
.share-result-actions[hidden],.share-native[hidden]{display:none}
@media(max-width:760px){.activity-mode>.actions{gap:6px}.activity-mode>.actions button{min-height:44px;padding:9px 12px}.share-result-actions>button{flex:1;min-height:48px}}

@media(max-width:760px){.activity-mode{flex-wrap:wrap}.activity-mode>.actions{margin-left:auto}}
/* v1.0.36: compact cards, period lists and cross-session assignments. */
.card-top{display:grid;grid-template-columns:76px minmax(0,1fr) minmax(112px,.65fr);gap:16px;align-items:start}.card-title{min-width:0}.card-title h3{overflow-wrap:anywhere}.card-assignments{border-left:1px solid var(--line);padding-left:14px;margin:0;min-width:0;font-size:14px}.card-assignments>div{margin-bottom:9px}.card-assignments dt{color:var(--muted);font-size:12px}.card-assignments dd{margin:0;font-weight:600;overflow-wrap:anywhere}.inline-field{display:flex;align-items:center;gap:8px}.list-tabs{margin-bottom:14px}.list-tools{position:relative}.list-tools summary,.selection-tools summary{cursor:pointer;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.list-tools>.actions{position:absolute;right:0;top:48px;z-index:8;display:grid;min-width:185px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow)}.selection-tools{padding:0 0 16px}.list-filter{margin:12px 0}.list-filter>.filters{padding:12px 18px}.family-badge{display:inline-block;border-radius:20px;background:var(--sage);font-size:12px;padding:2px 8px;margin-left:5px}.invite-state{padding-left:4px}.period-editor{background:var(--sage);border-radius:12px;padding:16px;margin:18px 0}.period-editor h3{margin-top:0}.period-editor button{margin:4px}.overview-modal{width:min(1400px,96vw);max-width:96vw}.assignment-scroll{max-height:65vh;overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:14px}.assignment-table{border-collapse:separate;border-spacing:0;min-width:max-content;table-layout:fixed}.assignment-table th,.assignment-table td{width:175px;min-width:175px;max-width:210px;white-space:normal;overflow-wrap:anywhere;vertical-align:top;padding:10px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.assignment-table thead th{position:sticky;top:0;z-index:3;background:var(--sage);font-size:14px}.assignment-table tbody th{position:sticky;left:0;z-index:2;background:var(--paper);min-width:110px;width:110px;max-width:110px;font-size:14px}.assignment-table thead th:first-child{position:sticky;left:0;z-index:4;min-width:110px;width:110px}.assignment-empty{background:#fcf6e9}.assignment-highlight{background:#e1ecd9!important;box-shadow:inset 0 0 0 2px #809a71}.assignee-name{padding:3px 6px;min-height:36px}.cell-edit{display:block;width:100%;text-align:left;justify-content:flex-start;margin-top:5px;color:var(--muted)}.assignment-job{display:block;font-size:13px;margin-bottom:5px;width:100%;padding:8px}.assignment-table .tiny{display:block}.list-filter .field{margin:0}
@media(min-width:761px) and (max-width:1250px){.card-top{grid-template-columns:65px minmax(0,1fr)}.card-assignments{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:0;border-top:1px solid var(--line);padding:10px 0 0}.card-assignments>div{margin:0}}
@media(max-width:760px){.card-top{grid-template-columns:62px minmax(0,1fr) 100px;gap:10px;padding:18px 16px 12px}.card-title h3{font-size:19px;line-height:1.45;margin:8px 0}.card-title .tiny{font-size:12px}.date-block{width:62px;min-width:0}.date-block b{font-size:32px}.card-assignments{padding-left:10px;font-size:14px}.card-assignments dt{font-size:12px}.card-assignments dd{line-height:1.5}.card-assignments>div{margin-bottom:8px}.inline-field{flex:1;min-width:120px}.filters .inline-field select{width:auto;flex:1;min-width:0}.list-tabs{display:flex;flex-wrap:nowrap;gap:6px}.list-tabs button{flex:1;padding:10px 6px}.list-tools>.actions{right:0}.list-filter>.filters{padding:12px}.selection-tools{gap:7px}.overview-modal{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:16px;border:0;border-radius:0}.overview-modal .modal-head{position:sticky;top:-16px;background:var(--paper);z-index:6}.assignment-scroll{max-height:calc(100dvh - 250px)}.assignment-table th,.assignment-table td{width:155px;min-width:155px;max-width:155px}.assignment-table tbody th,.assignment-table thead th:first-child{min-width:90px;width:90px;max-width:90px}.period-editor .field{width:100%}.list-tools>summary{white-space:nowrap}}
@media(max-width:350px){.card-top{grid-template-columns:58px minmax(0,1fr)}.card-assignments{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:0;border-top:1px solid var(--line);padding:10px 0 0}}
.brand-group{display:flex;align-items:center;gap:8px;min-width:0}.menu-toggle,.drawer-head,.menu-backdrop{display:none}
@media(max-width:760px){
.menu-toggle{display:inline-flex;flex-direction:column;gap:0;padding:3px 6px;font-size:22px;line-height:1;min-width:44px;min-height:44px}.menu-toggle span{font-size:11px;margin-top:4px}.topbar{gap:4px;padding-left:8px;padding-right:10px}.brand-group{gap:4px}.brand{gap:6px}.brand strong{letter-spacing:.04em;font-size:20px}.brand img{width:30px;height:30px}.account .save,.topbar .save{font-size:11px;max-width:113px}.account button[data-action=logout]{font-size:14px;padding:7px 5px}.layout{padding-top:16px}.sidebar#site-menu{position:fixed;left:0;top:0;bottom:0;width:min(300px,84vw);height:100dvh;padding:18px 18px 26px;background:var(--paper);z-index:60;overflow:auto;transform:translateX(-105%);visibility:hidden;transition:transform .18s ease,visibility .18s;box-shadow:8px 0 35px #22362c22}.navigation-open .sidebar#site-menu{transform:translateX(0);visibility:visible}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;color:var(--deep);font-size:24px}.drawer-head button{font-size:22px}.sidebar .nav{display:flex;flex-direction:column;margin:0;padding:0;gap:8px}.sidebar .nav button{justify-content:flex-start;min-height:52px;font-size:18px;padding:12px 16px;border:0}.sidebar .nav .symbol{display:inline-block}.sidebar .side-note{display:block;margin-top:28px}.menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;border:0;border-radius:0;background:#172b2055;z-index:50;width:100vw;height:100dvh}.navigation-open{overflow:hidden}.navigation-open main,.navigation-open .topbar{pointer-events:none}.drawer-head,.sidebar .nav{pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.sidebar#site-menu{transition:none}}
.nav-category{border:0}.nav-category>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px;padding:13px 15px;border-radius:10px;font-size:18px}.nav-category>summary::-webkit-details-marker{display:none}.nav-category>summary:after{content:'⌄';margin-left:auto;font-size:16px}.nav-category[open]>summary:after{content:'⌃'}.nav-category>summary:hover{background:var(--sage)}.nav-subitems{display:flex;flex-direction:column;gap:4px;padding:4px 0 6px 24px}.nav-subitems button{font-size:16px;padding:10px 13px}.nav-category[open]>summary{color:var(--deep);font-weight:600}
@media(max-width:760px){.sidebar .nav-category>summary{padding:12px 16px;min-height:52px;font-size:18px}.sidebar .nav-subitems{padding-left:34px}.sidebar .nav-subitems button{font-size:17px;min-height:48px;padding:10px 14px}}
.trash-item{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.trash-item>div{min-width:0}.trash-item h3{margin:6px 0;overflow-wrap:anywhere}.trash-item p{margin:4px 0}.trash-item>button{flex-shrink:0}.trash-preview-items{max-height:45vh;overflow:auto;padding-left:24px}.trash-preview-items li{margin:10px 0;overflow-wrap:anywhere}@media(max-width:760px){.trash-item{align-items:flex-start}.trash-item h3{font-size:18px}.trash-item>button{font-size:15px;min-height:44px}}

.support-section{margin-top:2.5rem}.support-job-row{display:flex;gap:1rem;align-items:end;margin-bottom:1rem}.support-job-row .field{flex:1;min-width:0}@media(max-width:600px){.support-job-row{flex-wrap:wrap}.support-job-row .field{flex-basis:40%}}

.activity-top-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.activity-top-button{color:var(--green);min-height:36px}.activity-top-button:focus-visible{outline:2px solid var(--green);outline-offset:2px}

.activity-section-tools{display:flex;justify-content:flex-end;margin-bottom:8px}
