@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap");:root{--ink:#303133;--ink-soft:#707173;--line:#ebedf2;--line-strong:#dcdfe6;--bg:#f7f7f7;--panel:#fff;--accent:#1080d0;--accent-rgb:16,128,208;--accent-deep:#0c68aa;--accent-soft:#e7f2fa;--weekend:#f1f3f7;--weekend-soft:#f8f9fa;--sheet-border:#1e293b;--good:#2e7d32;--bad:#d32f2f;--radius:8px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow:0 1px 3px rgba(0,0,0,.05);--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--headings:"Plus Jakarta Sans",var(--sans)}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;background-color:var(--bg)}.shell{display:flex;flex-direction:column;min-height:100vh}.app{display:grid;grid-template-columns:340px 1fr;align-items:start;flex:1 1}.app-shell{display:flex;height:100vh;overflow:hidden}.app-shell>.shell{flex:1 1;min-width:0;height:100vh;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.page-title{margin:0;font-family:var(--headings);font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:12px 16px;gap:12px 16px;padding:12px 24px;background:#fff;border-bottom:1px solid var(--line)}.topbar .brand{justify-self:start;margin:0;gap:8px;align-items:center}.topbar .brand .mark{width:28px;height:28px;border-radius:6px}.topbar .brand strong{font-size:16px;font-weight:800;letter-spacing:-.01em}.brand-mark{width:28px;height:28px;display:block;flex:0 0 auto}.brand-mark.lg{width:40px;height:40px}.brand-name{font-family:var(--headings);font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--accent-deep);line-height:1}.brand-name span{font-weight:600;color:var(--ink-soft)}.brand-name.lg{font-size:24px}.topbar-controls{justify-self:center;justify-content:center;gap:10px 14px}.topbar-actions,.topbar-controls{display:flex;flex-wrap:wrap;align-items:center}.topbar-actions{justify-self:end;gap:8px;justify-content:flex-end}.topbar-actions .btn{width:auto;white-space:nowrap;padding:8px 14px}.topbar .seg{width:auto}.topbar .seg button{padding:7px 14px;flex:0 0 auto}.topbar .chips{justify-content:center}.topbar .monthnav{width:auto}.topbar .mlabel{min-width:148px;flex:0 0 auto}.topbar .btn.small{margin-top:0;width:auto;padding:8px 12px}.dash{display:grid;grid-template-columns:250px minmax(0,1fr) 320px;grid-template-rows:minmax(0,1fr);grid-gap:20px;gap:20px;padding:24px;flex:1 1;max-width:1680px;width:100%;margin:0 auto}.center,.dash{align-items:stretch;min-height:0}.center{min-width:0;display:flex;flex-direction:column;align-self:stretch}.costpanel,.leftnav{position:-webkit-sticky;position:sticky;top:80px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);max-height:calc(100vh - 110px);overflow-y:auto}.nav-section{margin-bottom:20px}.nav-section:last-child{margin-bottom:0}.costpanel h4,.nav-section h4{margin:0 0 10px;font-family:var(--headings);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:700}.seg.vertical{flex-direction:column}.seg.vertical button{text-align:left;padding:9px 12px}.emplist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.emplist button{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:#fff;border:1px solid var(--line);color:var(--ink);transition:all .15s ease;text-align:left}.emplist button.active,.emplist button:hover{border-color:var(--accent);background:var(--accent-soft)}.emplist button.active{box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.emp-avatar{width:30px;height:30px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#e2eefc;color:var(--accent-deep);font-weight:700;font-size:13px}.emp-meta{display:flex;flex-direction:column;line-height:1.2;min-width:0}.emp-name{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-meta small{font-size:11px;color:var(--ink-soft)}.emp-check{margin-left:auto;color:var(--accent);font-weight:800;font-size:13px}.emp-leave-badge{margin-left:auto;flex:0 0 auto;font-size:10px;font-weight:700;letter-spacing:.01em;padding:2px 8px;border-radius:999px;background:#eef1f6;color:var(--ink-soft);white-space:nowrap}.emp-leave-badge.has{background:#fff3e0;color:#b7791f}.run-cta{background:#fff;border:1px dashed var(--line-strong);border-radius:var(--radius);padding:44px 32px;text-align:center;margin-top:4px;flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.run-cta-icon{font-size:34px;line-height:1}.run-cta h3{font-family:var(--headings);font-size:17px;font-weight:700;color:var(--ink);margin:14px 0 6px}.run-cta p{font-size:13px;color:var(--ink-soft);max-width:440px;margin:0 auto 20px;line-height:1.5}.btn.run-btn{font-size:14px;font-weight:700;padding:11px 22px}.gen-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.gen-badge{font-size:11.5px;font-weight:700;color:var(--good);background:#e6f4ea;border:1px solid #bfe0c8;padding:4px 10px;border-radius:999px}.gen-hint{font-size:12px;color:var(--ink-soft)}.gen-badge.locked{color:#92400e;background:#fef3c7;border-color:#fcd9a6}.salary-genbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:10px 14px;background:var(--surface,#fff);border:1px solid var(--line,#e6e9ef);border-radius:12px}.gen-bar .btn.small,.salary-genbar .btn-v2:first-of-type{margin-left:auto}.pay-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;font-size:13px;margin-bottom:14px}.pay-banner.info{background:#eaf3ff;color:#1e40af}.pay-banner.warn{background:#fff4e5;color:#92400e;justify-content:space-between}.pay-banner-icon{font-size:15px}.pay-banner-title{font-size:11px;font-weight:800;letter-spacing:.05em;margin-bottom:2px}.pay-banner-link{font-weight:700;color:var(--accent);white-space:nowrap;text-decoration:none}.pay-banner-link:hover{text-decoration:underline}.pay-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line,#e6e9ef);margin:20px 0 16px}.pay-tab{background:none;cursor:pointer;padding:10px 14px;font-size:13px;font-weight:600;color:var(--ink-soft);border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.pay-tab:hover{color:var(--ink)}.pay-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.row-menu{position:relative;display:inline-block}.row-menu>summary{list-style:none;cursor:pointer;width:28px;height:28px;line-height:26px;border-radius:6px;font-size:18px;color:var(--ink-soft);text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.row-menu>summary::-webkit-details-marker{display:none}.row-menu>summary:hover{background:#f1f3f7;color:var(--ink)}.row-menu-pop{position:absolute;right:0;top:30px;z-index:20;min-width:168px;background:#fff;border:1px solid var(--line,#e6e9ef);border-radius:10px;box-shadow:0 8px 24px rgba(16,24,40,.12);padding:6px;display:flex;flex-direction:column;text-align:left}.row-menu-pop button{border:none;background:none;cursor:pointer;padding:9px 12px;font-size:13px;color:var(--ink);border-radius:6px;text-align:left}.row-menu-pop button:hover:not(:disabled){background:#f1f6ff;color:var(--accent)}.row-menu-pop button:disabled{color:#b6bcc7;cursor:not-allowed}.row-menu-pop button.danger{color:#dc2626}.row-menu-pop button.danger:hover:not(:disabled){background:#fdecec;color:#dc2626}.app-header{justify-content:space-between;gap:16px;min-height:64px;padding:16px 40px;background:var(--surface,#fff);border-bottom:1px solid var(--line,#e6e9ef);position:-webkit-sticky;position:sticky;top:0;z-index:30}.app-header,.hdr-left{display:flex;align-items:center}.hdr-left{gap:12px;min-width:0}.hdr-back{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line,#e6e9ef);border-radius:9px;background:var(--surface,#fff);color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.hdr-back:hover{background:#f1f5fb;color:var(--accent);border-color:#cdddf5}.hdr-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hdr-crumbs{display:flex;align-items:center;flex-wrap:wrap;font-size:15px;min-width:0}.hdr-crumb{display:inline-flex;align-items:center}.hdr-crumbs a{color:var(--ink-soft);text-decoration:none}.hdr-crumbs a:hover{color:var(--accent)}.hdr-sep{color:var(--line,#cbd2dd);margin:0 8px}.hdr-cur{font-weight:700;color:var(--ink)}.hdr-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}@media (max-width:900px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-kpi{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line,#e6e9ef);border-radius:14px;background:var(--surface,#fff);text-decoration:none;color:var(--ink);transition:box-shadow .15s,transform .15s}.dash-kpi:hover{box-shadow:0 6px 20px rgba(16,24,40,.08);transform:translateY(-1px)}.dash-kpi-ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:19px;flex-shrink:0}.dash-kpi-num{font-size:22px;font-weight:800;font-family:var(--headings);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-kpi-cap{font-size:12px;color:var(--ink-soft);margin-top:1px}.dash-card{border:1px solid var(--line,#e6e9ef);border-radius:16px;padding:20px 22px;background:var(--surface,#fff);box-shadow:0 1px 2px rgba(16,24,40,.04)}.dash-card-h{font-size:15px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}.dash-card-ic{width:26px;height:26px;border-radius:8px;display:inline-grid;place-items:center;font-size:14px;background:var(--chip,#f3f6fb)}.pl-tile{border:1px solid var(--line,#e6e9ef);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.pl-num{font-size:21px;font-weight:800;font-family:var(--headings);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.pl-cap{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft)}.dash-chart{display:flex;align-items:flex-end;gap:4px}.dash-bar-col{flex:1 1;align-items:center;gap:8px;cursor:default}.dash-bar-col,.dash-bar-track{display:flex;flex-direction:column}.dash-bar-track{width:60%;max-width:34px;justify-content:flex-end}.dash-bar-col:hover .dash-bar-track{filter:brightness(1.05)}.dash-bar-label{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ins-h{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:12px}.ins-card{border:1px solid var(--line,#e6e9ef);border-radius:14px;padding:18px 22px;background:var(--surface,#fff)}.ins-hero{border-radius:12px;background:linear-gradient(180deg,#f6f8ff,#fff);border:1px solid var(--line,#e6e9ef);padding:20px;text-align:center;align-self:start}.ins-hero-ic{width:44px;height:44px;margin:0 auto 10px;display:grid;place-items:center;font-size:20px;background:#eaf3ff;border-radius:12px}.ins-hero-cap{font-size:12px;color:var(--ink-soft)}.ins-hero-num{font-size:30px;font-weight:800;font-family:var(--headings);color:var(--ink);margin-top:2px}.cp-sec{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--line,#e6e9ef)}.policy-grid{display:grid;grid-template-columns:minmax(240px,320px) 1fr;grid-gap:20px;gap:20px;align-items:start;max-width:900px}@media (max-width:720px){.policy-grid{grid-template-columns:1fr}}.policy-card{border:1px solid var(--line,#e6e9ef);border-radius:16px;padding:22px;background:linear-gradient(180deg,#f7faff,#fff 60%)}.policy-card-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.policy-ic{width:44px;height:44px;display:grid;place-items:center;font-size:22px;background:#eaf3ff;border-radius:12px}.policy-title{font-weight:700;font-size:15px;color:var(--ink)}.policy-sub{font-size:12px;color:var(--ink-soft);margin-top:1px}.policy-value{display:flex;align-items:baseline;gap:8px;margin:6px 0 18px}.policy-value>b{font-size:40px;font-weight:800;line-height:1;color:var(--accent);font-family:var(--headings)}.policy-unit{font-size:13px;color:var(--ink-soft)}.policy-foot{display:flex;flex-wrap:wrap;gap:8px}.policy-chip{font-size:11px;font-weight:600;padding:5px 10px;border-radius:999px;background:#eef1f6;color:var(--ink-soft)}.policy-chip.ok{background:#e7f6ec;color:#16a34a}.policy-chip.warn{background:#fdecec;color:#dc2626}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line,#e6e9ef);border-radius:10px;overflow:hidden;background:#fff}.stepper button{width:38px;height:44px;border:none;background:#f4f6fa;font-size:20px;cursor:pointer;color:var(--ink);line-height:1}.stepper button:hover{background:#e9edf3;color:var(--accent)}.stepper input{width:72px;height:44px;border:none;text-align:center;font-size:22px;font-weight:800;color:var(--accent);background:#fff;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.policy-note{border:1px solid var(--line,#e6e9ef);border-radius:16px;padding:8px 18px;background:var(--surface,#fff)}.policy-note-row{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line,#eef1f6)}.policy-note-row:last-child{border-bottom:none}.policy-note-row>span{font-size:18px;line-height:1.4}.policy-note-row p{margin:0;font-size:13px;line-height:1.55;color:var(--ink-soft)}.policy-note-row p b{color:var(--ink);font-weight:600}.cal.readonly .cal-cell.day{cursor:default}.emp-empty{font-size:12px;color:var(--ink-soft);font-style:italic;padding:6px 2px;list-style:none}.nav-gen{margin-top:12px;display:flex;flex-direction:column;gap:8px}.nav-gen-status{display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-gen-status small{font-size:11px;color:var(--ink-soft)}.nav-gen-tag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;border:1px solid transparent}.nav-gen-tag.ok{color:var(--good);background:#e6f4ea;border-color:#bfe0c8}.nav-gen-tag.locked{color:#92400e;background:#fef3c7;border-color:#fcd9a6}.nav-gen-tag.none{color:var(--ink-soft);background:#eef1f5;border-color:#dde3ea}.run-btn-side{width:100%;justify-content:center}.run-cta-hint{font-size:12px;color:var(--ink-soft);margin-top:8px}.modal-overlay{position:fixed;inset:0;z-index:80;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:24px;animation:modal-fade .14s ease-out}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-card{width:100%;max-height:90vh;display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(15,23,42,.25);overflow:hidden;animation:modal-rise .16s ease-out}@keyframes modal-rise{0%{transform:translateY(8px) scale(.99);opacity:0}to{transform:none;opacity:1}}.modal-sm{max-width:460px}.modal-md{max-width:640px}.modal-lg{max-width:820px}.modal-xl{max-width:960px}.modal-overlay.as-drawer{place-items:stretch;justify-content:flex-end;padding:0}.modal-card.as-drawer{height:100vh;max-height:100vh;border-radius:0;box-shadow:-18px 0 48px rgba(15,23,42,.22);animation:drawer-slide .22s ease-out}@keyframes drawer-slide{0%{transform:translateX(100%)}to{transform:none}}.modal-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-head-text h3{margin:0;font-family:var(--headings);font-size:17px;font-weight:700;color:var(--ink)}.modal-head-text p{margin:4px 0 0;font-size:12.5px;color:var(--ink-soft);line-height:1.45}.modal-close{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s}.modal-close:hover{background:#f1f5f9;color:var(--ink)}.modal-body{flex:1 1 auto;overflow-y:auto;padding:22px 24px}.modal-foot{flex:0 0 auto;display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid var(--line);background:#fbfcfe}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px 18px;gap:16px 18px}.form-grid .full{grid-column:1/-1}.field{min-width:0}.field>label{font-size:11.5px;font-weight:600;color:var(--ink-soft)}.field>label .req{color:var(--bad);margin-left:2px}.field input,.field select{padding:9px 11px;border:1px solid var(--line,#e6e9ef);border-radius:8px;font-size:13.5px}.field input:focus,.field select:focus{box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}.field .radio-row{display:flex;gap:18px;padding-top:7px}.field .radio-row label{display:flex;gap:6px;align-items:center;font-size:13.5px;font-weight:500;color:var(--ink)}.modal-section-title{margin:22px 0 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.modal-section-title:first-child{margin-top:0}.modal-section-head{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px}.gstin-row{display:flex;gap:10px;align-items:stretch}.gstin-row input{flex:1 1}.gstin-row .btn-v2{white-space:nowrap}.gstin-msg{font-size:12px;margin-top:6px}.field-empty{font-size:12.5px;color:var(--ink-soft);font-style:italic;margin:0 0 8px}.cell-input{width:100%;height:32px;padding:0 8px;border:1px solid transparent;border-radius:6px;font-size:13px;background:transparent;color:var(--ink)}.cell-input:hover{border-color:var(--line)}.cell-input:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.row-remove{border:none;background:none;cursor:pointer;color:var(--ink-soft);font-size:18px;line-height:1;padding:2px 6px;border-radius:6px}.row-remove:hover{color:var(--bad);background:#fef2f2}@media (max-width:640px){.form-grid{grid-template-columns:1fr}}.org-panel{margin-bottom:20px}.org-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px 20px;gap:16px 20px}.org-field{display:flex;flex-direction:column;gap:5px;min-width:0}.org-field.full{grid-column:1/-1}.org-field>span:first-child{font-size:11.5px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em}.org-field input,.org-field select{padding:9px 11px;border:1px solid var(--line,#e6e9ef);border-radius:8px;font-size:13.5px;color:var(--ink);background:#fff}.org-field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.org-field input:focus,.org-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}.org-value{font-size:14px;color:var(--ink);font-weight:500;padding:2px 0;word-break:break-word}.org-logo-row{display:flex;align-items:center;gap:20px;margin-bottom:22px}.org-logo-preview{width:96px;height:96px;flex-shrink:0;border:1px dashed var(--line,#d7dce5);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fbfcfe}.org-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.org-logo-empty{font-size:12px;color:var(--ink-soft)}.org-logo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.org-logo-actions .hint{flex-basis:100%;margin:0}@media (max-width:720px){.org-grid{grid-template-columns:1fr}}.nav-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.nav-head h4{margin:0}.nav-step{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);padding:2px 6px;border-radius:4px;white-space:nowrap}.projlist{display:flex;flex-direction:column;gap:6px}.proj-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:6px;background:#fff;border:1px solid var(--line);color:var(--ink);transition:all .15s ease}.proj-btn.active,.proj-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.proj-btn.active{box-shadow:inset 3px 0 0 var(--accent)}.proj-info{display:flex;flex-direction:column;gap:1px;min-width:0}.proj-key{font-family:var(--headings);font-weight:700;font-size:13.5px}.proj-info small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-count,.proj-info small{font-size:11px;color:var(--ink-soft)}.proj-count{flex:0 0 auto;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:#f1f3f7;font-weight:700;display:grid;place-items:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.proj-btn.active .proj-count{background:var(--accent);color:#fff}.monthbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:100%;margin:0 0 16px}.monthbar .monthnav{width:auto;gap:8px}.monthbar .mlabel{flex:0 0 auto;min-width:150px}.monthbar .btn.small{margin:0;width:auto;white-space:nowrap}.monthbar-actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.costpanel{display:flex;flex-direction:column;gap:10px}.cost-group{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff}.cost-group.selected{background:linear-gradient(135deg,#fff,#fafcff);border-color:#dbeafe}.cost-group.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.cost-group.grand{background:#1b1f3b;border-color:transparent;color:#fff}.cost-group.grand h4{color:hsla(0,0%,100%,.7)}.cost-group.grand .cost-row span{color:hsla(0,0%,100%,.8)}.cost-group.grand .cost-row .client,.cost-group.grand .cost-row .internal,.cost-group.grand .cost-row b{color:#fff}.cost-group.grand .cost-row .pos{color:#a7f3d0}.cost-group.grand .cost-row.total{border-top-color:hsla(0,0%,100%,.2)}.costpanel .cost-who{margin:0 0 4px;font-family:var(--headings);font-weight:700;font-size:14px}.cost-tag,.proj-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;background:var(--accent-soft);color:var(--accent);letter-spacing:.02em}.cost-tag{margin:0 0 10px}.cost-rows{display:flex;flex-direction:column;gap:6px}.cost-row{display:flex;align-items:baseline;justify-content:space-between;font-size:13px}.cost-row span{color:var(--ink-soft)}.cost-row b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.cost-row .client{color:var(--accent);font-weight:700}.cost-row.total{border-top:1px dashed var(--line);padding-top:8px;margin-top:2px}.cost-row.total b{font-size:15px;font-weight:700}.cost-row .pos{color:var(--good);font-weight:700}.cost-row .neg{color:#ef4444;font-weight:700}.cost-divider{height:1px;background:var(--line);margin:14px 0}.cost-prorate{margin:10px 0 0;font-size:11px;font-weight:500;color:#b45309;background:#fffbeb;border:1px solid #fef3c7;border-radius:6px;padding:6px 10px;line-height:1.4}.cost-note{font-size:11px;color:var(--ink-soft);margin:12px 0 0;line-height:1.5}.cost-note a,.cost-note a:visited{color:var(--accent);font-weight:600;text-decoration:none}.cost-note a:hover{text-decoration:underline}@media (max-width:1200px){.dash{grid-template-columns:240px minmax(0,1fr);grid-template-rows:auto auto}.costpanel{grid-column:1/-1;position:static;max-height:none;overflow:visible;flex-direction:row;flex-wrap:wrap;align-items:stretch}.costpanel .cost-group{flex:1 1 240px}.costpanel .cost-note{flex:1 1 100%}}@media (max-width:768px){.dash{grid-template-columns:1fr;grid-template-rows:none;padding:14px}.leftnav{position:static;max-height:none;overflow:visible}.costpanel .cost-group{flex-basis:100%}}.splash{place-items:center;color:var(--ink-soft);font-weight:600;font-size:14px}.login-wrap,.splash{min-height:100vh;display:grid}.login-wrap{place-items:center;padding:24px;background-color:var(--bg)}.login-card{width:100%;max-width:380px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;display:flex;flex-direction:column;gap:14px}.login-brand{justify-content:center;margin-bottom:4px}.login-brand strong{font-size:18px;font-weight:800}.login-title{margin:0;font-family:var(--headings);font-size:22px;font-weight:800;text-align:center;letter-spacing:-.02em;color:var(--ink)}.login-sub{margin:-6px 0 10px;text-align:center;color:var(--ink-soft);font-size:13px}.login-field{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--ink-soft)}.login-field input{font:inherit;font-size:13.5px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink);transition:all .15s}.login-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.login-error{margin:2px 0 0;color:#ef4444;font-size:12.5px;font-weight:600}.login-card .btn{margin-top:6px;padding:10px;font-size:13.5px}.drawer-overlay{position:fixed;inset:0;background:rgba(15,23,42,.2);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:40}.drawer-overlay.show{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;height:100vh;width:min(900px,94vw);background:#fff;z-index:50;box-shadow:-5px 0 25px rgba(0,0,0,.05);transform:translateX(100%);transition:transform .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;padding:20px 24px;overflow-y:auto;border-left:1px solid var(--line)}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer-head h2{margin:0;font-family:var(--headings);font-size:20px;font-weight:800;letter-spacing:-.02em}.drawer-x{width:32px;height:32px;flex:0 0 auto;border-radius:6px;background:#f1f3f7;color:var(--ink-soft);font-size:18px;line-height:1;border:1px solid var(--line);transition:all .15s;display:grid;place-items:center}.drawer-x:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.drawer .hint{margin:6px 0 16px;font-size:12.5px}.drawer-foot{position:-webkit-sticky;position:sticky;bottom:0;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0 2px;background:#fff;border-top:1px solid var(--line)}.drawer-foot .btn{width:auto;padding:8px 20px}.drawer-status{font-size:12px;color:var(--ink-soft);font-weight:600;display:flex;align-items:center;gap:6px}.drawer-status:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#2e7d32}.foot-btns{display:flex;gap:8px}.emp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 10px}.emp-toolbar .btn.small{margin:0}.show-removed{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft);font-weight:600;cursor:pointer}.emp-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.emp-search{font:inherit;font-size:13.5px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink);min-width:260px;transition:all .15s}.emp-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.emp-list-actions{gap:12px}.add-emp{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;margin-bottom:12px;background:var(--accent-soft);border:1px solid rgba(var(--accent-rgb),.1);border-radius:6px}.add-name{font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink);min-width:200px;flex:1 1;transition:all .15s}.add-name:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.add-projs{display:flex;flex-wrap:wrap;gap:6px}.add-projs label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--ink-soft);padding:6px 12px;border:1px solid var(--line-strong);border-radius:var(--radius,8px);background:#fff;cursor:pointer}.add-projs label.on{background:var(--accent);border-color:var(--accent);color:#fff}.add-emp .btn{width:auto;padding:8px 16px}.emp-cell-name{display:flex;align-items:center;gap:8px;font-weight:600}.emp-name-link{color:var(--accent);font-weight:700;text-decoration:none}.emp-name-link:hover{text-decoration:underline}.emp-cell-name-stack{display:flex;flex-direction:column;gap:1px}.emp-cell-id{font-size:11px;font-weight:500;color:var(--ink-soft)}.dept-input{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink);width:100%;min-width:110px}.row-inactive{opacity:.55}.emp-table input:disabled{background:#f8f9fa;color:var(--ink-soft);cursor:not-allowed;border-color:var(--line)}.hist-overlay{position:fixed;inset:0;background:rgba(15,23,42,.2);z-index:60;display:grid;place-items:center;padding:24px}.hist-card{width:100%;max-width:440px;background:#fff;border-radius:8px;box-shadow:var(--shadow-lg);padding:20px;max-height:80vh;overflow-y:auto;border:1px solid var(--line)}.hist-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.hist-head h3{margin:0;font-family:var(--headings);font-size:16px;font-weight:800}.hist-head p{margin:2px 0 0;font-size:12.5px;color:var(--ink-soft)}.hist-empty{color:var(--ink-soft);font-size:13px;font-style:italic}.hist-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.hist-list li{border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:#fafbfc}.hist-when{font-size:11px;color:var(--ink-soft);margin-bottom:4px}.hist-when span{font-weight:700;color:var(--ink)}.hist-line{display:flex;align-items:center;gap:8px;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hist-label{min-width:58px;font-weight:600}.hist-from,.hist-label{color:var(--ink-soft)}.hist-arrow{font-weight:800}.hist-arrow.up{color:var(--good)}.hist-arrow.down{color:#ef4444}.hist-to{font-weight:700;color:var(--ink)}.details-card{max-width:600px;display:flex;flex-direction:column;overflow-y:hidden}.details-scroll{overflow-y:auto;flex:1 1;min-height:0}.details-card .drawer-foot{position:static;margin-top:14px;flex:0 0 auto}.details-section{margin:16px 0 8px;font-family:var(--headings);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:700}.details-section:first-of-type{margin-top:2px}.details-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 14px;gap:12px 14px}.details-field{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700;color:var(--ink-soft)}.details-field input,.details-field select{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink)}.details-toggle{justify-content:flex-end}.details-check{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink);padding:6px 0;cursor:pointer}.details-note{margin:6px 0 0;font-size:11.5px;color:var(--ink-soft);font-style:italic;line-height:1.4}.linklike{background:none;border:none;padding:0;color:var(--accent);font-weight:600;font:inherit;cursor:pointer;text-decoration:underline}.linklike:hover{color:var(--accent-deep)}.settings-wrap{padding:24px;display:flex;justify-content:center;flex:1 1}.settings-card{width:100%;max-width:1020px;height:max-content;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.settings-head h2{margin:0 0 6px;font-family:var(--headings);font-size:20px;font-weight:800;letter-spacing:-.02em}.settings-head .hint{margin:0 0 20px;font-size:13px;color:var(--ink-soft);line-height:1.4}.emp-table-wrap{overflow-x:auto}.emp-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}.emp-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:700;padding:10px 12px;border-bottom:2px solid var(--line)}.emp-table td.num,.emp-table th.num{text-align:right}.emp-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.emp-table tbody tr:hover td{background:#fcfdfe}.emp-table tfoot td{border-bottom:none;border-top:2px solid var(--line);padding-top:12px;font-size:13.5px;font-weight:600}.emp-cell{display:flex;align-items:center;gap:10px;font-weight:600;white-space:nowrap;min-height:32px}.emp-table tbody tr.no-sep td{border-bottom:none}.emp-table .muted{color:var(--ink-soft)}.emp-table input{font:inherit;font-size:13.5px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink);width:100%;transition:all .15s}.emp-table input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.money-in{display:flex;align-items:center;gap:6px;justify-content:flex-end}.money-in span{color:var(--ink-soft);font-weight:700}.money-in input{max-width:120px;text-align:right}.money-view{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}.margin{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.margin.pos{color:var(--good)}.margin.neg{color:#ef4444}.summary{width:100%;margin:0 0 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow)}.sum-main{display:flex;flex-direction:column;gap:3px}.sum-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-weight:700}.sum-value{font-family:var(--headings);font-size:42px;font-weight:800;color:var(--accent);line-height:1;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sum-sub{font-size:12.5px;color:var(--ink-soft);font-weight:500;margin-top:1px}.sum-stats{display:flex;flex-wrap:wrap;gap:10px}.sum-stats .stat{min-width:90px;text-align:center;background:#f8fafc;border:1px solid var(--line);border-radius:6px;padding:10px 12px;transition:all .15s ease}.sum-stats .stat b{display:block;font-family:var(--headings);font-size:20px;font-weight:800;color:var(--ink);line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sum-stats .stat span{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:700;margin-top:2px;display:block}.sum-stats .stat.full{background:#fee2e2;border-color:#fca5a5}.sum-stats .stat.full b{color:#d93838}.sum-stats .stat.half{background:#fffbeb;border-color:#fcd34d}.sum-stats .stat.half b{color:#b45309}.sum-stats .stat.holiday{background:#eff6ff;border-color:#bfdbfe}.sum-stats .stat.holiday b{color:#1d4ed8}.cal-actions{width:100%;margin:-4px 0 16px;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--ink-soft)}.cal-actions .btn.small{width:auto;margin:0}.cal{width:100%;margin:0 0 16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;flex:1 1;min-height:0}.cal-head{display:flex;align-items:baseline;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}.cal-head h3{margin:0;font-family:var(--headings);font-size:16px;font-weight:800;letter-spacing:-.01em}.cal-hint{margin:0;font-size:12px;color:var(--ink-soft);font-weight:500;display:flex;align-items:center;flex-wrap:wrap;gap:5px}.cal-hint-lead{margin-right:2px;font-weight:600}.cal-hint .lg{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;border:1px solid var(--line-strong);background:#fff;color:var(--ink-soft);text-transform:capitalize}.cal-hint .lg.full{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.cal-hint .lg.half{background:#fef3c7;border-color:#fcd34d;color:#b45309}.cal-hint .lg.holiday{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}.cal-hint .lg-arrow{color:var(--line-strong);font-weight:800}.cal-hint .dot{display:inline-block;width:10px;height:10px;border-radius:4px;vertical-align:middle;margin:0 1px 0 5px;border:1px solid var(--line-strong)}.dot.none{background:#fff}.dot.full{background:#fee2e2;border-color:#ef4444}.dot.half{background:#fef3c7;border-color:#d97706}.dot.holiday{background:#dbeafe;border-color:#3b82f6}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:auto;grid-gap:6px;gap:6px;flex:1 1;grid-auto-rows:minmax(78px,1fr)}.cal-dow{text-align:center;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);padding-bottom:6px}.cal-dow.we{color:var(--line-strong)}.cal-cell{position:relative;min-height:78px;border:1px solid var(--line);border-radius:6px;padding:8px;display:flex;flex-direction:column;justify-content:space-between;background:#fff;font:inherit;transition:all .15s ease}.cal-cell.empty{border:none;background:transparent}.cal-cell.we{background:#f8fafc;border-color:transparent}.cal-cell.we .cal-day{color:#94a3b8;font-weight:600}.cal-cell.day{cursor:pointer;text-align:left}.cal-cell.day:hover{border-color:var(--accent)}.cal.readonly .cal-cell.day:hover{border-color:inherit}.cal-cell.is-today{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.cal-cell.leave-full{background:#fee2e2;border-color:#fca5a5}.cal-cell.leave-half{background:#fef3c7;border-color:#fcd34d}.cal-cell.leave-holiday{background:#dbeafe;border-color:#bfdbfe}.cal-day{font-weight:700;font-size:13px;color:var(--ink)}.cal-hours{align-self:flex-start;font-size:11px;font-weight:700;color:var(--accent-deep);background:var(--accent-soft);padding:2px 8px;border-radius:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-hours.na{color:#b91c1c;background:#fee2e2}.cal-badge{position:absolute;top:6px;right:6px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:1px 5px;border-radius:4px}.leave-full .cal-badge{background:#fca5a5;color:#b91c1c}.leave-half .cal-badge{background:#fcd34d;color:#7a5200}.leave-holiday .cal-badge{background:#bfdbfe;color:#1d4ed8}.panel{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;background:var(--panel);border-right:1px solid var(--line);padding:20px 18px 60px}.brand{display:flex;align-items:center;gap:10px;margin-bottom:4px}.brand .mark{width:30px;height:30px;flex:0 0 auto}.brand h1{font-family:var(--headings);font-size:15px;margin:0;letter-spacing:.2px;font-weight:800}.brand p{margin:0;font-size:11px;letter-spacing:.5px}.brand p,.panel h2{color:var(--ink-soft);text-transform:uppercase}.panel h2{font-family:var(--headings);font-size:10.5px;letter-spacing:.1em;margin:24px 0 8px;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:5px}.field{margin-bottom:12px;display:flex;flex-direction:column;gap:5px}.field label{font-size:11.5px;font-weight:600;color:var(--ink-soft)}.field input,.field select{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink);width:100%}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.seg{display:flex;gap:4px;background:#f1f3f7;border:1px solid var(--line-strong);border-radius:8px;padding:3px}.seg button{flex:1 1;padding:8px 10px;border-radius:6px;background:transparent;color:var(--ink-soft);font-weight:700;font-size:12.5px;transition:all .1s;line-height:1.2}.seg button small{display:block;font-size:9.5px;font-weight:500;opacity:.8;margin-top:1px}.seg button.active,.seg button:hover{color:var(--accent)}.seg button.active{background:#fff;box-shadow:var(--shadow-sm)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips button{padding:6px 12px;border-radius:var(--radius,8px);background:#fff;border:1px solid var(--line-strong);color:var(--ink-soft);font-weight:600;font-size:12.5px;transition:all .15s}.chips button:hover{border-color:var(--accent);color:var(--accent)}.chips button.active{background:var(--accent);border-color:var(--accent);color:#fff}.monthnav{display:flex;align-items:center;gap:6px}.navbtn{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--line-strong);border-radius:6px;background:#fff;font-size:20px;line-height:1;color:var(--accent);font-weight:700;transition:all .15s;display:grid;place-items:center}.navbtn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.mlabel{flex:1 1;text-align:center;font-weight:700;font-size:14px;padding:8px 12px;background:#fff;border:1px solid var(--line-strong);border-radius:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.btn.small{padding:6px 10px;font-size:12px;margin-top:6px}.leave-add{display:grid;grid-template-columns:1fr 92px;grid-gap:8px;gap:8px;align-items:end}.leave-add .full{grid-column:1/-1}button{font:inherit;cursor:pointer;border:none;border-radius:6px}.leaves{list-style:none;margin:10px 0 0;padding:0;flex-direction:column}.leaves,.leaves li{display:flex;gap:6px}.leaves li{align-items:center;justify-content:space-between;background:#f8fafc;border:1px solid var(--line-strong);border-radius:6px;padding:6px 10px;font-size:12.5px}.leaves .tag{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:4px}.tag.full{background:#fee2e2;color:#b91c1c}.tag.half{background:#fef3c7;color:#b45309}.leaves .x{background:none;color:#ef4444;font-size:16px;line-height:1;padding:0 2px;font-weight:700}.empty{font-size:12.5px;color:var(--ink-soft);font-style:italic;margin-top:8px}.actions{margin-top:20px;display:flex;flex-direction:column;gap:8px}.hint{font-size:11px;color:var(--ink-soft);margin-top:6px;line-height:1.4}.filein{font-size:12px}.stage{padding:28px;display:flex;flex-direction:column;align-items:center}.sheet{background:#fff;width:1040px;max-width:100%;border:2px solid var(--sheet-border);padding:26px 30px 34px;box-shadow:0 10px 30px rgba(20,40,70,.12);font-size:13px;color:#111}.sheet-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.logo-box{display:flex;flex-direction:column;align-items:center;gap:6px}.logo-box img{max-width:190px;max-height:80px;object-fit:contain}.logo-fallback{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px}.logo-fallback .lt{font-size:11px;letter-spacing:.22em;color:#3a3a3a;font-weight:600}.contact{font-size:12px;line-height:1.7;text-align:left}.meta{display:flex;justify-content:space-between;gap:24px;margin-top:14px;font-size:12.5px}.meta .col{display:grid;grid-template-columns:auto 1fr;grid-gap:2px 16px;gap:2px 16px;align-content:start}.meta .col.right{grid-template-columns:auto auto 1fr}.meta b{font-weight:600}table.ts{border-collapse:collapse;width:100%;margin-top:18px;table-layout:fixed}table.ts td,table.ts th{border:1px solid #2b2b2b;text-align:center;font-size:12px;height:24px;padding:2px 3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.ts th{font-weight:700;background:#fff}table.ts td.we,table.ts th.we{background:var(--weekend)}table.ts .lbl{text-align:left;padding-left:6px;width:118px}table.ts .lbl,table.ts td.date{font-weight:700}table.ts td.na{color:#222}table.ts .wtot{font-weight:700;vertical-align:middle}table.ts .totrow td{font-weight:700;height:26px}table.ts col.daycol{width:11.4%}.approve{display:flex;justify-content:flex-end;margin-top:22px}.approve table{border-collapse:collapse;width:430px}.approve td,.approve th{border:1px solid #2b2b2b;font-size:12.5px;padding:5px 8px;text-align:left}.approve th{text-align:center;font-weight:700}.approve .k{font-weight:700;width:130px}@media (max-width:880px){.stage{padding:14px;overflow-x:auto}.topbar{grid-template-columns:1fr;justify-items:center}.topbar .brand,.topbar-actions,.topbar-controls{justify-self:center}}.print-only{display:none}@media print{@page{size:landscape;margin:10mm}body{background:#fff}.cal,.cal-actions,.costpanel,.leftnav,.summary,.topbar{display:none!important}.dash{padding:0}.center,.dash{display:block}.print-only{display:block!important}.sheet{box-shadow:none;border:2px solid #000;width:100%;max-width:none;page-break-inside:avoid}.no-print{display:none!important}}.payslip-print-only{display:none;page:payslipPage}@page payslipPage{size:A4 portrait;margin:10mm}@media print{body:has(.payslip-print-only) .app-shell,body:has(.payslip-print-only) .modal-overlay{display:none!important}.payslip-print-only{display:block!important}.payslip-print-only .payslip{width:100%;padding:0}}.invoice-print-only{display:none;page:invoicePage}@page invoicePage{size:A4 landscape;margin:10mm}@media print{body:has(.invoice-print-only) .app-shell,body:has(.invoice-print-only) .modal-overlay{display:none!important}.invoice-print-only{display:block!important}.invoice-print-only .invoice{width:100%;padding:0}}.type-select{font:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink)}.type-select:disabled{background:#f8fafc;color:var(--ink-soft);cursor:default;border-color:var(--line)}.type-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;letter-spacing:.02em}.type-badge.employee{background:var(--accent-soft);color:var(--accent)}.type-badge.consultant{background:#fffbeb;color:#b45309}.proj-badges{display:flex;flex-wrap:wrap;gap:4px}.salary-print-title{margin:16px 0 8px;font-family:var(--headings);font-size:15px;font-weight:800}.muted-note{margin:10px 0 0;font-size:12px;color:var(--ink-soft)}.salary-stats{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 20px}.salary-stats .stat{flex:1 1 180px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm);transition:all .15s}.salary-stats .stat:hover{transform:translateY(-1px)}.salary-stats .stat b{display:block;font-family:var(--headings);font-size:24px;font-weight:800;color:var(--ink);line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.salary-stats .stat span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:700;margin-top:2px;display:block}.salary-stats .stat.tds b{color:#d93838}.salary-stats .stat.net{background:#edf3fc;border-color:#bfdbfe}.salary-stats .stat.net b{color:var(--accent-deep)}.zero-hint{color:var(--ink-soft);font-style:italic;font-size:12px}.payrun-hero{display:grid;grid-template-columns:1.6fr .8fr 1fr;grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:20px}.payrun-cell{background:#fff;padding:22px 26px}.payrun-cell.period{background:linear-gradient(180deg,#f4f8fe,#fff 60%)}.payrun-period-label{font-size:14px;color:var(--ink);font-weight:500}.payrun-period-label b{font-weight:800;font-family:var(--headings)}.payrun-period-sub{font-size:11.5px;color:var(--ink-soft);margin-top:4px}.payrun-period-sub .dot{margin:0 6px}.payrun-figs{display:flex;gap:36px;margin-top:18px}.payrun-fig b{display:block;font-family:var(--headings);font-size:26px;font-weight:800;color:var(--ink);line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.payrun-fig:last-child b{color:var(--accent-deep)}.payrun-fig span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:700;margin-top:4px;display:block}.payrun-cell.payday{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px}.payday-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:700}.payday-num{font-family:var(--headings);font-size:40px;font-weight:800;color:var(--ink);line-height:1}.payday-mon{font-size:11px;font-weight:700;color:var(--ink-soft);letter-spacing:.04em}.payday-emps{margin-top:8px;font-size:11.5px;color:var(--ink-soft)}.payrun-cell.deductions h3{font-size:13px;font-weight:700;color:var(--ink);margin:0 0 12px;font-family:var(--headings)}.ded-row{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--ink-soft);padding:5px 0}.ded-row b{color:var(--ink);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ded-row.total{border-top:1px solid var(--line);margin-top:4px;padding-top:9px}.ded-row.total b{color:#d93838}@media (max-width:900px){.payrun-hero{grid-template-columns:1fr}}.settings-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px 28px}.settings-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.settings-panel-head h3{font-size:15px;font-weight:700;color:var(--ink);margin:0;font-family:var(--headings)}.settings-panel-head .hint{margin:3px 0 0;font-size:12px}.settings-status{white-space:nowrap}.settings-status,.tds-sub{font-size:11px;color:var(--ink-soft);font-weight:600}.tds-sub{display:block;margin-top:1px}.tax-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tax-toggle{flex:none;background:#fff;border:1px solid var(--line-strong);border-radius:6px;padding:5px 12px;font:inherit;font-size:12.5px;font-weight:700;color:var(--accent);cursor:pointer;transition:all .15s}.tax-toggle:hover{background:var(--accent-soft);border-color:var(--accent)}.tax-summary-line{margin:0;font-size:12.5px;color:var(--ink-soft);line-height:1.5}.tax-settings{display:flex;gap:24px;flex-wrap:wrap;margin-top:12px}.slab-table{width:auto;min-width:280px}.tax-fields{display:flex;flex-direction:column;gap:10px;min-width:220px;flex:1 1}.tax-fields label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--ink-soft)}.tax-fields input{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink)}.tax-fields input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.tax-value{font-size:13px;font-weight:700;color:var(--ink);padding:6px 0}.slab-table td .tax-value{padding:6px 2px}.profile-card-wide{max-width:960px;margin:0 auto;width:100%}.profile-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.profile-avatar{width:50px;height:50px;border-radius:50%;background:#e2eefc;color:var(--accent-deep);display:grid;place-items:center;font-size:20px;flex:0 0 auto;border:1px solid #bfdbfe}.profile-avatar,.profile-head h2{font-family:var(--headings);font-weight:800}.profile-head h2{margin:0 0 3px;font-size:18px;display:flex;align-items:center;gap:8px;letter-spacing:-.02em}.profile-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:20px}.profile-tabs button{padding:10px 2px;background:none;border:none;border-bottom:2px solid transparent;font:inherit;font-size:13.5px;font-weight:700;color:var(--ink-soft);cursor:pointer;transition:all .1s}.profile-tabs button:hover{color:var(--ink)}.profile-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.profile-section-card{border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:16px;background:#fff;box-shadow:var(--shadow-sm)}.profile-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.profile-section-head h3{margin:0;font-family:var(--headings);font-size:14px;font-weight:800}.profile-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 28px;gap:12px 28px}@media (max-width:768px){.profile-grid{grid-template-columns:1fr;gap:12px}}.profile-row{display:flex;align-items:baseline;gap:14px;font-size:13px;min-height:26px}.profile-label{flex:0 0 140px;color:var(--ink-soft);font-weight:500}.profile-value{flex:1 1;font-weight:600;color:var(--ink)}.profile-value.pos{color:var(--good)}.profile-value.muted{color:var(--ink-soft)}.profile-row input,.profile-row select{flex:1 1;font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink)}.profile-row input:focus,.profile-row select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.wizard-overlay{position:fixed;inset:0;background:rgba(15,23,42,.2);z-index:70;display:grid;place-items:center;padding:24px}.wizard-card{max-width:760px;max-height:88vh;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}.wizard-card,.wizard-flat-card{width:100%;display:flex;flex-direction:column}.wizard-flat-card{background:transparent;border:none;box-shadow:none;overflow:visible}.wizard-flat-card .wizard-stepper{background:transparent;border-bottom:1px solid var(--line);padding:20px 0}.wizard-flat-card .wizard-body{padding:24px 0}.wizard-flat-card .wizard-foot{background:transparent;border-top:1px solid var(--line);padding:16px 0}.wizard-stepper{padding:20px 24px;border-bottom:1px solid var(--line);flex:0 0 auto;overflow-x:auto;background:#fcfdfe}.wizard-step,.wizard-stepper{display:flex;align-items:center;justify-content:center}.wizard-step{flex:1 1}.wizard-step:last-child{flex:0 0 auto}.wizard-step-dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-family:var(--headings);font-size:11px;font-weight:700;flex:0 0 auto;border:1.5px solid var(--line-strong);color:var(--ink-soft);background:#fff;transition:all .15s ease}.wizard-step-dot.active{background:var(--accent);border-color:var(--accent);color:#fff}.wizard-step-dot.done{background:var(--good);border-color:var(--good);color:#fff}.wizard-step-label{margin:0 8px;font-size:12.5px;font-weight:600;color:var(--ink-soft);white-space:nowrap}.wizard-step-label.active,.wizard-step-label.done{color:var(--ink);font-weight:700}.wizard-step-line{flex:1 1;max-width:60px;height:2px;background:var(--line-strong);margin-right:8px;transition:background .15s ease}.wizard-step-line.done{background:var(--accent)}.wizard-body{padding:24px 28px;overflow-y:auto;flex:1 1;min-height:0;display:flex;flex-direction:column;gap:14px}.wizard-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.wizard-name-row{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px}.wizard-field{display:flex;flex-direction:column;gap:5px}.wizard-field label{font-size:12.5px;font-weight:600;color:var(--ink)}.wizard-field input,.wizard-field select{font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink);transition:all .15s ease}.wizard-field input:focus,.wizard-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.req{color:#ea3c3c;margin-left:2px}.wizard-check{gap:8px;font-size:13px;color:var(--ink);-webkit-user-select:none;-moz-user-select:none;user-select:none}.wizard-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 28px;border-top:1px solid var(--line);flex:0 0 auto;background:#fcfdfe}.wizard-req-note{font-size:12px;color:var(--ink-soft)}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--line-strong);border-radius:4px;background:#fff;cursor:pointer;display:inline-grid;place-content:center;transition:all .15s ease;position:relative;vertical-align:middle;flex-shrink:0}input[type=checkbox]:before{content:"";width:9px;height:9px;transform:scale(0);transition:transform .1s ease-in-out;box-shadow:inset 1em 1em var(--accent);background-color:CanvasText;-webkit-clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}input[type=checkbox]:checked:before{transform:scale(1);box-shadow:inset 1em 1em #fff}input[type=checkbox]:focus{outline:none;border-color:var(--accent)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475569' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:10px;padding-right:32px!important}.btn{background:var(--accent);color:#fff;font-family:var(--sans);font-weight:600;font-size:13px;padding:8px 20px;border-radius:var(--radius,8px);border:1px solid var(--accent);transition:all .12s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.btn:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep)}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:#fff;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius,8px)}.btn.ghost:hover:not(:disabled){background:#f8fafc;color:var(--ink);border-color:var(--ink-soft)}.btn.ghost:active:not(:disabled){transform:translateY(.5px)}.btn.brand{background:linear-gradient(135deg,var(--accent) 0,var(--accent-deep) 100%);border:none;border-radius:10px;padding:12px 24px;font-size:14.5px;font-weight:600;color:#fff;box-shadow:0 2px 4px rgba(var(--accent-rgb),.15);transition:all .2s ease}.btn.brand:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-deep) 0,#084c7d 100%);box-shadow:0 4px 12px rgba(var(--accent-rgb),.25);transform:translateY(-.5px)}.btn.brand:active:not(:disabled){transform:translateY(.5px)}.btn.brand:disabled{background:#d1d5db;color:#9ca3af;box-shadow:none;cursor:not-allowed}.topbar-left{flex:1 1}.topbar-left,.topbar-right{display:flex;align-items:center}.topbar-right{gap:16px}.topbar-search-box{position:relative;display:flex;align-items:center;width:100%;max-width:260px}.topbar-search-box .search-icon{position:absolute;left:10px;color:#8893a7;pointer-events:none}.topbar-search-box .emp-search{width:100%;padding:8px 12px 8px 32px!important;background:#f4f7f9;border:1px solid #e4e7eb;border-radius:20px;font-size:13px}.topbar-search-box .emp-search:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.topbar-company{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;padding:6px 10px;border-radius:4px;transition:background .12s}.topbar-company:hover{background:var(--bg)}.topbar-icons{display:flex;align-items:center;gap:4px;border-right:1px solid var(--line);padding-right:12px}.topbar-icon-btn{background:none;border:none;color:var(--ink-soft);padding:6px;border-radius:4px;cursor:pointer;display:grid;place-items:center;transition:all .12s}.topbar-icon-btn:hover{background:var(--bg);color:var(--ink)}.page-workspace{padding:20px 24px;display:flex;flex-direction:column;flex:1 1}.emp-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px}.emp-list-title{margin:0;font-family:var(--sans);font-size:16px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:4px;cursor:pointer}.emp-list-actions{display:flex;align-items:center;gap:10px}.icon-btn-flat{background:#fff;border:1px solid var(--line-strong);color:var(--ink-soft);padding:6px 10px;border-radius:6px;cursor:pointer;display:grid;place-items:center;transition:all .12s}.icon-btn-flat:hover{border-color:var(--ink-soft);color:var(--ink);background:#f8fafc}.full-width-table{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.avatar-bg-green{background:#e8f5e9!important;color:#2e7d32!important}.avatar-bg-teal{background:#e0f2f1!important;color:#00695c!important}.avatar-bg-blue{background:#e3f2fd!important;color:#1565c0!important}.avatar-bg-purple{background:#f3e5f5!important;color:#6a1b9a!important}.wizard-section-divider{height:1px;background:var(--line);margin:32px 0;width:100%}.salary-structure-box{width:100%}.salary-structure-box .section-title{margin:0 0 4px;font-family:var(--headings);font-size:16px;font-weight:700;color:var(--ink)}.salary-structure-box .section-desc{margin:0 0 20px;font-family:var(--sans);font-size:13px;color:var(--ink-soft)}.ctc-row{display:flex;flex-direction:column;gap:6px;max-width:320px;margin-bottom:24px}.ctc-label{font-weight:600;font-size:13px;color:var(--ink)}.ctc-input-container{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;overflow:hidden;height:38px}.ctc-currency{padding:0 12px;background:#f8f9fa;color:var(--ink-soft);font-weight:600;border-right:1px solid var(--line-strong);height:100%;display:flex;align-items:center}.ctc-input{border:none!important;outline:none!important;padding:0 12px!important;flex:1 1;height:100%!important;font-family:var(--sans);font-size:14px;box-shadow:none!important}.ctc-suffix{padding:0 12px;color:var(--ink-soft);font-size:12px;font-weight:500}.salary-structure-table.emp-table{border:1px solid var(--line);background:#fff;border-radius:var(--radius);width:100%}.salary-structure-table tr.group-header-row td{background:#f8fafc;font-weight:700;font-size:12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;padding:10px 16px;border-bottom:1px solid var(--line)}.salary-structure-table td{padding:14px 16px;vertical-align:middle}.salary-structure-table td.component-name{display:flex;flex-direction:column;gap:2px}.salary-structure-table td.component-name .help-text{font-weight:400;font-size:11px;color:var(--ink-soft)}.salary-structure-table td.calc-label{color:var(--ink-soft);font-size:13px}.calc-type-input-wrap{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;overflow:hidden;height:32px}.calc-type-input-wrap input{width:60px;height:100%!important;border:none!important;outline:none!important;padding:0 8px!important;text-align:center;font-family:var(--sans);font-size:13px;box-shadow:none!important}.calc-type-label{padding:0 8px;background:#f8f9fa;color:var(--ink-soft);font-size:11px;font-weight:600;border-left:1px solid var(--line-strong);height:100%;display:flex;align-items:center}.calc-amount-disabled{background:#f4f6f8!important;color:var(--ink-soft)!important;cursor:not-allowed}.calc-amount-disabled,.calc-amount-input{width:120px;height:32px!important;border:1px solid var(--line-strong)!important;border-radius:var(--radius)!important;padding:0 8px!important;text-align:right;font-family:var(--sans);font-size:13px}.calc-amount-input{background:#fff!important;color:var(--ink)!important;outline:none}.salary-structure-table td.money-view{font-family:var(--sans);font-size:13px;color:var(--ink);font-weight:500}.salary-structure-table tr.ctc-summary-row td{background:var(--accent-soft)!important;border-top:2px solid var(--accent);border-bottom:2px solid var(--accent)}.salary-structure-table tr.ctc-summary-row td.wtot{font-weight:700;font-size:14px;color:var(--accent-deep)}.form-card-section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px;box-shadow:0 4px 20px -2px rgba(0,0,0,.02),0 1px 3px rgba(0,0,0,.01);margin-bottom:28px;transition:transform .2s ease,box-shadow .2s ease}.form-card-section:hover{box-shadow:0 10px 30px -5px rgba(0,0,0,.04),0 1px 4px rgba(0,0,0,.01)}.form-card-section .section-title{margin:0 0 16px;font-family:var(--headings);font-size:17px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px}.ctc-interactive-wrap{gap:16px}.ctc-interactive-wrap,.ctc-slider-container{display:flex;flex-direction:column;width:100%}.ctc-slider-container{gap:6px}.ctc-slider{-webkit-appearance:none;width:100%;height:6px;border-radius:3px;background:var(--line);outline:none;margin:10px 0}.ctc-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.15);-webkit-transition:transform .1s ease;transition:transform .1s ease}.ctc-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.ctc-slider-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-soft);font-weight:500}.wizard-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:16px;border-radius:8px;background:#f8fafc;border:1px solid var(--line);transition:all .15s ease}.wizard-check:hover{background:#f0f5fa;border-color:var(--line-strong)}.wizard-check input[type=checkbox]{width:18px;height:18px;border-radius:4px;accent-color:var(--accent);margin-top:1px;cursor:pointer}.calc-pct-input{width:60px;height:28px!important;border:1px solid var(--line-strong)!important;border-radius:6px!important;text-align:center;font-weight:600;outline:none}.calc-pct-input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(16,128,208,.08)!important}.salary-structure-table td.component-name{font-weight:600;color:var(--ink)}.salary-structure-table tbody tr:hover:not(.group-header-row):not(.ctc-summary-row){background:#fafbfe}.payment-options{display:flex;flex-direction:column;gap:12px;width:100%}.payment-card{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:10px;padding:18px 24px;background:#fff;cursor:pointer;transition:all .15s ease;position:relative}.payment-card:hover{background:#fdfdfd;border-color:var(--line-strong)}.payment-card.active{border-color:var(--accent);background:#fafcff}.payment-card-icon{width:42px;height:42px;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);flex-shrink:0}.payment-card.active .payment-card-icon{background:var(--accent-soft);color:var(--accent)}.payment-card-info{flex:1 1}.payment-card-title{font-weight:600;font-size:14px;color:var(--ink);margin-bottom:2px}.payment-card-desc{font-size:12px;color:var(--ink-soft)}.payment-card-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--line-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:transparent;transition:all .1s ease}.payment-card.active .payment-card-check{border-color:var(--accent);background:var(--accent);color:#fff}.payment-card-subform{border:1px solid var(--accent);border-top:none;border-bottom-left-radius:10px;border-bottom-right-radius:10px;background:#fafcff;padding:24px 32px;margin-top:-14px;margin-bottom:8px;animation:slideDownSubform .15s cubic-bezier(0,0,.2,1);box-shadow:inset 0 2px 4px rgba(0,0,0,.01)}@keyframes slideDownSubform{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.radio-group{gap:20px;height:42px}.radio-group,.radio-option{display:flex;align-items:center}.radio-option{gap:8px;cursor:pointer;font-size:13.5px;font-weight:500;color:var(--ink)}.radio-option input[type=radio]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.address-grid{display:grid;grid-template-columns:2fr 2fr 1fr;grid-gap:12px;gap:12px}@media only screen and (max-width:600px){.address-grid{grid-template-columns:1fr}}.wizard-timeline{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:800px;margin:0 auto 32px;padding:0 8px}.timeline-step{gap:10px;position:relative}.timeline-badge,.timeline-step{display:flex;align-items:center}.timeline-badge{width:30px;height:30px;border-radius:50%;border:2px solid var(--line-strong);background:#fff;color:var(--ink-soft);font-weight:700;font-size:13px;justify-content:center;transition:all .2s ease;flex-shrink:0}.timeline-step.active .timeline-badge{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 4px rgba(16,128,208,.15)}.timeline-step.completed .timeline-badge{background:var(--good);color:#fff;border-color:var(--good)}.timeline-label{font-size:13.5px;font-weight:600;color:var(--ink-soft);transition:all .2s ease;white-space:nowrap}.timeline-step.active .timeline-label,.timeline-step.completed .timeline-label{color:var(--ink)}.timeline-connector{flex:1 1;height:2px;background:var(--line);margin:0 16px;transition:all .2s ease;min-width:20px}.timeline-connector.completed{background:var(--good)}.wizard-step-pane{animation:fadeInStepPane .2s cubic-bezier(0,0,.2,1) forwards}@keyframes fadeInStepPane{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.wizard-container-v2{width:100%;max-width:960px;margin:0 auto;padding:10px 0}.wizard-card-v2{display:flex;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;box-shadow:0 20px 40px -10px rgba(0,0,0,.04),0 1px 3px rgba(0,0,0,.02);min-height:580px}.wizard-sidebar-v2{width:280px;background:#f8fafc;border-right:1px solid rgba(0,0,0,.06);padding:40px 28px;display:flex;flex-direction:column}.wizard-sidebar-header{margin-bottom:36px;display:flex;flex-direction:column;gap:2px}.wizard-sidebar-logo{font-family:var(--headings);font-weight:800;font-size:19px;color:var(--accent);letter-spacing:-.02em}.wizard-sidebar-subtitle{font-size:11px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em}.vertical-stepper{display:flex;flex-direction:column}.v-step-item{display:flex;align-items:flex-start;gap:12px;position:relative}.v-step-badge{width:24px;height:24px;border-radius:50%;border:2px solid var(--line-strong);background:#fff;color:var(--ink-soft);font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;margin-top:2px}.v-step-item.active .v-step-badge{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,128,208,.15)}.v-step-item.completed .v-step-badge{background:var(--good);color:#fff;border-color:var(--good)}.v-step-info{display:flex;flex-direction:column;gap:1px}.v-step-title{font-size:13.5px;font-weight:600;color:var(--ink-soft);transition:all .2s ease}.v-step-item.active .v-step-title,.v-step-item.completed .v-step-title{color:var(--ink)}.v-step-desc{font-size:10.5px;color:var(--ink-soft);opacity:.8}.v-step-line{width:2px;height:28px;background:var(--line);margin-left:11px;margin-top:4px;margin-bottom:4px}.v-step-line.completed{background:var(--good)}.wizard-content-v2{flex:1 1;padding:40px 48px;display:flex;flex-direction:column;justify-content:space-between}.step-pane-title{font-family:var(--headings);font-weight:700;font-size:20px;color:var(--ink);margin:0 0 4px}.step-pane-desc{font-size:13px;color:var(--ink-soft);margin:0 0 28px}.wizard-content-v2 .wizard-field{margin-bottom:18px}.wizard-content-v2 .wizard-field label{display:block;font-weight:600;font-size:12.5px;color:var(--ink-soft);margin-bottom:6px}.wizard-content-v2 input,.wizard-content-v2 select{background:#f8fafc;border:1px solid rgba(0,0,0,.05);border-radius:8px;height:40px;padding:0 14px;font-family:var(--sans);font-size:13.5px;color:var(--ink);width:100%;transition:all .15s ease;outline:none}.wizard-content-v2 input:focus,.wizard-content-v2 select:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px rgba(16,128,208,.06)}.wizard-content-v2 input:disabled{background:#f4f6f8;color:var(--ink-soft);cursor:not-allowed}.wizard-footer-v2{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.btn-v2{font-family:var(--sans);font-weight:600;font-size:13px;padding:9px 18px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;transition:all .15s ease;outline:none}.btn-v2.primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.btn-v2.primary:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep)}.btn-v2.primary:disabled{opacity:.5;cursor:not-allowed}.btn-v2.secondary{background:#fff;color:var(--ink);border:1px solid var(--line-strong)}.btn-v2.secondary:hover{background:#f8fafc;border-color:var(--ink-soft)}.btn-v2.text-only{background:transparent;color:var(--ink-soft);border:none;padding:9px 14px}.btn-v2.text-only:hover{color:var(--ink);background:rgba(0,0,0,.02)}.snackbar{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;align-items:center;gap:14px;padding:12px 20px;border-radius:6px;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.15);animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}.snackbar-success{background-color:var(--good,#10b981)}.snackbar-error{background-color:var(--bad,#ef4444)}.snackbar-info{background-color:var(--accent,#3b82f6)}.snackbar-message{font-size:14.5px;font-weight:500;letter-spacing:.01em}.snackbar-close{background:none;border:none;color:hsla(0,0%,100%,.8);font-size:20px;cursor:pointer;line-height:1;padding:0;margin-left:8px;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.snackbar-close:hover{color:#fff}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.btn-v2.danger{background:var(--bad);color:#fff;border:1px solid var(--bad)}.btn-v2.danger:hover:not(:disabled){background:#b71c1c;border-color:#b71c1c}.btn-v2.danger:disabled{opacity:.5;cursor:not-allowed}.settings-layout{display:flex;height:calc(100vh - 61px)}.settings-sidebar{width:240px;border-right:1px solid var(--line);background:#f0f4f8;padding:24px 0}.settings-sidebar-title{padding:0 24px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;color:var(--ink-soft);font-family:var(--sans)}.settings-nav{display:flex;flex-direction:column;gap:2px}.settings-nav a{padding:9px 24px;color:var(--ink-soft);text-decoration:none;font-size:13px;font-weight:500;border-left:3px solid transparent;transition:all .15s ease}.settings-nav a:hover{background:rgba(16,128,208,.04);color:var(--ink)}.settings-nav a.active{background:var(--accent-soft);color:var(--accent-deep);font-weight:600;border-left-color:var(--accent)}.settings-content{flex:1 1;padding:32px 40px;overflow-y:auto;background:#fdfdfd}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}.settings-header h2{font-size:20px;font-weight:700;margin:0}.gst-form-panel{background:var(--card-bg);border-radius:8px;padding:24px;border:1px solid var(--line)}.gst-form-row{display:flex;align-items:flex-start;margin-bottom:24px}.gst-form-row>label{width:240px;font-size:13.5px;font-weight:600;color:var(--ink);padding-top:8px}.gst-form-row .req{color:var(--bad)}.gst-form-row .hint-text{font-size:12px;color:var(--ink-soft);font-weight:400;margin-top:4px}.input-group{flex:1 1;max-width:400px;display:flex;flex-direction:column;gap:8px}.input-group input,.input-group select{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:6px;font-size:14px;color:var(--ink)}.input-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.input-group input:focus,.input-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}.input-group .val-text{padding-top:8px;font-size:14px;color:var(--ink);font-weight:500}.taxpayer-link{font-size:13px;color:var(--accent);text-decoration:none;font-weight:500}.taxpayer-link:hover{text-decoration:underline}.gst-toggle-row{align-items:center;padding:16px;background:#f9fafb;border-radius:8px;margin-bottom:32px}.gst-toggle-row>label{padding-top:0;font-size:14px}.toggle-wrapper{display:flex;align-items:center;gap:12px}.toggle-label{font-size:14px;font-weight:600;color:var(--ink)}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff}input:checked+.slider{background-color:var(--accent)}input:focus+.slider{box-shadow:0 0 1px var(--accent)}input:checked+.slider:before{transform:translateX(20px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.switch-static{width:44px;height:24px;border-radius:24px;background:var(--accent);position:relative;opacity:.8}.switch-static.off{background:#ccc}.switch-static:before{content:"";position:absolute;height:18px;width:18px;left:23px;bottom:3px;background-color:#fff;border-radius:50%}.switch-static.off:before{left:3px}