:root{--terracotta:#c4563a;--terracotta-deep:#8b3a2a;--sand:#d4956a;--cream:#fdf5f0;--ink:#2d1810;--navy:#1b2a4a;--paper:#fff;--line:#ead7cb;--line-soft:#f2e3da;--muted:#8a7268;--zebra:#fcf7f3;--shadow:0 1px 2px #2d18100f, 0 8px 24px #2d18100d;--radius:10px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.55}h1,h2,h3{letter-spacing:-.01em;margin:0;font-family:Georgia,Roboto Slab,serif;font-weight:700}a{color:var(--terracotta-deep)}.wrap{max-width:900px;margin:0 auto;padding:24px 20px 64px}.top{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.top__logo{width:auto;height:26px;display:block}.top__right{color:var(--muted);align-items:center;gap:14px;font-size:13px;display:flex}.top__right a{color:var(--muted);text-decoration:none}.top__right a:hover{color:var(--terracotta-deep);text-decoration:underline}.login{background:radial-gradient(120% 80% at 50% 0%, #fff6f0 0%, var(--cream) 46%, #f6e7dd 100%);flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100dvh;padding:32px 18px;display:flex;position:relative;overflow:hidden}.loginbg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.loginbg__wash{filter:blur(60px);will-change:transform;border-radius:50%;position:absolute}.loginbg__wash--a{opacity:.55;background:radial-gradient(circle at 35% 35%,#c4563a6b,#c4563a00 62%);width:78vmax;height:78vmax;animation:24s ease-in-out infinite alternate drift-a;top:-32vmax;left:-30vmax}.loginbg__wash--b{opacity:.6;background:radial-gradient(circle at 65% 65%,#d4956a75,#d4956a00 62%);width:82vmax;height:82vmax;animation:30s ease-in-out infinite alternate drift-b;bottom:-36vmax;right:-32vmax}@keyframes drift-a{0%{transform:translate(0,0)scale(1)}to{transform:translate(9vmax,7vmax)scale(1.16)}}@keyframes drift-b{0%{transform:translate(0,0)scale(1.12)}to{transform:translate(-8vmax,-8vmax)scale(1)}}.loginbg__rose{transform-origin:50%;width:min(88vmin,680px);height:min(88vmin,680px);color:var(--terracotta);opacity:.17;animation:90s linear infinite rose;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes rose{to{transform:translate(-50%,-50%)rotate(360deg)}}.login__card{z-index:1;-webkit-backdrop-filter:blur(16px)saturate(1.15);background:linear-gradient(#fffffff0,#ffffffdb);border:1px solid #ffffffd9;border-radius:20px;width:100%;max-width:410px;padding:34px 28px 32px;animation:.62s cubic-bezier(.21,.68,.35,1) both card-in;position:relative;box-shadow:0 1px 1px #2d18100a,0 8px 20px -6px #2d181021,0 30px 60px -18px #8b3a2a47,inset 0 1px #ffffffe6}@keyframes card-in{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:none}}.login__card>*{animation:.52s cubic-bezier(.22,.61,.36,1) both fade-up}.login__card>:first-child{animation-delay:.14s}.login__card>:nth-child(2){animation-delay:.2s}.login__card>:nth-child(3){animation-delay:.25s}.login__card>:nth-child(4),.login__card>form{animation-delay:.3s}@keyframes fade-up{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.login__logo{width:auto;height:26px;margin:0 0 22px;display:block}.login h1{letter-spacing:-.02em;margin-bottom:7px;font-size:24px}.login p{color:var(--muted);margin:0 0 22px;font-size:14.5px}.login label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;font-size:11.5px;font-weight:700;display:block}.login input{border:1px solid var(--line);width:100%;color:var(--ink);background:#ffffffbf;border-radius:11px;padding:14px;font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s,background .2s}.login input::placeholder{color:#bcaaa0}.login input:focus{border-color:var(--sand);background:#fff;outline:none;box-shadow:0 0 0 4px #d4956a3d}.login button{background:linear-gradient(180deg, #ce5f42, var(--terracotta));color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:9px;width:100%;margin-top:18px;padding:15px 14px;font-family:inherit;font-size:15.5px;font-weight:600;transition:transform .12s,box-shadow .22s,filter .22s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #8b3a2a47,0 10px 22px -8px #8b3a2a80}.login button:after{content:"";background:linear-gradient(105deg,#0000 38%,#ffffff42 50%,#0000 62%);animation:4.6s ease-in-out 1.2s infinite sheen;position:absolute;inset:0;transform:translate(-120%)}@keyframes sheen{0%{transform:translate(-120%)}55%,to{transform:translate(120%)}}.login button:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 3px 8px #8b3a2a52,0 14px 30px -8px #8b3a2a8c}.login button:active:not(:disabled){transform:translateY(1px)}.login button:disabled{opacity:.78;cursor:default;box-shadow:none}.login button:disabled:after{display:none}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex:none;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login__err{color:#96331f;background:#fbe9e4;border:1px solid #f0c9be;border-radius:10px;margin:0 0 16px;padding:11px 13px;font-size:13.5px}.login__note{color:#3d4f6b;background:#eef2f8;border:1px solid #d3deec;border-radius:10px;margin:0 0 16px;padding:11px 13px;font-size:13.5px}.login__foot{z-index:1;color:var(--muted);opacity:.7;letter-spacing:.02em;margin:0;font-size:12px;position:relative}@media (max-width:560px){.login{padding:26px 16px}.login__card{border-radius:18px;padding:30px 22px 28px}.login h1{font-size:22px}.loginbg__rose{opacity:.2;width:142vw;height:142vw}}@media (prefers-reduced-motion:reduce){.loginbg{display:none}.login__card,.login__card>*{animation:none}.login button:after{display:none}.spinner{border-top-color:#ffffff59;animation:none}}.welcome{z-index:50;background:radial-gradient(120% 90% at 50% 40%, #fff7f2 0%, var(--cream) 55%, #f4e3d8 100%);justify-content:center;align-items:center;animation:.55s 2.35s both welcome-out;display:flex;position:fixed;inset:0}.welcome__inner{text-align:center;padding:0 24px}.welcome__hi{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-size:15px;font-weight:600;animation:.6s cubic-bezier(.22,.61,.36,1) both welcome-in}.welcome__name{letter-spacing:-.02em;color:var(--ink);margin:8px 0 0;font-family:Georgia,serif;font-size:clamp(30px,8vw,46px);font-weight:700;animation:.68s cubic-bezier(.22,.61,.36,1) .12s both welcome-in}@keyframes welcome-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes welcome-out{to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.welcome{animation:10ms linear 2.4s both welcome-out}.welcome__hi,.welcome__name{animation:none}}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin:28px 0 20px;display:flex}.head h1{font-size:26px}.head p{color:var(--muted);margin:4px 0 0;font-size:14px}.months{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card__label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:600}.card__big{font-family:Georgia,serif;font-size:28px;font-weight:700;line-height:1.1}.card__sub{color:var(--muted);margin-top:4px;font-size:13px}.card--total{background:var(--navy);border-color:var(--navy);color:#fff}.card--total .card__label,.card--total .card__sub{color:#ffffffb8}.meter{background:var(--line-soft);border-radius:99px;height:6px;margin-top:10px;overflow:hidden}.meter__fill{background:var(--sand);border-radius:99px;height:100%;transition:width .6s cubic-bezier(.22,.61,.36,1)}.meter__fill--over{background:var(--terracotta)}.meter--total{background:#ffffff2e;height:7px;margin-top:12px}.card--total .meter__fill{background:var(--peach,#f3b391)}.card--total .meter__fill--over{background:var(--terracotta)}.card__pct{color:#ffffffb8;margin:8px 0 0;font-size:12.5px}@media (prefers-reduced-motion:reduce){.meter__fill{transition:none}}.notice{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--terracotta);border-radius:var(--radius);margin-bottom:20px;padding:16px 18px}.notice h3{margin-bottom:6px;font-size:15px}.notice p{color:var(--ink);margin:0;font-size:14px}.notice p+p{margin-top:8px}.notice--quiet{border:0;border-left:2px solid var(--line);box-shadow:none;background:0 0;margin-bottom:18px;padding:2px 0 2px 14px}.notice--quiet h3{color:var(--muted);font-family:inherit;font-size:13px;font-weight:600}.notice--quiet p{color:var(--muted);font-size:13px}.notice--note{border-left-width:3px;border-left-color:var(--navy);background:#fffbf7}.notice--note h3{color:var(--navy)}.notice--note p{font-size:14.5px;line-height:1.6}.is-pending{opacity:.45;pointer-events:none;transition:opacity .18s}.linkbtn{font:inherit;color:var(--terracotta-deep);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:600;text-decoration:underline}table{border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);width:100%;overflow:hidden}caption{text-align:left;padding:0 0 10px;font-family:Georgia,serif;font-size:17px;font-weight:700}th,td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:10px 14px;font-size:14px}th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--zebra);font-size:12px}td.num,th.num{text-align:right;white-space:nowrap}tr:last-child td{border-bottom:0}.cta{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:22px 0;padding:18px;display:flex}.cta p{color:var(--ink);max-width:52ch;margin:0;font-size:14px}.cta strong{color:var(--ink)}.btn{background:var(--terracotta);color:#fff;white-space:nowrap;border-radius:8px;padding:11px 18px;font-size:14.5px;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{background:var(--terracotta-deep);color:#fff}.foot{color:var(--muted);max-width:70ch;margin-top:28px;font-size:12.5px}.empty{color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);text-align:center;padding:22px;font-size:14px}.tag{background:var(--zebra);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cards .card{animation:rise .38s var(--ease,cubic-bezier(.22,.61,.36,1)) both}.cards .card:nth-child(2){animation-delay:50ms}.cards .card:nth-child(3){animation-delay:.1s}.cards .card:nth-child(4){animation-delay:.15s}@media (max-width:640px){.wrap{padding:16px 14px 48px}.head h1{font-size:22px}.cards{grid-template-columns:1fr;gap:10px}.card{padding:15px}.card__big{font-size:25px}table,thead,tbody{width:100%;display:block}thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}table{background:0 0;border:0}tr{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:1fr auto;align-items:baseline;gap:8px 10px;margin-bottom:10px;padding:12px 14px;display:grid}td{border:0;padding:0;font-size:14px}td[data-label=Date]{color:var(--muted);grid-area:1/1;font-size:13px;font-weight:600}td[data-label=Time]{text-align:right;color:var(--ink);grid-area:1/2;font-weight:700}td[data-label=Type]{grid-area:2/1/auto/-1}td[data-label="What it covered"]{grid-area:3/1/auto/-1;line-height:1.5}caption{width:100%;padding-bottom:8px;font-size:16px;display:block}.cta{flex-direction:column;align-items:flex-start}.cta .btn{text-align:center;width:100%}.head{margin:20px 0 16px}.months{width:100%}}@media (prefers-reduced-motion:reduce){.cards .card{animation:none}}
