@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--ink:#142a38;--muted:#71808b;--line:#e4e9ec;--canvas:#f4f7f7;--accent:#e6653c;--green:#16886b}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:'DM Sans',sans-serif}header{height:76px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center}.mark{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;background:var(--accent);color:#fff;font:700 22px 'Space Grotesk'}.brand strong{font:700 18px 'Space Grotesk';letter-spacing:.08em;display:block}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.08em}header button,.back{border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 11px;color:var(--ink);cursor:pointer;font:600 12px inherit}main{max-width:1180px;margin:auto;padding:44px 24px 70px}.title{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.eyebrow,.metric small,.times small{font-size:10px;font-weight:bold;letter-spacing:.11em;color:var(--muted);margin:0}.eyebrow{color:var(--accent)}h1,h2{font-family:'Space Grotesk';margin:7px 0}h1{font-size:32px}.title p:not(.eyebrow),.panel-head p{color:var(--muted);margin:0;font-size:14px}.title>button,.login form button{border:0;background:var(--ink);color:#fff;padding:12px 18px;border-radius:8px;font:600 13px inherit;cursor:pointer}.back{margin-bottom:12px;padding:0;border:0;background:transparent;color:var(--muted)}.login{max-width:420px;margin:48px auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px}.login h1{font-size:27px}.login>p:not(.eyebrow){color:var(--muted);line-height:1.5}.login form{display:grid;gap:15px;margin:25px 0}.login label,.filters label{font-size:12px;font-weight:600;display:grid;gap:6px}.login input,.filters input{border:1px solid #cfd8db;border-radius:7px;padding:11px;font:14px inherit}.login>small,.error{font-size:11px}.login>small{color:var(--muted)}.error{color:#bb3d27;margin:0}.company-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.company{border:1px solid var(--line);background:#fff;border-radius:12px;text-align:left;padding:22px;cursor:pointer;display:grid;grid-template-columns:42px 1fr;gap:12px;transition:.15s}.company:hover{border-color:var(--accent);transform:translateY(-2px)}.building{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#fff0ea;color:var(--accent);font-size:24px}.company b,.company small{display:block}.company b{font:600 16px 'Space Grotesk'}.company small,.company em{color:var(--muted);font-size:12px;margin-top:4px}.company em,.company i{grid-column:1/-1;font-style:normal}.company em{padding-top:12px;border-top:1px solid var(--line)}.company i{color:var(--accent);font-size:12px;font-weight:bold}.filters{display:flex;gap:15px;margin-bottom:20px}.search{flex:1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.metric,.panel,.employee{background:#fff;border:1px solid var(--line);border-radius:11px}.metric{padding:20px}.metric b{font:600 27px 'Space Grotesk';display:block;margin:10px 0 3px}.metric em{font:400 15px 'DM Sans';color:var(--muted);font-style:normal}.metric span{font-size:12px;color:var(--muted)}.warn b{color:#c65330}.panel{overflow:hidden}.panel-head{padding:21px 23px;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line)}h2{font-size:18px}.live{font-size:12px;color:var(--green);background:#edf8f3;border-radius:20px;padding:7px 10px}.employees{padding:13px;display:grid;gap:10px}.employee{padding:15px 17px}.employee-top{display:flex;align-items:center;gap:10px}.initials{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e9f1f3;color:#286078;font-weight:700;font-size:12px}.identity{flex:1}.identity strong,.identity small{display:block}.identity strong{font-size:14px}.identity small{color:var(--muted);font-size:12px;margin-top:2px}.status{font-size:11px;font-weight:600;padding:6px 9px;border-radius:20px}.done{background:#ebf8f3;color:var(--green)}.working{background:#fff3df;color:#a95d00}.muted{background:#f0f2f3;color:var(--muted)}.times{display:grid;grid-template-columns:repeat(3,1fr);margin:17px 0 5px;padding-top:14px;border-top:1px solid var(--line)}.times b{font-size:14px;margin-top:4px;display:block}details{font-size:12px;color:var(--muted)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding-top:8px}summary::-webkit-details-marker{display:none}.punches{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px}.punches span{background:#f4f7f7;border-radius:5px;padding:5px 7px}.punches i{font-style:normal;color:var(--green);font-weight:bold;margin-left:3px}@media(max-width:760px){.company-grid,.cards{grid-template-columns:1fr}.login{margin:20px auto;padding:24px}}@media(max-width:650px){header{height:64px;padding:0 16px}main{padding:28px 16px}.title{align-items:start;gap:18px}.title h1{font-size:26px}.filters{display:block}.filters label{margin-bottom:10px}.times{grid-template-columns:1fr 1fr;gap:14px}.times div:last-child{grid-column:span 2}}
 .actions{display:flex;gap:9px}.actions .secondary,.pay{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 13px;font:600 12px inherit;cursor:pointer}.pay{padding:5px 7px;font-size:11px}.print-report{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px}.report-head{display:flex;justify-content:space-between;align-items:start;margin:10px 0 25px}.report-head button{background:var(--ink);border:0;color:#fff;padding:11px 16px;border-radius:8px;cursor:pointer}.print-report table{width:100%;border-collapse:collapse;font-size:13px}.print-report th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:.08em}.print-report th,.print-report td{padding:13px 9px;border-bottom:1px solid var(--line);vertical-align:top}.print-report td small{display:block;color:var(--muted);margin-top:3px}.print-report tfoot{font-weight:bold;background:#f7f9f9}.punches .pay{align-self:center}@media print{header,.back,.report-head button{display:none!important}body{background:#fff}main{max-width:none;padding:0}.print-report{border:0;padding:0}.print-report table{font-size:11px}}
.report-controls{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px;margin-bottom:22px}.report-controls>div{margin-right:auto}.report-controls strong{font:600 14px 'Space Grotesk'}.report-controls label,.employee-form label,.report-select label{display:grid;gap:5px;font-size:11px;font-weight:bold;color:var(--muted)}.report-controls input,.report-select select,.employee-form input,.employee-form select{border:1px solid #cfd8db;border-radius:7px;padding:9px;font:14px inherit;color:var(--ink);background:#fff}.report-controls button,.employee-form form>button{border:0;background:var(--ink);color:#fff;border-radius:8px;padding:11px 16px;font:600 13px inherit;cursor:pointer}.employee-form{max-width:720px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:23px}.employee-form form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.employee-form form>button,.employee-form .error{grid-column:1/-1}.employee-form .check{display:flex;align-items:center;gap:8px}.employee-list{padding:10px}.employee-list article{display:grid;grid-template-columns:1fr 130px auto;align-items:center;gap:15px;padding:14px;border-bottom:1px solid var(--line)}.employee-list b,.employee-list small{display:block}.employee-list small{color:var(--muted);font-size:12px;margin-top:4px}.report-select{margin:0 0 18px}@media(max-width:760px){.report-controls{display:grid;grid-template-columns:1fr 1fr}.report-controls>div{grid-column:1/-1}.report-controls button{grid-column:1/-1}.employee-form form{grid-template-columns:1fr}.employee-list article{grid-template-columns:1fr}.actions{flex-wrap:wrap}}
.importer{padding:24px}.file-drop{display:grid;gap:8px;max-width:560px;border:2px dashed #b8c8cd;border-radius:11px;padding:22px;color:var(--ink);font-weight:600;cursor:pointer}.file-drop input{font:13px inherit}.file-drop span{color:var(--accent);font-size:13px}.file-drop small{color:var(--muted);font-weight:400}.import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0 15px}.import-summary article{background:#f4f7f7;border-radius:9px;padding:15px}.import-summary small{display:block;color:var(--muted);font-size:10px;font-weight:bold;letter-spacing:.08em}.import-summary b{display:block;font:600 25px 'Space Grotesk';margin-top:6px}.import-help{font-size:13px;color:var(--muted);line-height:1.5}.import-check{display:flex;gap:8px;align-items:center;margin:15px 0;font-size:13px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}.table-wrap table{border-collapse:collapse;width:100%;font-size:12px}.table-wrap th,.table-wrap td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table-wrap th{font-size:10px;letter-spacing:.07em;color:var(--muted)}.unmatched{color:#a85c00;background:#fff3dd;border-radius:12px;padding:4px 7px;font-size:11px}.primary-import,.import-result button{margin-top:16px;border:0;background:var(--ink);color:#fff;border-radius:8px;padding:12px 17px;font:600 13px inherit;cursor:pointer}.import-result{padding:30px 8px}.import-result h2{font-size:24px}.import-result p:not(.eyebrow){color:var(--muted)}@media(max-width:600px){.import-summary{grid-template-columns:1fr}.importer{padding:16px}}
.time-card{max-width:900px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px}.time-card-top{display:flex;align-items:start;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:18px}.time-card-top h1{font-size:25px;margin:6px 0}.time-card-top p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px}.print-action{background:var(--ink);border:0;border-radius:7px;color:#fff;padding:11px 16px;font:600 13px inherit;cursor:pointer}.time-card-select{margin:20px 0}.time-card-select label{display:grid;gap:6px;max-width:380px;font-size:11px;font-weight:bold;color:var(--muted)}.time-card-select select{border:1px solid #cfd8db;border-radius:7px;padding:10px;background:#fff;font:14px inherit;color:var(--ink)}.time-card-person{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;background:#f4f7f7;padding:15px;border-radius:8px;margin-bottom:18px}.time-card-person small,.time-card-totals small{display:block;color:var(--muted);font-size:10px;font-weight:bold;letter-spacing:.08em}.time-card-person b{font-size:13px;display:block;margin-top:5px}.time-card-table table{font-size:13px}.time-card-table th{background:#eef2f3;color:var(--ink)}.time-card-totals{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-top:0}.time-card-totals>div{padding:15px;border-right:1px solid var(--line)}.time-card-totals>div:last-child{border:0}.time-card-totals b{font:600 17px 'Space Grotesk';display:block;margin-top:7px}.time-card-totals .net{background:#eaf6f1;color:#126c56}.signatures{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin:65px 30px 6px;text-align:center;font-size:12px}.signatures div{border-top:1px solid var(--ink);padding-top:8px}@media(max-width:650px){.time-card{padding:18px}.time-card-top,.time-card-person{display:block}.time-card-person>div{margin:12px 0}.time-card-totals{grid-template-columns:1fr 1fr}.time-card-totals>div:nth-child(2){border-right:0}.signatures{gap:25px;margin:55px 5px 6px}}@media print{.time-card{max-width:none;border:0;padding:0}.time-card .back,.time-card .print-action,.time-card-select{display:none!important}.time-card-top{padding-bottom:10px}.time-card-table table{font-size:10px}.time-card-table th,.time-card-table td{padding:7px 6px}.time-card-totals b{font-size:14px}.signatures{margin-top:55px}}
.hero{display:flex;justify-content:space-between;align-items:end;margin:25px 0}.hero.compact{margin-bottom:20px}.hero h1{font-size:30px}.hero p:not(.eyebrow){color:var(--muted);margin:0}.primary,.filters-panel button{background:var(--ink);color:#fff;border:0;border-radius:8px;padding:12px 16px;font:600 13px inherit;cursor:pointer}nav{display:flex;gap:4px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px;padding:5px}nav button{border:0;background:transparent;color:var(--muted);padding:9px 12px;border-radius:6px;white-space:nowrap;font:600 12px inherit;cursor:pointer}nav button.selected{background:var(--ink);color:#fff}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}.metrics small{color:var(--muted);font-size:10px;font-weight:bold;letter-spacing:.08em}.metrics b{display:block;font:600 27px 'Space Grotesk';margin:8px 0}.metrics span{font-size:12px;color:var(--muted)}.head{padding:18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.head h2{margin:0}.head p{font-size:12px;color:var(--muted);margin:4px 0 0}.head label,.filters-panel label{display:grid;gap:5px;font-size:11px;font-weight:bold;color:var(--muted)}.head input,.filters-panel input,.filters-panel select{border:1px solid #cfd8db;border-radius:6px;padding:8px;background:#fff;color:var(--ink);font:13px inherit}.filters-panel{display:flex;gap:12px;align-items:end;padding:15px;margin-bottom:18px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.employee-form textarea{min-height:70px;padding:9px;border:1px solid #cfd8db;border-radius:7px;font:14px inherit}.full{grid-column:1/-1}.calc{color:var(--muted);margin:0}.calc b{color:var(--ink)}.empty{padding:28px;color:var(--muted);text-align:center}.record-list{padding:8px}.record{display:flex;align-items:center;gap:15px;padding:13px;border-bottom:1px solid var(--line)}.record span{flex:1}.record b,.record small{display:block}.record small{font-size:12px;color:var(--muted);margin-top:3px}.delete{background:#fff0ed;color:#bd3f25;border:0;border-radius:6px;padding:7px 10px;cursor:pointer}@media(max-width:760px){.hero,.head{align-items:start;gap:12px;flex-direction:column}.metrics,.two-col{grid-template-columns:1fr}.filters-panel{display:grid;grid-template-columns:1fr 1fr}.filters-panel button{grid-column:1/-1}.employee-list article{grid-template-columns:1fr!important}.time-card-totals{grid-template-columns:1fr 1fr}}
.salary-receipt{max-width:900px;margin:32px auto 0;background:#fff;border:1px solid #182b3c;padding:42px 48px;min-height:620px}.receipt-title{display:flex;justify-content:space-between;align-items:start;border-bottom:2px solid #182b3c;padding-bottom:18px}.receipt-title h1{margin:0;color:#1f4f82;font:700 30px Georgia,serif;letter-spacing:.04em}.receipt-title p{margin:5px 0 0;font-weight:600}.receipt-title>b{font-size:16px}.receipt-data{margin:24px 0}.receipt-data p{border-bottom:1px solid #d2d9dd;margin:0;padding:9px 3px;font-size:15px}.receipt-data span{float:right}.receipt-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #182b3c;margin-top:30px}.receipt-summary>div{padding:16px;border-right:1px solid #182b3c}.receipt-summary>div:last-child{border-right:0}.receipt-summary small{display:block;font-size:10px;font-weight:bold;letter-spacing:.08em}.receipt-summary b{display:block;margin-top:8px;font-size:18px}.receipt-summary .receipt-net{grid-column:1/-1;background:#f0f5f4;border-top:1px solid #182b3c;display:flex;justify-content:space-between;align-items:center}.receipt-signature{display:grid;grid-template-columns:1fr 1fr;gap:100px;text-align:center;margin:145px 35px 0;font-size:12px}.receipt-signature div{border-top:1px solid #182b3c;padding-top:8px;font-weight:bold}@media(max-width:650px){.salary-receipt{padding:25px 18px}.receipt-title h1{font-size:23px}.receipt-data p{font-size:13px}.receipt-data span{float:none;display:block;margin-top:6px}.receipt-summary{grid-template-columns:1fr}.receipt-summary>div{border-right:0;border-bottom:1px solid #182b3c}.receipt-summary .receipt-net{grid-column:auto}.receipt-signature{gap:25px;margin:95px 5px 0}}@media print{body:has(.liquidation-print) header,body:has(.liquidation-print) main>:not(#liquid-result){display:none!important}body:has(.liquidation-print) main{padding:0!important}.liquidation-print{width:100%}.salary-receipt{break-before:page;page-break-before:always;max-width:none;margin:0;border:0;padding:32px 45px;min-height:0}.print-action{display:none!important}.receipt-title h1{font-size:28px}.receipt-signature{margin-top:130px}}
