:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f7fb;color:#1f2937;--surface: #ffffff;--surface-soft: #f8fafc;--surface-tint: #eef7f4;--border: #d8e0ea;--text-muted: #64748b;--primary: #11756f;--primary-strong: #0d5f5a;--accent: #dc7a39;--danger: #b42318;--shadow: 0 18px 50px rgba(31, 41, 55, .12)}:root[data-theme=dark]{color-scheme:dark;background:#111827;color:#eef2f7;--surface: #182231;--surface-soft: #111827;--surface-tint: #173330;--border: #334155;--text-muted: #a7b3c3;--primary: #37b7aa;--primary-strong: #5fd2c7;--accent: #f0a66b;--shadow: 0 18px 50px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{border:0;border-radius:8px;background:var(--primary);color:#fff;padding:.7rem .95rem;cursor:pointer;font-weight:700;box-shadow:0 8px 18px #11756f2e}button:hover{background:var(--primary-strong)}button:disabled{opacity:.5;cursor:not-allowed}.primaryButton{width:100%;min-height:48px}.secondaryButton{background:var(--surface);color:var(--primary-strong);border:1px solid var(--border);box-shadow:none}.secondaryButton:hover{background:var(--surface-tint)}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:.78rem .85rem;background:var(--surface);color:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}a{color:var(--primary-strong);font-weight:650}h1,h2,h3,p{margin-top:0}.appShell{min-height:100vh;display:grid;grid-template-columns:1fr;background:radial-gradient(circle at 12% 8%,rgba(17,117,111,.11),transparent 24rem),linear-gradient(145deg,#f8fbff,#eef7f4 52%,#f7f1ec)}:root[data-theme=dark] .appShell{background:linear-gradient(145deg,#101827,#172235 52%,#102927)}.appShell:has(.sidebar){grid-template-columns:300px 1fr}.sidebar{min-height:100vh;position:sticky;top:0;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 18rem),#172535;color:#fff;padding:1rem;display:flex;flex-direction:column;gap:1rem;box-shadow:10px 0 30px #0f172a2e;overflow-y:auto}.brandBlock{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.14)}.brandBlock small{display:block;margin-top:.2rem;color:#ffffffb3}.brandMark{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;color:#0f2a28;background:linear-gradient(135deg,#bff3e8,#ffd2a8);font-weight:900;letter-spacing:0;flex:0 0 auto}.brandMark.large{width:64px;height:64px;font-size:1.25rem}.rolePill{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.75rem;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff12}.rolePill span{color:#ffffff9e;font-size:.78rem;text-transform:uppercase;letter-spacing:0}.rolePill strong{border-radius:999px;padding:.28rem .55rem;background:#bff3e8;color:#103532;font-size:.78rem}.kindergartenSwitcher{display:grid;gap:.35rem}.kindergartenSwitcher label{display:grid;gap:.4rem;color:#ffffff9e;font-size:.78rem;text-transform:uppercase}.kindergartenSwitcher select{min-width:0;width:100%;border-color:#ffffff24;background:#ffffff14;color:#f8fafc}.kindergartenSwitcher small{color:#fecaca}.navMenu{display:grid;gap:.75rem}.navSection,.navGroup{display:grid;gap:.3rem}.navSection small,.navGroup summary,.sidebarActions small{color:#ffffff94;text-transform:uppercase;letter-spacing:0;font-size:.74rem;font-weight:800}.navGroup summary{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:.65rem;padding:.45rem .6rem;list-style:none}.navGroup summary::-webkit-details-marker{display:none}.navItem,.sidebarSmallButton{color:#ffffffdb;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:.65rem;min-height:42px;padding:.35rem .55rem;border-radius:8px;text-decoration:none;cursor:pointer;border:1px solid transparent}.navItem:hover,.navItem.router-link-active,.navGroup summary:hover,.sidebarSmallButton:hover{color:#fff;background:#ffffff1c;border-color:#ffffff1f}.navItem.router-link-active .navIcon{background:#bff3e8;color:#0f2a28}.navItem.nested{margin-left:.85rem;font-size:.94rem;color:#ffffffbd}.navIcon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#ffffff14;color:#c9f7ef;font-weight:900;line-height:1}.sidebarActions{display:grid;gap:.5rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.14)}.sidebarSmallButton{width:100%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);box-shadow:none;font-size:.92rem;text-align:left}.dangerButton{color:#ffd9d4}main{width:min(1180px,100%);margin:0 auto;padding:1.5rem}.topbar,.toolbar{display:flex;justify-content:flex-end;gap:1rem;align-items:center;margin-bottom:1rem}.pageHeader{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.pageHeader h1{margin-bottom:.35rem}.quickActions{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;margin:1rem 0}.quickActions a,.quickActions button{display:block;padding:.9rem 1rem;border-radius:8px;background:var(--surface);border:1px solid var(--border);color:var(--primary-strong);text-decoration:none;box-shadow:0 8px 20px #1f29370f}.quickActions a:hover,.quickActions button:hover{background:var(--surface-tint)}.capabilitySection{margin-top:1.35rem}.capabilityGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.85rem}.capabilityCard{display:grid;gap:.4rem;min-height:132px;padding:1rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);text-decoration:none;color:inherit;box-shadow:0 10px 26px #1f29370f}.capabilityCard:hover{background:var(--surface-tint)}.capabilityCard strong{color:var(--primary-strong)}.capabilityCard span{color:var(--text-muted);line-height:1.45}.groupGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.groupCard{display:grid;gap:.2rem;padding:.85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.groupCard span{color:var(--primary-strong);font-size:2rem;font-weight:900;line-height:1}.groupGrid+.chartCard{margin-top:.9rem}.childGroupPanel{max-width:760px}.compactHeader{margin-bottom:.75rem}.secureProfilePanel{margin-bottom:1rem}.secureProfileGrid{display:grid;gap:1rem}.secureProfileCard{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.secureProfileTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.secureProfileTitle div{display:grid;gap:.2rem}.secureProfileTitle span{border-radius:999px;padding:.32rem .62rem;color:#9a4d13;background:#fff2d8;font-size:.78rem;font-weight:850;white-space:nowrap}.secureProfileTitle span.complete{color:#17613f;background:#def5e8}.childGroupList{display:grid;gap:.65rem}.childGroupItem{display:flex;justify-content:space-between;gap:.8rem;align-items:center;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.childGroupItem div{display:grid;gap:.15rem}.childGroupItem span{border-radius:999px;padding:.32rem .65rem;background:var(--surface-tint);color:var(--primary-strong);font-weight:850;white-space:nowrap}.analyticsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1rem 0}.chartCard{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 10px 26px #1f29370f}.chartCard h3{margin:0}.barChart{display:grid;gap:.8rem}.barRow{display:grid;gap:.35rem}.barLabel{display:flex;justify-content:space-between;gap:.8rem;color:var(--text-muted)}.barLabel strong{color:var(--primary-strong)}.barTrack{height:.72rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--surface-soft));overflow:hidden}.barTrack span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent))}.authPage{min-height:calc(100vh - 3rem);display:grid;grid-template-columns:minmax(280px,1fr) minmax(340px,460px);align-items:center;gap:clamp(1.5rem,5vw,4rem)}.authIntro{max-width:620px}.authIntro h1{margin:1rem 0 .75rem;font-size:clamp(2.2rem,5vw,4.8rem);line-height:1;letter-spacing:0}.authIntro p{max-width:540px;color:var(--text-muted);font-size:1.12rem;line-height:1.65}.authHighlights{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}.authHighlights span{border:1px solid var(--border);background:#ffffffb8;border-radius:8px;padding:.55rem .7rem;color:#334155;font-weight:750}.authPanel,.formPanel{display:grid;gap:1rem;background:color-mix(in srgb,var(--surface) 94%,transparent);padding:clamp(1.2rem,3vw,2rem);border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:8px;box-shadow:var(--shadow)}.registerPanel{width:min(680px,100%);margin:2rem auto}.signupStatusList,.approvalList{display:grid;gap:.75rem}.signupStatusRow,.approvalRow{display:grid;gap:.75rem;padding:.85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.signupStatusRow{grid-template-columns:1fr auto;align-items:center}.signupStatusRow div,.approvalMain{min-width:0;display:grid;gap:.25rem}.signupStatusRow small,.approvalMain small,.approvalMain span{color:var(--text-muted);overflow-wrap:anywhere}.documentToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.documentToolbar select{width:auto}.parentFeedPage{max-width:760px;margin:0 auto}.compactCards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.feedSearch{display:grid;gap:6px;margin:0 0 16px;color:var(--text-muted);font-size:.86rem;font-weight:800}.feedSearch input{color:var(--text);font-weight:600}.feedRefreshSelect{display:inline-flex;align-items:center;gap:10px;margin:-4px 0 16px;color:var(--text-muted);font-size:.86rem;font-weight:800}.feedRefreshSelect select{min-width:132px;color:var(--text);font-weight:700}.feedList{display:grid;gap:14px}.feedCard{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.feedCard.pinned{border-color:#d8ae4e}.feedHeader{display:flex;justify-content:space-between;gap:12px;padding:14px 14px 8px}.feedHeader>div{display:grid;gap:4px}.kind{color:var(--primary);font-size:.78rem;font-weight:800;text-transform:uppercase}.photoButton{display:block;width:100%;min-height:220px;padding:0;border-radius:0;background:#dcebe3}.photoButton img{display:block;width:100%;max-height:520px;object-fit:cover}.documentFeedPreview{display:grid;gap:.65rem;padding:8px 14px 0}.documentPreview{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:12px;border-radius:8px;background:color-mix(in srgb,var(--primary) 9%,var(--surface));color:inherit;text-align:left}.documentIcon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:58px;border-radius:6px;color:#fff;background:#476c8a;font-size:.78rem;font-weight:900}.documentPreview span:last-child{display:grid;gap:3px;min-width:0}.documentPreview strong{overflow-wrap:anywhere}.documentPreview small,.feedFooter>span{color:var(--text-muted)}.documentImagePreview,.documentFramePreview{width:100%;min-height:260px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface-soft)}.documentImagePreview{display:block;padding:0}.documentImagePreview img{display:block;width:100%;max-height:520px;object-fit:cover}.documentFramePreview{height:clamp(260px,42vw,520px)}.feedBody{padding:10px 14px 4px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.metaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 14px 4px}.metaGrid div{display:grid;gap:3px}.feedFooter{display:grid;gap:10px;padding:12px 14px 14px}.reactionRail{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.reactionRail::-webkit-scrollbar{display:none}.reaction{min-width:44px;height:36px;padding:0 9px;border-radius:18px;color:var(--text);background:color-mix(in srgb,var(--primary) 8%,var(--surface));font-weight:700}.reaction.active{background:color-mix(in srgb,var(--primary) 18%,var(--surface));outline:2px solid color-mix(in srgb,var(--primary) 48%,transparent)}.statePanel{display:grid;gap:9px;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.statePanel.error{color:#7d1d1d;background:#fff1ee}.loadMore{width:100%;min-height:48px;margin-top:16px}.endHint{padding:24px 0;text-align:center;color:var(--text-muted)}.feedSentinel{height:1px}.skeletonCard{display:grid;gap:12px;min-height:190px;padding:16px}.skeletonCard span,.skeletonCard strong,.skeletonCard p{display:block;border-radius:8px;background:linear-gradient(90deg,#eef5f0,#dcebe3,#eef5f0);background-size:220% 100%;animation:shimmer 1.4s ease-in-out infinite}.skeletonCard span{width:78px;height:16px}.skeletonCard strong{width:76%;height:24px}.skeletonCard p{align-self:stretch}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.authPanel h2{margin-bottom:.25rem;font-size:1.6rem}.authLinks{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;font-size:.94rem}label{display:grid;gap:.4rem;color:color-mix(in srgb,currentColor 86%,var(--text-muted));font-weight:650}label small,.muted,small{color:var(--text-muted);font-weight:500}.inline{display:flex;align-items:center;gap:.5rem}.inline input{width:auto}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}.metric,.rowCard,.docBlock,.moduleCard,.scopePanel,.photoPanel,.photoCard,.messagePanel{background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 26px #1f29370f}.metric{display:grid;gap:.35rem;padding:1rem}.metric strong{color:var(--primary-strong);font-size:2.2rem}.list{display:grid;gap:.75rem}.rowCard{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:center;gap:.75rem;padding:1rem}.attachmentList{display:flex;flex-wrap:wrap;gap:.45rem}.attachmentList span,.attachmentList button{width:fit-content;max-width:100%;border-radius:8px;padding:.42rem .6rem;border:1px solid var(--border);background:var(--surface-soft);color:var(--primary-strong);font-size:.86rem;overflow-wrap:anywhere}.inlineAttachments{min-width:0}.status{width:fit-content;border-radius:999px;padding:.28rem .62rem;font-size:.85rem;font-weight:800;background:#eef2f7;color:#263445}.status[data-status=APPROVED],.status[data-status=PUBLISHED]{background:#d9f5e5;color:#0c6134}.status[data-status=REJECTED],.status[data-status=CANCELLED]{background:#ffe2e2;color:#982323}.status[data-status=PENDING],.status[data-status=HIDDEN]{background:#fff2c8;color:#7c5600}.document pre{white-space:pre-wrap;font:inherit}.error{border-radius:8px;color:#7a271a;background:#fff0ed;border:1px solid #fecdc7;padding:.7rem .8rem}.success{border-radius:8px;color:#17613a;background:#ecfdf3;border:1px solid #b7efc5;padding:.7rem .8rem}.hint{max-width:760px;border-left:4px solid var(--primary);padding:.7rem .85rem;background:var(--surface-tint);border-radius:0 8px 8px 0;color:color-mix(in srgb,currentColor 82%,var(--primary))}.inboxLayout{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:1rem;margin-top:1rem}.threadList{display:grid;align-content:start;gap:.5rem}.threadList button{display:grid;gap:.2rem;justify-items:start;text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--border)}.threadList button.active{border-color:var(--primary);background:var(--surface-tint)}.messagePanel{display:grid;gap:1rem;padding:1rem}.messagePanel header,.messageBubble{display:grid;gap:.3rem}.messageList{display:grid;gap:.65rem}.messageBubble{max-width:min(680px,100%);width:fit-content;border:1px solid var(--border);border-radius:8px;padding:.7rem .8rem;background:var(--surface-soft)}.messageBubble.mine{justify-self:end;background:var(--surface-tint)}.chatWidget{position:fixed;right:1.25rem;bottom:1.25rem;z-index:80;display:grid;justify-items:end;gap:.75rem}.chatLauncher{display:inline-flex;align-items:center;gap:.55rem;min-height:48px;padding:0 1rem;border-radius:999px;box-shadow:0 16px 38px #18362a33}.chatLauncher span{font-size:1.05rem}.chatPanel{width:min(760px,calc(100vw - 2rem));max-height:min(720px,calc(100vh - 6.5rem));display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 26px 70px #14271f3d}.chatHeader{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:var(--surface-soft)}.chatHeader>div{min-width:0;display:grid;gap:.15rem}.chatHeader small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatHeader button{width:34px;height:34px;padding:0;border-radius:50%}.chatTabs{display:flex;gap:.5rem;padding:.65rem .8rem;border-bottom:1px solid var(--border)}.chatTabs button{min-height:34px;border-radius:999px;background:var(--surface-soft);color:var(--primary-strong)}.chatTabs button.active{color:#fff;background:var(--primary)}.chatBody{min-height:0;display:grid;grid-template-columns:230px 1fr}.chatThreadRail{display:grid;align-content:start;gap:.45rem;min-height:0;max-height:100%;overflow:auto;padding:.75rem;border-right:1px solid var(--border);background:var(--surface-soft)}.chatThreadRail button{display:grid;gap:.15rem;justify-items:start;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text)}.chatThreadRail button.active{border-color:var(--primary);background:var(--surface-tint)}.chatConversation,.chatComposer{min-height:0;display:grid;gap:.75rem;padding:.85rem}.chatConversation{grid-template-rows:minmax(0,1fr) auto auto}.chatMessages{min-height:220px;max-height:420px;overflow:auto;display:grid;align-content:start;gap:.65rem}.chatComposer{overflow:auto}.guideBox{border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);padding:.85rem .95rem}.guideBox summary{cursor:pointer;font-weight:850;color:var(--primary-strong)}.guideBox p{margin:.75rem 0 0;color:var(--text-muted);line-height:1.55}.docGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.docBlock{padding:1rem}.docBlock pre{white-space:pre-wrap;font:inherit;line-height:1.5}.moduleGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.moduleGrid.compact{margin-top:.9rem}.moduleDataPanel{max-width:1040px}.tableHeader{display:flex;justify-content:space-between;gap:1rem;align-items:end}.tableFilters{min-width:min(100%,460px);display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:.75rem}.tableSummary{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.tableSummary strong{color:var(--primary-strong)}.tableSummary span{border-radius:999px;padding:.25rem .6rem;background:var(--surface-tint);color:var(--primary-strong);font-weight:800}.tableSummary small{color:var(--text-muted)}.responsiveTable{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.responsiveTable table{width:100%;border-collapse:collapse;min-width:720px}.responsiveTable th,.responsiveTable td{padding:.72rem .8rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.responsiveTable th{background:var(--surface-soft);color:var(--primary-strong);font-size:.88rem}.responsiveTable tr:last-child td{border-bottom:0}.dragColumn{width:64px;text-align:center;white-space:nowrap}.draggableRow{cursor:grab}.draggableRow:hover{background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.draggableRow.dragging{opacity:.55}.rowDragHandle{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface-tint);color:var(--primary-strong);font-weight:900;cursor:grab}.moduleCard{padding:1rem;display:grid;gap:.65rem}.moduleCardHeader{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.moduleCardHeader span{color:var(--text-muted);font-weight:900;cursor:grab}.draggableModule{cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.draggableModule:hover,.draggableModule.selected{border-color:color-mix(in srgb,var(--primary) 52%,var(--border));transform:translateY(-2px)}.draggableModule.dragging{opacity:.55;transform:scale(.98)}.moduleCard h2{margin-bottom:0}.moduleCard ul{margin:0;padding-left:1rem;color:var(--text-muted)}.scopePanel{max-width:760px;display:grid;gap:.75rem;margin:1rem 0;padding:1rem}.scopePanel summary{cursor:pointer;font-weight:850;color:var(--primary-strong)}.scopePanel[open]{gap:.85rem}.sectionHeader,.inlineFilter{display:flex;align-items:center;justify-content:space-between;gap:1rem}.inlineFilter{justify-content:start;min-width:min(100%,260px)}.compactFormGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;align-items:end}.checkLabel{display:flex;align-items:center;gap:.5rem}.checkLabel input{width:auto}.groupCheckboxPanel{display:grid;gap:.65rem;min-width:0;margin:0;padding:.85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.groupCheckboxPanel legend{padding:0 .35rem;color:var(--text-muted);font-weight:750}.groupCheckboxList{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.45rem .75rem}.groupCheckboxPanel .checkLabel{align-items:flex-start;min-width:0;font-weight:750}.groupCheckboxPanel .checkLabel span{min-width:0}.parentInfoGrid{display:grid;gap:1rem}.parentInfoGrid .scopePanel,.requestTypePanel{max-width:none}.dataTable{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.dataTableHead,.dataTableRow{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.75rem;min-width:760px;padding:.78rem .85rem;align-items:center}.dataTableHead{background:var(--surface-soft);color:var(--primary-strong);font-weight:850;font-size:.9rem}.dataTableRow{border-top:1px solid var(--border)}.dataTableRow span{min-width:0;overflow-wrap:anywhere}.smallTable .dataTableHead,.smallTable .dataTableRow{min-width:680px}.reportLinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.65rem}.reportCard{border:1px solid var(--border);border-radius:8px;padding:.75rem;background:var(--surface);display:grid;gap:.65rem}.reportCard div{display:flex;flex-wrap:wrap;gap:.45rem}.reportCard button{padding:.48rem .62rem;font-size:.9rem}.reportPreview{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:.85rem}.reportPreview pre{max-height:320px;overflow:auto;margin:0;padding:.85rem;border-radius:8px;background:var(--surface-soft);font-size:.85rem}.reportPreview .chartCard{margin-bottom:.85rem}.ownerPage{display:grid;gap:1rem}.ownerHeader{display:flex;justify-content:space-between;gap:1rem;align-items:center}.ownerHeader span{color:var(--text-muted);font-weight:800;text-transform:uppercase;font-size:.78rem}.ownerLogin{max-width:480px}.ownerMetricGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.ownerMetricGrid article{display:grid;gap:.25rem;padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.ownerMetricGrid span,.ownerMetricGrid small{color:var(--text-muted)}.ownerMetricGrid strong{font-size:2rem;line-height:1;color:var(--primary-strong)}.ownerGrid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,.7fr);gap:1rem;align-items:start}.ownerCreate,.ownerStatus,.ownerTablePanel{max-width:none}.ownerDetailGrid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:1rem;align-items:start}.ownerTwoCols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.ownerPage textarea,.ownerPage select{width:100%;border:1px solid var(--border);border-radius:8px;padding:.75rem .85rem;background:var(--surface);color:var(--text)}.ownerPage textarea{min-height:130px;resize:vertical}.ownerStatus dl{display:grid;gap:.65rem;margin:0}.ownerStatus dl div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.55rem;border-bottom:1px solid var(--border)}.ownerStatus dt{color:var(--text-muted)}.ownerStatus dd{margin:0;font-weight:900;color:var(--primary-strong)}.ownerTable .dataTableHead,.ownerTable .dataTableRow{grid-template-columns:minmax(180px,1.1fr) minmax(170px,1fr) minmax(150px,.85fr) minmax(220px,1.2fr) minmax(120px,.55fr);min-width:1020px}.ownerTable strong,.ownerTable small{display:block}.ownerTable small{margin-top:.25rem;color:var(--text-muted)}.ownerTableButton{width:100%;border:0;border-top:1px solid var(--border);background:transparent;color:inherit;text-align:left}.ownerTableButton.selected{background:#245c4614}.ownerActions{display:flex;flex-wrap:wrap;gap:.45rem}.ownerImportPanel{max-width:none}.ownerImportControls{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:.75rem;align-items:end}.ownerImportSummary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem}.ownerImportSummary article{display:grid;gap:.25rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.ownerImportSummary span{color:var(--text-muted);font-size:.82rem}.ownerImportSummary strong{color:var(--primary-strong)}.ownerImportTable .dataTableHead,.ownerImportTable .dataTableRow{grid-template-columns:70px minmax(220px,1fr) minmax(160px,.8fr) minmax(140px,.7fr) minmax(280px,1.2fr);min-width:980px}.ownerImportTable small{display:block}.skippedImportRow{background:#a12d2d0f}.errorText{color:var(--danger)}.warningText{color:#9a5b00}.ownerInvitePanel{display:grid;gap:.75rem;padding-top:.9rem;border-top:1px solid var(--border)}.ownerInviteList{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.45rem .75rem}.transferFormGrid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:.75rem}.transferFormGrid label:last-child{grid-column:1 / -1}.ownerTransferPanel{max-width:none}.ownerTransferList{display:grid;gap:.75rem}.ownerTransferRow{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr) auto;gap:.75rem;align-items:end;padding:.85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.ownerTransferRow small{display:block;margin-top:.2rem;color:var(--text-muted)}.ownerList{display:grid;gap:.65rem;margin:.9rem 0 0;padding:0;list-style:none}.ownerList li{display:grid;gap:.25rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.ownerList small{color:var(--text-muted)}@media (max-width: 840px){.ownerGrid,.ownerDetailGrid,.ownerTwoCols{grid-template-columns:1fr}}.quickCreatePanel{max-width:1040px}.quickCreateGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.85rem}.quickCreateCard{display:grid;align-content:start;gap:.75rem;padding:.9rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.quickCreateCard h3{margin:0;color:var(--primary-strong)}.quickCreateCard button{justify-self:start}.approvalPanel{display:grid;gap:.85rem;padding:.9rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.approvalPanel h3{margin:0 0 .25rem;color:var(--primary-strong)}.approvalRow{grid-template-columns:minmax(220px,1fr) minmax(180px,260px) auto;align-items:end}.approvalActions{display:flex;flex-wrap:wrap;gap:.5rem}.menuEditor{max-width:1040px}.menuFormGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem}.menuEditor>button{justify-self:start}.plannerPanel{max-width:1180px}.plannerLayout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1rem;align-items:start}.plannerToolbar{display:flex;flex-wrap:wrap;gap:.55rem}.plannerBoard{display:grid;gap:1rem;min-width:0}.plannerBoard h3,.presetPanel h3{margin:0;color:var(--primary-strong)}.plannerTable{display:grid;grid-template-columns:minmax(130px,.8fr) repeat(5,minmax(150px,1fr));overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.plannerCell{min-height:96px;display:grid;align-content:start;gap:.25rem;padding:.65rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.plannerHead{min-height:auto;background:var(--surface-soft);color:var(--primary-strong);font-weight:850}.plannerGroup{background:color-mix(in srgb,var(--primary) 7%,var(--surface));font-weight:850}.dropCell{background:var(--surface);color:var(--text-muted)}.menuDayCell{gap:.45rem;min-height:150px}.mealSlot{min-height:0;padding:.45rem;border:1px dashed var(--border);border-radius:8px}.mealSlot span{color:var(--text-muted);font-size:.78rem;font-weight:750}.dropCell strong{color:var(--primary-strong);font-size:.92rem}.sourceLabel{width:fit-content;border-radius:999px;padding:.16rem .45rem;background:var(--surface-tint);color:var(--primary-strong);font-size:.78rem;font-weight:750}.dropCell:hover{outline:2px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:-2px;background:var(--surface-tint)}.dropCell.saving{opacity:.65}.presetPanel{position:sticky;top:1rem;display:grid;gap:1rem}.presetPanel section{display:grid;gap:.55rem;padding:.85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.presetChip{display:grid;gap:.2rem;width:100%;border:1px solid var(--border);background:var(--surface-soft);color:inherit;box-shadow:none;text-align:left;cursor:grab}.presetChip:hover{background:var(--surface-tint);color:inherit}.presetChip strong{color:var(--primary-strong)}.presetChip small{overflow-wrap:anywhere}.photoPanel{display:grid;gap:.9rem;max-width:920px;margin:1rem 0;padding:1rem}.mobileUpload{display:grid;gap:.75rem}.fileInput{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.uploadDropzone{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.3rem .85rem;min-height:112px;padding:1rem;border:2px dashed color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));cursor:pointer}.uploadDropzone .uploadIcon{grid-row:span 2;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:1.6rem;font-weight:800;line-height:1}.uploadDropzone small{color:var(--text-muted);line-height:1.35}.selectedPreview{display:grid;grid-template-columns:minmax(108px,160px) 1fr;gap:.85rem;align-items:center;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.selectedPreview img{width:100%;aspect-ratio:4 / 3;object-fit:contain;border-radius:8px;background:var(--surface)}.selectedPreview div{min-width:0;display:grid;gap:.2rem}.selectedPreview span{overflow-wrap:anywhere;color:var(--text-muted)}.imageEditorPanel{display:grid;gap:.85rem;padding:.85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.editorCanvasWrap{width:100%;max-height:420px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:linear-gradient(45deg,color-mix(in srgb,var(--border) 45%,transparent) 25%,transparent 25%),linear-gradient(-45deg,color-mix(in srgb,var(--border) 45%,transparent) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,color-mix(in srgb,var(--border) 45%,transparent) 75%),linear-gradient(-45deg,transparent 75%,color-mix(in srgb,var(--border) 45%,transparent) 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0}.editorCanvasWrap canvas{max-width:100%;max-height:420px;object-fit:contain}.editorControls{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;align-items:end}.photoGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,340px));gap:1rem;align-items:start;justify-content:start;margin-top:1rem}.photoCard{overflow:hidden}.photoThumbButton{width:100%;display:block;padding:0;border-radius:0;background:var(--surface-soft);box-shadow:none}.photoThumbButton:hover{background:var(--surface-soft)}.photoThumbButton img,.photoPlaceholder{width:100%;aspect-ratio:4 / 3;max-height:250px;object-fit:contain;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 9%,var(--surface))}.photoMeta{display:grid;gap:.5rem;padding:.9rem}.photoActions{display:flex;flex-wrap:wrap;gap:.55rem}.photoLightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1.25rem;background:#0f172ac7}.photoLightboxPanel{width:min(980px,96vw);max-height:92vh;display:grid;gap:.75rem;padding:.85rem;border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.photoLightboxPanel button{justify-self:end}.photoLightboxActions{display:flex;justify-content:flex-end;gap:.55rem}.photoLightboxPanel img{width:100%;max-height:72vh;object-fit:contain;border-radius:8px;background:var(--surface-soft)}.photoLightboxPanel div{display:grid;gap:.2rem}.consentWarning{display:grid;gap:.5rem;padding:.85rem;border:1px solid #fda29b;border-radius:8px;background:#fff0ed;color:#7a271a}.consentList{display:grid;gap:.7rem}.consentRow{display:grid;grid-template-columns:minmax(150px,1fr) repeat(2,minmax(220px,1.15fr));gap:.8rem;align-items:center;padding:.85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.consentRow>div{display:grid;gap:.2rem}.toggleRow{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.65rem;padding:.7rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.toggleRow input{width:1.05rem;margin-top:.2rem}.toggleRow span{display:grid;gap:.15rem}@media (max-width: 900px){.appShell:has(.sidebar){grid-template-columns:1fr}.sidebar{position:static;min-height:auto;max-height:none}.navMenu{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.authPage{grid-template-columns:1fr;align-items:start;padding-top:1rem}.authIntro h1{font-size:2.5rem}.consentRow{grid-template-columns:1fr}.tableHeader{display:grid}.tableFilters,.plannerLayout{grid-template-columns:1fr}.presetPanel{position:static}.photoGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.inboxLayout,.chatBody{grid-template-columns:1fr}.chatThreadRail{grid-auto-flow:column;grid-auto-columns:minmax(170px,1fr);overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}}@media (max-width: 560px){main{padding:1rem}.topbar,.toolbar,.authLinks{justify-content:flex-start}.photoPanel{padding:.85rem}.uploadDropzone,.selectedPreview{grid-template-columns:1fr}.uploadDropzone .uploadIcon{grid-row:auto}.photoGrid{grid-template-columns:1fr}.chatWidget{right:.75rem;bottom:.75rem;left:.75rem}.chatPanel{width:100%;max-height:calc(100vh - 5.75rem)}.chatLauncher{width:fit-content}}
