:root{--teal: #0e8f6f;--teal-dark: #0b4f42;--gold: #c98a2b;--ink: #132a24;--ink-soft: #4e6b62;--ink-faint: #87a199;--mist: #eff6f2;--paper: #ffffff;--line: rgba(19, 42, 36, .12);--radius: 12px;--shadow: 0 1px 2px rgba(19, 42, 36, .06), 0 8px 24px rgba(19, 42, 36, .06);--display: "Outfit", "Segoe UI", system-ui, sans-serif;--body: "Inter", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}a{color:inherit}h1,h2,h3,.display{font-family:var(--display);letter-spacing:-.02em;margin:0}.wrap{width:min(1140px,100% - 3rem);margin-inline:auto}.btn{font:inherit;font-weight:600;border:1px solid transparent;border-radius:10px;padding:.7rem 1.15rem;cursor:pointer;background:var(--teal);color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn:hover{background:var(--teal-dark)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{background:var(--mist)}.btn.small{padding:.4rem .7rem;font-size:.85rem;border-radius:8px}.btn.danger{background:#9b2c2c}.btn.danger:hover{background:#7a2323}label.field{display:block;margin-bottom:1rem}label.field>span{display:block;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.35rem}input,select{font:inherit;width:100%;padding:.65rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);min-height:44px}input:focus,select:focus{outline:2px solid var(--teal);outline-offset:1px}div.field{margin-bottom:1rem}.field-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.35rem}.field-head label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.reveal{font:inherit;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);background:none;border:0;padding:.15rem .2rem;cursor:pointer}.reveal:hover{color:var(--teal-dark);text-decoration:underline}.notice{border-radius:10px;padding:.7rem .9rem;font-size:.9rem;margin-bottom:1rem}.notice.error{background:#fdeaea;color:#8a2020}.notice.ok{background:var(--mist);color:var(--teal-dark)}.site-head{border-bottom:1px solid var(--line);position:sticky;top:0;background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.site-head .inner{display:flex;align-items:center;gap:1.25rem;padding:.85rem 0}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--display);font-weight:700;font-size:1.1rem}.brand img{width:32px;height:32px;display:block}.site-head nav{margin-left:auto;display:flex;align-items:center;gap:1.25rem;font-size:.92rem}.site-head nav a{text-decoration:none;color:var(--ink-soft);font-weight:500}.site-head nav a:hover{color:var(--ink)}.hero{padding:4.5rem 0 3rem;background:linear-gradient(180deg,var(--mist),var(--paper))}.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:.9rem}.hero h1{font-size:clamp(2.2rem,5.5vw,3.6rem);line-height:1.05;max-width:16ch}.hero h1 em{font-style:italic;color:var(--teal)}.hero p{margin:1.15rem 0 0;max-width:52ch;color:var(--ink-soft);font-size:1.05rem;line-height:1.6}.hero .cta{display:flex;gap:.75rem;margin-top:1.75rem;flex-wrap:wrap}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:2.5rem 0 1.5rem}.chip{font:inherit;font-size:.87rem;font-weight:500;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);border-radius:999px;padding:.45rem .9rem;cursor:pointer}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding-bottom:4rem}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden;display:flex;flex-direction:column}.card:hover{box-shadow:var(--shadow)}.card .cover{aspect-ratio:3 / 2;width:100%;display:block}.card .body{padding:1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.card h3{font-size:1.02rem;line-height:1.3}.card .blurb{font-size:.87rem;color:var(--ink-soft);line-height:1.5;margin:0;flex:1}.card .foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.price{font-family:var(--display);font-weight:700;font-size:1.1rem}.empty{padding:3rem 0 4rem;color:var(--ink-soft)}.site-foot{border-top:1px solid var(--line);padding:2rem 0 3rem;color:var(--ink-faint);font-size:.85rem}.site-foot .inner{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center}.site-foot a{color:var(--ink-soft)}.signin{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--paper)}.signin-brand{background:radial-gradient(120% 90% at 8% 0%,rgba(201,138,43,.28),transparent 55%),linear-gradient(160deg,var(--teal) 0%,var(--teal-dark) 62%,#08352d 100%);color:#fff;padding:3rem 3.25rem;display:flex;flex-direction:column;gap:2.25rem}.signin-brand .brand{color:#fff;font-size:1.15rem}.signin-pitch h1{font-size:clamp(2rem,3.4vw,2.9rem);line-height:1.08;margin-bottom:1rem}.signin-pitch p{margin:0;max-width:40ch;color:#ffffffd6;font-size:1.02rem;line-height:1.6}.signin-points{list-style:none;margin:auto 0 0;padding:0;display:grid;gap:1.1rem}.signin-points li{display:grid;gap:.2rem;padding-left:1rem;border-left:2px solid rgba(255,255,255,.28)}.signin-points strong{font-family:var(--display);font-size:.98rem}.signin-points span{color:#ffffffbd;font-size:.88rem;line-height:1.5}.signin-foot{margin:0;font-size:.85rem;color:#ffffffb3}.signin-foot a{color:#fff}.signin-form{display:grid;place-items:center;padding:3rem 2rem}.signin-form form{width:min(380px,100%)}.signin-form .brand-small{display:none;margin-bottom:1.5rem}.signin-form h2{font-size:1.75rem;margin-bottom:.4rem}.signin-form .sub{color:var(--ink-soft);font-size:.93rem;margin:0 0 1.9rem;line-height:1.5}.btn.block{width:100%;padding:.85rem 1.15rem;font-size:1rem;margin-top:.4rem}.signin-help{margin:1.5rem 0 0;font-size:.85rem;line-height:1.55;color:var(--ink-soft);padding-top:1.25rem;border-top:1px solid var(--line)}.signin-back{display:inline-block;margin-top:1.1rem;font-size:.85rem;color:var(--ink-faint)}@media(max-width:860px){.signin{grid-template-columns:1fr}.signin-brand{display:none}.signin-form{align-content:start;padding-top:3.5rem}.signin-form .brand-small{display:flex}}.auth-page{min-height:100vh;display:grid;place-items:center;background:var(--mist)}.dash{min-height:100vh;display:flex;flex-direction:column}.dash-head{border-bottom:1px solid var(--line)}.dash-head .inner{display:flex;align-items:center;gap:1rem;padding:.85rem 0}.dash-head .who{margin-left:auto;display:flex;align-items:center;gap:1rem;font-size:.88rem;color:var(--ink-soft)}.tabs{display:flex;gap:.35rem;border-bottom:1px solid var(--line)}.tabs button{font:inherit;font-weight:600;font-size:.9rem;background:none;border:none;border-bottom:2px solid transparent;padding:.8rem .9rem;cursor:pointer;color:var(--ink-soft)}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--teal)}.panel{padding:1.75rem 0 3rem}.panel h2{font-size:1.3rem;margin-bottom:.4rem}.panel .lede{color:var(--ink-soft);font-size:.92rem;margin:0 0 1.5rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--line)}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:600}td.actions{display:flex;gap:.4rem;flex-wrap:wrap}.tag{font-size:.72rem;font-weight:600;border-radius:999px;padding:.15rem .55rem;background:var(--mist);color:var(--teal-dark)}.tag.warn{background:#fdeaea;color:#8a2020}.table-scroll{overflow-x:auto}.form-card{border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;max-width:460px}.row2{display:grid;gap:0 1rem;grid-template-columns:1fr 1fr}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}@media(max-width:620px){.wrap{width:calc(100% - 2rem)}.row2{grid-template-columns:1fr}.site-head nav{gap:.9rem}}
