:root{--ink:#2b2a29;--ink2:#4e4d4a;--muted:#77756f;--paper:#f7f6f2;--paper2:#eceae4;--line:#d9d7d0;--blue:#25a9e0;--blue-soft:#e8f7fd;--danger:#a61b1b;--white:#fff;--dark:#282725}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Open Sans","Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}.wrap{max-width:1240px;margin:0 auto;padding:0 24px}a{color:inherit}.topbar{background:rgba(255,255,255,.98);border-bottom:1px solid rgba(0,0,0,.07);position:sticky;top:0;z-index:30}.topbar-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}.topbar nav,.site-footer nav{display:flex;gap:22px;align-items:center}.topbar a,.site-footer a{text-decoration:none;font-size:.84rem}.brand{display:flex;align-items:baseline;gap:11px}.brand strong{font-size:1.55rem;letter-spacing:-.04em}.brand span{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.hero-app{background:radial-gradient(circle at 82% 18%,rgba(37,169,224,.16),transparent 28%),linear-gradient(135deg,#f7f6f2 0%,#fff 58%);min-height:500px;display:grid;grid-template-columns:minmax(0,2fr) minmax(330px,1fr)}.hero-copy{padding:72px max(24px,calc((100vw - 1240px)/2 + 12px));padding-right:6vw;display:flex;justify-content:center;flex-direction:column}.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#6b6964}.hero-copy h1{font-size:clamp(3rem,6vw,6rem);line-height:.94;letter-spacing:-.055em;font-weight:300;margin:18px 0}.hero-copy h1 strong{font-weight:800}.hero-copy p{font-size:1.05rem;color:#56544f;line-height:1.75;max-width:760px}.hero-panel{background:var(--dark);color:#fff;padding:52px 44px;display:flex;align-items:flex-end;position:relative;overflow:hidden}.hero-panel:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(127,215,251,.25);border-radius:50%;right:-210px;top:-100px}.hero-panel>div{position:relative;z-index:1}.hero-panel small{color:#7fd7fb;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.hero-panel h2{font-size:2.6rem;line-height:1.03;letter-spacing:-.04em;margin:14px 0}.hero-panel p{color:#d8d6d1}.page{padding:64px 0 84px;background:#fff}.form-section{border:1px solid var(--line);border-left:4px solid var(--blue);padding:34px 36px;margin:0 0 28px;background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--line)}.section-heading>div{display:flex;align-items:flex-start;gap:18px}.section-number{width:38px;height:38px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:.72rem;font-weight:800}.section-heading h2,.subsection-heading h3,.events-header h3{margin:0;font-size:1.35rem}.section-heading p,.subsection-heading p,.events-header p{margin:6px 0 0;color:var(--muted);font-size:.82rem}.subsection-heading,.events-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.col-12{grid-column:span 12}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-8{grid-column:span 8}label{display:block;font-size:.74rem;font-weight:700;letter-spacing:.02em;margin-bottom:7px}input,select,textarea{width:100%;height:46px;padding:11px 12px;border:1px solid #bdb9b1;border-radius:0;background:#fff;color:var(--ink);font:inherit}input:focus,select:focus{outline:2px solid rgba(37,169,224,.22);border-color:var(--blue)}.check-label{display:flex;align-items:center;gap:8px;height:46px;margin-top:21px}.check-label input{width:auto;height:auto}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--ink);padding:.75rem 1.05rem;border-radius:0;background:#fff;color:var(--ink);font:inherit;font-size:.82rem;font-weight:750;cursor:pointer;text-decoration:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-dark{background:var(--ink);color:#fff}.btn-outline{background:#fff}.btn-quiet{border-color:var(--line)}.btn-danger-outline{color:var(--danger);border-color:#d8aaa5;background:#fff}.form-actions{display:flex;justify-content:space-between;gap:16px;margin:30px 0}.form-actions-group{display:flex;gap:10px;flex-wrap:wrap}.alert{padding:16px 18px;margin:0 0 18px;border-left:4px solid var(--blue);background:var(--blue-soft)}.alert-error{border-color:var(--danger);background:#fff0f0}.events{margin-top:15px}.event-row{display:grid;grid-template-columns:minmax(270px,2fr) minmax(130px,.7fr) minmax(160px,.8fr) minmax(130px,.6fr) 44px;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid #ebe9e4}.event-field[hidden]{display:none!important}.event-remove{grid-column:-2/-1;width:46px;justify-self:end;height:46px;border:1px solid #d8aaa5;background:#fff;color:var(--danger);font-size:1.3rem;cursor:pointer}.cbo-field{position:relative}.cbo-results{position:absolute;z-index:50;left:0;right:0;top:74px;background:#fff;border:1px solid var(--line);max-height:280px;overflow:auto;box-shadow:0 12px 28px rgba(0,0,0,.12)}.cbo-option{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #eee;background:#fff;padding:10px 12px;cursor:pointer;font:inherit;font-size:.8rem}.cbo-option:hover,.cbo-option:focus{background:var(--blue-soft)}.cbo-option b{display:block;font-size:.72rem;color:var(--blue);margin-bottom:2px}.cbo-empty{padding:12px;color:var(--muted);font-size:.8rem}.cbo-source-note{font-size:.75rem;color:var(--muted);margin-top:12px}.site-footer{background:var(--dark);color:#fff;padding:28px 0}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.78rem;color:#d0cec8}

/* relatório / holerite */
.report-toolbar{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.toolbar-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.toolbar-actions{display:flex;align-items:center;gap:8px}.toolbar-actions form{margin:0}.report-document{background:#e9e8e4;padding:28px 16px 54px}.payslip-sheet{width:210mm;min-height:297mm;margin:0 auto 28px;background:#fff;padding:14mm 14mm 12mm;box-shadow:0 7px 26px rgba(0,0,0,.10);display:flex;flex-direction:column;position:relative;overflow:hidden}.payslip-accent{position:absolute;left:0;top:0;bottom:0;width:3mm;background:var(--blue)}.payslip-header{display:grid;grid-template-columns:1fr 58mm;gap:12mm;padding-bottom:7mm;border-bottom:1px solid var(--line)}.document-kicker{font-size:6.8pt;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted)}.company-block h1{font-size:15pt;margin:2.2mm 0 1mm;line-height:1.08;letter-spacing:-.025em}.company-trade{font-size:8pt;color:var(--muted)}.company-meta{font-size:7.8pt;margin-top:2mm}.document-title-block{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.document-title-block>span{font-size:7pt;letter-spacing:.25em;color:var(--blue);font-weight:800;text-transform:uppercase}.document-title-block>strong{font-size:13pt;line-height:1.04;margin:2mm 0 3mm;max-width:54mm}.document-title-block>small{font-size:6.7pt;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.document-title-block>b{font-size:11.5pt;margin-top:1mm}.employee-identification{display:grid;grid-template-columns:2fr 1.15fr 1fr 1.45fr .75fr;gap:4mm;padding:6mm 0 4mm}.employee-identification div{min-width:0}.employee-identification span,.employee-secondary span,.work-location span,.base-metrics span,.net-total span,.signature-row small{display:block;font-size:6.4pt;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.employee-identification strong{display:block;font-size:8.2pt;margin-top:1.1mm;line-height:1.25;word-break:break-word}.employee-name strong{font-size:10pt}.work-location{padding:3mm 0 3.5mm;border-top:1px solid #eeece7}.work-location strong{display:block;font-size:7.8pt;margin-top:1mm;font-weight:600}.employee-secondary{display:flex;gap:8mm;padding:3mm 0 4mm;border-top:1px solid #eeece7}.employee-secondary div{min-width:22mm}.employee-secondary strong{display:block;font-size:7.6pt;margin-top:1mm}.payslip-content{flex:1;display:flex;flex-direction:column}.payroll-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:1mm}.payroll-table .col-code{width:13%}.payroll-table .col-description{width:36%}.payroll-table .col-reference{width:16%}.payroll-table .col-money{width:17.5%}.payroll-table th{font-size:6.4pt;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);text-align:left;padding:2.4mm 2mm;border-bottom:1.2px solid var(--ink)}.payroll-table td{font-size:7.5pt;padding:2.2mm 2mm;border-bottom:1px solid #eceae4;vertical-align:top}.payroll-table .money-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.payroll-table .reference-cell{text-align:center}.payroll-table .code-cell{font-weight:700;color:var(--ink2)}.payroll-table tfoot th{border-top:1.5px solid var(--ink);border-bottom:0;padding-top:3mm;padding-bottom:2mm;color:var(--ink);text-transform:none;letter-spacing:0}.payroll-table tfoot th.money-cell span{display:block;font-size:6.2pt;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1mm}.payroll-table tfoot th.money-cell strong{display:block;font-size:9pt}.payroll-summary{margin-top:6mm;border-top:1px solid var(--line);padding-top:5mm;display:grid;grid-template-columns:1fr 47mm;gap:8mm;align-items:end}.base-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:3mm}.base-metrics>div{min-width:0}.base-metrics strong{display:block;font-size:8.2pt;margin-top:1.2mm;white-space:nowrap}.net-total{text-align:right}.net-total strong{display:block;font-size:16pt;letter-spacing:-.035em;margin-top:1.4mm}.calculation-warning{margin-top:5mm;padding:3mm 4mm;background:#fff8e5;border-left:3px solid #d29400;font-size:7pt}.payslip-footer{margin-top:auto;padding-top:8mm}.signature-row{display:grid;grid-template-columns:1fr 45mm;gap:12mm;align-items:start}.signature-line{display:block;border-bottom:1px solid var(--ink);height:12mm}.signature-person>strong{display:block;font-size:8pt;margin-top:2mm}.signature-person>em{display:block;font-size:6.8pt;color:var(--muted);font-style:normal;margin-top:.5mm}.date-sign{text-align:center}.date-sign small{margin-top:2mm}.brand-footer{margin-top:7mm;padding-top:3mm;border-top:1px solid #eceae4;display:flex;align-items:center;justify-content:center;gap:1.5mm;color:var(--muted);font-size:5.7pt;text-align:center;line-height:1.35;flex-wrap:wrap}.brand-footer a{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink2)}.brand-footer img{width:13mm;height:auto;display:block}.payslip-dense{padding-top:11mm;padding-bottom:9mm}.payslip-dense .payroll-table td{padding-top:1.6mm;padding-bottom:1.6mm;font-size:7pt}.payslip-dense .employee-identification{padding-top:4mm;padding-bottom:3mm}.payslip-ultra-dense{padding-top:9mm;padding-bottom:8mm}.payslip-ultra-dense .payroll-table td{padding:1.15mm 1.6mm;font-size:6.6pt}.payslip-ultra-dense .payroll-summary{margin-top:3mm;padding-top:3mm}.payslip-ultra-dense .payslip-footer{padding-top:4mm}.pdf-body{margin:0;background:#fff}

/* páginas legais */
.legal-main{background:#fff}.legal-hero{background:radial-gradient(circle at 80% 20%,rgba(37,169,224,.14),transparent 28%),linear-gradient(135deg,#f7f6f2 0%,#fff 70%);padding:72px 0 58px;border-bottom:1px solid var(--line)}.legal-hero .eyebrow{margin-bottom:14px}.legal-hero h1{font-size:clamp(2.7rem,5vw,5rem);font-weight:300;letter-spacing:-.045em;line-height:1.02;margin:0}.legal-hero h1 strong{font-weight:800}.legal-hero p{max-width:820px;color:var(--muted);font-size:1rem;line-height:1.7;margin-top:20px}.legal-content{padding:42px 0 72px}.legal-section{display:grid;grid-template-columns:72px 1fr;gap:30px;padding:32px 0;border-bottom:1px solid var(--line)}.legal-index{font-size:.72rem;color:var(--blue);font-weight:800}.legal-section h2{margin:0 0 14px;font-size:1.25rem}.legal-section p,.legal-section li{font-size:.91rem;line-height:1.75;color:var(--ink2)}.legal-section ul{padding-left:20px}.legal-note{background:var(--paper);border-left:4px solid var(--blue);padding:24px;margin-top:36px}.legal-note strong{display:block;margin-bottom:8px}.legal-back{margin-top:36px}

@page{size:A4 portrait;margin:0}
@media print{html,body{margin:0!important;padding:0!important;background:#fff!important}.no-print,.topbar,.site-footer,.report-toolbar{display:none!important}.report-document{padding:0!important;background:#fff!important}.payslip-sheet{width:210mm!important;height:297mm!important;min-height:297mm!important;margin:0!important;box-shadow:none!important;page-break-after:always!important;break-after:page!important}.payslip-sheet:last-child{page-break-after:auto!important;break-after:auto!important}}
@media(max-width:900px){.topbar-inner{flex-wrap:wrap}.topbar nav,.site-footer nav{flex-wrap:wrap}.site-footer-inner{flex-wrap:wrap;align-items:flex-start}.site-footer-inner>div{flex:1 1 100%}.site-footer nav{flex:1 1 100%;gap:14px 20px}.form-actions-group{width:100%}.hero-app{grid-template-columns:1fr}.hero-panel{min-height:300px}.grid{gap:12px}.col-12,.col-8,.col-6,.col-5,.col-4,.col-3,.col-2{grid-column:span 12}.event-row{grid-template-columns:1fr 1fr}.event-field-name{grid-column:span 2}.payslip-sheet{width:min(210mm,100%);min-height:auto;padding:7vw}.toolbar-inner{align-items:flex-start;padding:12px 0;flex-direction:column}.employee-identification{grid-template-columns:1fr 1fr}.payroll-summary{grid-template-columns:1fr}.net-total{text-align:left}.base-metrics{grid-template-columns:repeat(2,1fr)}.legal-section{grid-template-columns:1fr;gap:8px}}
@media(max-width:560px){.wrap{padding:0 18px}.site-footer{padding:22px 0}.site-footer-inner{gap:16px}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px 18px}.site-footer a{font-size:.8rem;line-height:1.4}.legal-hero{padding:48px 0 38px}.legal-content{padding:28px 0 52px}.legal-section{padding:24px 0}.hero-copy{padding:60px 22px}.page{padding:42px 0}.form-section{padding:24px 20px}.section-heading,.subsection-heading,.events-header{flex-direction:column;align-items:flex-start}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.event-row{grid-template-columns:1fr}.event-field-name{grid-column:span 1}.site-footer-inner{flex-direction:column;align-items:flex-start}.report-document{padding:0}.payslip-sheet{padding:24px 18px;overflow-x:auto}.topbar nav{display:none}}

/* v1.0.4 - jornada e DSR */
.dsr-panel{margin-top:4px;padding:22px;background:var(--paper);border:1px solid var(--line)}.dsr-grid{margin-top:0;align-items:start}.dsr-grid>div{min-width:0}.dsr-custom-fields{grid-column:span 12;padding-top:4px}.dsr-custom-fields[hidden]{display:none!important}.field-hint{font-size:.72rem;line-height:1.4;color:var(--muted);margin-top:6px}.field-hint-block{margin-top:0;padding:10px 12px;background:#fff;border-left:3px solid var(--blue)}.dsr-note{margin-top:12px;padding:14px 16px;background:#f7f6f2;border-left:3px solid var(--blue);font-size:.78rem;line-height:1.55;color:var(--ink2)}@media(max-width:900px){.dsr-panel{padding:16px}.dsr-grid .col-4,.dsr-grid .col-6{grid-column:span 12}}
