.shell{padding:18px 24px}.compacthead{display:flex;align-items:center;justify-content:space-between;gap:12px}.compacthead>div:first-child{display:flex;align-items:center;gap:20px}.compacthead h1{font-size:23px;letter-spacing:-.6px}.connection{font-size:12px;color:var(--muted);margin:8px 0}.connection.good{color:var(--green)}.warning{background:#fff0dc;border-color:#e6c59f}.demotools{margin:8px 0;font-size:13px}.demotools summary{cursor:pointer;color:var(--muted)}.demotools .flex{margin:10px 0}.tabs{margin:12px 0;padding-bottom:8px;gap:3px}.tabs button{font-size:14px;padding:8px 12px}.toolbar{display:block;margin-bottom:12px}.dayline,.searchline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dayline{margin-bottom:8px}.searchline input{flex:1;min-width:140px}.dayline select{font-size:14px;padding:7px 10px}.searchline select{max-width:155px}.statusfilters{display:flex;gap:6px;overflow:auto;margin:12px 0}.statusfilters button{white-space:nowrap;font-size:13px;padding:8px 11px}.statusfilters button.active{background:var(--green);color:white}.rowoptions{display:flex;gap:15px;align-items:center;font-size:12px;color:var(--muted);margin:8px 0 12px}.rowoptions label{display:flex;align-items:center;gap:6px}.rowoptions input{margin:0;width:15px;height:15px}.list{gap:6px}.child{padding:10px 13px;grid-template-columns:minmax(170px,1fr) minmax(130px,.7fr) auto;gap:10px;border-radius:10px}.child .name,.name .childlink{font-size:16px}.child .meta{font-size:12px;margin-top:1px}.child .badges{gap:4px;margin-top:4px}.badge{font-size:11px;padding:2px 5px}.status{font-size:14px}.actions button{font-size:13px;padding:8px 11px}.childlink{padding:0;border:0;border-radius:3px;background:transparent;text-align:left;color:var(--green);font-weight:750;text-decoration:underline;text-decoration-color:#a8beb0;text-underline-offset:4px}.childlink:hover{background:transparent;text-decoration-color:var(--green)}.attentionlink{border:0;background:#fff0dc;border-radius:5px;padding:2px 5px;font-size:11px;color:#98510a}.actionmenu{position:relative}.actionmenu summary{list-style:none;cursor:pointer;background:white;border:1px solid var(--line);border-radius:8px;font-size:13px;padding:8px 10px}.actionmenu .menubody{position:absolute;right:0;top:38px;display:grid;min-width:200px;background:white;border:1px solid var(--line);box-shadow:0 8px 25px #20382f22;border-radius:10px;padding:6px;z-index:3}.actionmenu .menubody button{text-align:left;border:0;padding:10px;font-size:13px}.panel{padding:17px}.attentiontable{white-space:normal}.attentiontable td:first-child{width:28%}.attentiontable td:nth-child(2){width:15%}.attestbox{background:var(--mint);padding:1px 12px 12px;border-radius:10px;margin-top:14px}.attestbox label{display:flex;align-items:start;gap:8px}.attestbox input{width:17px;flex:none;margin-top:2px}.formerror{color:var(--red);font-size:13px;min-height:1em}.followfilters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.followfilters .active{background:var(--green);color:white}.followtable{white-space:normal}.followtable th:nth-child(1){width:24%}.followtable th:nth-child(2){width:12%}.followtable td .smalltext{margin-top:4px}.checkdays{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.checkdays label{display:flex;gap:5px;align-items:center;margin:0}.checkdays input{width:17px}.printpreview .printsheet{min-width:760px}.printsheet td{padding-top:4px;padding-bottom:4px}.printsheet .pattention{font-size:10px}.printsheet .pname{font-size:11px}.printsheet .printlegend{font-size:10px}.printsheet .printnote{font-size:10px}#toast{display:flex;gap:14px;align-items:center;font-size:14px;max-width:95%;width:max-content}#toast button{font-size:12px;padding:5px 8px}body.saving [data-mutate]{opacity:.6;pointer-events:none}dialog button:disabled{opacity:.5}dialog{max-height:90vh;overflow:auto}.recorddetail{font-size:13px;margin-top:8px;padding:10px;background:var(--paper);border-radius:8px}.todaynotice{font-size:12px;color:var(--muted);margin-bottom:9px}.countnote{font-size:12px;color:var(--muted)}
@media(max-width:760px){.shell{padding:12px}.compacthead{align-items:center}.compacthead>div:first-child{display:block}.compacthead .brand{font-size:18px}.compacthead h1{font-size:18px;letter-spacing:-.3px;margin-top:2px}.compacthead button{font-size:11px;padding:7px}.compacthead .flex{gap:5px;flex-wrap:nowrap}.connection{font-size:11px}.demo{font-size:11px;padding:5px}.tabs{margin:10px 0}.tabs button{font-size:12px;padding:7px 10px}.demotools{font-size:12px}.toolbar input,.toolbar select{font-size:14px;padding:8px}.toolbar input{width:auto;min-width:120px}.dayline{gap:6px}.dayline select{max-width:150px}.dayline button{font-size:11px}.dayline #datewarning{flex-basis:100%;font-size:11px}.searchline{flex-wrap:nowrap}.searchline select{width:125px}.statusfilters{margin:8px 0;gap:5px}.statusfilters button{font-size:12px;padding:7px 9px}.rowoptions{font-size:11px;margin:5px 0 8px}.child{padding:9px 10px;grid-template-columns:1fr auto;gap:5px}.child>div:nth-child(2){grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap;grid-row:2}.child .actions{grid-column:2;grid-row:1;align-self:start;flex-wrap:nowrap}.name .childlink{font-size:15px}.child .meta{font-size:11px}.actions button{padding:7px 8px;font-size:12px}.actionmenu summary{padding:7px 8px;font-size:12px}.child .status{font-size:12px}.child .badges{margin-top:3px}.badge{font-size:10px}.attentiontable{font-size:12px}.attentiontable th,.attentiontable td{padding:9px 6px}.attentiontable td:first-child{width:29%}.attentiontable td:nth-child(2){width:15%}.attentiontable td:last-child{width:56%}.panel{padding:12px}.panel h2{font-size:18px}.footer{font-size:11px}.followtable{min-width:620px}#toast{bottom:12px;font-size:12px;gap:8px}}
@media print{.compacthead,.connection,.demotools,#toolbar,#connectionproblem{display:none!important}.printhead .printsheet{min-width:0}.printhead td{font-size:9px;line-height:1.25}.printhead .pattention{font-size:8px}.printhead .mark{font-size:15px}.printhead th,.printhead td{padding:3px 5px}}

.profiletext,.attentiontable td{white-space:pre-wrap}.training{background:#fff0dc;font-weight:700}dialog input[type=checkbox]{width:auto}.checkdays{display:flex;flex-wrap:wrap;gap:12px}.checkdays label{display:flex;gap:8px;align-items:center}.printsheet .pickup td:not(:first-child){text-align:center}@media print{.compacthead,.connection,.connectionproblem,.demotools,.demo,.footer,.noprint{display:none!important}}
@media(max-width:760px){.searchline{flex-wrap:wrap}.searchline input,.searchline select{flex:1 1 100%;width:100%;min-width:0}}
.searchline select{width:340px;max-width:100%;flex-shrink:0}
@media(max-width:760px){.searchline select{width:100%;flex:1 1 100%}}

.weekgroupchange{white-space:normal;color:var(--green);max-width:230px}.participationcorrection{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.participationcorrection summary{cursor:pointer;color:var(--muted);font-size:13px}.participationcorrection p{margin:8px 0}.participationcorrection button{margin:4px 0}

#teamlink{width:100%;font-size:13px}#copyteamlink{margin-top:8px}.accessstatus{font-weight:650;color:var(--green)}#revoketeam{color:var(--red);margin-top:12px}

/* Keep camp actions usable on narrow touch screens without widening the page. */
@media(max-width:760px){.compacthead{flex-direction:column;align-items:stretch;gap:8px}.compacthead>div:first-child{min-width:0}.compacthead h1{overflow-wrap:anywhere}.compacthead>.flex{flex-wrap:wrap;justify-content:flex-start}.compacthead>.flex a,.compacthead>.flex button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.child .actions>button,.actionmenu summary{min-height:44px;display:flex;align-items:center;justify-content:center}.child .actions .menubody button{min-height:44px}.child>div:first-child{min-width:0}.child .meta{overflow-wrap:anywhere}}

/* Responsive review: long source text must not set the width of the page. */
.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2>.panel,.child>div{min-width:0}.profiletext,.data,.history,.notice,#view h2,.childlink,.weekgroupchange{overflow-wrap:anywhere}
.attentiontable{table-layout:fixed;overflow-wrap:anywhere}.weektable{min-width:720px;table-layout:fixed;white-space:normal}.weektable th:first-child,.weektable td:first-child{width:170px;position:sticky;left:0;background:white;z-index:1;overflow-wrap:anywhere;box-shadow:2px 0 0 var(--line)}.weektable th:first-child{background:#f7f8f3;z-index:2}.weektable td.daycell{min-width:100px}.tablewrap,.printpreview{max-width:100%;overscroll-behavior-x:contain}.scrollhint{display:none;margin:8px 0;font-size:12px;color:var(--muted)}
/* Keep headings and the closing buttons outside the scrolling form body. */
dialog{max-height:90vh;max-height:90dvh;overflow:hidden}dialog form{display:flex;flex-direction:column;max-height:calc(90vh - 54px);max-height:calc(90dvh - 54px);min-height:0}dialog form>h2,dialog form>.flex,dialog form>.formerror,dialog form>#dialogerror{flex-shrink:0}dialog form>h2{overflow-wrap:anywhere}#modalbody,#dialogbody{min-height:0;overflow:auto;overscroll-behavior:contain;padding:4px}dialog form>.flex{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:1024px){button,button.small,summary{min-height:44px;min-width:44px}input:not([type=checkbox]),select{min-height:44px;font-size:16px}.tabs button,.statusfilters button{min-height:44px}.compacthead{flex-wrap:wrap}.compacthead>div:first-child{min-width:0;flex:1 1 380px}.compacthead h1{overflow-wrap:anywhere}.compacthead>.flex a{min-height:44px;display:inline-flex;align-items:center}.childlink{min-height:44px;display:inline-flex;align-items:center;white-space:normal}.actionmenu summary{min-height:44px;display:flex;align-items:center;justify-content:center}.actionmenu .menubody{top:calc(100% + 4px);max-width:calc(100vw - 28px)}.actionmenu .menubody button{min-height:44px}.rowoptions{flex-wrap:wrap;font-size:13px;gap:6px 14px}.rowoptions label,.checkdays label{min-height:44px}.rowoptions input,.checkdays input{width:20px;height:20px}.badge{font-size:12px}.scrollhint:not(.hidden){display:block}.tablewrap:focus-visible,.printpreview:focus-visible{outline:3px solid #a6c8b1;outline-offset:2px}}
@media(max-width:900px){.grid2{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.compacthead>div:first-child{flex-basis:auto}.child{grid-template-columns:minmax(0,1fr);gap:8px}.child>div:first-child{grid-column:1;grid-row:1}.child>div:nth-child(2){grid-column:1;grid-row:2}.child .actions{grid-column:1;grid-row:3;justify-content:flex-start;flex-wrap:wrap;gap:8px}.searchline input,.searchline select,.dayline select{font-size:16px;min-height:44px}.weektable th:first-child,.weektable td:first-child{width:150px}}
@media(max-width:600px){.attentiontable,.attentiontable tbody,.attentiontable tr,.attentiontable td{display:block;width:100%}.attentiontable thead{display:none}.attentiontable tr{padding:12px 0;border-bottom:1px solid var(--line)}.attentiontable td{width:auto!important;padding:5px 0;border:0;font-size:14px}.attentiontable td[data-label]:before{content:attr(data-label);display:block;font-size:12px;font-weight:650;color:var(--muted);margin-bottom:4px}.attentiontable .childlink{font-size:16px}.attentiontable td:last-child{white-space:pre-wrap}}
@media print{.scrollhint{display:none!important}}
@media(max-width:1024px){.tabs button,.statusfilters button{flex-shrink:0}}
.printsheet{overflow-wrap:anywhere}
.compacthead>.flex a{color:var(--green);text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px}#toast{flex-wrap:wrap;overflow-wrap:anywhere}
