:root{--bg:#f4f1ea;--surface:#fff;--sidebar:#fbf9f4;--ink:#1e3e2b;--body:#4d525b;--muted:#7d715e;--green-mid:#4fa472;--green-light:#e2e9e3;--green-border:#77b691;--border:#e6e0d2;--amber:#c08a2d;--amber-bg:#fbf0d8;--red:#a83f34;--red-bg:#fbe4e0;--blue:#2f6690;--blue-bg:#e3edf5;--serif:"Playfair Display",Georgia,serif;--sans:"Inter",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,monospace}*,:after,:before{box-sizing:border-box}body,html{height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--sans)}.auth-layout{background:#f6f3ec;background:var(--bg);display:none;min-height:100vh}.auth-layout.active,.auth-left{display:flex}.auth-left{background:#186338;background:var(--green);flex-direction:column;flex-shrink:0;padding:48px 40px;width:420px}.auth-left-logo{align-items:center;display:flex;gap:10px;margin-bottom:auto}.auth-left-logo .mark{background:#ffffff26;border-radius:12px;display:grid;flex-shrink:0;font-weight:700;height:40px;place-items:center;width:40px}.auth-left-logo .mark,.auth-left-logo .name{color:#fff;font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:19px}.auth-left-logo .name{font-weight:600;line-height:1.25}.auth-left-logo .name small{color:#fff9;display:block;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.06em;margin-top:1px;text-transform:uppercase}.auth-left-body{margin-bottom:auto}.auth-left-body h2{color:#fff;font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:29px;font-weight:600;letter-spacing:-.01em;line-height:1.28;margin:0 0 14px}.auth-left-body p{color:#ffffffad;font-size:13.5px;line-height:1.6;margin:0}.auth-left-features{display:flex;flex-direction:column;gap:13px;margin-top:30px}.auth-feature{align-items:flex-start;display:flex;gap:10px}.auth-feature .ic{flex-shrink:0;font-size:14px;line-height:1.45;width:18px}.auth-feature span{color:#ffffffd1;font-size:12.5px;line-height:1.5}.auth-right{align-items:center;display:flex;flex:1 1;justify-content:center;padding:48px 40px}.auth-box{max-width:380px;width:100%}.auth-box h1{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:-.01em;margin:0 0 6px}.auth-box .sub{color:#7b8079;color:var(--muted);font-size:13.5px;line-height:1.55;margin:0 0 28px}.switch-link{background:none;border:none;color:#186338;color:var(--green);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:700;padding:0;text-decoration:none}.switch-link:hover{text-decoration:underline}.form-stack{display:flex;flex-direction:column;gap:16px}.code-row{display:flex;gap:9px}.code-box{background:#fff;border:1.5px solid #e7e2d7;border:1.5px solid var(--border);border-radius:12px;color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:21px;font-weight:700;height:54px;outline:none;text-align:center;width:100%}.code-box:focus{border-color:#b9cfbd;border-color:var(--green-border);box-shadow:0 0 0 3px #1863381a}input[type=date],input[type=number],input[type=tel],input[type=text],input[type=time],select,textarea{background:#fff;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:9px;color:#183725;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--sans);font-size:13px;outline:none;padding:11px 12px;width:100%}input:focus,select:focus,textarea:focus{border-color:#b9cfbd;border-color:var(--green-border)}input:disabled,select:disabled,textarea:disabled{background:#f6f3ec;background:var(--bg);color:#7b8079;color:var(--muted);cursor:default}.date-input-wrap{position:relative}.date-input-wrap input[type=date]{padding-left:38px}.date-input-wrap .cal-ic{stroke:#7b8079;stroke:var(--muted);fill:none;stroke-width:2;height:16px;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:16px}.date-input-wrap input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.field .hint,.field label{color:#7b8079;color:var(--muted)}.field .hint{font-size:11px;font-weight:400;letter-spacing:0;line-height:1.5;margin-top:2px;text-transform:none}.form-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.link-add-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.link-add-row input{background:#fffefa;background:var(--surface);border:1.5px solid #e7e2d7;border:1.5px solid var(--border);border-radius:10px;color:#183725;color:var(--ink);flex:1 1 180px;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--sans);font-size:13px;min-width:0;padding:10px 12px}.link-add-row input:focus{border-color:#b9cfbd;border-color:var(--green-border);outline:none}.link-add-row .btn{flex-shrink:0}.btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--sans);font-weight:700;gap:6px;justify-content:center;padding:10px 15px;transition:background .12s,opacity .12s}.btn-primary{background:#186338;background:var(--green);color:#fff}.btn-primary:hover{background:#183725;background:var(--ink)}.btn-primary:disabled{cursor:default;opacity:.5}.btn-primary-full{font-size:14.5px;justify-content:center;padding:13px 18px;width:100%}.btn-ghost{background:#fffefa;background:var(--surface);border:1px solid #e7e2d7;border:1px solid var(--border);color:#183725;color:var(--ink)}.btn-ghost:hover{background:#e7eee7;background:var(--green-light)}.btn-danger{background:#a83f34;background:var(--red);color:#fff}.btn-danger:hover{background:#8f352c}.btn-danger:disabled{cursor:default;opacity:.5}.btn-sm{padding:7px 12px}.btn svg{flex-shrink:0;height:14px;width:14px}.regen-spin{animation:spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:11px;width:11px}@keyframes spin{to{transform:rotate(1turn)}}.radio-row{display:flex;flex-direction:column;gap:9px}.radio-row label{align-items:center;color:#183725;color:var(--ink);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px}.radio-row input{accent-color:#186338;accent-color:var(--green);flex-shrink:0;height:15px;width:15px}.app{display:flex;min-height:100vh}.sidebar{border-right:1px solid #e7e2d7;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;height:100vh;padding:18px 14px;position:sticky;top:0;width:212px}.brand{align-items:center;display:flex;gap:9px;padding:4px 6px 20px}.brand .mark{background:#186338;background:var(--green);border-radius:9px;color:#fff;display:grid;flex-shrink:0;font-size:15px;font-weight:700;height:30px;place-items:center;width:30px}.brand .mark,.brand .txt{font-family:Playfair Display,Georgia,serif;font-family:var(--serif)}.brand .txt{color:#183725;color:var(--ink);font-size:14px;font-weight:600;line-height:1.25}.brand .txt small{color:#7b8079;color:var(--muted);display:block;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.nav-item{align-items:center;border-radius:10px;color:#48544c;color:var(--body);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:10px;margin-bottom:3px;padding:10px 11px;text-decoration:none;transition:background .12s}.nav-item:hover{background:#f0ece0}.nav-item svg{stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;height:17px;width:17px}.nav-item.on{color:#fff}.nav-item.on,.nav-item.on:hover{background:#186338;background:var(--green)}.sidebar-foot{border-top:1px solid #e7e2d7;border-top:1px solid var(--border);margin-top:auto;padding-top:14px}.sidebar-foot .who{align-items:center;display:flex;gap:9px;padding:6px}.sidebar-foot .who span{font-size:11.5px}.sidebar-foot .who .nm{color:#183725;color:var(--ink);display:block;font-weight:700}.sidebar-foot .who .role,.signout{color:#7b8079;color:var(--muted)}.signout{align-items:center;border-radius:10px;cursor:pointer;display:flex;font-size:12.5px;font-weight:600;gap:10px;margin-top:2px;padding:9px 11px}.signout:hover{background:#f0ece0;color:#a83f34;color:var(--red)}.signout svg{stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;height:15px;width:15px}.main{display:flex;flex:1 1;flex-direction:column;min-width:0}.topbar{background:#fffefa;background:var(--surface);border-bottom:1px solid #e7e2d7;border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;padding:12px 26px;position:relative;z-index:30}.topbar,.topbar .me{align-items:center;display:flex}.topbar .me{gap:8px}.topbar .me .avatar{font-size:11px;height:28px;width:28px}.topbar .me span{color:#48544c;color:var(--body);font-size:12px;font-weight:600}.ctx-switcher{position:relative}.ctx-btn{align-items:center;background:none;border:1px solid #0000;border-radius:12px;cursor:pointer;display:flex;font-family:inherit;gap:10px;padding:6px 10px 6px 6px;text-align:left}.ctx-btn:hover{background:#e7eee7;background:var(--green-light)}.ctx-btn-mark{border-radius:10px;display:grid;flex-shrink:0;font-size:16px;height:36px;place-items:center;width:36px}.ctx-label{display:flex;flex-direction:column}.ctx-label .nm{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:15.5px;font-weight:600}.ctx-label .sb{color:#7b8079;color:var(--muted);font-size:11px;font-weight:500;margin-top:1px}.ctx-chev{stroke:#7b8079;stroke:var(--muted);fill:none;stroke-width:2;flex-shrink:0;height:15px;transition:transform .15s;width:15px}.ctx-btn.open .ctx-chev{transform:rotate(180deg)}.ctx-menu{background:#fffefa;background:var(--surface);border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:14px;box-shadow:0 14px 34px #00000024;display:none;left:0;padding:8px;position:absolute;top:calc(100% + 6px);width:280px;z-index:40}.ctx-menu.open{display:block}.ctx-menu-label{color:#7b8079;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.05em;padding:8px 10px 4px;text-transform:uppercase}.ctx-menu-item{align-items:center;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:9px 10px}.ctx-menu-item:hover{background:#f0ece0}.ctx-menu-item.on{background:#e7eee7;background:var(--green-light)}.ctx-menu-item .mk{background:#e8e2d6;background:var(--field,#e8e2d6);border-radius:9px;display:grid;flex-shrink:0;font-size:14px;height:30px;overflow:hidden;place-items:center;width:30px}.ctx-menu-item .tt{color:#183725;color:var(--ink);font-size:12.5px;font-weight:700}.ctx-menu-item .ss{color:#7b8079;color:var(--muted);font-size:10.5px}.content{background:#f6f3ec;background:var(--bg);flex:1 1;overflow-y:auto;padding:22px 28px 40px}.sec{display:none}.sec.on{animation:fadein .18s ease;display:block}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.sec-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.sec-head h2{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:20px;font-weight:600;margin:0 0 4px}.sec-head p{color:#7b8079;color:var(--muted);font-size:12.5px;line-height:1.5;margin:0;max-width:560px}.sec-head .actions{display:flex;flex-shrink:0;gap:8px}.stat-row{display:flex;gap:12px;margin-bottom:20px}.stat-card{background:#fffefa;background:var(--surface);border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:14px;flex:1 1;padding:16px}.stat-card .k{align-items:center;color:#7b8079;color:var(--muted);display:flex;font-size:10.5px;font-weight:700;gap:5px;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.stat-card .v{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:24px;font-weight:700}.stat-card.spent .v{color:#a83f34;color:var(--red)}.stat-card.balance{background:#e7eee7;background:var(--green-light);border-color:#b9cfbd;border-color:var(--green-border)}.stat-card.balance .v{color:#186338;color:var(--green)}.stat-card .sub{color:#7b8079;color:var(--muted);font-size:11px;margin-top:3px}.card{background:#fffefa;background:var(--surface);border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:16px;margin-bottom:16px}.card-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.card-head h3{font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:15px;font-weight:600;margin:0}.src-chip{align-items:center;background:#e7eee7;background:var(--green-light);border-radius:99px;color:#186338;color:var(--green);display:inline-flex;font-weight:700;gap:4px;padding:3px 8px;white-space:nowrap}.avatar{border-radius:50%;color:#fff;display:grid;flex-shrink:0;font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-weight:600;place-items:center}.file-chip{align-items:center;background:#e7eee7;background:var(--green-light);border-radius:99px;color:#186338;color:var(--green);cursor:pointer;display:inline-flex;font-size:11.5px;font-weight:600;gap:6px;padding:5px 10px}.file-chip input{display:none}.receipt-thumb{border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:8px;object-fit:cover}.receipt-empty,.receipt-thumb{flex-shrink:0;height:34px;width:34px}.receipt-empty{border:1.5px dashed #e7e2d7;border:1.5px dashed var(--border);border-radius:8px;color:#7b8079;color:var(--muted);display:grid;place-items:center}.receipt-empty svg{height:14px;width:14px}.inline-form{background:#fbf9f4;border:1px solid #b9cfbd;border:1px solid var(--green-border);border-radius:12px;display:none;margin-bottom:14px;padding:14px}.inline-form.on{display:block}.inline-form .form-grid{margin-bottom:10px}.inline-form-actions{display:flex;gap:8px;justify-content:flex-end}.toast{background:#183725;background:var(--ink);border-radius:12px;bottom:28px;box-shadow:0 10px 30px #00000040;color:#fff;font-size:12.5px;font-weight:600;left:50%;max-width:420px;opacity:0;padding:11px 20px;pointer-events:none;position:fixed;text-align:center;transform:translateX(-50%) translateY(12px);transition:opacity .25s,transform .25s;z-index:999}.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}.table{background:#fffefa;background:var(--surface);border:1px solid #e7e2d7;border:1px solid var(--border);border-collapse:collapse;border-radius:12px;font-size:12.5px;width:100%}.table th{background:#fbf9f4;border-bottom:1px solid #e7e2d7;border-bottom:1px solid var(--border);color:#7b8079;color:var(--muted);font-size:9.5px;font-weight:700;letter-spacing:.03em;padding:9px 12px;text-align:left;text-transform:uppercase}.table td{border-bottom:1px solid #f0ece0;color:#48544c;color:var(--body);padding:9px 12px}.table tr:last-child td{border-bottom:none}.table .who{align-items:center;color:#183725;color:var(--ink);display:flex;font-weight:600;gap:8px}.table .who .avatar{font-size:9.5px;height:24px;width:24px}.table .empty{color:#7b8079;color:var(--muted);padding:18px;text-align:center}.dash-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1.3fr 1fr}.quick-actions{display:flex;flex-wrap:wrap;gap:10px}.ev-row-mini{align-items:center;border-bottom:1px solid #f0ece0;cursor:pointer;display:flex;gap:12px;padding:9px 0}.ev-row-mini:last-child{border-bottom:none}.ev-row-mini:hover .ev-title{color:#186338;color:var(--green)}#dash-parentlist{margin:0 -4px;max-height:262px;overflow-y:auto;padding:0 4px}.ev-date-badge{align-items:center;background:#e7eee7;background:var(--green-light);border-radius:10px;display:flex;flex-direction:column;flex-shrink:0;height:42px;justify-content:center;width:42px}.ev-date-badge .mo{color:#186338;color:var(--green);font-size:8.5px;font-weight:700;text-transform:uppercase}.ev-date-badge .dy{font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:15px;font-weight:700;line-height:1}.ev-date-badge .dy,.ev-title{color:#183725;color:var(--ink)}.ev-title{font-size:12.5px;font-weight:600}.ev-status{border-radius:99px;flex-shrink:0;font-size:10px;font-weight:700;padding:2px 7px;white-space:nowrap}.ev-status.draft{background:#fbf0d8;background:var(--amber-bg);color:#c08a2d;color:var(--amber)}.ev-status.published{background:#e7eee7;background:var(--green-light);color:#186338;color:var(--green)}.ev-row{align-items:center;border-bottom:1px solid #f0ece0;display:flex;gap:12px;padding:12px 4px}.ev-row:last-child{border-bottom:none}.ev-date-badge.lg{height:52px;width:52px}.ev-date-badge.lg .dy{font-size:18px}.ev-thumb{border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:10px;flex-shrink:0;height:44px;object-fit:cover;width:44px}.ev-body{flex:1 1;min-width:0}.ev-body .t{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:14.5px;font-weight:600;margin-bottom:2px}.ev-body .t .tm{font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--sans);font-weight:500}.ev-body .d,.ev-body .t .tm{color:#7b8079;color:var(--muted);font-size:11.5px}.ev-body .d{line-height:1.4}.ev-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;justify-content:flex-end}.ev-trash{border-radius:50%;color:#a83f34;color:var(--red);cursor:pointer;display:grid;flex-shrink:0;height:28px;place-items:center;width:28px}.ev-trash svg{height:14px;width:14px}.ev-trash:hover{background:#fbe4e0;background:var(--red-bg)}.lunch-row{grid-gap:14px;align-items:center;border-bottom:1px solid #f0ece0;display:grid;gap:14px;grid-template-columns:110px 1fr 1fr;padding:11px 0}.lunch-row:last-child{border-bottom:none}.lunch-row .dayname{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:14px;font-weight:600}.daypicker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.daypill{background:#fffefa;background:var(--surface);border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:99px;color:#48544c;color:var(--body);cursor:pointer;font-size:13px;font-weight:700;padding:9px 18px}.daypill.on{background:#186338;background:var(--green);border-color:#186338;border-color:var(--green);color:#fff}.lunch-opt-row{background:#fbf9f4;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:12px 13px}.lunch-opt-row:last-child{margin-bottom:0}.opt-row-top{align-items:center;display:flex;gap:9px;margin-bottom:9px}.opt-num{background:#e7eee7;background:var(--green-light);border-radius:50%;color:#186338;color:var(--green);display:grid;flex-shrink:0;font-size:11px;font-weight:700;height:22px;place-items:center;width:22px}.opt-row-top input{flex:1 1}.opt-del{border-radius:50%;color:#7b8079;color:var(--muted);cursor:pointer;display:grid;flex-shrink:0;font-size:16px;height:26px;line-height:1;place-items:center;width:26px}.opt-del:hover{background:#fbe4e0;background:var(--red-bg);color:#a83f34;color:var(--red)}.diet-chip-row{display:flex;flex-wrap:wrap;gap:6px;padding-left:31px}.diet-chip{align-items:center;background:#fff;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:99px;color:#7b8079;color:var(--muted);cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:5px 10px}.diet-chip.on{background:#e7eee7;background:var(--green-light);border-color:#b9cfbd;border-color:var(--green-border)}.add-opt-link,.diet-chip.on{color:#186338;color:var(--green)}.add-opt-link{align-items:center;cursor:pointer;display:flex;font-size:12.5px;font-weight:700;gap:6px;padding-top:4px}.add-opt-link svg{stroke:currentColor;height:13px;width:13px}.email-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 1fr}.chk-row{align-items:flex-start;border-bottom:1px solid #f0ece0;display:flex;gap:9px;padding:8px 0}.chk-row:last-child{border-bottom:none}.chk-row input{accent-color:#186338;accent-color:var(--green);flex-shrink:0;height:15px;margin-top:3px;width:15px}.chk-row .body{flex:1 1;min-width:0}.chk-row .t{color:#183725;color:var(--ink);font-size:12.5px;font-weight:600}.chk-row .d{color:#7b8079;color:var(--muted);font-size:11px;margin-top:1px}.chk-row-all .t{color:#186338;color:var(--green)}.link-del{border-radius:50%;color:#7b8079;color:var(--muted);cursor:pointer;display:grid;flex-shrink:0;font-size:15px;height:22px;line-height:1;place-items:center;width:22px}.link-del:hover{background:#fbe4e0;background:var(--red-bg);color:#a83f34;color:var(--red)}.link-edit{border-radius:50%;color:#7b8079;color:var(--muted);cursor:pointer;display:grid;flex-shrink:0;height:22px;place-items:center;width:22px}.link-edit svg{stroke:currentColor;fill:none;stroke-width:2;height:13px;width:13px}.link-edit:hover{background:#e7eee7;background:var(--green-light);color:#186338;color:var(--green)}.email-preview{background:#fdfcf9;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:12px;color:#48544c;color:var(--body);font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--sans);font-size:12.5px;line-height:1.75;padding:16px 18px}.email-preview .subj{border-bottom:1px solid #e7e2d7;border-bottom:1px solid var(--border);color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:14.5px;font-weight:700;margin-bottom:10px;padding-bottom:10px}.email-preview a{color:#186338;color:var(--green);font-weight:600;text-decoration:none}.email-preview a:hover{text-decoration:underline}.email-preview .ph{background:#fbe4e0;background:var(--red-bg);border-radius:3px;color:#a83f34;color:var(--red);font-weight:700;padding:0 2px}.ph-editor{position:relative}.ph-backdrop{background:#fffefa;border-color:#0000;color:#183725;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--sans);left:0;overflow:hidden;pointer-events:none;position:absolute;top:0}.ph-backdrop .ph{background:#fbe4e0;background:var(--red-bg);border-radius:3px;color:#a83f34;color:var(--red);font-weight:700}.ph-editor textarea{background:#0000;caret-color:#183725;caret-color:var(--ink);color:#0000;position:relative}.ph-editor.filled textarea{background:#fffefa;color:#183725;color:var(--ink)}.ph-editor.filled .ph-backdrop{display:none}.req-card{background:#fffdf7;border-color:#c08a2d!important;border-color:var(--amber)!important}.req-card .card-head h3,.req-flag{color:#c08a2d;color:var(--amber)}.req-flag{background:#fbf0d8;background:var(--amber-bg);border-radius:99px;font-size:10.5px;font-weight:700;padding:3px 8px}.field.missing input{background:snow;border-color:#a83f34;border-color:var(--red)}.field.missing label{color:#a83f34;color:var(--red)}.pie-wrap{display:flex;justify-content:center;margin-bottom:14px;position:relative}.pie-center{left:50%;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.pie-center .v{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:17px;font-weight:700}.pie-center .k{color:#7b8079;color:var(--muted);font-size:8.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.pie-wrap svg circle{cursor:pointer;transition:opacity .12s}.legend-row{align-items:center;cursor:default;display:flex;font-size:12px;gap:8px;padding:6px 2px}.legend-dot{border-radius:3px;flex-shrink:0;height:10px;width:10px}.legend-lbl{color:#183725;color:var(--ink);flex:1 1;font-weight:600}.legend-val{font-feature-settings:"tnum";color:#7b8079;color:var(--muted);font-variant-numeric:tabular-nums}.modal-overlay{align-items:center;background:#14140f80;display:none;inset:0;justify-content:center;padding:24px;position:fixed;z-index:200}.modal-box,.modal-overlay.on{display:flex}.modal-box{background:#fffefa;background:var(--surface);border-radius:20px;box-shadow:0 30px 70px #0000004d;flex-direction:column;max-height:88vh;max-width:460px;width:100%}.modal-head{align-items:center;border-bottom:1px solid #e7e2d7;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:18px 22px}.modal-head h3{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:16.5px;font-weight:600;margin:0}.modal-close{background:#f6f3ec;background:var(--bg);border:none;border-radius:50%;color:#7b8079;color:var(--muted);cursor:pointer;display:grid;flex-shrink:0;height:30px;place-items:center;width:30px}.modal-close svg{stroke:currentColor;fill:none;stroke-width:2.2;height:14px;width:14px}.modal-body{flex:1 1;overflow-y:auto;padding:18px 22px}.modal-foot{border-top:1px solid #e7e2d7;border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:8px;padding:16px 22px}.modal-foot .btn{flex:1 1;font-size:13px;justify-content:center;padding:12px}.csv-drop{background:#f6f3ec;background:var(--bg);border:1.5px dashed #e7e2d7;border:1.5px dashed var(--border);border-radius:14px;padding:28px 20px;text-align:center}.import-summary{flex-wrap:wrap}.import-summary,.modal-to{align-items:center;display:flex;gap:8px}.modal-to{background:#e7eee7;background:var(--green-light);border-radius:10px;color:#7b8079;color:var(--muted);font-size:12px;margin-bottom:14px;padding:9px 12px}.modal-to b{color:#183725;color:var(--ink)}.email-preview-card{background:#fdfcf9;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:14px;padding:12px}.email-preview-card .banner{aspect-ratio:393/381;background:linear-gradient(135deg,#e2e9e3,#cfe0cc);border-radius:12px;display:block;object-fit:cover;width:100%}.ep-overlap{background:#fff;border-radius:16px;box-shadow:0 10px 22px #1e33231f;margin:-34px 8px 0;padding:14px 16px 12px;position:relative}.ep-overlap.no-image{background:#0000;border-radius:0;box-shadow:none;margin:0;padding:0}.email-preview-card .inner{padding:14px 4px 4px}.email-preview-card .evtitle{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.25;margin-bottom:8px}.ep-overlap.no-image .evtitle{margin-bottom:6px}.ep-chips{display:flex;flex-wrap:wrap;gap:6px}.ep-chip{align-items:center;background:#f6f3ec;background:var(--bg);border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:9px;color:#48544c;color:var(--body);display:inline-flex;font-size:11.5px;font-weight:600;gap:5px;padding:5px 10px;white-space:nowrap}.email-preview-card .evdesc{color:#48544c;color:var(--body);font-size:12.5px;line-height:1.6;margin-bottom:14px}.email-preview-card .foot{border-top:1px solid #e7e2d7;border-top:1px solid var(--border);color:#7b8079;color:var(--muted);font-size:11px;margin-top:14px;padding-top:12px}.rsvp-row{display:flex;gap:8px;margin-top:2px}.rsvp-btn{border:none;border-radius:9px;cursor:default;flex:1 1;font-size:12px;font-weight:700;padding:10px;text-align:center}.rsvp-btn.yes{background:#186338;background:var(--green);color:#fff}.rsvp-btn.no{background:#e8e2d6;background:var(--field,#e8e2d6);color:#48544c;color:var(--body)}.time-picker{display:flex;gap:5px}.time-picker select{font-size:12.5px;padding:9px 2px;text-align:center}.image-gallery{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(4,1fr);margin-bottom:8px}.gallery-thumb{aspect-ratio:1;border:2px solid #0000;border-radius:8px;cursor:pointer;display:block;object-fit:cover;width:100%}.gallery-thumb.sel{border-color:#186338;border-color:var(--green)}.gallery-thumb:hover{opacity:.85}.rich-select{position:relative}.rich-select-btn{align-items:center;background:#fff;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:9px;color:#183725;color:var(--ink);cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--sans);font-size:13px;gap:8px;padding:8px 10px;text-align:left;width:100%}.rich-select-btn .ctx-chev{height:13px;margin-left:auto;width:13px}.rich-select-menu{background:#fff;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 26px #0000001f;display:none;left:0;max-height:220px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 4px);z-index:50}.rich-select-menu.open{display:block}.rich-select-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:12.5px;gap:8px;padding:8px 9px}.rich-select-item:hover{background:#e7eee7;background:var(--green-light)}.tag-select-row{display:flex;flex-wrap:wrap;gap:6px}.src-chip-btn{align-items:center;background:#fff;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:99px;color:#7b8079;color:var(--muted);cursor:pointer;display:inline-flex;font-size:11.5px;font-weight:700;gap:4px;padding:7px 12px}.src-chip-btn.on{background:#e7eee7;background:var(--green-light);border-color:#b9cfbd;border-color:var(--green-border);color:#186338;color:var(--green)}.celebrate-card{background:linear-gradient(155deg,#fff,#eef4ec);border:1.5px solid #b9cfbd;border:1.5px solid var(--green-border);border-radius:16px;padding:22px;text-align:center}.celebrate-avatar{border-radius:50%;color:#fff;display:grid;font-size:22px;height:64px;margin:0 auto 12px;place-items:center;width:64px}.celebrate-amt,.celebrate-avatar{font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-weight:700}.celebrate-amt{color:#186338;color:var(--green);font-size:30px}.celebrate-name{color:#183725;color:var(--ink);font-size:14px;font-weight:700;margin-top:4px}.celebrate-reason{color:#7b8079;color:var(--muted);font-size:12px;margin-top:2px}.celebrate-note{border-top:1px solid #b9cfbd;border-top:1px solid var(--green-border);color:#7b8079;color:var(--muted);font-size:11px;line-height:1.5;margin-top:16px;padding-top:14px}.dropzone{background:#fbf9f4;border:1.5px dashed #b9cfbd;border:1.5px dashed var(--green-border);border-radius:14px;cursor:pointer;padding:20px;text-align:center;transition:background .12s,border-color .12s}.dropzone.drag,.dropzone:hover{background:#e7eee7;background:var(--green-light)}.dropzone.drag{border-color:#186338;border-color:var(--green)}.dropzone.has-file{padding:10px}.dropzone-inner{align-items:center;display:flex;flex-direction:column;gap:6px}.dropzone-icon{font-size:22px}.dropzone-text{color:#7b8079;color:var(--muted);font-size:12px;font-weight:600}.dropzone-preview{border-radius:10px;display:block;max-height:140px;object-fit:contain;width:100%}.meal-toggle{display:flex;gap:6px;margin-bottom:12px}.meal-toggle-btn{background:#f6f3ec;background:var(--bg);border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:99px;color:#7b8079;color:var(--muted);cursor:pointer;font-size:11.5px;font-weight:700;padding:6px 12px}.meal-toggle-btn.on{background:#186338;background:var(--green);border-color:#186338;border-color:var(--green);color:#fff}.lw-day-block{align-items:flex-start;border-bottom:1px solid #f0ece0;display:flex;gap:10px;padding:9px 0}.lw-day-block:last-child{border-bottom:none}.lw-day-block.is-today{background:#e7eee7;background:var(--green-light);border-bottom-color:#0000;border-radius:8px;margin:0 -8px;padding:9px 8px}.lw-day-label{color:#7b8079;color:var(--muted);flex-shrink:0;font-size:10.5px;font-weight:700;padding-top:2px;text-transform:uppercase;width:38px}.lw-day-block.is-today .lw-day-label{color:#186338;color:var(--green)}.lw-day-opts{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:0}.lw-opt-row{align-items:center;color:#48544c;color:var(--body);display:flex;font-size:13px;gap:7px}.lw-opt-num{background:#e7eee7;background:var(--green-light);border-radius:50%;color:#186338;color:var(--green);display:grid;flex-shrink:0;font-size:9.5px;font-weight:700;height:16px;place-items:center;width:16px}.lw-day-block.is-today .lw-opt-num{background:#fff}.lw-opt-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lw-opt-tags{flex-shrink:0;font-size:11.5px}.prof-head{align-items:center;display:flex;gap:18px}.prof-head .info{flex:1 1;min-width:0}.prof-head .nm{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:20px;font-weight:600}.prof-head .loc{color:#7b8079;color:var(--muted);font-size:12.5px;margin-top:3px}.kid-row-card{align-items:center;border-bottom:1px solid #f0ece0;display:flex;gap:12px;padding:10px 0}.kid-row-card:last-child{border-bottom:none}.kid-row-card .info{flex:1 1}.kid-row-card .nm{color:#183725;color:var(--ink);font-size:13.5px;font-weight:600}.kid-row-card .dob{color:#7b8079;color:var(--muted);font-size:11.5px;margin-top:1px}.kid-age-badge{background:#e7eee7;background:var(--green-light);border-radius:99px;color:#186338;color:var(--green);flex-shrink:0;font-size:10.5px;font-weight:700;padding:3px 9px}.school-edit-block{margin-bottom:14px}.school-edit-block:last-child{margin-bottom:0}.school-edit-label{align-items:center;color:#183725;color:var(--ink);display:flex;font-size:12.5px;font-weight:700;gap:6px;margin-bottom:8px}.school-edit-label .dist{color:#7b8079;color:var(--muted);font-size:11.5px;font-weight:500}.grade-chip-display{background:#e7eee7;background:var(--green-light);border-radius:99px;color:#186338;color:var(--green);display:inline-flex;font-size:11px;font-weight:700;margin:0 6px 6px 0;padding:4px 10px}.grade-kid-row{align-items:center;border-top:1px solid #e7e2d7;border-top:1px solid var(--border);display:flex;gap:10px;padding:7px 0}.grade-kid-row:first-of-type{border-top:none}.grade-kid-name{color:#183725;color:var(--ink);flex:1 1;font-size:13px;font-weight:600}.grade-kid-row select{font-size:12.5px;padding:7px 9px;width:150px}.spouse-card{align-items:center;display:flex;gap:12px;padding:4px 0}.spouse-card .ic{background:#e8e2d6;background:var(--field,#e8e2d6);border-radius:50%;display:grid;flex-shrink:0;font-size:18px;height:40px;place-items:center;width:40px}.spouse-card .info{flex:1 1}.spouse-card .nm{color:#183725;color:var(--ink);font-size:13px;font-weight:600}.spouse-card .st{color:#7b8079;color:var(--muted);font-size:11.5px;margin-top:1px}.su-view{display:none}.su-view.on{display:block}.signup-card{align-items:center;background:#fffefa;background:var(--surface);border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:14px;display:flex;gap:14px;margin-bottom:12px;padding:14px 16px}.signup-card .thumb{background:linear-gradient(135deg,#e2e9e3,#cfe0cc);border-radius:10px;flex-shrink:0;height:52px;object-fit:cover;width:52px}.signup-card .info{flex:1 1;min-width:0}.signup-card .t{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:15px;font-weight:600}.signup-card .meta{color:#7b8079;color:var(--muted);font-size:11.5px;margin-top:2px}.signup-card .actions{display:flex;flex-shrink:0;gap:6px}.slot-date-block{background:#fbf9f4;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:12px 13px}.slot-date-head{align-items:center;display:flex;gap:10px;margin-bottom:10px}.slot-date-head .date-input-wrap,.slot-date-head input{flex:1 1}.slot-window-row{align-items:flex-end;background:#fff;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;padding:9px 10px}.slot-window-row:last-of-type{margin-bottom:0}.slot-window-row .tp-field{display:flex;flex-direction:column;gap:3px}.slot-window-row .tp-field label{color:#7b8079;color:var(--muted);font-size:9.5px;font-weight:700;text-transform:uppercase}.slot-window-row .cap-field{width:70px}.slot-window-row .cap-field input{padding:9px 6px;text-align:center}.slot-window-del{border-radius:50%;color:#7b8079;color:var(--muted);cursor:pointer;display:grid;flex-shrink:0;font-size:16px;height:26px;margin-left:auto;place-items:center;width:26px}.slot-window-del:hover{background:#fbe4e0;background:var(--red-bg);color:#a83f34;color:var(--red)}.add-window-link{align-items:center;color:#186338;color:var(--green);cursor:pointer;display:inline-flex;font-size:11.5px;font-weight:700;gap:5px;margin-top:2px}.remove-date-link{color:#a83f34;color:var(--red);cursor:pointer;flex-shrink:0;font-size:11px;font-weight:700}.signup-preview-card{background:#fdfcf9;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:14px;padding:14px}.signup-preview-card .banner{aspect-ratio:393/381;background:linear-gradient(135deg,#e2e9e3,#cfe0cc);border-radius:12px;display:block;margin-bottom:12px;object-fit:cover;width:100%}.signup-preview-card .t{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:17px;font-weight:700;margin-bottom:4px}.signup-preview-card .d{color:#48544c;color:var(--body);font-size:12.5px;line-height:1.6;margin-bottom:14px}.signup-slot-row{align-items:center;background:#fff;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:11px;display:flex;gap:10px;margin-bottom:8px;padding:10px 12px}.signup-slot-row:last-child{margin-bottom:0}.signup-slot-row .info{flex:1 1;min-width:0}.signup-slot-row .dt{color:#183725;color:var(--ink);font-size:12.5px;font-weight:700}.signup-slot-row .tm{color:#7b8079;color:var(--muted);font-size:11.5px;margin-top:1px}.signup-slot-row .cap{background:#e7eee7;background:var(--green-light);border-radius:99px;color:#186338;color:var(--green);flex-shrink:0;font-size:10.5px;font-weight:700;padding:3px 9px}.signup-slot-row .su-btn{background:#186338;background:var(--green);border-radius:9px;color:#fff;flex-shrink:0;font-size:11.5px;font-weight:700;padding:7px 13px}.link-copy-row{align-items:center;background:#fff;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:12px;display:flex;gap:8px;margin-bottom:14px;padding:11px 13px}.link-copy-row .url{color:#48544c;color:var(--body);flex:1 1;font-family:ui-monospace,SF Mono,Menlo,monospace;font-family:var(--mono);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.response-row{align-items:center;border-bottom:1px solid #f0ece0;display:flex;gap:12px;padding:9px 0}.response-row:last-child{border-bottom:none}.response-row .info{flex:1 1}.response-row .nm{color:#183725;color:var(--ink);font-size:13px;font-weight:600}.response-row .ct{color:#7b8079;color:var(--muted);font-size:11px;margin-top:1px}.switch{background:#d8d2c4;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:99px;cursor:pointer;flex-shrink:0;height:22px;outline:none;padding:0;position:relative;transition:background .15s,border-color .15s;width:38px}.switch:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000040;content:"";height:16px;left:2px;position:absolute;top:2px;transition:transform .15s;width:16px}.switch.on{background:#186338;background:var(--green);border-color:#186338;border-color:var(--green)}.switch.on:after{transform:translateX(16px)}.switch:disabled{cursor:default;opacity:.5}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}:root{--bg:#f6f3ec;--surface:#fffefa;--sidebar:#123f29;--ink:#183725;--body:#48544c;--muted:#7b8079;--green:#186338;--green-mid:#579a74;--green-light:#e7eee7;--green-border:#b9cfbd;--border:#e7e2d7;--shadow-sm:0 1px 2px #1837250a,0 8px 24px rgba(24,55,37,.045);--shadow-md:0 18px 50px #1837251a}body{background:#f6f3ec;background:var(--bg);color:#48544c;color:var(--body)}.ctx-menu-item,.ev-row-mini,.nav-item,button{touch-action:manipulation}.nav-item:focus-visible,[role=button]:focus-visible,button:focus-visible{outline:3px solid #f0bd5b;outline-offset:3px}.sidebar{background:#123f29;background:var(--sidebar);border-right:0;color:#fff;padding:22px 16px 18px;width:244px}.brand{gap:11px;padding:3px 8px 28px}.brand .mark{background:#fff;box-shadow:0 8px 20px #00000029;color:#186338;color:var(--green)}.brand .txt{color:#fff;font-size:15px}.brand .txt small{color:#ffffff8c;letter-spacing:.1em;margin-top:2px}.nav-item{border-radius:12px;color:#ffffffb8;font-size:12.5px;margin-bottom:4px;padding:11px 12px}.nav-item:hover{background:#ffffff14;color:#fff}.sidebar .nav-item.on,.sidebar .nav-item.on:hover{background:#fff!important;box-shadow:0 8px 20px #0000001f;color:#186338!important;color:var(--green)!important}#sidebarNav .nav-item{appearance:none;background:#0000;border:0;box-shadow:none;color:#ffffffb8;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--sans);justify-content:flex-start;min-height:42px;text-align:left;width:100%}#sidebarNav .nav-item:hover{background:#ffffff14;color:#fff}#sidebarNav .nav-item.on,#sidebarNav .nav-item.on:hover{background:#fff!important;box-shadow:0 8px 20px #0000001f;color:#186338!important;color:var(--green)!important}.sidebar-foot{border-top-color:#ffffff1f}.sidebar-foot .who .nm{color:#fff}.sidebar-foot .who .role,.signout{color:#fff9}.signout:hover{background:#ffffff14;color:#fff}.main{height:100vh;overflow:hidden}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f3ece0;border-bottom:1px solid #18372514;padding:15px 34px}.ctx-btn{background:#fffefa;background:var(--surface);border-color:#e7e2d7;border-color:var(--border);box-shadow:0 1px 2px #1837250a,0 8px 24px rgba(24,55,37,.045);box-shadow:var(--shadow-sm);padding:7px 12px 7px 7px}.ctx-btn-mark{background:#e7eee7;background:var(--green-light);height:38px;overflow:hidden;width:38px}.ctx-btn-mark img,.mk img{display:block;height:100%;object-fit:cover;width:100%}.ctx-label .nm{font-size:15px}.topbar .me span{color:#183725;color:var(--ink)}.content{background:radial-gradient(circle at 95% 0,#77b69121,#0000 26%),linear-gradient(180deg,#f7f4ee,#f4f1ea);padding:32px 36px 56px}#sec-dashboard{margin:0 auto;max-width:1240px}.dashboard-heading{align-items:end;display:flex;gap:24px;justify-content:space-between;margin-bottom:20px}.dashboard-heading .eyebrow{color:#186338;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.14em;margin-bottom:7px;text-transform:uppercase}.dashboard-heading h2{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:31px;letter-spacing:-.025em;line-height:1.15;margin:0 0 7px}.dashboard-heading p{color:#7b8079;color:var(--muted);font-size:13px;margin:0}.quick-section{margin-bottom:18px}.dash-section-label{align-items:center;display:flex;justify-content:space-between;margin:0 0 10px}.dash-section-label h3{color:#183725;color:var(--ink);font:600 15px Playfair Display,Georgia,serif;font:600 15px var(--serif);margin:0}.dash-section-label span{color:#7b8079;color:var(--muted);font-size:10.5px}.quick-actions{grid-gap:11px;display:grid;gap:11px;grid-template-columns:repeat(4,1fr)}.quick-action{align-items:center;background:#fffefa;background:var(--surface);border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 2px #1837250a,0 8px 24px rgba(24,55,37,.045);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-family:var(--sans);gap:12px;min-width:0;padding:10px 13px;position:relative;text-align:left;transition:transform .18s,box-shadow .18s,border-color .18s}.quick-action:hover{border-color:#b9cfbd;border-color:var(--green-border);box-shadow:0 12px 28px #18372517;transform:translateY(-2px)}.quick-action img{border-radius:15px;flex:0 0 48px;height:48px;width:48px}.quick-action .qa-copy{min-width:0}.quick-action b{color:#183725;color:var(--ink);display:block;font-size:12px;margin-bottom:3px}.quick-action small{color:#7b8079;color:var(--muted);display:block;font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-action .arrow{color:#186338;color:var(--green);font-size:17px;line-height:1;margin-left:auto}.dashboard-metrics{grid-gap:11px;display:grid;gap:11px;grid-template-columns:repeat(3,1fr);margin-bottom:18px}.metric-card{align-items:center;background:#ffffffad;border:1px solid #e7e2d7;border:1px solid var(--border);border-radius:16px;cursor:pointer;display:flex;gap:12px;padding:14px 16px;transition:border-color .12s,background .12s}.metric-card:hover{background:#fff}.metric-card.funds,.metric-card:hover{border-color:#b9cfbd;border-color:var(--green-border)}.metric-card.funds{background:#e7eee7;background:var(--green-light)}.metric-card.funds:hover{background:#d8e5dc}.metric-card.funds .metric-icon{background:#186338;background:var(--green);color:#fff}.metric-card.funds .v{color:#186338;color:var(--green);font-size:23px}.metric-icon{background:#e7eee7;background:var(--green-light);border-radius:11px;color:#186338;color:var(--green);display:grid;height:34px;place-items:center;width:34px}.metric-icon svg{stroke:currentColor;fill:none;stroke-width:1.8;height:17px;width:17px}.metric-card .v{color:#183725;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-family:var(--serif);font-size:20px;font-weight:700;line-height:1}.metric-card .k{color:#48544c;color:var(--body);font-size:10px;font-weight:700;margin-top:4px}.metric-card .sub{color:#7b8079;color:var(--muted);font-size:9.5px;margin-top:2px}.metric-card>div:last-child{flex:1 1;min-width:0}.metric-card .sub,.metric-card .v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-grid{gap:14px;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr)}.dash-grid.analytics{grid-template-columns:1fr 1fr}.card{border-color:#e7e2d7;border-color:var(--border);border-radius:19px;box-shadow:0 1px 2px #1837250a,0 8px 24px rgba(24,55,37,.045);box-shadow:var(--shadow-sm);padding:18px 20px}.card,.card-head{margin-bottom:14px}.card-head h3{color:#183725;color:var(--ink);font-size:16px}.card-head .text-link{color:#186338;color:var(--green);cursor:pointer;font-size:10.5px;font-weight:700}.ev-row-mini{padding:11px 2px}.ev-date-badge{background:#edf3ed;border-radius:12px}.meal-toggle{background:#f2eee6;border-radius:10px;padding:3px}.meal-toggle-btn{border-radius:8px}.analytics .card{min-height:260px}.pie-wrap{margin-top:4px}.legend-row{border-top:1px solid #f0ece0}@media(max-width:1020px){.sidebar{width:210px}.content{padding:26px 24px 48px}.quick-actions{grid-template-columns:1fr 1fr}.dash-grid{grid-template-columns:1fr}}@media(max-width:760px){.app{display:block!important}.sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#123f29f5;bottom:0;height:72px;left:0;padding:8px 10px;position:fixed;right:0;top:auto;width:auto;z-index:100}.brand,.sidebar-foot{display:none}#sidebarNav{display:flex;gap:5px;overflow-x:auto}.nav-item{flex:1 1;flex-direction:column;font-size:9px;gap:3px;margin:0;min-width:66px;padding:7px 6px}.nav-item svg{height:18px;width:18px}.main{height:auto;min-height:100vh}.topbar{padding:10px 14px}.topbar .me span{display:none}.content{padding:22px 14px 96px}.dashboard-heading{align-items:flex-start}.dashboard-heading h2{font-size:26px}.quick-actions{grid-template-columns:1fr 1fr}.quick-action{padding:9px}.quick-action img{flex-basis:42px;height:42px;width:42px}.dash-grid.analytics,.dashboard-metrics{grid-template-columns:1fr}}@media(max-width:440px){.quick-actions{grid-template-columns:1fr}.ctx-label .sb{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.sec:not(#sec-dashboard){margin:0 auto;max-width:1120px}.sec-head{align-items:end;border-bottom:1px solid #1837251a;margin:0 0 22px;padding-bottom:18px}.sec-head h2{font-size:28px;letter-spacing:-.02em;line-height:1.2;margin-bottom:7px}.sec-head p{font-size:13.5px;line-height:1.6;max-width:650px}.sec-head .actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}.btn{border-radius:11px;box-shadow:none;font-size:12.5px;min-height:40px;padding:10px 16px;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s}.btn:hover{transform:translateY(-1px)}.btn-primary{box-shadow:0 7px 16px #18633824}.btn-ghost{background:#ffffffb8;border-color:#e7e2d7;border-color:var(--border)}.btn-sm{font-size:11.5px;min-height:36px;padding:8px 13px}input[type=date],input[type=number],input[type=tel],input[type=text],input[type=time],select,textarea{background:#fffefa;border-color:#ddd8cc;border-radius:11px;font-size:14px;min-height:44px;padding:11px 13px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#186338;border-color:var(--green);box-shadow:0 0 0 4px #18633817}textarea{line-height:1.55;resize:vertical}.field{gap:7px}.field label{color:#626d65;font-size:11px;letter-spacing:.06em}.field .hint,.hint{color:#7b8079;color:var(--muted);font-size:11.5px;line-height:1.55}.form-grid{gap:14px}.email-grid{gap:22px}.card{padding:21px 22px}.card-head{min-height:36px}.card-head h3{font-size:17px}.card-head>.btn{flex-shrink:0}.inline-form{background:#f8f6f0;border-color:#b9cfbd;border-color:var(--green-border);border-radius:16px;box-shadow:inset 0 0 0 1px #ffffffa6;margin-bottom:18px;padding:18px}.inline-form-actions{border-top:1px solid #e7e2d7;border-top:1px solid var(--border);gap:10px;margin-top:16px;padding-top:15px}.table{border-radius:14px;display:table;font-size:13px;overflow:hidden}.table th{background:#f7f4ee;font-size:10px;padding:12px 14px}.table td{padding:13px 14px}.table tbody tr:hover{background:#fbfaf6}.stat-row{gap:14px}.stat-card{border-radius:17px;box-shadow:0 1px 2px #1837250a,0 8px 24px rgba(24,55,37,.045);box-shadow:var(--shadow-sm);padding:18px}.stat-card .k{font-size:10px}.stat-card .v{font-size:27px}.ev-row{gap:14px;padding:14px 4px}.ev-date-badge.lg{border-radius:14px;height:56px;width:56px}.ev-thumb{border-radius:13px;height:52px;width:52px}.ev-body .t{font-size:16px}.ev-body .d{font-size:12px;line-height:1.55}.ev-status{font-size:9.5px;padding:4px 9px}.daypicker{gap:9px}.daypill{min-height:42px;padding:10px 18px}.lunch-opt-row,.slot-date-block{background:#f8f6f0;border-radius:14px;padding:15px}.diet-chip,.src-chip-btn{font-size:11px;min-height:34px;padding:7px 11px}.diet-chip:focus-visible,.src-chip-btn:focus-visible{outline:3px solid #f0bd5b;outline-offset:2px}.chk-row{gap:11px;padding:11px 0}.chk-row input{height:18px;width:18px}.chk-row .t{font-size:13px;line-height:1.45}.chk-row .d{font-size:11.5px;line-height:1.45}.email-preview{background:#fff;border-radius:15px;font-size:13.5px;line-height:1.8;padding:20px}.email-preview .subj{font-size:16px}.signup-card{border-radius:17px;box-shadow:0 1px 2px #1837250a,0 8px 24px rgba(24,55,37,.045);box-shadow:var(--shadow-sm);padding:16px 18px}.signup-card .thumb{border-radius:14px;height:60px;width:60px}.signup-card .t{font-size:16px}.signup-card .meta{font-size:12px;line-height:1.5}.email-preview-card,.signup-preview-card{background:#fff;border-radius:17px;padding:16px}.signup-slot-row{border-radius:13px;min-height:58px;padding:11px 13px}.signup-slot-row .su-btn{align-items:center;display:flex;min-height:36px}.link-copy-row{border-radius:14px;min-height:52px}.link-copy-row .url{font-size:12px}.rich-select-btn{border-radius:11px;font-size:14px;min-height:44px}.rich-select-menu{border-radius:13px;box-shadow:0 18px 50px #1837251a;box-shadow:var(--shadow-md)}.rich-select-item{border-radius:10px;min-height:44px}.dropzone{background:#f7f5ef;border-radius:16px;display:grid;min-height:128px;place-items:center}.dropzone-icon{height:48px;width:48px}.dropzone-icon img{height:100%;width:100%}.dropzone-text{font-size:12.5px;line-height:1.5;max-width:300px}.celebrate-card{border-radius:18px;padding:24px}.celebrate-note{align-items:center;display:flex;gap:8px;justify-content:center}.celebrate-note img{border-radius:9px;height:28px;width:28px}.prof-head{gap:20px}.prof-head .nm{font-size:24px}.prof-head .loc{font-size:13px}.kid-row-card{padding:13px 0}.kid-row-card .nm{font-size:14px}.school-edit-label{font-size:13.5px}.spouse-card .ic{border-radius:14px;height:48px;overflow:hidden;width:48px}.spouse-card .ic img{height:100%;width:100%}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08190f9e}.modal-box{border-radius:22px;box-shadow:0 32px 90px #08190f52}.modal-head{padding:20px 24px}.modal-head h3{font-size:19px}.modal-body{padding:20px 24px}.modal-foot{padding:17px 24px}.modal-close{height:38px;width:38px}.modal-to{border-radius:12px;font-size:12.5px;padding:11px 13px}.auth-layout{background:linear-gradient(135deg,#f7f4ee,#eee9dd)}.auth-left{background:linear-gradient(145deg,#123f29,#186338);overflow:hidden;padding:42px 46px;position:relative;width:min(46vw,560px)}.auth-left:after{border:1px solid #ffffff1a;border-radius:50%;bottom:-120px;box-shadow:0 0 0 45px hsla(0,0%,100%,.025),0 0 0 90px hsla(0,0%,100%,.018);content:"";height:310px;position:absolute;right:-130px;width:310px}.auth-left-body,.auth-left-logo{position:relative;z-index:1}.auth-left-body{max-width:430px}.auth-left-body h2{font-size:38px;letter-spacing:-.025em;line-height:1.17}.auth-left-body p{font-size:14px;line-height:1.7}.auth-left-features{gap:10px;margin-top:28px}.auth-feature{align-items:center;background:#ffffff14;border:1px solid #ffffff14;border-radius:14px;padding:9px 12px}.auth-feature .ic{flex:0 0 36px;height:36px;width:36px}.auth-feature .ic img{border-radius:11px;display:block;height:100%;width:100%}.auth-feature span:last-child{font-size:12.5px;line-height:1.45}.auth-right{padding:48px}.auth-box{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffb8;border:1px solid #ffffffe6;border-radius:24px;box-shadow:0 24px 70px #1837251a;max-width:410px;padding:30px}.auth-box h1{font-size:28px}.auth-box .sub{font-size:14px;margin-bottom:26px}.ui-inline-icon{display:inline-block;height:15px;margin-right:5px;vertical-align:-3px;width:15px}.ui-inline-icon img{display:block;height:100%;width:100%}.file-chip{border-radius:10px;min-height:38px;padding:7px 11px}.btn-icon-img,.file-chip img{border-radius:5px;height:18px;object-fit:cover;width:18px}.src-chip{font-size:10.5px;padding:4px 8px}@media(max-width:760px){.sec-head{align-items:flex-start;flex-direction:column}.sec-head h2{font-size:25px}.sec-head .actions{justify-content:flex-start;width:100%}.sec-head .actions .btn{flex:1 1}.card{padding:17px 16px}.email-grid,.form-grid,.stat-row{grid-template-columns:1fr}.stat-row{display:grid}.table{display:block;overflow-x:auto;white-space:nowrap}.ev-row{align-items:flex-start;flex-wrap:wrap}.ev-body{min-width:calc(100% - 130px)}.ev-actions{justify-content:flex-start;padding-left:70px;width:100%}.auth-layout.active{display:block}.auth-left{min-height:auto;padding:28px 22px;width:100%}.auth-left-body h2{font-size:29px}.auth-left-features{display:grid;grid-template-columns:1fr 1fr}.auth-right{padding:18px 14px 32px}.auth-box{border-radius:20px;padding:23px 20px}.signup-card{align-items:flex-start;flex-wrap:wrap}.signup-card .actions{padding-left:74px;width:100%}.lunch-row{grid-template-columns:90px 1fr}.lunch-row>:last-child{grid-column:2}.prof-head{align-items:flex-start;flex-wrap:wrap}.prof-head .info{min-width:180px}}@media(max-width:440px){.auth-left-features{grid-template-columns:1fr}.auth-left-body p{font-size:13px}.auth-box{box-shadow:none}.card-head{align-items:flex-start;gap:10px}.card-head h3{font-size:16px}.modal-overlay{padding:10px}.modal-box{max-height:94vh}.modal-body,.modal-foot,.modal-head{padding-left:16px;padding-right:16px}}
/*# sourceMappingURL=main.05a36428.css.map*/