@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-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:Nunito Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_9d0541{font-family:Nunito,Nunito Fallback;font-style:normal}.__variable_9d0541{--font-ui:"Nunito","Nunito Fallback"}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-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:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-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:Fredoka Fallback;src:local("Arial");ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.00%;size-adjust:101.84%}.__className_3ce05e{font-family:Fredoka,Fredoka Fallback;font-style:normal}.__variable_3ce05e{--font-display:"Fredoka","Fredoka Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/82179190dde1591d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/dc4d8d7cae82600c-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/11c4c3cba9a7e226-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d51fd126416ee4c8-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cdec7fa3927eb560-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f198ae9a2620d439-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/a850a10de48942a7-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bfede01fd09039d8-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36bf3e92c0d6f837-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af5dd2b5d3f396f3-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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_30a8c4{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_30a8c4{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--brand:#2f6fde;--brand-hover:#2559c0;--brand-ink:#1f4fb8;--side:#1e3a8a;--bg:#f1f5fc;--card:#ffffff;--band:#f6f8fd;--ink:#1b2547;--ink2:#3d4768;--muted:#5b6585;--line:#e4e9f4;--line2:#c9d2e6;--accent:#ffc531;--ok:#2f9e63;--ok-bg:#e3f6ec;--ok-ink:#17663f;--ok-line:#8fd3ae;--warn:#f2a316;--warn-bg:#fff3d1;--warn-ink:#8a5a00;--warn-line:#efd08a;--bad:#e5484d;--bad-bg:#fde6e3;--bad-ink:#b42318;--bad-line:#f2b1aa;--info-bg:#e6eefc;--info-ink:#1f4fb8;--off-bg:#eef1f8;--off-ink:#4a5470;--off-line:#d3daea;--r-card:16px;--r-ctl:10px;--ui:var(--font-ui),system-ui,-apple-system,"Segoe UI",sans-serif;--display:var(--font-display),var(--font-ui),system-ui,sans-serif;--mono:var(--font-mono),ui-monospace,"SF Mono",Menlo,monospace;--pop:0 10px 30px rgba(27,37,71,0.16)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font:400 15px/1.5 var(--ui);color:var(--ink);background:var(--bg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}body,h1,h2,h3,p{margin:0}a{color:var(--brand-ink);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}.mono,code{font-family:var(--mono);font-size:12.5px}.muted{color:var(--muted)}.num{text-align:right}.icon{flex:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 2px var(--ink);border-radius:6px}.dbl{-webkit-text-decoration:underline double var(--ink);text-decoration:underline double var(--ink);text-decoration-thickness:1.5px;text-underline-offset:4px}.shell{display:grid;grid-template-columns:288px minmax(0,1fr);min-height:100vh}.side{background:var(--side);color:#fff}.side-in{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px;padding:24px 16px 72px;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;padding:0 8px;color:#fff}.brand:hover{text-decoration:none}.brand-mark{flex:none;width:44px;height:44px;display:grid;place-items:center;background:#fff;border-radius:12px}.brand-name{display:flex;flex-direction:column;font:700 19px/1.15 var(--ui);white-space:nowrap}.brand-name small{font:600 13px/1.3 var(--ui);color:rgba(255,255,255,.78)}.nav{display:flex;flex-direction:column;gap:4px}.navlink{display:flex;align-items:center;gap:12px;padding:7px 10px 7px 8px;border-radius:12px;color:#fff;font-weight:700;font-size:16px;transition:background-color .15s}.navlink:hover{background:rgba(255,255,255,.07);text-decoration:none}.navlink.active{background:rgba(255,255,255,.12)}.navtile{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff}.navtile .icon{width:18px;height:18px}.navlabel{flex:1 1;min-width:0;white-space:nowrap}.navcount{min-width:22px;height:22px;padding:0 7px;display:inline-grid;place-items:center;border-radius:999px;background:#f0714f;color:#fff;font:700 12.5px var(--ui)}.navchev{flex:none;opacity:.6}.account{margin-top:auto;display:flex;flex-direction:column;gap:4px;padding:16px 8px 0;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.8)}.account-email{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account form{display:flex}.account .btn.ghost{color:rgba(255,255,255,.8);padding-left:0}.account .btn.ghost:hover{color:#fff}.col{min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;height:60px;padding:0 40px;background:#fff;border-bottom:1px solid var(--line)}.menu{display:none}.crumbs{display:flex;align-items:center;gap:8px;min-width:0;font-size:15px}.crumbs,.crumbs a{color:var(--muted)}.crumbs .here,.crumbs a:hover{color:var(--ink)}.crumbs .here{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumbs .sl{opacity:.6}.main{min-width:0;padding:32px 40px 80px}.page{max-width:1180px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.title{font:600 32px/1.15 var(--display);letter-spacing:-.005em}.lede{margin-top:8px;color:var(--muted);max-width:66ch}.daybook{margin-top:8px;color:var(--ink2)}.daybook .sep{color:var(--muted);padding:0 6px}.daybook .bad{color:var(--bad-ink);font-weight:700}.daybook .warn{color:var(--warn-ink);font-weight:700}.h2{font:600 21px/1.25 var(--display);margin:0 0 16px}.h3{font:700 14px/1.3 var(--ui);margin:0}.stack{flex-direction:column;gap:16px}.row,.stack{display:flex}.row{gap:12px;align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end}.grow{flex:1 1}.card,.section,.sheet{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:32px}.section{margin-bottom:24px}.card.flush{padding:0;overflow:hidden}.card+.card{margin-top:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.section-head .h2{margin:0}.pop{box-shadow:var(--pop);border-color:var(--line2);border-radius:14px}.note{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;margin-bottom:16px;color:var(--info-ink);background:var(--info-bg);border-radius:var(--r-ctl)}.empty{padding:56px 24px;text-align:center;color:var(--muted)}.empty b{display:block;font:600 20px var(--display);color:var(--ink);margin-bottom:4px}.card>.empty:only-child{padding:56px 24px}.pen,.pill{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:1px 10px;border-radius:999px;border:1px solid var(--off-line);background:var(--off-bg);color:var(--off-ink);font:700 12.5px/1.3 var(--ui);white-space:nowrap}.pill.ok{background:var(--ok-bg);color:var(--ok-ink);border-color:var(--ok-line)}.pen.warn,.pill.warn{background:var(--warn-bg);color:var(--warn-ink);border-color:var(--warn-line)}.pen:not(.warn):not(.none),.pill.bad{background:var(--bad-bg);color:var(--bad-ink);border-color:var(--bad-line)}.pens{display:flex;flex-wrap:wrap;gap:6px}.pens.inline{gap:6px 8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 18px;font:700 14.5px var(--ui);border-radius:var(--r-ctl);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}.btn,.btn:hover{text-decoration:none}.btn.sm{height:32px;padding:0 12px;font-size:13.5px}.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-hover)}.btn.secondary{background:#fff;color:var(--ink);border-color:var(--line2)}.btn.secondary:hover{background:var(--band);border-color:var(--muted)}.btn.ghost{background:transparent;color:var(--ink2);padding:0 8px}.btn.ghost:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.btn.danger{background:#fff;color:var(--bad-ink);border-color:var(--bad-line)}.btn.danger:hover{background:var(--bad-bg)}.btn.danger-solid{background:var(--bad-ink);color:#fff}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}summary.btn{list-style:none}summary.btn::-webkit-details-marker{display:none}.linkbtn{background:none;border:0;padding:0;font:inherit;font-size:14px;font-weight:600;color:var(--brand-ink);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;cursor:pointer}.linkbtn:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.linkbtn:disabled{color:var(--muted);cursor:default;text-decoration:none}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span.lbl{font-size:13.5px;font-weight:700;color:var(--ink)}.help{font-size:13px;color:var(--muted)}.input,.select,.textarea{width:100%;height:40px;padding:0 12px;font:400 15px var(--ui);color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:var(--r-ctl);transition:border-color .15s}.textarea{height:auto;padding:10px 12px;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%235b6585' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.input:hover,.select:hover,.textarea:hover{border-color:var(--muted)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--brand)}.input.mono{font-family:var(--mono);font-size:14px}.input.right{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.check{display:inline-flex;align-items:center;gap:8px;color:var(--ink);cursor:pointer}.check input{width:16px;height:16px;margin:0;accent-color:var(--brand)}.seal{color:var(--brand);opacity:.9;transform:rotate(-4deg);flex:none;display:block;overflow:visible}.seal.press{animation:press .26s ease-out both}@keyframes press{0%{transform:rotate(-6deg) scale(1.12);opacity:0}to{transform:rotate(-4deg) scale(1);opacity:.9}}.gauge{position:relative;min-width:0}.gauge-track{position:relative;height:4px;border-radius:2px;background:rgba(27,37,71,.1)}.gauge-buffer{right:0;background:rgba(242,163,22,.3);border-radius:0 2px 2px 0}.gauge-buffer,.gauge-fill{position:absolute;top:0;bottom:0}.gauge-fill{left:0;background:var(--ok);border-radius:2px}.gauge-fill.warn{background:var(--warn)}.gauge-fill.bad{background:var(--bad)}.gauge-fill.none{background:transparent}.gauge-cap{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--ink);border-radius:1px}.gauge.lg .gauge-track{height:10px;border-radius:5px}.gauge.lg .gauge-fill{border-radius:5px}.gauge.lg .gauge-cap{top:-5px;bottom:-5px}.gauge.lg{margin-top:14px;max-width:520px}.filters{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:16px 24px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink2)}.filters .input,.filters .select{width:auto;height:36px;font-size:14px}.filters .search{flex:1 1 180px;max-width:260px}.filters .search .input{width:100%}.filters .check{font-size:14px;color:var(--ink2)}.filters-end{margin-left:auto;display:flex;gap:12px;align-items:center}.lh,.lr{display:grid;grid-template-columns:minmax(220px,1.7fr) minmax(150px,.9fr) 112px 128px 44px;grid-gap:0 20px;gap:0 20px;align-items:start;padding:16px 24px}.lh{padding:10px 24px;font-size:13px;font-weight:700;color:var(--muted);background:var(--band);border-bottom:1px solid var(--line);align-items:end}.lh .r,.lr .r{text-align:right}.lr{position:relative;border-bottom:1px solid var(--line);transition:background-color .15s}.lr:last-child{border-bottom:0}.lr:hover{background:var(--band)}.lr .name{font-weight:700;font-size:16px;line-height:24px;color:var(--ink)}.lr .name:after{content:"";position:absolute;inset:0}.lr .name:hover{text-decoration:underline}.sub{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub.warn{color:var(--warn-ink);font-weight:700}.sub.bad{color:var(--bad-ink);font-weight:700}.lr .pens{margin-top:8px}.fig{font:600 14px/24px var(--ui);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.fig .of{color:var(--muted)}.lr .gauge{margin-top:6px}.lr .stamp{justify-self:end}.lbl-m{display:none}.sh{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:24px}.sh-main{min-width:0;flex:1 1}.sh-meta{margin-top:4px;color:var(--muted);font-size:14px}.hero{margin-top:20px;font:600 52px/1.05 var(--display);letter-spacing:-.01em}.hero .w{font-size:24px;letter-spacing:0;color:var(--muted);font-weight:500}.hero-note{margin-top:12px;font-size:13px;color:var(--muted)}.sh-line{margin-top:12px;color:var(--ink2)}.sep,.sh-line .sep{color:var(--muted);padding:0 6px}.sh-line .warn{color:var(--warn-ink);font-weight:700}.sh-line .bad{color:var(--bad-ink);font-weight:700}.sh-stamp{flex:none;padding:4px 8px 0 0}.sh .pens{margin-top:16px}.tabs{display:flex;gap:8px;margin:0 0 24px;overflow-x:auto}.tab{padding:8px 18px;border-radius:999px;color:var(--ink2);font-weight:700;white-space:nowrap;transition:background-color .15s,color .15s}.tab:hover{background:rgba(47,111,222,.08);color:var(--ink);text-decoration:none}.tab.active{background:var(--brand);color:#fff}.lf{display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.lf-mods,.lf-terms{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:32px}.lf-terms{display:flex;flex-direction:column;gap:16px}.modhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modhead .h2{margin:0}.modcols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:28px;gap:28px}.modcol-head{padding-bottom:10px;border-bottom:1px solid var(--line2)}.modcol-head .help{display:block}.mod{gap:8px;min-height:48px;border-bottom:1px solid var(--line);flex-wrap:wrap}.mod,.mod-btn{display:flex;align-items:center}.mod-btn{gap:10px;padding:8px 0;background:none;border:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer}.mod-btn,.mod-btn .mod-text{flex:1 1;min-width:0}.mod-btn:hover .mod-label{text-decoration:underline;-webkit-text-decoration-color:var(--line2);text-decoration-color:var(--line2);text-underline-offset:3px}.mod-btn:disabled{cursor:not-allowed}.mod-btn:disabled,.mod-btn:disabled .mod-label{color:var(--muted)}.mod-btn .pill{flex:none;min-width:42px;justify-content:center}.mod-aside{flex:none;width:100%;padding-bottom:8px;margin-top:-4px}.mod-aside .pill{font-weight:700}.mod-aside .linkbtn{font-size:12.5px;color:inherit;text-decoration:underline}.mod-need{display:block;font-size:13px;color:var(--muted)}.review{margin-top:24px}.review-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px;flex-wrap:wrap}.changes{list-style:none;margin:0 0 20px;padding:0}.changes li{display:flex;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline}.changes .k{color:var(--ink2);min-width:150px}.changes .from{color:var(--muted);text-decoration:line-through}.changes .to{font-weight:700}.sticky-save{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px;padding:20px 32px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card)}.slips{display:flex;flex-direction:column;gap:16px;max-width:800px}.slip{display:grid;grid-template-columns:112px minmax(0,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.slip-stub{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 8px;background:var(--band);border-right:1px dashed var(--line2)}.slip-body{padding:22px 28px 24px;min-width:0}.slip-title{font:600 20px/1.25 var(--display)}.slip-meta{margin-top:2px;font-size:13.5px;color:var(--muted)}.slip ul{list-style:none;margin:12px 0 0;padding:0}.slip li{padding:8px 0;border-top:1px solid var(--line)}.slip li .from{color:var(--muted)}.slip-note{margin-top:10px;color:var(--ink2)}.tablewrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}.table th{font-size:13px;font-weight:700;color:var(--muted);background:var(--band)}.table th:first-child{border-top-left-radius:10px}.table th:last-child{border-top-right-radius:10px}.table tbody tr:last-child td{border-bottom:0}.table td.num,.table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13.5px}.table th.num{font-family:var(--ui);font-size:13px}.table td.wrap{white-space:normal;min-width:200px}.table tbody tr:hover td{background:var(--band)}.table th label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:var(--muted)}.table input.input{height:36px;min-width:96px}.table td.over{color:var(--bad-ink);font-weight:700}.kv{display:grid;grid-template-columns:240px minmax(0,1fr) auto;grid-gap:12px 16px;gap:12px 16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.kv .k{color:var(--ink2)}.kv .k,.kv .v{font-family:var(--mono);font-size:12.5px}.kv .v{word-break:break-all;min-width:0}.keybox{margin:12px 0;padding:12px 14px;background:var(--band);border:1px solid var(--line2);border-left:4px solid var(--brand);border-radius:var(--r-ctl)}.keybox code{display:block;font-size:13px;word-break:break-all;margin-bottom:8px}.danger-head{color:var(--bad-ink)}.danger-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.danger-item:last-child{border-bottom:0;padding-bottom:0}.danger-item>div:first-child{max-width:56ch}details.reveal>summary{cursor:pointer}.page-head details.reveal{position:relative}.chart{width:100%;height:auto;display:block}.chart text{font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;fill:var(--muted)}.chart .pin-label{fill:var(--brand-ink);font-size:11.5px}.legend{display:flex;flex-wrap:wrap;gap:6px 22px;margin:12px 0 28px;font-size:13px;color:var(--ink2)}.legend i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px;border-radius:2px}.legend i.dash{height:0;width:18px;border-top:2px dashed var(--ink);border-radius:0}.legend i.pin{width:8px;height:8px;border-radius:50%;background:var(--brand);vertical-align:1px}.att-group{margin-bottom:24px}.att-group h2{font:600 21px/1.25 var(--display);padding:20px 24px 16px;display:flex;align-items:center;gap:10px}.att-group h2 .count{display:inline-grid;place-items:center;min-width:26px;height:24px;padding:0 8px;border-radius:999px;background:var(--off-bg);color:var(--off-ink);font:700 13px var(--ui)}.att-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(0,1.4fr) 28px 130px;grid-gap:16px;gap:16px;align-items:center;padding:14px 24px;border-top:1px solid var(--line)}.att-row:hover{background:var(--band)}.att-name{font-weight:700;font-size:16px;color:var(--ink)}.att-act{text-align:right;font-size:14px;font-weight:700}.quote-grid{display:grid;grid-template-columns:340px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.quote-sheet{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:48px 52px 40px;max-width:720px;aspect-ratio:210/297;display:flex;flex-direction:column}.quote-sheet.flow{aspect-ratio:auto}.qs-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line2);margin-bottom:8px}.qs-brand{display:flex;align-items:center;gap:12px}.qs-brand b{display:block;font:600 26px/1 var(--display)}.qs-brand span{font-size:13.5px;color:var(--muted)}.qs-meta{text-align:right;font-size:13.5px;color:var(--ink2);line-height:1.6}.qs-meta .no{font:500 13px var(--mono);color:var(--ink)}.qs-for{margin:16px 0 8px;color:var(--ink2)}.qs-for b{font-weight:700;color:var(--ink)}.qs-line{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid var(--line)}.qs-line .sub{white-space:normal}.qs-line .amt{white-space:nowrap;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;font-size:14px}.qs-totals{margin-top:20px;margin-left:auto;width:min(100%,340px)}.qs-total{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0}.qs-total .amt{font:600 28px var(--display)}.qs-total.minor .amt{font-size:20px}.qs-foot{margin-top:auto;padding-top:28px;font-size:13px;color:var(--muted)}.qs-foot p+p{margin-top:4px}.qs-warn{margin-top:8px;font-size:13.5px;color:var(--bad-ink)}.savebox{padding-top:20px}.savebox,.saved-q{border-top:1px solid var(--line)}.saved-q>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:12px;padding:14px 24px;flex-wrap:wrap}.saved-q>summary::-webkit-details-marker{display:none}.saved-q>summary:hover{background:var(--band)}.saved-q-body{padding:4px 24px 24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.reg-row{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(130px,1fr) minmax(140px,1fr) minmax(120px,.8fr) 110px minmax(0,auto);grid-gap:8px 20px;gap:8px 20px;align-items:start;padding:16px 24px;border-top:1px solid var(--line)}.reg-row.head{padding:10px 24px;font-size:13px;font-weight:700;color:var(--muted);background:var(--band);border-top:0;border-bottom:1px solid var(--line);align-items:end}.reg-row .you{margin-left:8px}.reg-act{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;position:relative}.reg-form{position:absolute;right:0;top:40px;z-index:10;width:300px;padding:16px;flex-direction:column;white-space:normal;text-align:left}.reg-form,.toast{display:flex;gap:12px}.toast{position:fixed;z-index:50;top:72px;right:16px;max-width:min(440px,calc(100vw - 32px));align-items:flex-start;padding:12px 16px;border-radius:12px;background:#fff;border:1px solid var(--line2);border-left:4px solid var(--ok);box-shadow:var(--pop);font-weight:600}.toast.ok{animation:fadeout .4s ease 3.6s forwards}.toast.err{border-left-color:var(--bad);color:var(--bad-ink)}.toast-x{border:0;background:none;padding:2px;color:inherit;cursor:pointer;border-radius:4px}@keyframes fadeout{to{opacity:0}}.callout{padding:12px 14px;border-radius:var(--r-ctl);border:1px solid var(--bad-line);color:var(--bad-ink);background:var(--bad-bg);font-weight:600}.auth{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--pop);padding:40px 36px 36px}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:28px;text-align:center}.auth-brand b{font:600 26px/1.15 var(--display);display:block}.auth-brand span{color:var(--muted)}.qr-frame{margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--band)}.qr{width:176px;height:176px;margin:0 auto;padding:8px;background:#fff;border-radius:10px}.qr svg{width:100%;height:100%;display:block}.secret{display:block;margin-top:10px;word-break:break-all;text-align:center}@media (max-width:1100px){.lf,.modcols,.quote-grid{grid-template-columns:minmax(0,1fr)}.quote-sheet{max-width:none}}@media (max-width:760px){.shell{display:block}.side{display:none}.col{min-height:0}.topbar{padding:0 16px}.menu{display:block;position:static}.menu-panel{position:absolute;left:0;right:0;top:100%;padding:20px 16px 72px;background:var(--side);display:flex;flex-direction:column;gap:20px;box-shadow:var(--pop);max-height:calc(100vh - 60px);overflow-y:auto}.main{padding:20px 16px 64px}.card,.lf-mods,.lf-terms,.section,.sheet{padding:20px}.title{font-size:26px}.hero{font-size:38px}.hero .w{font-size:20px}.sh{gap:12px}.sh-stamp svg{width:64px;height:64px}.filters{padding:16px}.lh{display:none}.lr{grid-template-columns:minmax(0,1fr) 44px;gap:6px 12px;padding:16px}.lr .c-call,.lr .c-name,.lr .c-stu,.lr .c-valid{grid-column:1/2}.lr .c-call .fig,.lr .c-stu .fig,.lr .c-valid .fig{text-align:left}.lr .stamp{grid-column:2;grid-row:1}.lr .c-call .sub,.lr .c-valid .sub{text-align:left!important}.lbl-m{display:inline;color:var(--muted);font:400 13px var(--ui);margin-right:8px}.filters .field,.filters .search{flex:1 1 100%;max-width:none}.fields.two,.kv{grid-template-columns:minmax(0,1fr)}.kv{gap:6px}.att-group h2{padding:16px}.att-row{grid-template-columns:minmax(0,1fr) 28px;padding:14px 16px}.att-row .att-detail{grid-column:1/-1;grid-row:2}.att-act{grid-column:1/-1;text-align:left}.slip{grid-template-columns:76px minmax(0,1fr)}.slip-body{padding:16px}.sticky-save{padding:16px 20px}.quote-sheet{padding:24px 20px;aspect-ratio:auto}.reg-row{grid-template-columns:minmax(0,1fr);padding:16px}.reg-row.head{display:none}.reg-act{justify-content:flex-start}.toast{left:16px;right:16px;max-width:none}}@page{size:A4;margin:16mm 18mm}@media print{body{background:#fff}body *{visibility:hidden}.quote-sheet,.quote-sheet *{visibility:visible}.quote-sheet{position:absolute;left:0;top:0;width:100%;max-width:none;aspect-ratio:auto;min-height:255mm;border:0;border-radius:0;background:#fff;padding:0}.no-print{display:none!important}}@media (prefers-reduced-motion:reduce){*{transition:none!important}.seal.press{animation:none}.toast.ok{animation-duration:1ms}}.jobstrip{display:inline-flex;gap:2px}.jobstrip i{width:8px;height:18px;border-radius:2px;background:var(--off-bg);border:1px solid var(--off-line)}.jobstrip i.ok{background:var(--ok-bg);border-color:var(--ok-line)}.jobstrip i.bad{background:var(--bad-ink);border-color:var(--bad-ink)}.jobs-table{table-layout:fixed}.jobs-table td{white-space:normal}