:root{--surface:#f7f9f8;--surface-raised:#ffffff;--surface-sunken:#eef3f1;--line:#dce5e1;--line-strong:#7f918b;--ink:#12201c;--ink-muted:#52625d;--teal:#0f766e;--teal-strong:#0b5d57;--teal-soft:#d5f5ee;--on-teal:#ffffff;--sun:#9a5806;--sun-soft:#fdf0d2;--sky:#0b6aa2;--sky-soft:#dceffb;--danger:#b42318;--danger-soft:#fde7e4;--link:var(--teal);--shadow-sm:0 1px 2px #12201c0d,0 1px 3px #12201c14;--shadow-lg:0 6px 12px #12201c0f,0 16px 32px -4px #12201c24;--focus-ring:0 0 0 2px #f7f9f8,0 0 0 4px #0f766e;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-20:80px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--font-display:"Nunito",ui-rounded,"SF Pro Rounded",system-ui,sans-serif;--font-sans:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface:#0f1715;--surface-raised:#17221f;--surface-sunken:#0a110f;--line:#2a3935;--line-strong:#667c75;--ink:#e6eFec;--ink-muted:#9aada7;--teal:#2dd4bf;--teal-strong:#5eead4;--teal-soft:#0e3934;--on-teal:#062421;--sun:#fbbf24;--sun-soft:#3a2a08;--sky:#7cc8f5;--sky-soft:#0c2a3d;--danger:#f97066;--danger-soft:#3d1512;--link:var(--teal);--shadow-sm:0 1px 3px #00000099;--shadow-lg:0 16px 32px -4px #000000cc;--focus-ring:0 0 0 2px #0f1715,0 0 0 4px #2dd4bf;color-scheme:dark}}:root[data-theme=dark]{--surface:#0f1715;--surface-raised:#17221f;--surface-sunken:#0a110f;--line:#2a3935;--line-strong:#667c75;--ink:#e6eFec;--ink-muted:#9aada7;--teal:#2dd4bf;--teal-strong:#5eead4;--teal-soft:#0e3934;--on-teal:#062421;--sun:#fbbf24;--sun-soft:#3a2a08;--sky:#7cc8f5;--sky-soft:#0c2a3d;--danger:#f97066;--danger-soft:#3d1512;--link:var(--teal);--shadow-sm:0 1px 3px #00000099;--shadow-lg:0 16px 32px -4px #000000cc;--focus-ring:0 0 0 2px #0f1715,0 0 0 4px #2dd4bf;color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:24px;background:var(--surface);color:var(--ink)}h1,h2,h3{font-family:var(--font-display);margin:0;text-wrap:balance}h1{font-size:32px;line-height:38px;font-weight:800;letter-spacing:-.01em}h2{font-size:20px;line-height:28px;font-weight:700}p{margin:0}a{color:var(--link)}a:not(.fx-btn):hover{color:var(--teal-strong)}:focus-visible{outline:2px solid transparent;box-shadow:var(--focus-ring);border-radius:4px}img{max-width:100%}.muted{color:var(--ink-muted)}.small{font-size:14px;line-height:20px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.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}.stack{flex-direction:column;gap:var(--space-4)}.row,.stack{display:flex}.row{flex-wrap:wrap;gap:var(--space-3);align-items:center}.grid-2{display:grid;grid-gap:var(--space-6);gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);min-width:0}.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.empty{padding:var(--space-6);border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--ink-muted);text-align:center}.alert{background:var(--danger-soft);color:var(--danger);font-weight:500}.alert,.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.notice{background:var(--teal-soft);color:var(--ink)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.list-row{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.list-row:last-child{border-bottom:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}th{text-align:left;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--ink-muted);padding:var(--space-2) var(--space-3);background:var(--surface-sunken)}td{padding:var(--space-3);border-bottom:1px solid var(--line)}.shell{min-height:100vh;display:flex;flex-wrap:wrap}.shell-nav{flex:1 1 220px;max-width:100%;background:var(--surface-sunken);padding:var(--space-6) var(--space-4);gap:var(--space-6)}.shell-nav,.shell-nav nav{display:flex;flex-direction:column}.shell-nav nav{gap:var(--space-1)}.shell-nav nav a{display:block;padding:10px var(--space-3);border-radius:var(--radius-md);color:var(--ink);text-decoration:none;font-weight:500}.shell-nav nav a:hover{background:var(--surface-raised)}.shell-nav nav a[aria-current=page]{background:var(--teal-soft);color:var(--teal);font-weight:600}.shell-main{flex:999 1 560px;min-width:0;padding:var(--space-8) max(16px,env(safe-area-inset-right,0px)) var(--space-12) max(16px,env(safe-area-inset-left,0px))}.shell-main>.inner{max-width:1040px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6)}@media (max-width:760px){.shell-nav{flex-basis:100%;padding:var(--space-4);gap:var(--space-3)}.shell-nav nav{flex-direction:row;overflow-x:auto}.shell-nav nav a{white-space:nowrap}}.site-header,.site-section{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.site-header{justify-content:space-between;gap:var(--space-4);padding-block:20px}.site-header,.site-header nav{display:flex;flex-wrap:wrap;align-items:center}.site-header nav{gap:var(--space-6);font-weight:500}.site-header nav a:not(.fx-btn){color:var(--ink);text-decoration:none}.hero{display:flex;flex-wrap:wrap;gap:var(--space-12);align-items:center;padding-block:56px 80px}.hero-copy{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:20px}.hero h1{font-size:clamp(36px,6vw,56px);line-height:1.07;letter-spacing:-.02em;max-width:14ch}.lead{font-size:18px;line-height:28px;color:var(--ink-muted);max-width:52ch}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--teal)}.features{display:grid;grid-gap:var(--space-6);gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));padding-block:var(--space-12) var(--space-20)}.site-footer{border-top:1px solid var(--line);padding-block:var(--space-8);color:var(--ink-muted);font-size:14px}.auth{min-height:100vh;display:grid;place-items:center;padding:var(--space-8) max(16px,env(safe-area-inset-right,0px)) var(--space-8) max(16px,env(safe-area-inset-left,0px))}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-6)}.fx-logo{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink)}.fx-logo-mark{flex:none;display:block}.fx-logo-tile{fill:var(--teal)}.fx-logo-you{fill:var(--surface-raised)}.fx-logo-kick{fill:var(--teal-soft)}.fx-logo-word{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;line-height:1;white-space:nowrap}.fx-logo-product{font-weight:700;color:var(--ink-muted);margin-left:.28em;letter-spacing:-.01em}.fx-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:inherit;font-weight:600;font-size:15px;line-height:20px;min-height:44px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.fx-btn:focus-visible{outline:2px solid transparent;box-shadow:var(--focus-ring)}.fx-btn[disabled]{opacity:.5;cursor:not-allowed}.fx-btn-sm{min-height:36px;padding:var(--space-2) var(--space-3);font-size:14px}.fx-btn-primary{background:var(--teal);color:var(--on-teal)}.fx-btn-primary:hover:not([disabled]){background:var(--teal-strong)}.fx-btn-secondary{background:var(--surface-raised);color:var(--ink);border-color:var(--line-strong)}.fx-btn-secondary:hover:not([disabled]){background:var(--teal-soft)}.fx-btn-quiet{background:transparent;color:var(--teal)}.fx-btn-quiet:hover:not([disabled]){background:var(--teal-soft)}.fx-btn-danger{background:var(--surface-raised);color:var(--danger);border-color:var(--danger)}.fx-btn-danger:hover:not([disabled]){background:var(--danger-soft)}.fx-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:16px;font-weight:600;letter-spacing:.01em;padding:4px 10px;background:var(--surface-sunken);color:var(--ink-muted);white-space:nowrap}.fx-badge,.fx-badge:before{border-radius:var(--radius-full)}.fx-badge:before{content:"";width:6px;height:6px;background:currentColor}.fx-badge-teal{background:var(--teal-soft);color:var(--teal)}.fx-badge-sun{background:var(--sun-soft);color:var(--sun)}.fx-badge-sky{background:var(--sky-soft);color:var(--sky)}.fx-badge-danger{background:var(--danger-soft);color:var(--danger)}.fx-field{display:flex;flex-direction:column;gap:6px;min-width:0}.fx-field-label{font-size:13px;line-height:16px;font-weight:600;letter-spacing:.01em;color:var(--ink)}.fx-field-input{font:inherit;font-size:16px;line-height:24px;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px var(--space-3);min-height:44px;box-sizing:border-box;width:100%}textarea.fx-field-input{min-height:96px;resize:vertical}.fx-field-input::placeholder{color:var(--ink-muted)}.fx-field-input:focus{outline:2px solid transparent;border-color:var(--teal);box-shadow:var(--focus-ring)}.fx-field-hint{font-size:14px;line-height:20px;color:var(--ink-muted)}.fx-field-error .fx-field-input{border-color:var(--danger)}.fx-field-error .fx-field-hint{color:var(--danger)}.fx-msg{display:flex;flex-direction:column;gap:var(--space-1);max-width:78%}.fx-msg-meta{font-size:13px;line-height:16px;color:var(--ink-muted)}.fx-msg-meta b{font-weight:600;color:var(--ink)}.fx-msg-sidekick .fx-msg-meta b{color:var(--teal)}.fx-msg-body{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-raised);border:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere}.fx-msg-sidekick{align-self:flex-start}.fx-msg-sidekick .fx-msg-body{background:var(--teal-soft);border-color:transparent;border-bottom-left-radius:var(--space-1)}.fx-msg-you{align-self:flex-end;align-items:flex-end}.fx-msg-you .fx-msg-body{border-bottom-right-radius:var(--space-1)}.fx-thread{gap:var(--space-4);padding:var(--space-4);max-width:560px}.fx-quote,.fx-thread{display:flex;flex-direction:column}.fx-quote{gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow-sm);min-width:0}.fx-quote-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.fx-quote-ref{font-size:13px;line-height:16px;font-weight:600;letter-spacing:.01em;color:var(--ink-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fx-quote-job{margin:0;font-family:var(--font-display);font-size:20px;line-height:28px;font-weight:700;color:var(--ink)}.fx-quote-customer{margin:0;font-size:14px;line-height:20px;color:var(--ink-muted)}.fx-quote-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-3);border-top:1px solid var(--line)}.fx-quote-amount{font-size:28px;line-height:32px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.fx-quote-amount small{display:block;font-size:13px;line-height:16px;font-weight:500;color:var(--ink-muted)}.fx-note{display:grid;grid-template-columns:40px 1fr auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--line)}.fx-note-unread{background:var(--sun-soft);border-color:transparent}.fx-note-icon{width:40px;height:40px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--teal-soft);color:var(--teal)}.fx-note-icon svg{width:20px;height:20px}.fx-note-enquiry .fx-note-icon,.fx-note-unread .fx-note-icon{background:var(--surface-raised)}.fx-note-text{min-width:0}.fx-note-title{margin:0;font-weight:600;color:var(--ink)}.fx-note-body{margin:0;font-size:14px;line-height:20px;color:var(--ink-muted)}.fx-note-time{font-size:13px;line-height:16px;color:var(--ink-muted);white-space:nowrap;display:flex;align-items:center;gap:6px}.fx-note-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--sun)}.fx-appt{display:grid;grid-template-columns:64px 1fr;grid-gap:var(--space-4);gap:var(--space-4);align-items:stretch}.fx-appt-time{font-size:14px;line-height:20px;font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-top:var(--space-3)}.fx-appt-time small{display:block;font-weight:400;color:var(--ink-muted)}.fx-appt-block{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--sky-soft);color:var(--ink);min-width:0}.fx-appt-block-tentative{background:var(--surface-raised);border:1px dashed var(--line-strong)}.fx-appt-title{margin:0;font-weight:600}.fx-appt-sub{margin:0;font-size:14px;line-height:20px;color:var(--ink-muted)}.fx-appt-head{display:flex;justify-content:space-between;gap:var(--space-2);align-items:center;flex-wrap:wrap}