:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#24342b;background:#f4f6f1;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:#266646;text-decoration:none}a:hover{text-decoration:underline}.wrap{width:min(1120px,calc(100% - 32px));margin:auto}.site-header{background:#fff;border-bottom:1px solid #dce5d9}.header-inner{display:flex;align-items:center;gap:24px;min-height:72px}.brand{display:flex;align-items:center;gap:11px;font-weight:800;color:#203d2b;font-size:18px;white-space:nowrap}.brand-mark{background:#346e4d;color:#fff;border-radius:12px;padding:7px 10px;font-size:17px}.header-inner nav{display:flex;gap:20px;margin-left:auto}.logout{margin-left:0}main.wrap{padding:30px 0 70px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 24px}.page-heading h1{margin:0;font-size:clamp(27px,4vw,40px);line-height:1.15}.eyebrow{color:#6c846e;text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:11px;margin:0 0 7px}.card{background:#fff;border:1px solid #e2e9df;border-radius:18px;box-shadow:0 4px 18px #244b2910}.notice{background:#e6f4e9;border:1px solid #b9ddc1;padding:12px 16px;border-radius:12px;margin-bottom:20px}.muted{color:#738178}.small{font-size:13px}h2{margin:0 0 16px;font-size:22px}h3{margin:24px 0 10px;font-size:16px}p{margin-top:0}button,.button{border:0;background:#286c47;color:#fff;border-radius:10px;padding:11px 16px;font:inherit;font-weight:700;cursor:pointer;display:inline-block;text-align:center}button:hover,.button:hover{background:#205838;text-decoration:none}.secondary{background:#ebf2ea;color:#286c47}.secondary:hover{background:#dceadb}.text-button{background:none;color:#286c47;padding:4px 0}.text-button:hover{background:none;text-decoration:underline}.danger{color:#a33333}.small-button{font-size:13px;padding:6px 10px}.stack{display:flex;flex-direction:column;align-items:start;gap:14px}.stack>label,.stack>.form-grid,.stack>.weekday-times{width:100%}label{font-size:13px;font-weight:700;color:#536458}input,select,textarea{display:block;width:100%;margin-top:5px;border:1px solid #cad8ca;border-radius:9px;padding:10px 11px;font:inherit;color:#24342b;background:#fff;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #7db999;outline-offset:1px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.hidden{display:none!important}.auth-layout{display:grid;grid-template-columns:1.3fr .8fr;gap:22px;align-items:start;margin-top:7vh}.auth-layout .card{padding:34px}.hero-card h1{font-size:clamp(28px,4vw,42px);line-height:1.12;margin:0 0 18px}.hero-card>p:not(.eyebrow){max-width:56ch}.auth-card{margin-top:25px}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 17px;margin-bottom:16px}.week-nav form{max-width:180px}.calendar-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.day-card{padding:16px;min-height:220px}.day-card.closed{background:#f8faf7}.day-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #e8eee6;font-size:13px}.day-heading strong{font-size:17px}.events{list-style:none;padding:0;margin:14px 0}.events li{display:flex;align-items:start;gap:8px;padding:10px 0;border-bottom:1px solid #eef2ed;font-size:13px}.events li>strong{font-variant-numeric:tabular-nums;color:#266646}.events li>div{flex:1}.events small{display:block;color:#738178}.missing-pill{color:#9f6123;background:#fff2df;border-radius:7px;padding:5px 8px;font-size:12px}.form-card{padding:26px;margin-top:24px}.form-card.narrow{max-width:650px}.form-card h2{margin-bottom:6px}.date-fields{display:flex;flex-wrap:wrap;gap:12px}.date-fields label{width:170px}.dates-label{display:flex;gap:16px;align-items:center}.max-field{max-width:340px}.day-tabs{display:flex;gap:8px;overflow:auto;margin:10px 0 18px}.day-tabs a{display:flex;flex-direction:column;align-items:center;padding:9px 18px;border-radius:11px;background:#fff;border:1px solid #e2e9df;min-width:72px}.day-tabs a.active{background:#286c47;color:#fff}.day-step{display:flex;align-items:center;justify-content:space-between;gap:12px}.day-step h2{margin:10px 0 16px}.schedule-report,.missing-list,.empty-state{padding:22px;margin-bottom:16px}.report-row{display:grid;grid-template-columns:76px 1fr auto;gap:16px;padding:16px 0;border-bottom:1px solid #e7eee5}.report-row:last-child{border-bottom:0}.report-row time{font-size:20px;font-weight:800;color:#286c47;font-variant-numeric:tabular-nums}.report-row p{margin:5px 0 0}.report-row .place{margin-left:8px;color:#738178;font-size:13px}.report-actions{display:flex;gap:7px}.missing-list{border-color:#f0dfc8}.missing-list h2{font-size:19px}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:15px}.contact-card{padding:24px}.contact-links{display:flex;flex-wrap:wrap;gap:8px}.contact-links a{background:#edf4eb;padding:8px 11px;border-radius:9px;font-size:13px;font-weight:700}.comment{margin:16px 0 0;white-space:pre-wrap;color:#586b5d}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-section{padding:22px;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:start}.count{background:#edf4eb;border-radius:20px;padding:3px 9px;color:#286c47;font-weight:800}.inset{background:#f8faf7;border-radius:13px;padding:15px;margin:15px 0}.list{border-top:1px solid #e7eee5;margin-top:16px}.list details{border-bottom:1px solid #e7eee5}.list summary{cursor:pointer;padding:11px 0;display:flex;justify-content:space-between;gap:10px}.list summary .muted{font-size:12px;text-align:right}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:13px 0}.weekday-times{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday-times input{padding:7px 3px;font-size:12px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto;margin:0}.compact-list{list-style:none;padding:0;margin:0}.compact-list li{padding:8px 0;border-bottom:1px solid #edf1ec;font-size:13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.compact-list li small{display:block;width:100%;color:#9d5646}.status{border-radius:6px;padding:2px 6px;background:#e6eee6}.status-failed,.status-uncertain{background:#ffe4da;color:#a33333}.invite-link{padding:12px;background:#f3f8f0;border-radius:9px;overflow-wrap:anywhere;margin:20px 0}@media(max-width:950px){.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}}@media(max-width:620px){.wrap{width:min(100% - 22px,1120px)}.header-inner{gap:10px;flex-wrap:wrap;padding:9px 0}.header-inner nav{margin-left:0}.logout{margin-left:auto}.auth-layout{grid-template-columns:1fr;margin-top:0}.auth-card{margin-top:0}.auth-layout .card{padding:23px}.calendar-grid{grid-template-columns:1fr 1fr;gap:9px}.day-card{min-height:150px;padding:12px}.week-nav{flex-wrap:wrap}.week-nav strong{order:-1;width:100%;text-align:center}.week-nav form{max-width:none;width:100%}.page-heading{align-items:start;flex-direction:column}.form-grid{grid-template-columns:1fr}.weekday-times{grid-template-columns:repeat(4,minmax(0,1fr))}.day-step{font-size:12px}.day-step h2{font-size:16px}.report-row{grid-template-columns:62px 1fr;gap:8px}.report-row time{font-size:17px}.report-actions{grid-column:2}.date-picker{width:100%}}@media(max-width:390px){.calendar-grid{grid-template-columns:1fr}.day-card{min-height:0}}

.multiline { white-space: pre-line; overflow-wrap: anywhere; }
