:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-bg:#f3f4f6;--text:#111827;--text-muted:#475467;--text-soft:#667085;--surface:#fff;--surface-muted:#f8fafc;--surface-subtle:#eef2f7;--border:#d7dce2;--border-soft:#e5e7eb;--input-border:#cdd4db;--button-bg:#111827;--button-text:#fff;--active-bg:#2563eb;--active-text:#fff;--danger:#b42318;--success:#15803d;--focus:#2563eb;--shadow:0 8px 20px #0f172a29;color:var(--text);background:var(--app-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Arial,Helvetica,sans-serif;font-weight:400;line-height:1.5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-bg:#101418;--text:#e8edf2;--text-muted:#b7c0ca;--text-soft:#9aa6b2;--surface:#171d23;--surface-muted:#202832;--surface-subtle:#26313d;--border:#3a4654;--border-soft:#2d3743;--input-border:#4b5968;--button-bg:#e8edf2;--button-text:#111827;--active-bg:#6ea8fe;--active-text:#07111d;--danger:#ff9b90;--success:#72d48c;--focus:#8bbcff;--shadow:0 10px 24px #0000005c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--text);background:var(--app-bg);margin:0}button,input,select,textarea{font:inherit}#root{min-height:100vh}h1,h2,h3,strong{font-family:Arial,Helvetica,sans-serif}h1{color:var(--text);margin:0;font-size:28px;line-height:1.2}h2{color:var(--text);margin:0;font-size:18px;line-height:1.3}p{margin:0}.app{max-width:1480px;color:var(--text);margin:0 auto;padding:20px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.app-switcher{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-bottom:18px;padding-bottom:12px;display:flex}.app-switch{border:1px solid var(--input-border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:10px 14px}.app-switch.active{background:var(--button-bg);color:var(--button-text)}.admin-switch{margin-left:auto}.nav-controls{border-left:1px solid var(--border);align-items:center;gap:8px;margin-left:16px;padding-left:16px;display:flex}.summary{flex-wrap:wrap;gap:8px;display:flex}.month-picker{color:var(--text);align-items:center;margin-top:4px;display:inline-flex;position:relative}.month-picker-button{border:1px solid var(--input-border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:16px}.month-calendar-popover{z-index:30;border:1px solid var(--input-border);background:var(--surface);width:280px;box-shadow:var(--shadow);border-radius:6px;grid-template-columns:repeat(3,minmax(82px,1fr));gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0}.month-calendar-head{grid-column:1/-1}.month-calendar-head select{border:1px solid var(--input-border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:8px}.month-calendar-popover button{color:var(--text);cursor:pointer;text-align:center;background:0 0;border:0;border-radius:4px;padding:8px}.month-calendar-popover button:hover{background:var(--surface-subtle)}.month-calendar-popover button.active{background:var(--active-bg);color:var(--active-text)}.summary span,.badge{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:6px 10px;font-size:14px}.company-switcher{border:1px solid var(--border);background:var(--surface);border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:14px;display:flex}.company-switcher select{color:var(--text);background:0 0;border:0}.login-shell{place-items:center;min-height:100vh;display:grid}.login-panel{width:min(420px,100%)}.form-error{color:var(--danger);grid-column:1/-1}.login-hint{color:var(--text-soft);font-size:13px}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.tab{border:1px solid var(--input-border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:10px 14px}.tab.active{background:var(--button-bg);color:var(--button-text)}.tab-content{display:block}.cash-header-balance{border-bottom:1px solid var(--input-border);justify-content:flex-start;margin-bottom:16px;padding-bottom:12px;display:flex}.balance-info{align-items:center;gap:8px;display:flex}.balance-label{color:var(--text-secondary);font-size:14px;font-weight:500}.balance-amount{color:var(--text);font-size:18px;font-weight:600}.grid{gap:20px;display:grid}.two-cols{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.top-aligned{align-items:start}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-head h2{margin:0;font-size:20px}.section-head.compact{margin-bottom:10px}.section-head.compact h2{font-size:16px}.section-head-actions{align-items:center;gap:8px;display:flex}.toolbar{margin-bottom:16px}.attendance-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.toolbar label,.form-grid label{gap:6px;font-size:14px;display:grid}.toolbar input,.toolbar select,.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--input-border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:10px 12px}.form-grid textarea{resize:vertical;min-height:96px}.toolbar .checkbox-label{align-items:center;gap:8px;padding-bottom:10px;display:flex}.toolbar .checkbox-label input{width:auto;padding:0}.form-grid .checkbox-label{align-items:center;gap:8px;display:flex}.form-grid .checkbox-label input,.company-access-grid input{width:auto}.company-access-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.permission-section{gap:8px;display:grid}.permission-section strong{font-size:14px}.company-rename{flex:1}.company-rename input{border:1px solid var(--input-border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:8px 10px;font-weight:700}.company-row{align-items:center}.date-input-group{display:block;position:relative}.date-calendar-popover{z-index:20;border:1px solid var(--input-border);background:var(--surface);width:210px;box-shadow:var(--shadow);border-radius:6px;padding:8px;position:absolute;top:calc(100% + 4px);left:0}.date-calendar-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.date-calendar-header strong{font-size:14px}.date-calendar-header div{gap:4px;display:flex}.date-calendar-header button,.date-calendar-day{color:var(--text);cursor:pointer;background:0 0;border:0}.date-calendar-header button{border-radius:4px;width:24px;height:24px;padding:0;font-size:18px;line-height:1}.date-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-calendar-weekday{text-align:center;color:var(--text-soft);padding:2px 0;font-size:11px;font-weight:700}.date-calendar-day{aspect-ratio:1;border-radius:4px;padding:0;font-size:12px}.date-calendar-header button:hover,.date-calendar-day:hover{background:var(--surface-subtle)}.date-calendar-day.muted{color:var(--text-soft)}.date-calendar-day.selected{background:var(--active-bg);color:var(--active-text)}.formula-panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;gap:8px;margin-top:16px;padding:12px;display:grid}.formula-panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.formula-panel-head strong{font-size:14px}.formula-panel-actions{align-items:center;gap:8px;display:flex}.formula-panel-actions button{border:1px solid var(--button-bg);background:var(--button-bg);color:var(--button-text);cursor:pointer;border-radius:6px;padding:8px 14px}.formula-panel-actions button.secondary{border-color:var(--input-border);background:var(--surface);color:var(--text)}.saved-indicator{color:var(--success);font-size:13px;font-weight:700}.tax-settings-grid{grid-template-columns:repeat(2,minmax(180px,260px));gap:12px;display:grid}.tax-settings-grid label{gap:6px;font-size:13px;display:grid}.tax-settings-grid input{border:1px solid var(--input-border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:8px 10px}.formula-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.formula-grid span{border:1px solid var(--border-soft);background:var(--surface);border-radius:6px;padding:8px;font-size:13px}.tax-bracket-table{border:1px solid var(--border);background:var(--surface);border-radius:6px;display:grid;overflow:hidden}.tax-bracket-head,.tax-bracket-row{grid-template-columns:1.2fr .45fr .75fr 1.45fr;display:grid}.tax-bracket-head.compact,.tax-bracket-row.compact{grid-template-columns:1.2fr .45fr 1.45fr}.tax-bracket-head{background:var(--surface-subtle);font-weight:700}.tax-bracket-head span,.tax-bracket-row span{border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);padding:8px;font-size:13px}.tax-bracket-head span:last-child,.tax-bracket-row span:last-child{border-right:0}.tax-bracket-row:last-child span{border-bottom:0}.tax-bracket-row input{border:1px solid var(--input-border);background:var(--surface);width:100%;color:var(--text);border-radius:4px;padding:6px 8px}.stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.stats-row.compact{grid-template-columns:repeat(3,minmax(120px,1fr));margin-bottom:0}.project-dashboard{gap:16px;display:grid}.project-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.project-stats .stat-box strong{overflow-wrap:anywhere}.project-sort-toolbar{flex-wrap:wrap;gap:12px;display:flex}.project-sort-toolbar label{min-width:180px}.project-tracker-actions{align-items:center;gap:8px;display:flex}.project-add-row{flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:16px;display:flex}.add-project-button{align-items:center;gap:6px;padding:7px 10px;font-size:13px;display:inline-flex}.add-project-button span{font-size:16px;font-weight:700;line-height:1}.export-menu{position:relative}.export-menu-button{align-items:center;gap:8px;display:inline-flex}.export-menu-list{z-index:25;border:1px solid var(--input-border);background:var(--surface);min-width:180px;box-shadow:var(--shadow);border-radius:6px;display:none;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.export-menu:hover .export-menu-list,.export-menu:focus-within .export-menu-list{display:grid}.export-menu-list button{border:0;border-bottom:1px solid var(--border-soft);color:var(--text);text-align:left;background:0 0;border-radius:0;padding:9px 10px}.export-menu-list button:last-child{border-bottom:0}.export-menu-list button:hover{background:var(--surface-subtle)}.project-create-inline{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;margin-bottom:16px;padding:14px}.project-form-split{grid-column:1/-1;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:14px;display:grid}.project-details-section{gap:12px;min-width:0;display:grid}.project-talent-section{border:1px solid var(--border);background:var(--surface-subtle);border-radius:6px;gap:10px;min-width:0;padding:12px;display:grid}.project-talent-list{gap:10px;display:grid}.project-talent-row{grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) minmax(110px,.5fr) auto;align-items:end;gap:10px;display:grid}.talent-picker{display:block;position:relative}.talent-picker input{padding-right:38px}.talent-picker-button{border:0;border-left:1px solid var(--input-border);background:var(--surface-muted);width:34px;height:calc(100% - 2px);color:var(--text);border-radius:0 5px 5px 0;place-items:center;padding:0;display:grid;position:absolute;top:1px;right:1px}.talent-suggestion-list{z-index:25;border:1px solid var(--input-border);background:var(--surface);width:100%;max-height:220px;box-shadow:var(--shadow);border-radius:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.talent-suggestion-list button{border:0;border-bottom:1px solid var(--border-soft);color:var(--text);text-align:left;background:0 0;border-radius:0;gap:2px;padding:8px 10px;display:grid}.talent-suggestion-list button:last-child{border-bottom:0}.talent-suggestion-list button:hover{background:var(--surface-subtle)}.talent-suggestion-list span{color:var(--text-soft);font-size:12px}.project-list{gap:12px;display:grid}.project-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:12px;padding:16px;display:grid}.project-card-split{grid-template-columns:minmax(0,1.08fr) minmax(340px,.82fr);align-items:stretch;gap:20px;display:grid}.project-card-left,.project-card-right{gap:12px;min-width:0;display:grid}.project-card-left{align-content:start}.project-card-right{border-left:1px solid var(--border-soft);align-content:start;padding-left:18px}.project-inline-form{margin-bottom:0}.project-card-main{justify-content:space-between;gap:16px;display:flex}.project-card-title{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.project-card-heading{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.project-card-title h2{margin:0;font-size:18px}.project-price{color:var(--text);font-size:20px;font-weight:800;line-height:1}.project-financial-row{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px;padding-right:180px;display:grid;position:relative}.project-core-row,.project-completion-row{grid-column:1/-1;align-items:end;gap:12px;display:grid}.project-core-row{grid-template-columns:minmax(0,1.4fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(170px,.8fr)}.project-completion-row{grid-template-columns:minmax(170px,.9fr) minmax(180px,auto) minmax(170px,.9fr)}.project-financial-row>label,.project-vat-field{min-width:0}.project-vat-field select{width:100%;min-width:0}.project-finished-field{white-space:nowrap;place-self:end;position:absolute;bottom:10px;right:0}.project-finish-placeholder{min-height:1px}.project-payment-section{border:1px solid var(--border);background:var(--surface-subtle);border-radius:6px;gap:10px;padding:12px;display:grid}.project-payment-list{gap:10px;display:grid}.project-contract-flags{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.project-contract-flags .checkbox-label{color:var(--text);align-items:center;gap:8px;display:inline-flex}.project-contract-flags .checkbox-label input{width:auto}.project-payment-row{grid-template-columns:minmax(150px,.8fr) minmax(150px,.8fr) minmax(0,1.6fr) auto;align-items:end;gap:10px;display:grid}.project-meta{color:var(--text-soft);flex-wrap:wrap;gap:8px;margin-top:10px;font-size:13px;display:flex}.project-meta span{border:1px solid var(--border-soft);background:var(--surface-muted);border-radius:6px;padding:4px 8px}.project-card-left .project-meta span{background:var(--surface-muted)}.project-card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:4px;display:flex}.project-card-actions .project-finish-toggle{padding:7px 10px}.project-card-actions .project-finish-date input{min-width:132px;padding:7px 10px}.project-progress{background:var(--surface-subtle);border-radius:999px;height:10px;overflow:hidden}.project-progress span{border-radius:inherit;background:var(--active-bg);height:100%;display:block}.project-progress.over-estimate span{background:var(--danger)}.project-progress.past-estimate span{background:#ca8a04}.project-progress.under-estimate span{background:var(--success)}.project-progress-block{gap:6px;display:grid}.project-progress-labels{color:var(--text-soft);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;display:flex}.project-progress-labels strong{color:var(--text)}.project-card-footer{gap:8px;display:grid}.project-payment-panel{align-content:start;gap:12px;display:grid}.project-side-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.project-side-head strong{font-size:16px}.project-side-head span{color:var(--text-soft);font-size:13px}.project-payment-meta{color:var(--text-soft);flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.project-payment-meta span{border:1px solid var(--border-soft);background:var(--surface-muted);border-radius:6px;padding:4px 8px}.project-side-actions,.project-status-controls{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.project-status-controls{justify-content:space-between}.project-quick-payment{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1.15fr) minmax(140px,.65fr) minmax(132px,.55fr) auto;align-items:end;gap:10px;padding:0;display:grid}.project-quick-payment label{gap:6px;min-width:0;font-size:13px;display:grid}.project-quick-payment span{color:var(--text-soft)}.project-quick-payment input[type=text],.project-quick-payment input[type=date]{border:1px solid var(--input-border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:10px 12px}.project-quick-payment input[type=range]{width:100%}.project-quick-payment-action{align-items:end;display:flex}.project-payment-chip{align-items:center;gap:8px;display:inline-flex}.project-payment-chip button{border:1px solid var(--input-border);background:var(--surface);width:18px;height:18px;color:var(--danger);cursor:pointer;border-radius:999px;place-items:center;padding:0;font-size:12px;line-height:1;display:grid}.project-payment-chip button:hover{background:var(--surface-subtle)}.cash-settings-grid{margin-bottom:0}.cash-settings-anchor{position:relative}.cash-settings-popup{z-index:30;border:1px solid var(--input-border);background:var(--surface);width:min(360px,100vw - 48px);box-shadow:var(--shadow);border-radius:10px;gap:12px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.cash-settings-popup-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.cash-settings-popup-head strong{font-size:14px}.cash-settings-popup-actions{align-items:center;gap:8px;display:flex}.cash-entry-grid{grid-template-columns:minmax(150px,.8fr) minmax(170px,.9fr) minmax(150px,.8fr) minmax(0,2fr) auto;align-items:end;gap:12px;margin-top:16px;margin-bottom:0;display:grid}.cash-entry-grid label{gap:6px;min-width:0;font-size:14px;display:grid}.cash-entry-grid input,.cash-entry-grid select{border:1px solid var(--input-border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:10px 12px}.cash-entry-description{min-width:0}.cash-entry-action{align-items:end;gap:8px;display:flex}.cash-book{border:1px solid var(--border);background:var(--surface);border-radius:6px;margin:16px 0;display:grid;overflow:hidden}.cash-book-row{grid-template-columns:minmax(120px,.8fr) minmax(120px,.8fr) minmax(0,2fr) minmax(160px,.9fr) minmax(140px,.9fr);align-items:center;gap:10px;display:grid}.cash-book-head{background:var(--surface-subtle);font-weight:700}.cash-book-row span,.cash-book-row strong{border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);padding:10px 12px;font-size:13px}.cash-book-row span:last-child,.cash-book-row strong:last-child{border-right:0}.cash-book-row:last-child span,.cash-book-row:last-child strong{border-bottom:0}.cash-book-actions{border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:10px 12px;display:flex}.cash-book-row:last-child .cash-book-actions{border-bottom:0}.cash-book-row span{color:var(--text-soft)}.cash-book-edit-row input,.cash-book-edit-row select{border:1px solid var(--input-border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:8px 10px}.cash-book-edit-row span{color:var(--text)}.cash-book-amount{text-align:right}.cash-book-amount.in{color:var(--success)}.cash-book-amount.out{color:var(--danger)}.talent-chips{flex-wrap:wrap;gap:8px;display:flex}.talent-chip{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;padding:6px 10px;font-size:13px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-report{grid-column:1/-1}.report-table{border:1px solid #d7dce2;border-radius:6px;display:grid;overflow:hidden}.report-quarter-select{align-items:center;gap:8px;font-size:14px;display:flex}.report-quarter-select select{background:#fff;border:1px solid #cdd4db;border-radius:6px;padding:8px 10px}.report-row{grid-template-columns:.7fr repeat(4,minmax(0,1fr));display:grid}.report-row.deduction{grid-template-columns:1.2fr 1fr 1fr}.report-row.declaration{grid-template-columns:120px minmax(280px,1fr) 120px 180px}.report-row.annual-detail{grid-template-columns:1.2fr 1fr .9fr 120px 1fr 1fr 1fr 1fr}.report-row.annual-dependent{grid-template-columns:1.1fr 1fr 90px 1.2fr 1fr 1fr}.annual-declaration-table,.annual-detail-table,.annual-dependent-table{margin-bottom:16px}.annual-detail-head{margin-top:4px}.annual-detail-head h3{margin:0;font-size:16px}.report-row.head{background:#eef2f7;font-weight:700}.report-row span{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;padding:8px;font-size:13px}.report-row span:last-child{border-right:0}.report-row:last-child span{border-bottom:0}.stat-box{background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;padding:12px}.stat-box strong{margin-bottom:6px;font-size:22px;display:block}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-head{text-align:center;color:#475467;padding:8px 6px;font-size:12px;font-weight:700}.calendar-cell{background:#fff;border:1px solid #e4e7ec;border-radius:6px;min-height:92px;padding:10px}.calendar-cell-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.calendar-cell.has-log{background:#f8fbff;border-color:#bfd3f6}.calendar-cell.muted{background:#f9fafb}.calendar-day{margin-bottom:8px;font-weight:700}.calendar-meta{color:#475467;gap:4px;font-size:12px;display:grid}.cell-add-button{color:#111827;background:#fff;padding:4px 8px;font-size:11px}.calendar-log-list{gap:6px;margin-top:8px;display:grid}.calendar-log-chip{color:#111827;text-align:left;background:#fff;border:1px solid #d0d5dd;border-radius:6px;padding:6px 8px;font-size:12px}.calendar-editor{border-top:1px solid #e5e7eb;gap:8px;margin-top:10px;padding-top:10px;display:grid}.calendar-editor label{gap:4px;font-size:12px;display:grid}.calendar-editor input,.calendar-editor select{background:#fff;border:1px solid #cdd4db;border-radius:6px;width:100%;padding:8px 10px}.calendar-editor-actions{gap:8px;display:flex}.timesheet-wrap{border:1px solid #d0d5dd;margin-bottom:16px}.timesheet-table{border-collapse:collapse;width:100%;min-width:1800px}.timesheet-table th,.timesheet-table td{text-align:center;white-space:nowrap;border:1px solid #111827;padding:6px 4px}.timesheet-table thead th,.timesheet-table tfoot td{background:#fff;font-weight:700}.timesheet-table th.sun,.timesheet-table td.sun{color:#04130a;background:#11b44c}.timesheet-table th.sat,.timesheet-table td.sat{background:#edf7ee}.timesheet-code-cell{cursor:pointer;min-width:38px;height:36px;font-weight:700}.timesheet-code-cell.active{outline-offset:-2px;outline:2px solid #2563eb}.timesheet-cell-content{place-items:center;gap:2px;min-height:28px;display:grid}.timesheet-code-row{justify-content:center;align-items:center;gap:4px;display:inline-flex}.timesheet-code-select{color:#111827;background:#fff;border:1px solid #94a3b8;border-radius:4px;width:28px;height:22px;padding:0;font-size:11px}.ot-badge{color:#2563eb;font-size:10px;font-weight:700;line-height:1;display:block}.timesheet-code-cell.code-p{color:#b42318}.timesheet-code-cell.code-o,.timesheet-code-cell.code-ro,.timesheet-code-cell.code-cl,.timesheet-code-cell.code-cđ{color:#344054}.timesheet-editor{gap:4px;display:grid}.timesheet-editor select,.timesheet-editor input{border:1px solid #cdd4db;border-radius:4px;width:100%;min-width:0;padding:4px 6px;font-size:12px}.timesheet-editor-actions{gap:4px;display:flex}.mini-button{padding:4px 6px;font-size:11px}.attendance-bottom{grid-template-columns:minmax(180px,.8fr) minmax(240px,1fr) minmax(280px,1.2fr);align-items:start;gap:12px;display:grid}.freelancer-attendance-list{gap:8px;display:grid}.freelancer-attendance-row{border:1px solid var(--border);background:var(--surface-subtle);border-radius:6px;gap:2px;padding:8px;display:grid}.freelancer-attendance-row span{color:var(--muted);font-size:12px}.legend-grid{align-content:start;gap:8px;display:grid}.legend-row{grid-template-columns:48px 1fr;align-items:center;gap:8px;display:grid}.side-editor{padding:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.form-grid.narrow{grid-template-columns:repeat(2,minmax(0,1fr))}.dependent-detail-section{border:1px solid var(--border);background:var(--surface-subtle);border-radius:6px;grid-column:1/-1;gap:10px;padding:12px;display:grid}.dependent-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.form-grid input[readonly]{color:#475467;background:#f8fafc}.form-actions{grid-column:1/-1;gap:8px;margin-top:4px;display:flex}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border:1px solid var(--input-border);border-radius:8px;width:90%;max-width:400px;max-height:90vh;padding:20px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h3{margin:0;font-size:18px}button{color:#fff;cursor:pointer;background:#111827;border:1px solid #c3cbd4;border-radius:6px;padding:10px 14px}button:disabled{cursor:not-allowed;opacity:.55}button.secondary,.link-button{color:#111827;background:#fff}.theme-toggle{background:var(--surface);width:36px;min-width:36px;height:36px;color:var(--text);border-color:var(--input-border);place-items:center;padding:0;font-size:18px;line-height:1;display:inline-grid}.list{gap:10px;display:grid}.list-row{border:1px solid #e3e8ee;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.list-row strong{margin-bottom:4px;display:block}.row-actions{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.project-finish-toggle{border:1px solid var(--input-border);background:var(--surface-muted);color:var(--text);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:inline-flex}.project-finish-toggle input{width:auto;margin:0}.project-finish-date{color:var(--text-soft);gap:4px;font-size:12px;display:grid}.project-finish-date input{border:1px solid var(--input-border);background:var(--surface);min-width:140px;color:var(--text);border-radius:6px;padding:8px 10px}.link-button{padding:8px 12px}.link-button.danger{color:#b42318}.hint{color:#475467;margin:0 0 12px}.table-wrap{overflow-x:auto}.excel-wrap{border:1px solid #d0d5dd}.excel-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:1500px}.excel-table th,.excel-table td{text-align:left;white-space:nowrap;text-overflow:ellipsis;border:1px solid #e5e7eb;padding:10px 12px;overflow:hidden}.excel-input{background:#fff;border:1px solid #cdd4db;border-radius:4px;width:120px;min-width:90px;padding:7px 8px}.excel-select{min-width:120px;color:var(--text);background:#fff;border:1px solid #cdd4db;border-radius:4px;padding:7px 8px}.icon-link{width:28px;height:28px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;padding:0;font-weight:700;display:inline-grid}.icon-link.danger{color:#b42318}.icon-link:hover{background:#fff1f0;border-color:#fda29b}.excel-table thead th{vertical-align:middle;background:#eef2f6;font-size:13px;font-weight:700}.excel-table tfoot td{background:#f8fafc;font-weight:700}.section-row td{background:#f3f4f6;font-weight:700}.net-pay{font-weight:700}:root[data-theme=dark] .month-picker-button,:root[data-theme=dark] .month-calendar-popover,:root[data-theme=dark] .month-calendar-head select,:root[data-theme=dark] .summary span,:root[data-theme=dark] .badge,:root[data-theme=dark] .company-switcher,:root[data-theme=dark] .panel,:root[data-theme=dark] .tab,:root[data-theme=dark] .toolbar input,:root[data-theme=dark] .toolbar select,:root[data-theme=dark] .form-grid input,:root[data-theme=dark] .form-grid select,:root[data-theme=dark] .company-rename input,:root[data-theme=dark] .date-calendar-popover,:root[data-theme=dark] .tax-settings-grid input,:root[data-theme=dark] .formula-grid span,:root[data-theme=dark] .tax-bracket-table,:root[data-theme=dark] .tax-bracket-row input,:root[data-theme=dark] .export-menu-list,:root[data-theme=dark] .report-quarter-select select,:root[data-theme=dark] .stat-box,:root[data-theme=dark] .calendar-cell,:root[data-theme=dark] .cell-add-button,:root[data-theme=dark] .calendar-log-chip,:root[data-theme=dark] .calendar-editor input,:root[data-theme=dark] .calendar-editor select,:root[data-theme=dark] .timesheet-code-select,:root[data-theme=dark] .timesheet-editor select,:root[data-theme=dark] .timesheet-editor input,:root[data-theme=dark] .excel-input,:root[data-theme=dark] .excel-select{background:var(--surface);color:var(--text);border-color:var(--input-border)}:root[data-theme=dark] .company-switcher select,:root[data-theme=dark] .month-calendar-popover button,:root[data-theme=dark] .date-calendar-header button,:root[data-theme=dark] .date-calendar-day{color:var(--text)}:root[data-theme=dark] .tab.active,:root[data-theme=dark] button:not(.secondary):not(.link-button):not(.tab):not(.month-picker-button):not(.month-calendar-popover button):not(.date-calendar-day):not(.date-calendar-header button):not(.cell-add-button):not(.calendar-log-chip):not(.theme-toggle){background:var(--button-bg);color:var(--button-text);border-color:var(--button-bg)}:root[data-theme=dark] button.secondary,:root[data-theme=dark] .link-button,:root[data-theme=dark] .theme-toggle{background:var(--surface);color:var(--text);border-color:var(--input-border)}:root[data-theme=dark] .link-button.danger,:root[data-theme=dark] .form-error,:root[data-theme=dark] .timesheet-code-cell.code-p{color:var(--danger)}:root[data-theme=dark] .login-hint,:root[data-theme=dark] .hint,:root[data-theme=dark] .calendar-head,:root[data-theme=dark] .calendar-meta,:root[data-theme=dark] .date-calendar-weekday,:root[data-theme=dark] .form-grid input[readonly],:root[data-theme=dark] .timesheet-code-cell.code-o,:root[data-theme=dark] .timesheet-code-cell.code-ro,:root[data-theme=dark] .timesheet-code-cell.code-cl,:root[data-theme=dark] .timesheet-code-cell.code-cđ{color:var(--text-muted)}:root[data-theme=dark] .month-calendar-popover,:root[data-theme=dark] .date-calendar-popover{box-shadow:var(--shadow)}:root[data-theme=dark] .month-calendar-popover button:hover,:root[data-theme=dark] .date-calendar-header button:hover,:root[data-theme=dark] .date-calendar-day:hover,:root[data-theme=dark] .formula-panel,:root[data-theme=dark] .calendar-cell.has-log,:root[data-theme=dark] .calendar-cell.muted,:root[data-theme=dark] .form-grid input[readonly],:root[data-theme=dark] .timesheet-table th.sat,:root[data-theme=dark] .timesheet-table td.sat,:root[data-theme=dark] .excel-table tfoot td,:root[data-theme=dark] .section-row td{background:var(--surface-muted)}:root[data-theme=dark] .month-calendar-popover button.active,:root[data-theme=dark] .date-calendar-day.selected{background:var(--active-bg);color:var(--active-text)}:root[data-theme=dark] .tax-bracket-head,:root[data-theme=dark] .report-row.head,:root[data-theme=dark] .excel-table thead th{background:var(--surface-subtle)}:root[data-theme=dark] .formula-panel,:root[data-theme=dark] .report-table,:root[data-theme=dark] .timesheet-wrap,:root[data-theme=dark] .excel-wrap{border-color:var(--border)}:root[data-theme=dark] .tax-bracket-head span,:root[data-theme=dark] .tax-bracket-row span,:root[data-theme=dark] .report-row span,:root[data-theme=dark] .excel-table th,:root[data-theme=dark] .excel-table td{border-color:var(--border-soft)}:root[data-theme=dark] .timesheet-table th,:root[data-theme=dark] .timesheet-table td{border-color:#526171}:root[data-theme=dark] .timesheet-table thead th,:root[data-theme=dark] .timesheet-table tfoot td{background:var(--surface)}:root[data-theme=dark] .timesheet-table th.sun,:root[data-theme=dark] .timesheet-table td.sun{color:#ecfff3;background:#0d8f46}:root[data-theme=dark] .timesheet-code-cell.active{outline-color:var(--focus)}:root[data-theme=dark] .ot-badge{color:var(--focus)}:root[data-theme=dark] .saved-indicator{color:var(--success)}@media (width<=1024px){.two-cols,.form-grid,.form-grid.narrow,.stats-row,.report-grid,.tax-settings-grid,.formula-grid,.project-form-split,.project-card-split,.project-core-row,.project-financial-row,.project-completion-row,.project-quick-payment,.cash-entry-grid,.cash-book-row,.project-talent-row,.attendance-bottom{grid-template-columns:1fr}.project-financial-row{padding-right:0}.project-finished-field{justify-self:start;position:static}.project-card-right{border-left:0;border-top:1px solid var(--border-soft);padding-top:14px;padding-left:0}.topbar,.app-switcher,.tabs,.attendance-toolbar,.list-row,.project-card-main,.form-actions,.row-actions{flex-direction:column}}
