:root{color:#1f2937;background:#f4f6f8;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}.app{min-height:100vh;display:flex}aside{color:#fff;background:#17324d;flex-direction:column;gap:8px;width:264px;padding:18px 16px;display:flex}.brand{justify-content:center;align-items:center;width:100%;height:96px;margin-bottom:20px;display:flex;overflow:hidden}.brand img{object-fit:contain;background:0 0;border-radius:0;width:100%;height:100%;padding:0}.brand span{font-size:15px}aside button{color:#dbeafe;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;height:42px;padding:0 12px;font-size:15px;display:flex}aside button.active,aside button:hover{color:#fff;background:#245173}main{flex:1;min-width:0}header{background:#fff;border-bottom:1px solid #dde3ea;justify-content:space-between;align-items:center;height:72px;padding:0 28px;display:flex}header span{color:#64748b;margin-top:3px;font-size:13px;display:block}.user{color:#475569;font-size:14px}section{padding:26px 28px}h1{margin:0 0 20px;font-size:26px}h2{margin:24px 0 10px;font-size:18px}.grid{grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;display:grid}.metric,.panel{background:#fff;border:1px solid #dde3ea;border-radius:8px;padding:18px}.metric span{color:#64748b;font-size:13px;display:block}.metric strong{margin-top:8px;font-size:24px;display:block}.panel{align-items:center;gap:28px;min-height:260px;margin-top:18px;display:flex}.panel svg{color:#0f766e;width:54px;height:54px}.bars{flex:1;align-items:flex-end;gap:18px;height:190px;display:flex}.bars i{background:#0f766e;border-radius:4px 4px 0 0;width:16%;display:block}.toolbar,.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}input{border:1px solid #cbd5e1;border-radius:6px;min-width:260px;height:38px;padding:0 10px}button,a{color:#17324d;cursor:pointer;background:#fff;border:1px solid #b7c3cf;border-radius:6px;align-items:center;gap:8px;height:38px;padding:0 12px;font-weight:600;text-decoration:none;display:inline-flex}.table{background:#fff;border:1px solid #dde3ea;border-radius:8px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:620px}th,td{text-align:left;border-bottom:1px solid #eef2f7;padding:12px 14px;font-size:14px}th{color:#475569;background:#f8fafc}.notice{color:#155e75;background:#ecfeff;border:1px solid #67e8f9;border-radius:8px;margin:18px 28px 0;padding:12px}.memory{color:#e5e7eb;background:#101827;border-radius:8px;max-height:420px;padding:16px;overflow:auto}.muted{color:#64748b}@media (width<=900px){.app{display:block}aside{width:auto}.brand{height:78px}.brand img{max-width:260px}.grid{grid-template-columns:1fr 1fr}header{padding:0 16px}section{padding:20px 16px}}@media (width<=560px){.grid{grid-template-columns:1fr}input{min-width:100%}.brand img{max-width:220px}}select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:260px;height:38px;padding:0 10px}button:disabled{cursor:not-allowed;opacity:.48;background:#f1f5f9}@media (width<=560px){select{min-width:100%}}.primary{color:#fff;background:#0f766e;border-color:#0f766e}.simple-summary{grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.simple-summary article{background:#fff;border:1px solid #dde3ea;border-radius:8px;padding:14px}.simple-summary span{color:#64748b;font-size:13px;display:block}.simple-summary strong{margin-top:6px;font-size:20px;display:block}.cell-input{width:88px;min-width:74px}.result-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}@media (width<=900px){.simple-summary,.result-grid{grid-template-columns:1fr 1fr}}@media (width<=560px){.simple-summary,.result-grid{grid-template-columns:1fr}.cell-input{width:100%;min-width:100%}}.memory-list{gap:10px;display:grid}.memory-card{background:#fff;border:1px solid #dde3ea;border-radius:8px;padding:14px 16px}.memory-head{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding-bottom:10px;display:flex}.memory-head strong{font-size:15px}.memory-head span{color:#0f766e;font-weight:700}.memory-lines p{color:#475569;margin:4px 0;font-size:14px;line-height:1.4}.form-grid{grid-template-columns:repeat(2,minmax(280px,1fr));align-items:start;gap:16px;display:grid}.panel-form{background:#fff;border:1px solid #dde3ea;border-radius:8px;margin-bottom:16px;padding:16px}.panel-form h2{margin-top:0}.fields{grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;display:grid}.field{gap:6px;display:grid}.field span{color:#475569;font-size:13px;font-weight:600}.field input,.field select{width:100%;min-width:0}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.tabs button.active-tab{color:#fff;background:#17324d;border-color:#17324d}.checks{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.checks label{color:#475569;align-items:center;gap:6px;font-size:14px;display:flex}.checks input{width:auto;min-width:0;height:auto}@media (width<=900px){.form-grid,.fields{grid-template-columns:1fr}}.employee-form{grid-column:1/-1;gap:12px;display:grid}.employee-form fieldset{border:1px solid #e2e8f0;border-radius:8px;margin:0;padding:14px}.employee-form legend{color:#17324d;padding:0 6px;font-size:14px;font-weight:700}.employee-form+.primary{grid-column:1/-1;width:max-content}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.row-actions button{height:30px;padding:0 8px;font-size:12px}.row-actions .danger{color:#991b1b;background:#fff5f5;border-color:#fecaca}.event-picker{position:relative}.event-code-button{text-overflow:ellipsis;white-space:nowrap;justify-content:center;min-width:76px;max-width:118px;height:32px;padding:0 8px;font-size:12px;overflow:hidden}.event-code-button.multi{font-size:11px}.event-modal-backdrop{z-index:30;background:#0f172a47;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.event-modal{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:min(560px,100%);max-height:78vh;padding:16px;overflow:auto;box-shadow:0 18px 48px #0f172a38}.event-modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.event-modal-head div{gap:8px;display:flex}.event-modal-head button{height:32px}.event-options{gap:8px;display:grid}.event-options button{text-align:left;grid-template-columns:88px 1fr;align-items:center;gap:12px;height:auto;padding:10px 12px;display:grid}.event-options button span{color:#475569;font-weight:500}.event-options .selected-event{color:#0f766e;background:#ecfdf5;border-color:#0f766e}.section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.section-head h1{margin-bottom:4px}.section-head p{margin:0}.filters{background:#fff;border:1px solid #dde3ea;border-radius:8px;grid-template-columns:2fr repeat(3,minmax(120px,1fr));gap:10px;margin-bottom:16px;padding:14px;display:grid}.filters label{gap:6px;display:grid}.filters span{color:#475569;font-size:13px;font-weight:600}.filters select{width:100%;min-width:0}@media (width<=900px){.filters{grid-template-columns:1fr 1fr}.section-head{display:block}}@media (width<=560px){.filters{grid-template-columns:1fr}}.receipt-preview{margin-top:18px}.receipt-toolbar{background:#fff;border:1px solid #dde3ea;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:12px 14px;display:flex}.receipts-print{gap:16px;display:grid}.receipt{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:8px;max-width:820px;padding:28px}.receipt-title{border-bottom:2px solid #17324d;justify-content:space-between;gap:20px;margin-bottom:16px;padding-bottom:14px;display:flex}.receipt-logo-line{align-items:center;gap:18px;display:flex}.receipt-logo-line img{width:180px;height:auto}.receipt-title h2{margin:0;font-size:24px}.receipt-title p{color:#64748b;margin:4px 0 0}.receipt-period{text-align:right;color:#475569}.receipt-company{justify-content:space-between;gap:20px;margin-bottom:18px;display:flex}.receipt-grid{border:1px solid #dde3ea;border-radius:6px;grid-template-columns:150px 1fr;gap:8px 14px;padding:14px;display:grid}.receipt-grid span{color:#64748b}.receipt-net{background:#ecfdf5;border:1px solid #99f6e4;border-radius:6px;justify-content:space-between;align-items:center;margin-top:14px;padding:14px;display:flex}.receipt-net strong{color:#0f766e;font-size:24px}.receipt-text{margin:24px 0 36px;line-height:1.5}.receipt-sign{justify-items:center;gap:8px;display:grid}.receipt-sign div{border-top:1px solid #111827;width:320px}.receipt-sign span{color:#475569;font-size:13px}.receipt-columns{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.receipt-box{border:1px solid #dde3ea;border-radius:6px;min-height:120px;padding:14px}.receipt-box h3{margin:0 0 10px;font-size:16px}.receipt-box p{color:#64748b;margin:8px 0}.receipt-line,.receipt-total{border-bottom:1px solid #eef2f7;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.receipt-line span{color:#475569}.receipt-line strong,.receipt-total strong{white-space:nowrap}.receipt-total{border-top:2px solid #cbd5e1;border-bottom:0;margin-top:8px;padding-top:12px;font-weight:700}.receipt-earnings h3{color:#047857}.receipt-deductions h3{color:#b91c1c}.receipt-fgts{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;grid-template-columns:1fr auto;gap:4px 12px;margin-top:14px;padding:12px 14px;display:grid}.receipt-fgts span{color:#1e3a8a}.receipt-fgts strong{color:#1d4ed8}.receipt-fgts small{color:#475569;grid-column:1/-1}@media (width<=700px){.receipt-columns{grid-template-columns:1fr}.receipt-title,.receipt-company{display:block}.receipt-period{text-align:left;margin-top:10px}}@media print{@page{size:A4;margin:12mm}html,body{background:#fff;width:100%;margin:0;padding:0}.app{min-height:0;display:block}aside,header,.notice,.no-print{display:none!important}main,section{margin:0;padding:0;display:block}.receipt-preview{margin:0}.receipts-print{gap:0;display:block}.receipt{box-shadow:none;break-inside:avoid;page-break-inside:avoid;border:0;border-radius:0;width:100%;max-width:none;height:auto;min-height:auto;margin:0;padding:0;display:block}.receipt+.receipt{break-before:page;page-break-before:always}.receipt-title{margin-top:0}.table,.panel,.metric,.memory-list{display:none}}.login-page{background:#eef3f8;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #d6dee8;border-radius:8px;gap:16px;width:min(420px,100%);padding:28px;display:grid;box-shadow:0 18px 44px #17324d24}.login-card img{justify-self:center;width:230px;max-width:100%}.login-title{border-top:1px solid #eef2f7;align-items:flex-start;gap:12px;padding-top:16px;display:flex}.login-title svg{color:#0f766e;flex:none}.login-title h1{margin:0 0 4px;font-size:24px}.login-title p{color:#64748b;margin:0}.login-card .field input{min-width:0}.login-card button{justify-content:center;width:100%}.login-error{color:#991b1b;background:#fff5f5;border:1px solid #fecaca;border-radius:6px;padding:10px 12px}.logout-button{height:32px;margin-left:12px;padding:0 10px}.user{align-items:center;gap:8px;display:flex}
