@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond Fallback;src:local("Times New Roman");ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.00%;size-adjust:96.98%}.__className_30721a{font-family:Cormorant Garamond,Cormorant Garamond Fallback;font-style:normal}.__variable_30721a{--font-heading:"Cormorant Garamond","Cormorant Garamond Fallback"}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_0eeb07{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_0eeb07{--font-body:"DM Sans","DM Sans Fallback"}:root{--bg:#f9f4eb;--card:#ffffff;--ink:#2c2920;--brown:#432f1d;--green:#47553f;--green-dark:#38442f;--green-ink:#ffffff;--accent:#47553f;--muted:#67625a;--sage:#abada0;--line:#dad8cd;--danger:#9b2c22;--ok:#47553f;--warn:#7e5410;--radius:12px;--radius-sm:8px;--shadow-card:0 1px 2px rgba(67,47,29,0.04),0 4px 16px rgba(67,47,29,0.05);--shadow-hover:0 2px 4px rgba(67,47,29,0.06),0 8px 24px rgba(67,47,29,0.07)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body),system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:15px;line-height:1.55}h1,h2,h3{font-family:var(--font-heading),Georgia,"Times New Roman",serif;color:var(--green);font-weight:500;letter-spacing:0;line-height:1.2}h1{font-size:34px;margin:0 0 6px}h2{font-size:22px;margin:0 0 2px}h3{font-size:17px;font-weight:600}a{color:var(--green)}.eyebrow{font-family:var(--font-body),system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.container{max-width:1280px;margin:0 auto;padding:28px}.narrow{max-width:440px}.meta,.muted{color:var(--muted)}.meta{font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-card)}.card--flush{padding:0;overflow:hidden}.card--flush>h2,.card--flush>h3{padding:16px 20px 0;margin:0}.card--action{border-left:3px solid var(--green)}label{display:block;font-weight:600;margin:16px 0 6px;font-size:14px}input[type=date],input[type=email],input[type=number],input[type=text],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:15px;font-family:inherit;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(71,85,63,.12)}:where(a,button,.btn,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:var(--radius-sm)}.btn,button{display:inline-block;background:var(--green);color:var(--green-ink);border:none;padding:11px 18px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;font-family:var(--font-body),system-ui,sans-serif;cursor:pointer;text-decoration:none;line-height:1.3}.btn:hover,button:hover{background:var(--green-dark)}button:disabled{opacity:.5;cursor:default}.btn.secondary,button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.secondary:hover,button.secondary:hover{background:#faf8f2}.btn.danger,button.danger{background:#fff;color:var(--danger);border:1px solid #e3c9c3}.btn.danger:hover,button.danger:hover{background:#faeeea}.topbar{justify-content:space-between;flex-wrap:wrap;gap:8px 16px;background:var(--green);padding:0 28px;min-height:82px}.topbar,.topbar nav{display:flex;align-items:center}.topbar nav{gap:24px}.topbar .logo{height:42px;width:auto;display:block}.topbar nav a{text-decoration:none;color:rgba(255,255,255,.8);font-weight:500;font-size:14px}.topbar nav a:hover{color:#fff}.topbar nav a[aria-current=page]{color:#fff;font-weight:700}.topbar .user-meta{color:rgba(255,255,255,.72)}.topbar .signout{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff;padding:6px 14px;font-size:13px;border-radius:8px}.topbar .signout:hover{background:rgba(255,255,255,.12)}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;line-height:1.5;background:#ecede7;color:var(--green-dark);white-space:nowrap}.badge--neutral{background:#ecede7;color:var(--muted)}.badge--progress{background:#e6ebe2;color:var(--green-dark)}.badge--active{background:var(--green);color:#fff}.badge--done{background:#e8e6dc;color:var(--brown)}.badge--sage{background:#dfe3da;color:var(--green-dark)}.badge--warn,.badge.warn{background:#f4ead4;color:var(--warn)}.badge--alert,.badge.danger{background:#f4e0db;color:var(--danger)}.notice{padding:12px 16px;border-radius:var(--radius-sm);background:#eef0ea;color:var(--green-dark);border-left:3px solid var(--sage)}.notice.error{background:#f7ece8;color:var(--danger);border-left-color:var(--danger)}table{width:100%;border-collapse:collapse}thead tr{text-align:left;background:#faf7f0;border-bottom:1px solid var(--line)}th{padding:11px 16px;font-weight:600;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}td{padding:13px 16px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s ease}tbody tr:hover{background:#faf8f2}tr.row-alert{background:#faeeea}tr.row-alert:hover{background:#f6e7e1}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow-card);transition:box-shadow .15s ease,transform .15s ease;display:block}.stat:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.stat .n{font-family:var(--font-heading),Georgia,serif;font-size:40px;font-weight:500;color:var(--green);line-height:1}.stat .l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}.stat.alert{border-color:#e9d5cf}.stat.alert .n{color:var(--danger)}.spinner{display:inline-block;width:18px;height:18px;flex:none;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:tt-spin .7s linear infinite}@keyframes tt-spin{to{transform:rotate(1turn)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:8px;top:-48px;background:var(--green);color:#fff;padding:10px 16px;border-radius:var(--radius-sm);z-index:100;transition:top .12s ease}.skip-link:focus{top:8px}@media (max-width:660px){.container{padding:20px 14px}.stats{grid-template-columns:1fr}.topbar{padding:12px 16px}.topbar .user-meta{display:none}.grid-2{grid-template-columns:1fr!important}.data-table thead{position:absolute;left:-9999px}.data-table tr{display:block;border:1px solid var(--line);border-radius:var(--radius-sm);margin:10px;padding:4px 12px}.data-table tbody tr:hover{background:#fff}.data-table tr.row-alert,.data-table.row-alert tr.row-alert{background:#faeeea}.data-table td{display:flex;justify-content:space-between;gap:16px;border:none;padding:9px 0;text-align:right}.data-table td:before{content:attr(data-label);color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em;text-align:left}.data-table td:empty{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}.spinner{animation-duration:1.5s}}