:root{--ink:#17281f;--paper:#f7f8f4;--card:#fff;--green:#0e6b4f;--green-soft:#e3efe9;--wattle:#e8a70e;--wattle-soft:#fdf3dc;--line:#dfe5df;--muted:#5f6f66;--danger:#b3432b;--radius:14px;--font-display:"Be Vietnam Pro",system-ui,sans-serif;--font-body:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",monospace}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.6}a{color:var(--green)}.wrap{max-width:1020px;margin:0 auto;padding:0 1rem}.site-header{border-bottom:1px solid var(--line);background:var(--card)}.site-header .wrap{justify-content:space-between;padding-top:.9rem;padding-bottom:.9rem;gap:1rem}.brand,.site-header .wrap{display:flex;align-items:center}.brand{gap:.55rem;text-decoration:none;color:var(--ink)}.brand strong{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em}.brand strong em{font-style:normal;color:var(--green)}.lang-link{font-family:var(--font-display);font-size:.78rem;font-weight:600;border:1.5px solid var(--ink);border-radius:99px;padding:.35rem .85rem;text-decoration:none;color:var(--ink);white-space:nowrap}.lang-link:hover{background:var(--ink);color:var(--paper)}.site-footer{border-top:1px solid var(--line);margin-top:4rem;padding:2rem 0;font-size:.82rem;color:var(--muted)}.site-footer .wrap{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}.site-footer nav{display:flex;gap:1.1rem;flex-wrap:wrap}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--green)}.hero{padding:2.2rem 0 1.8rem}.fy-chip{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.08em;background:var(--green-soft);color:var(--green);padding:.3rem .7rem;border-radius:6px;margin-bottom:.9rem;text-transform:uppercase}.fy-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}h1{font-family:var(--font-display);font-weight:700;font-size:clamp(1.7rem,4.5vw,2.4rem);letter-spacing:-.02em;line-height:1.15;max-width:38rem}.hero p{color:var(--muted);margin-top:.7rem;max-width:36rem}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.4rem;gap:1.4rem;align-items:start}@media(max-width:760px){.grid{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.card h2{font-family:var(--font-display);font-size:1rem;font-weight:600}.card h2,.field{margin-bottom:1.1rem}.field:last-child{margin-bottom:0}label{display:block;font-size:.84rem;font-weight:600;margin-bottom:.35rem}.hint{font-size:.76rem;color:var(--muted);font-weight:400;margin-top:.3rem}.money-input{position:relative}.money-input span{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);font-family:var(--font-mono);color:var(--muted);font-size:.95rem}input[type=text]{width:100%;padding:.75rem .9rem .75rem 2.1rem;font-family:var(--font-mono);font-size:1.05rem;font-weight:500;border:1.5px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}input[type=text]:focus{outline:none;border-color:var(--green);background:#fff}select{width:100%;padding:.7rem .9rem;font-family:var(--font-body);font-size:.92rem;border:1.5px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);cursor:pointer}select:focus{outline:none;border-color:var(--green)}.check{display:flex;align-items:flex-start;gap:.6rem;padding:.8rem .9rem;border:1.5px solid var(--line);border-radius:9px;cursor:pointer;transition:border-color .15s}.check:hover{border-color:var(--green)}.check input{margin-top:.22rem;width:16px;height:16px;accent-color:var(--green);cursor:pointer;flex-shrink:0}.check .t{font-size:.86rem;font-weight:600}.check .s{font-size:.76rem;color:var(--muted);font-weight:400}.payslip{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:-webkit-sticky;position:sticky;top:1rem}.payslip-head{background:var(--ink);color:var(--paper);padding:1.2rem 1.5rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.payslip-head .lbl{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;opacity:.75;font-weight:600}.payslip-head .fy{font-family:var(--font-mono);font-size:.72rem;color:var(--wattle);font-weight:600}.takehome{padding:1.3rem 1.5rem 1rem;border-bottom:1px dashed var(--line)}.takehome .lbl{font-size:.78rem;font-weight:600;color:var(--muted)}.takehome .big{font-family:var(--font-mono);font-weight:600;font-size:clamp(1.9rem,5vw,2.5rem);letter-spacing:-.02em;color:var(--green);margin:.15rem 0 .2rem}.takehome .per{font-size:.8rem;color:var(--muted)}.freq-row{display:flex;gap:.4rem;padding:1rem 1.5rem 1.1rem;border-bottom:1px dashed var(--line);flex-wrap:wrap}.freq-row button{font-family:var(--font-display);font-size:.74rem;font-weight:600;padding:.35rem .75rem;border-radius:99px;border:1.5px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.freq-row button.active{border-color:var(--green);background:var(--green-soft);color:var(--green)}.freq-row button:focus-visible{outline:2px solid var(--wattle)}.lines{padding:1.1rem 1.5rem;border-bottom:1px dashed var(--line)}.line{display:flex;justify-content:space-between;gap:1rem;padding:.32rem 0;font-size:.9rem}.line .k{color:var(--muted)}.line .v{font-family:var(--font-mono);font-weight:500;white-space:nowrap}.line.minus .v{color:var(--danger)}.line.plus .v{color:var(--green)}.line.gross .k,.line.gross .v{font-weight:600;color:var(--ink)}.line.total{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.7rem}.line.total .k,.line.total .v{font-weight:600;color:var(--green)}.rate-strip{display:flex;padding:1rem 1.5rem;gap:1.5rem}.rate-strip div{flex:1 1}.rate-strip .n{font-family:var(--font-mono);font-weight:600;font-size:1.05rem}.rate-strip .l{font-size:.72rem;color:var(--muted)}.content{max-width:44rem;margin:3rem auto 0}.content h2{font-size:1.35rem;font-weight:700;letter-spacing:-.01em;margin:2.2rem 0 .8rem}.content h2,.content h3{font-family:var(--font-display)}.content h3{font-size:1.05rem;font-weight:600;margin:1.6rem 0 .6rem}.content p{margin:.7rem 0;color:#2c3a33}.content ol,.content ul{margin:.7rem 0 .7rem 1.3rem;color:#2c3a33}.content li{margin:.3rem 0}.content table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem;background:var(--card);border-radius:10px;overflow:hidden}.content th{background:var(--ink);color:var(--paper);text-align:left;padding:.6rem .8rem;font-family:var(--font-display);font-size:.78rem;font-weight:600}.content td{padding:.55rem .8rem;border-bottom:1px solid var(--line)}.content td:last-child,.content th:last-child{font-family:var(--font-mono)}.example{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:0 10px 10px 0;padding:1rem 1.2rem;margin:1rem 0;font-size:.9rem}.example strong{font-family:var(--font-display)}.faq-item{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;margin:.7rem 0}.faq-item h3{margin:0 0 .4rem;font-size:.95rem}.faq-item p{margin:0;font-size:.9rem}.disclaimer{margin-top:2.5rem;font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1rem;gap:1rem;margin-top:1.5rem}.tool-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;text-decoration:none;color:var(--ink);display:block;transition:border-color .15s,transform .15s}.tool-card:hover{border-color:var(--green);transform:translateY(-2px)}.tool-card h3{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:.4rem}.tool-card p{font-size:.83rem;color:var(--muted)}.tool-card .soon{background:var(--wattle-soft);color:#8a6508}.tool-card .live,.tool-card .soon{display:inline-block;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:5px;margin-bottom:.5rem}.tool-card .live{background:var(--green-soft);color:var(--green)}.tool-card.disabled{opacity:.65;pointer-events:none}.legal{max-width:44rem;margin:2rem auto}.legal h1{margin-bottom:1rem}.legal h2{font-family:var(--font-display);font-size:1.1rem;margin:1.6rem 0 .5rem}.legal li,.legal p{color:#2c3a33;font-size:.93rem}.legal ul{margin:.6rem 0 .6rem 1.3rem}.adv{border:1.5px solid var(--line);border-radius:9px;padding:.2rem .9rem;margin-top:.2rem}.adv[open]{padding-bottom:.9rem}.adv summary{font-family:var(--font-display);font-size:.82rem;font-weight:600;color:var(--green);cursor:pointer;padding:.55rem 0;list-style-position:inside}.adv summary:hover{color:var(--ink)}.adv .field{margin-top:.9rem}.tools-h{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:2.6rem 0 0}.tools-sub{font-size:.86rem;color:var(--muted);margin-top:.25rem}.photo-pick{display:flex;align-items:center;justify-content:center;border:2px dashed var(--green);border-radius:10px;padding:1.1rem;cursor:pointer;background:var(--green-soft);transition:background .15s}.photo-pick:hover{background:#d5e8df}.photo-pick span{font-size:.9rem;color:var(--green)}.btn-primary,.btn-secondary,.photo-pick span{font-family:var(--font-display);font-weight:600}.btn-primary,.btn-secondary{font-size:.86rem;padding:.7rem 1rem;border-radius:9px;cursor:pointer;width:100%}.btn-primary{background:var(--green);color:#fff;border:1.5px solid var(--green)}.btn-primary:hover{background:#0a5a42}.btn-secondary{background:transparent;color:var(--green);border:1.5px solid var(--green)}.btn-secondary:hover{background:var(--green-soft)}.pm-item{display:flex;align-items:center;gap:.5rem;border:1.5px solid var(--line);border-radius:9px;padding:.5rem .7rem;font-size:.84rem}.pm-n{font-family:var(--font-mono);color:var(--muted);flex-shrink:0}.pm-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.pm-name em{font-style:normal;font-weight:400;color:var(--muted);font-size:.78rem}.pm-btns{display:flex;gap:.3rem;flex-shrink:0}.pm-btns button{width:28px;height:28px;border:1.5px solid var(--line);border-radius:7px;background:transparent;cursor:pointer;color:var(--ink);font-size:.85rem;line-height:1}.pm-btns button:hover:not(:disabled){border-color:var(--green);color:var(--green)}.pm-btns button:disabled{opacity:.35;cursor:default}.pm-btns .pm-x:hover{border-color:var(--danger);color:var(--danger)}.cv-in{width:100%;padding:.6rem .8rem;font-family:var(--font-body);font-size:.9rem;border:1.5px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.cv-in:focus{outline:none;border-color:var(--green);background:#fff}textarea.cv-in{resize:vertical}.cv-block{border:1.5px solid var(--line);border-radius:10px;padding:.9rem .9rem .3rem;margin-bottom:.7rem}.cv-rm{background:none;border:none;color:var(--danger);font-size:.78rem;cursor:pointer;padding:.2rem 0;font-family:var(--font-display);font-weight:600}.cv-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;align-self:start}.cv-sheet{background:#fff;padding:1.4cm 1.5cm;color:#111;min-height:200px}.cv-name,.cv-sheet{font-family:Arial,Helvetica,sans-serif}.cv-name{font-size:22pt;font-weight:700;margin:0;letter-spacing:0}.cv-title{font-size:11pt;color:#333;margin-top:2pt}.cv-contact{font-size:9.5pt;color:#444;margin-top:4pt}.cv-h{font-size:11pt;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#111;border-bottom:1.5px solid #222;padding-bottom:2pt;margin:14pt 0 6pt;font-family:Arial,Helvetica,sans-serif}.cv-p{font-size:10pt;line-height:1.45;margin:0;color:#222}.cv-job{margin-bottom:8pt}.cv-job-head{display:flex;justify-content:space-between;gap:12pt;font-size:10.5pt}.cv-job-head span:last-child{color:#555;white-space:nowrap;font-size:9.5pt}.cv-company{font-size:10pt;color:#444;margin:1pt 0 3pt}.cv-ul{margin:2pt 0 0 14pt;padding:0}.cv-ul li{font-size:10pt;line-height:1.4;color:#222;margin:1.5pt 0}@media(max-width:760px){.cv-grid{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.cv-sheet,.cv-sheet *{visibility:visible}.cv-sheet{position:absolute;left:0;top:0;width:100%;padding:0;min-height:auto}@page{size:A4;margin:1.4cm 1.5cm}.no-print,.no-print *{display:none!important}}