:root{color-scheme:light;--bg:#f7f5f2;--card:#fff;--text:#292735;--muted:#6b6875;--line:#e6e3eb;--field:#faf9fb;--soft:#f0edf5;--accent:#65527e;--gold:#886000;--goldbg:#fff1d3;--shadow:0 10px 30px #24212f08}
html[data-theme=dark]{color-scheme:dark;--bg:#1c1a24;--card:#292633;--text:#f5f3f9;--muted:#b2acbe;--line:#3c3749;--field:#211e2b;--soft:#373143;--accent:#ccbbe6;--gold:#f2c765;--goldbg:#423522;--shadow:0 10px 30px #0003}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1{font-size:26px;line-height:1.2;margin:0 0 6px}h2{font-size:20px;line-height:1.25;margin:0 0 6px}p{margin:5px 0 12px}.wrap{max-width:920px;margin:auto;padding:0 24px 110px}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--bg);padding:22px 0;margin-bottom:18px;border-bottom:1px solid var(--line)}.brandlink{text-decoration:none;min-width:0}.brand{display:block;font-size:26px;font-weight:800;line-height:1.1}.sub{display:block;font-size:13px;color:var(--muted);margin-top:5px}.toptools{display:flex;align-items:center;gap:10px}.badge{padding:8px 12px;border-radius:20px;background:var(--card);font-size:13px;white-space:nowrap}.iconbtn{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);display:inline-flex;justify-content:center;align-items:center;text-decoration:none;cursor:pointer}.card{background:var(--card);padding:24px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);margin-bottom:20px}.pageintro{margin:24px 0}.muted,.meta,.hint{color:var(--muted)}.meta{font-size:14px;margin-top:3px}.hint{font-size:13px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.count{padding:4px 10px;border-radius:20px;background:var(--soft);color:var(--muted);font-size:13px}.person{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.person:last-child{border-bottom:0}.personlink{text-decoration:none;border-radius:8px}.personlink:hover,.stafflink:hover{background:var(--soft)}.personinfo{flex:1;min-width:0}.name{font-weight:700;overflow-wrap:anywhere}.photo,.avatar{width:64px;height:64px;flex:none;border-radius:15px;object-fit:cover;background:var(--soft)}.photo{object-position:50% 35%}.avatar{display:grid;place-items:center;color:var(--muted)}.photo.big,.avatar.big{width:120px;height:120px;border-radius:22px}.avatar.big .icon{width:48px;height:48px}.age{font-size:13px;margin-top:5px}.when{font-size:16px;font-weight:700;text-align:right;white-space:nowrap}.days{font-size:12px;font-weight:500;color:var(--accent);margin-top:3px}.jubmark{display:inline-block;background:var(--goldbg);color:var(--gold);padding:2px 7px;border-radius:6px;font-size:11px;font-weight:700}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.chevron{width:16px;height:16px;color:var(--muted)}.symbols{position:absolute;width:0;height:0;overflow:hidden}.btn{min-height:44px;border:1px solid transparent;border-radius:11px;padding:10px 15px;background:var(--text);color:var(--card);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;cursor:pointer;gap:7px}.btn.light{background:var(--soft);color:var(--text)}.btn.on,.btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.btn.danger{background:#91333e;color:#fff}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.adminnav{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding-bottom:20px;margin-bottom:4px;border-bottom:1px solid var(--line)}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;min-width:0}input:not([type=checkbox]),select{width:100%;min-height:44px;padding:10px 12px;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:10px;min-width:0}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none}.filters label{min-width:130px;flex:1}.filters .searchfield{flex:2;min-width:220px}.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile{display:flex;align-items:center;gap:22px}.profile h1{font-size:25px}.details{margin:24px 0;display:grid;gap:16px}.details>div{padding-top:14px;border-top:1px solid var(--line)}dt{font-size:13px;color:var(--muted)}dd{margin:4px 0 0}.back{display:inline-block;margin:0 0 16px;text-decoration:none;color:var(--accent);font-size:14px}.empty{padding:32px 0;text-align:center;color:var(--muted)}.calhead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 0 12px}.calhead h2{text-align:center}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekday{text-align:center;font-size:12px;color:var(--muted);padding-bottom:6px}.day{min-height:74px;border-radius:12px;text-decoration:none;background:var(--field);border:1px solid var(--line);padding:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px}.day.blank{border:0;background:transparent}.day.today{outline:2px solid var(--accent);outline-offset:-2px}.day.selected{background:var(--accent);color:var(--bg);border-color:var(--accent)}.day.has-events:not(.selected){background:var(--soft)}.eventcount{font-size:11px;color:var(--accent);font-weight:600}.day.selected .eventcount{color:inherit}.callegend{font-size:12px;color:var(--accent);display:flex;align-items:center;gap:8px;margin-top:16px}.legend-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}#birthdays{scroll-margin-top:112px}.editor{display:grid;gap:20px;margin-top:22px}.checks{display:flex;flex-direction:column;gap:14px}.checks label,.check{display:flex;flex-direction:row;align-items:center;font-size:14px;font-weight:500}.photofield{border:1px solid var(--line);border-radius:14px;padding:16px;margin:0;min-width:0}legend{color:var(--muted);font-size:13px;padding:0 6px}.photoeditor{display:flex;align-items:center;gap:20px}.photoeditor>div{flex:1;min-width:0}.secondaryactions{margin-top:28px;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:20px}.secondaryactions summary{cursor:pointer;color:var(--muted);font-size:13px}.status{display:inline-block;background:var(--soft);color:var(--accent);padding:3px 8px;border-radius:6px;font-size:11px}.status.hidden-status{color:var(--muted)}.statusline{margin-top:6px}.rowactions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:end}.stafflink{color:inherit;text-decoration:none}.notice{border:1px solid var(--line);background:var(--soft);padding:14px 16px;border-radius:12px;margin-bottom:16px;font-size:14px}.notice.success{border-left:4px solid #458866}.notice.error{border-left:4px solid #bb4558}.undo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 18px;font-size:13px;color:var(--muted)}.offline{background:var(--goldbg);color:var(--gold);padding:12px 16px;border-radius:12px;margin-bottom:16px;font-size:14px}.nav{position:fixed;z-index:30;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--line)}.navin{max-width:920px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 12px max(8px,env(safe-area-inset-bottom))}.nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:58px;text-decoration:none;font-size:11px;color:var(--muted)}.nav a.on{color:var(--accent);font-weight:700}.nav a.on .icon{stroke-width:2.2}
@media(max-width:600px){.wrap{padding:0 14px 100px}.top{padding:18px 0;margin-bottom:10px}.brand{font-size:22px}.badge{font-size:11px;padding:7px 9px}.toptools{gap:7px}h1{font-size:23px}h2{font-size:18px}.card{padding:16px;border-radius:16px;margin-bottom:16px}.pageintro{margin:18px 0}.person{gap:10px;flex-wrap:wrap;padding:16px 0}.photo,.avatar{width:52px;height:52px;border-radius:12px}.name{font-size:14px}.meta{font-size:12px}.when{font-size:14px}.days{font-size:11px}.chevron{display:none}.age{font-size:12px}.personinfo{min-width:100px}.filters{gap:10px}.filters label,.filters .searchfield{min-width:0;flex:1 1 calc(50% - 10px)}.filters .searchfield{flex-basis:100%}.filters .btn{flex:1 1 calc(50% - 10px)}.row{grid-template-columns:1fr;gap:18px}.cal{gap:4px}.day{min-height:52px;padding:4px;font-size:13px;border-radius:9px}.eventcount{font-size:10px}.desktop-only{display:none}.calhead h2{font-size:18px}.callegend .muted{margin-left:auto}.profile{align-items:flex-start;gap:14px}.photo.big,.avatar.big{width:88px;height:88px;border-radius:17px}.profile h1{font-size:21px}.staffrow .rowactions{width:100%;padding-left:62px;justify-content:start}.rowactions .btn{padding:9px 12px;font-size:12px}.photoeditor{align-items:flex-start;gap:14px}.sectionhead{align-items:start}.sectionhead .btn{font-size:12px;white-space:nowrap}.checks label{font-size:13px}.navin{padding-left:0;padding-right:0}}
@media(prefers-reduced-motion:no-preference){.personlink,.btn,.iconbtn{transition:background .15s,border-color .15s}}
