@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#1d2925;--muted:#748078;--line:#e6e9e3;--paper:#f7f6f2;--white:#fff;--green:#286350;--mint:#e9f1ec;--gold:#e7bd6a;--shadow:0 14px 44px #17372a0a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 'DM Sans',sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,.brand{font-family:Manrope,sans-serif;letter-spacing:-.04em}h1{font-size:clamp(2.5rem,7vw,4.6rem);line-height:1.01;margin:10px 0 16px;font-weight:600}h2{font-size:1.55rem;margin:0;font-weight:650}h3{font-size:.98rem;margin-bottom:12px}.wrap{max-width:890px;margin:auto;padding:22px 22px 60px}.top{height:55px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;text-decoration:none;color:var(--ink);font-size:1.1rem}.admin-link,.tabs a{color:var(--green);text-decoration:none;font-size:.9rem}.badge{background:var(--mint);color:var(--green);border-radius:99px;padding:7px 12px;font-size:.78rem}.intro{padding:58px 0 34px;max-width:640px}.intro>p:last-child{max-width:470px;color:var(--muted);font-size:1.05rem}.eyebrow{font-size:.69rem;letter-spacing:.14em;font-weight:700;color:var(--green);margin-bottom:8px}.tabs{display:flex;gap:23px;border-bottom:1px solid var(--line);padding:0 0 14px;margin-bottom:20px;position:sticky;top:0;background:var(--paper);z-index:2}.panel{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:24px;margin-bottom:18px;box-shadow:var(--shadow);scroll-margin-top:70px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.grid,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:600}input,select{width:100%;border:1px solid #dce2dc;border-radius:8px;padding:11px 12px;background:white;color:var(--ink);font:inherit;outline-color:var(--green)}.panel h3{margin-top:25px;margin-bottom:4px}.muted{color:var(--muted)}.small{font-size:.78rem}.time-row{display:grid;grid-template-columns:1.2fr 1.2fr .8fr .8fr auto;gap:8px;align-items:end;margin:12px 0}.time-row label{font-size:.75rem}.button{font:600 .85rem 'DM Sans',sans-serif;border:0;border-radius:8px;padding:11px 15px;cursor:pointer}.primary{background:var(--green);color:white}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{background:var(--mint);color:var(--green);margin-top:10px}.quiet{background:transparent;color:var(--green);border:1px solid var(--line)}.remove{height:39px;background:transparent;color:var(--muted);border:0;padding:0 6px;font:500 .75rem "DM Sans",sans-serif;cursor:pointer}.remove:hover{color:#8c5547;text-decoration:underline}.form-end{display:flex;justify-content:flex-end;border-top:1px solid var(--line);margin-top:21px;padding-top:18px}.subform{background:#fbfbf9;border:1px solid var(--line);padding:17px;border-radius:10px}.subform label{margin:10px 0}.roster{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:23px}.roster h3{margin-top:0}.chiplist{display:flex;flex-wrap:wrap;gap:7px}.chip{font-size:.78rem;background:var(--mint);border-radius:99px;padding:5px 10px}.person-card,.team-card,.empty-card,.schedule-card{border:1px solid var(--line);border-radius:10px;padding:14px;margin:9px 0}.person-card strong,.team-card strong{display:block}.person-card .small{display:block;margin-top:3px}.empty-card{color:var(--muted);background:#fbfbf9}.slot-list{display:grid;gap:7px;margin:15px 0}.slot{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-radius:8px;background:#f7f8f5}.slot span{color:var(--muted);font-size:.83rem}.public{max-width:720px}.public .top{margin-bottom:30px}.schedule-head{padding:37px 0 26px;border-bottom:1px solid var(--line)}.schedule-head h1{font-size:clamp(2.2rem,8vw,3.7rem)}.schedule-date{font-size:1.08rem;color:var(--green);font-weight:600}.venue,.updated{color:var(--muted)}.schedule-section{padding:23px 0;border-bottom:1px solid var(--line)}.schedule-section h2{font-size:1.15rem;margin-bottom:14px}.schedule-block{margin:9px 0;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:#fff}.schedule-block strong{display:block}.schedule-block span{color:var(--muted);font-size:.87rem}.section-note{color:var(--muted);font-size:.9rem}.empty-state{padding:50px 23px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.empty-state .symbol{font-size:2rem;color:var(--green)}.empty-state h1{font-size:2rem}footer{text-align:center;color:var(--muted);font-size:.78rem;padding:17px}#notice{position:sticky;top:8px;z-index:3}#notice:not(:empty){background:#fff6dc;padding:11px 14px;border:1px solid #f0dfa8;border-radius:8px;margin-bottom:14px}button:hover:not(:disabled){filter:brightness(.96)}@media(max-width:600px){.wrap{padding:14px 15px 40px}.intro{padding:42px 0 25px}.panel{padding:18px;margin-bottom:13px}.grid,.two-col,.roster{grid-template-columns:1fr}.wide{grid-column:auto}.time-row{grid-template-columns:1fr 1fr 1fr 34px auto;gap:6px}.time-row label:first-child{grid-column:1/-1}.time-row input{padding:9px 8px;font-size:.82rem}.tabs{gap:16px;overflow:auto;white-space:nowrap}.form-end .button{width:100%}.badge{font-size:.7rem}}
/* Fixed assembly structure and the standalone roster */
.people-layout{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:22px;align-items:start}.people-table-wrap{min-width:0}.people-table-wrap h3{margin-top:0}.subform h3{margin-top:0}.form-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:14px}.form-actions .button{margin-top:0}.fixed-time-list{display:grid;gap:8px}.fixed-time-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(120px,.6fr) minmax(120px,.6fr);gap:12px;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:#fbfbf9}.fixed-time-row strong{font-size:.9rem}.fixed-time-row label{font-size:.74rem}.fixed-time-row input{padding:8px 10px}.fixed-time-row[data-category="Collection"],.fixed-time-row[data-category="Booth"]{grid-template-columns:1fr}.fixed-time-row[data-category="Collection"] strong,.fixed-time-row[data-category="Booth"] strong{padding:2px 0}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;font-size:.79rem;white-space:nowrap}th,td{text-align:left;padding:10px 11px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:.7rem;letter-spacing:.04em;background:#fbfbf9}tbody tr:last-child td{border-bottom:0}.row-actions{display:flex;gap:10px}.text-button{padding:3px 0;border:0;background:transparent;color:var(--green);font:600 .78rem 'DM Sans',sans-serif;cursor:pointer}.text-button.delete-person{color:#8c5547}.assignment-panel{margin:20px 0;padding:17px;border:1px solid var(--line);border-radius:11px;background:#fbfbf9}.assignment-panel h3{margin:0 0 6px}.assignment-row{display:grid;grid-template-columns:minmax(100px,.6fr) 1fr 1fr;gap:12px;align-items:end;padding:10px 0;border-top:1px solid var(--line)}.assignment-row label{font-size:.75rem}.assignment-row select{padding:8px 10px}.form-actions #cancel-person[hidden]{display:none}@media(max-width:760px){.people-layout{grid-template-columns:1fr}.assignment-row{grid-template-columns:1fr 1fr}.assignment-row strong{grid-column:1/-1}.fixed-time-row{grid-template-columns:1fr 1fr}.fixed-time-row strong{grid-column:1/-1}}
.assignment-section h4{margin:20px 0 6px;color:var(--green);font-size:.82rem}.assignment-row[data-count="4"]{grid-template-columns:minmax(135px,.75fr) repeat(4,minmax(115px,1fr))}.slot-assignment{display:flex;justify-content:space-between;gap:12px;padding:6px 13px 10px;border-radius:8px;background:#f7f8f5;color:var(--muted);font-size:.78rem}.slot-assignment strong{color:var(--ink);font-weight:600}@media(max-width:760px){.assignment-row[data-count="4"]{grid-template-columns:1fr 1fr}.assignment-row[data-count="4"]>strong{grid-column:1/-1}}
.slot-assignees{display:contents}.fixed-time-row[data-category="Collection"]{grid-template-columns:minmax(145px,.65fr) repeat(4,minmax(95px,1fr))}.fixed-time-row[data-category="Attendants"]{grid-template-columns:minmax(105px,.65fr) repeat(4,minmax(95px,1fr))}.fixed-time-row[data-category="Booth"]{grid-template-columns:minmax(145px,1fr) repeat(2,minmax(120px,.8fr))}.inline-assignee{font-size:.72rem;min-width:0}.inline-assignee span{color:var(--muted);font-weight:600}.inline-assignee select{padding:8px 9px;font-size:.78rem}.fixed-time-row[data-category="Attendants"] .inline-assignee{font-size:.7rem}@media(max-width:760px){.fixed-time-row[data-category="Collection"],.fixed-time-row[data-category="Attendants"],.fixed-time-row[data-category="Booth"]{grid-template-columns:1fr 1fr}.fixed-time-row[data-category="Collection"]>strong,.fixed-time-row[data-category="Attendants"]>strong,.fixed-time-row[data-category="Booth"]>strong{grid-column:1/-1}}

.slot-duty{width:100%}.slot-assignment{justify-content:flex-start;flex-wrap:wrap;gap:5px 18px;padding:5px 0 0;background:transparent}.slot-assignment span{display:inline-block}
.table-scroll th:first-child,.table-scroll td:first-child{position:sticky;left:0;min-width:140px}.table-scroll th:first-child{z-index:3;background:#fbfbf9}.table-scroll td:first-child{z-index:2;background:#fff;box-shadow:2px 0 4px #17372a12}
