:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.pin-login{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.pin-card{background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:0;width:100%;max-width:340px;padding:36px 28px 28px;display:flex;box-shadow:0 20px 60px #0003}.pin-app-name{color:#111827;text-align:center;margin-bottom:4px;font-size:26px;font-weight:700}.pin-subtitle{color:#6b7280;text-align:center;margin-bottom:28px;font-size:14px}.pin-dots{gap:16px;margin-bottom:8px;display:flex}.pin-dot{background:#e5e7eb;border-radius:50%;width:16px;height:16px;transition:background .15s,transform .15s}.pin-dot.filled{background:#3b82f6;transform:scale(1.1)}.pin-error{color:#ef4444;text-align:center;min-height:20px;margin-bottom:4px;font-size:13px;font-weight:500}.pin-loading{color:#6b7280;text-align:center;min-height:20px;margin-bottom:4px;font-size:13px}.pin-hint{min-height:20px;margin-bottom:4px}.pin-pad{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;margin:20px 0 8px;display:grid}.pin-key{aspect-ratio:1;color:#111827;cursor:pointer;background:#f3f4f6;border:none;border-radius:12px;justify-content:center;align-items:center;font-size:22px;font-weight:600;transition:background .15s,transform .1s;display:flex}.pin-key:hover:not(:disabled){color:#3b82f6;background:#e0e7ff}.pin-key:active:not(:disabled){background:#c7d2fe;transform:scale(.93)}.pin-key:disabled{opacity:.5;cursor:not-allowed}.pin-key-delete{color:#6b7280;font-size:18px}.pin-key-delete:hover:not(:disabled){color:#ef4444;background:#fee2e2}.admin-link{color:#9ca3af;cursor:pointer;background:0 0;border:none;margin-top:8px;padding:8px;font-size:12px;transition:color .2s}.admin-link:hover{color:#6b7280;text-decoration:underline}.back-to-pin-wrap{text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:16px}.back-to-pin{color:#fff;cursor:pointer;background:#fff3;border:1px solid #fff6;border-radius:8px;padding:10px 20px;font-size:14px;transition:background .2s}.back-to-pin:hover{background:#ffffff59}.camera-capture{margin-bottom:24px}.camera-placeholder{text-align:center;color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;padding:40px 20px}.camera-placeholder p{margin-bottom:16px;font-size:18px;font-weight:500}.camera-buttons{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.start-camera-btn,.upload-btn{cursor:pointer;background:#fff;border:none;border-radius:8px;padding:12px 20px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s}.start-camera-btn{color:#667eea}.upload-btn{color:#10b981}.start-camera-btn:hover,.upload-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.camera-active{background:#000;border-radius:12px;position:relative;overflow:hidden}.camera-video{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.camera-controls{background:#000c;justify-content:center;gap:12px;padding:16px;display:flex}.capture-btn,.stop-btn{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s}.capture-btn{color:#fff;background:#10b981}.capture-btn:hover{background:#059669}.stop-btn{color:#fff;background:#ef4444}.stop-btn:hover{background:#dc2626}.error{color:#ef4444;background:#fee;border:1px solid #fcc;border-radius:6px;margin-top:12px;padding:12px;font-size:14px}.photo-preview{background:var(--gray-100);border-radius:12px;margin-top:20px;overflow:hidden}.photo-preview img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.retake-btn{color:#fff;cursor:pointer;background:#667eea;border:none;width:100%;padding:12px 16px;font-size:14px;font-weight:600;transition:background .2s}.retake-btn:hover{background:#5568d3}.capture-page{max-width:600px;margin:0 auto}.capture-section{margin-bottom:24px}.invoice-form{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.invoice-form .form-group{margin-bottom:16px}.invoice-form label{color:#374151;margin-bottom:6px;font-size:14px;font-weight:500;display:block}.invoice-form input[type=text],.invoice-form input[type=date],.invoice-form input[type=time],.invoice-form input[type=number],.invoice-form textarea{color:#111827;-webkit-text-fill-color:#111827;background:#f1f5f9;border:1px solid #e5e7eb;border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.invoice-form input:focus,.invoice-form textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.invoice-form textarea{resize:vertical;min-height:100px}.save-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;width:100%;margin-top:8px;padding:12px 16px;font-size:16px;font-weight:600;transition:background .2s}.message{border-radius:6px;margin-bottom:12px;padding:12px 16px;font-size:14px;font-weight:500}.message.success{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.message.error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.line-items-section{margin-bottom:16px}.line-items-header{margin-bottom:8px}.line-items-header label{color:#374151;font-size:14px;font-weight:500}.line-items-table{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;overflow:hidden}.line-items-col-headers{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;background:#f9fafb;border-bottom:1px solid #e5e7eb;grid-template-columns:1fr 60px 90px 80px 32px;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;display:grid}.line-item-row{border-bottom:1px solid #f3f4f6;grid-template-columns:1fr 60px 90px 80px 32px;align-items:center;gap:6px;padding:8px 10px;display:grid}.line-item-row:last-child{border-bottom:none}.line-item-row input{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:5px;width:100%;padding:7px 8px;font-family:inherit;font-size:13px}.line-item-row input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.item-total{color:#111827;text-align:right;font-size:13px;font-weight:600}.remove-item-btn{color:#d1d5db;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;transition:color .15s;display:flex}.remove-item-btn:hover:not(:disabled){color:#ef4444}.remove-item-btn:disabled{opacity:.3;cursor:not-allowed}.add-item-btn{color:#3b82f6;cursor:pointer;background:0 0;border:1px dashed #d1d5db;border-radius:6px;width:100%;padding:8px 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}.add-item-btn:hover{background:#eff6ff;border-color:#3b82f6}.totals-section{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;overflow:hidden}.totals-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:9px 14px;font-size:14px;display:flex}.totals-row:last-child{border-bottom:none}.totals-row label{color:#374151;margin:0;font-weight:500}.totals-row span{color:#374151}.totals-row input{color:#111827;text-align:right;border:1px solid #e5e7eb;border-radius:5px;width:100px;padding:6px 8px;font-family:inherit;font-size:14px}.totals-row input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.tax-label-row{align-items:center;gap:8px;display:flex}.tax-exempt-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:2px 10px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.tax-exempt-btn:hover{color:#b91c1c;border-color:#b91c1c}.tax-exempt-btn.active{color:#fff;background:#b91c1c;border-color:#b91c1c}.tip-input-group{align-items:center;gap:4px;display:flex}.tip-input-group input{text-align:right;color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:5px;width:72px;padding:6px 8px;font-family:inherit;font-size:14px}.tip-unit{color:#374151;font-size:14px;font-weight:500}.tip-computed{color:#6b7280;white-space:nowrap;font-size:12px}.subtotal-row{background:#f9fafb;font-weight:600}.tsp-wrap{position:relative}.tsp-trigger{color:#6b7280;cursor:pointer;box-sizing:border-box;background:#f1f5f9;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s;display:flex}.tsp-trigger.has-value{color:#111827}.tsp-trigger:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.tsp-clear-x{color:#9ca3af;cursor:pointer;font-size:12px}.tsp-clear-x:hover{color:#374151}.tsp-popup{z-index:300;background:#fff;border:1px solid #e5e7eb;border-radius:16px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 8px 32px #00000024}.tsp-cols-wrap{justify-content:center;align-items:center;height:220px;padding:8px 16px;display:flex;position:relative}.tsp-highlight{pointer-events:none;background:#f3f4f6;border-radius:10px;height:44px;position:absolute;top:50%;left:16px;right:16px;transform:translateY(-50%)}.tsp-col{z-index:1;cursor:ns-resize;flex-direction:column;width:72px;height:220px;display:flex;position:relative;overflow:hidden}.tsp-item{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:100%;height:44px;font-family:inherit;transition:all .12s;display:flex}.tsp-item.far{color:#d1d5db;font-size:13px}.tsp-item.near{color:#6b7280;font-size:17px}.tsp-item.sel{color:#111827;cursor:default;font-size:22px;font-weight:700}.tsp-colon{color:#111827;z-index:1;-webkit-user-select:none;user-select:none;padding:0 2px;font-size:22px;font-weight:700}.tsp-footer{border-top:1px solid #e5e7eb;display:flex}.tsp-clear-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-right:1px solid #e5e7eb;flex:1;padding:13px;font-family:inherit;font-size:15px;transition:background .15s}.tsp-clear-btn:hover{color:#374151;background:#f9fafb}.tsp-done-btn{color:#b91c1c;cursor:pointer;background:0 0;border:none;flex:1;padding:13px;font-family:inherit;font-size:15px;font-weight:600;transition:background .15s}.tsp-done-btn:hover{background:#fff5f5}.grand-total-row{background:#b91c1c;font-size:15px;font-weight:700}.grand-total-row span{color:#fff!important}@media (width<=640px){.invoice-form{padding:16px}.line-items-col-headers{grid-template-columns:1fr 48px 78px 70px 28px;font-size:11px}.line-item-row{grid-template-columns:1fr 48px 78px 70px 28px}}.invoice-list{max-width:900px;margin:0 auto}.detail-line-items{margin:12px 0}.detail-items-table{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:13px}.detail-items-table thead tr{color:#fff;background:#b91c1c}.detail-items-table th{text-align:left;padding:8px 10px;font-size:12px;font-weight:600}.detail-items-table th:not(:first-child){text-align:right}.detail-items-table td{color:#374151;border-bottom:1px solid #f3f4f6;padding:7px 10px}.detail-items-table td:not(:first-child){text-align:right}.detail-items-table tbody tr:nth-child(2n){background:#f9fafb}.detail-totals{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.detail-totals-row{color:#374151;border-bottom:1px solid #f3f4f6;justify-content:space-between;padding:7px 12px;font-size:13px;display:flex}.detail-totals-row:last-child{border-bottom:none}.detail-totals-row.grand{color:#fff;background:#b91c1c;font-size:14px;font-weight:700}.worker-filter{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.worker-chip{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.worker-chip:hover{border-color:var(--worker-color,#b91c1c);color:var(--worker-color,#b91c1c)}.worker-chip.active{background:var(--worker-color,#b91c1c);border-color:var(--worker-color,#b91c1c);color:#fff}.payment-filter-row{gap:6px;margin-bottom:10px;display:flex}.pf-chip{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:5px 13px;font-size:12px;font-weight:500;transition:all .15s}.pf-chip.active{color:#111827;background:#f3f4f6;border-color:#374151}.pf-chip.unpaid.active{color:#92400e;background:#fef3c7;border-color:#f59e0b}.pf-chip.paid.active{color:#065f46;background:#d1fae5;border-color:#10b981}.payment-card-badge{letter-spacing:.04em;border-radius:10px;margin-top:5px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.payment-card-badge.paid{color:#065f46;background:#d1fae5}.payment-card-badge.unpaid{color:#92400e;background:#fef3c7}.payment-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-top:12px;padding:14px}.payment-pending-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:11px;font-weight:600}.payment-methods-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.pay-btn{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;transition:all .15s;display:flex}.pay-btn:hover{background:#f0fdf4;border-color:#10b981}.pay-btn-name{color:#374151;font-size:12px;font-weight:600}.pay-btn-amount{color:#111827;font-size:13px;font-weight:700}.payment-done{justify-content:space-between;align-items:center;display:flex}.payment-done-left{align-items:center;gap:10px;display:flex}.payment-check-circle{color:#fff;background:#10b981;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;font-weight:700;display:flex}.payment-done-method{color:#059669;font-size:14px;font-weight:600}.payment-undo-btn{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:12px;transition:all .15s}.payment-undo-btn:hover{color:#374151;border-color:#9ca3af}.worker-badge{text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:11px;font-weight:600}.drp-wrap{margin-bottom:12px;position:relative}.drp-trigger{color:#6b7280;cursor:pointer;text-align:left;background:#fff;border:1px solid #d1d5db;border-radius:10px;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:14px;transition:border-color .15s,color .15s;display:flex}.drp-trigger:hover{color:#374151;border-color:#b91c1c}.drp-trigger.has-range{color:#b91c1c;border-color:#b91c1c}.drp-display{flex:1}.drp-clear-x{color:#9ca3af;flex-shrink:0;font-size:12px;line-height:1}.drp-clear-x:hover{color:#374151}.drp-popup{z-index:200;background:#fff;border:1px solid #e5e7eb;border-radius:14px;width:290px;padding:16px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 32px #00000021}.drp-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.drp-month-label{color:#111827;font-size:14px;font-weight:600}.drp-nav{cursor:pointer;color:#374151;background:0 0;border:1px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:17px;line-height:1;transition:background .1s;display:flex}.drp-nav:hover{background:#f3f4f6}.drp-dow{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.drp-dow span{text-align:center;color:#9ca3af;padding:4px 0;font-size:11px;font-weight:600}.drp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.drp-day{cursor:pointer;color:#374151;background:0 0;border:none;border-radius:7px;height:34px;font-family:inherit;font-size:13px;transition:background .1s}.drp-day:hover{background:#f3f4f6}.drp-day.edge{color:#fff;background:#b91c1c;font-weight:700}.drp-day.in-range{color:#991b1b;background:#fee2e2;border-radius:0}.drp-hint{text-align:center;color:#9ca3af;margin-top:10px;margin-bottom:0;font-size:12px}.search-row{align-items:center;gap:8px;margin-bottom:16px;display:flex}.search-row .search-bar{flex:1;margin-bottom:0}.select-mode-btn{color:#374151;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:10px;flex-shrink:0;padding:10px 16px;font-size:14px;font-weight:500;transition:all .15s}.select-mode-btn:hover{color:#b91c1c;border-color:#b91c1c}.select-mode-btn.active{color:#b91c1c;background:#fff5f5;border-color:#b91c1c}.search-bar{margin-bottom:16px;position:relative}.search-input{color:#111827;caret-color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:10px;width:100%;padding:11px 40px 11px 14px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.search-clear{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.search-clear:hover{color:#6b7280}.export-btn{color:#fff;cursor:pointer;background:#0ea5e9;border:none;border-radius:6px;width:100%;margin-top:12px;padding:12px 16px;font-size:14px;font-weight:600;transition:background .2s}.export-btn:hover:not(:disabled){background:#0284c7}.export-btn:disabled{cursor:not-allowed;background:#d1d5db}.empty-state{text-align:center;color:#6b7280;padding:40px 20px;font-size:16px}.invoice-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.invoice-card{cursor:pointer;background:#fff;border-radius:12px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000001a}.invoice-card.selected{box-shadow:0 0 0 2px #b91c1c,0 1px 3px #0000001a}.card-select-check{color:#fff;z-index:1;background:#00000059;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;transition:all .15s;display:flex;position:absolute;top:8px;right:8px}.card-select-check.checked{background:#b91c1c;border-color:#b91c1c}.batch-bar{z-index:100;white-space:nowrap;background:#fff;border:1px solid #e5e7eb;border-radius:50px;align-items:center;gap:8px;padding:10px 14px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000026}.batch-count{color:#374151;min-width:72px;font-size:13px;font-weight:600}.batch-select-all-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:20px;padding:7px 13px;font-size:13px;font-weight:500;transition:all .15s}.batch-select-all-btn:hover{color:#111827;border-color:#6b7280}.batch-export-btn{color:#fff;cursor:pointer;background:#b91c1c;border:none;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s}.batch-export-btn:hover:not(:disabled){background:#991b1b}.batch-export-btn:disabled{cursor:not-allowed;background:#d1d5db}.invoice-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.invoice-card img{object-fit:cover;background:#f3f4f6;width:100%;height:150px;display:block}.card-info{padding:12px}.card-info h3{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px;font-size:16px;font-weight:600;overflow:hidden}.card-info .date{color:#6b7280;margin-bottom:6px;font-size:13px}.card-info .total{color:#10b981;font-size:16px;font-weight:700}.invoice-detail{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.back-btn{color:#3b82f6;cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:8px;font-size:16px;font-weight:500}.back-btn:hover{text-decoration:underline}.detail-content{flex-direction:column;gap:16px;display:flex}.detail-image{object-fit:contain;background:#f3f4f6;border-radius:8px;width:100%;max-height:400px;display:block}.detail-info{flex-direction:column;gap:12px;display:flex}.detail-info h2{color:#111827;font-size:24px;font-weight:700}.detail-info p{color:#374151;font-size:14px;line-height:1.5}.detail-info strong{color:#111827;font-weight:600}.timestamp{color:#9ca3af;border-top:1px solid #e5e7eb;margin-top:8px;padding-top:8px;font-size:13px}.edit-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;width:100%;margin-top:12px;padding:12px 16px;font-size:14px;font-weight:600;transition:background .2s}.edit-btn:hover{background:#4338ca}.delete-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;width:100%;margin-top:8px;padding:12px 16px;font-size:14px;font-weight:600;transition:background .2s}.delete-btn:hover:not(:disabled){background:#dc2626}.delete-btn:disabled{cursor:not-allowed;background:#d1d5db}.delete-confirm{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;margin-top:12px;padding:16px}.delete-confirm p{color:#991b1b;margin-bottom:12px;font-size:14px;font-weight:500}.delete-confirm-actions{gap:8px;display:flex}.delete-confirm-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;flex:1;padding:10px;font-size:14px;font-weight:600}.delete-confirm-btn:hover:not(:disabled){background:#dc2626}.cancel-btn{color:#374151;cursor:pointer;background:#e5e7eb;border:none;border-radius:6px;flex:1;padding:10px;font-size:14px;font-weight:600}.cancel-btn:hover{background:#d1d5db}.delete-error{color:#991b1b;margin-top:8px;font-size:13px}.edit-form{padding:4px 0}.edit-form h2{margin-bottom:16px;font-size:20px;font-weight:700}.edit-form .form-group{margin-bottom:14px}.edit-form label{color:#374151;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.edit-form input,.edit-form textarea{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.edit-form input:focus,.edit-form textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.edit-actions{gap:8px;margin-top:16px;display:flex}.save-edit-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:6px;flex:1;padding:12px;font-size:14px;font-weight:600}.save-edit-btn:hover:not(:disabled){background:#059669}.save-edit-btn:disabled{cursor:not-allowed;background:#d1d5db}.edit-actions .cancel-btn{flex:1}@media (width<=640px){.invoice-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.invoice-detail{padding:16px}.detail-info h2{font-size:20px}}.admin-page{max-width:600px;margin:0 auto;padding-bottom:24px}.admin-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-header h2{color:#111827;font-size:22px;font-weight:700}.add-worker-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .2s}.add-worker-btn:hover{background:#1e40af}.admin-success{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:14px;font-weight:500}.add-worker-form{background:#fff;border-radius:12px;margin-bottom:20px;padding:20px;box-shadow:0 1px 3px #0000001a}.add-worker-form h3{color:#111827;margin-bottom:16px;font-size:16px;font-weight:600}.add-worker-form .form-group{margin-bottom:14px}.add-worker-form label{color:#374151;margin-bottom:5px;font-size:13px;font-weight:600;display:block}.add-worker-form input{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .2s}.add-worker-form input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-error{color:#ef4444;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:13px}.form-actions{gap:10px;display:flex}.save-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;flex:1;padding:11px;font-size:14px;font-weight:600;transition:background .2s}.save-btn:hover:not(:disabled){background:#059669}.save-btn:disabled{cursor:not-allowed;background:#d1d5db}.cancel-form-btn{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;flex:1;padding:11px;font-size:14px;font-weight:600;transition:background .2s}.cancel-form-btn:hover:not(:disabled){background:#e5e7eb}.workers-list{flex-direction:column;gap:10px;display:flex}.no-workers{text-align:center;color:#6b7280;padding:32px;font-size:15px}.worker-row{background:#fff;border-radius:10px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;box-shadow:0 1px 3px #00000014}.worker-info{flex-direction:column;gap:2px;display:flex}.worker-name{color:#111827;font-size:16px;font-weight:600}.worker-id{color:#9ca3af;font-size:12px}.remove-btn{color:#ef4444;cursor:pointer;background:#fee2e2;border:none;border-radius:6px;flex-shrink:0;padding:7px 14px;font-size:13px;font-weight:600;transition:background .2s}.remove-btn:hover:not(:disabled){background:#fecaca}.remove-btn:disabled{opacity:.5;cursor:not-allowed}.admin-note{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-top:24px;padding:14px 16px;font-size:13px;line-height:1.6}.admin-note p+p{margin-top:4px}:root{--primary:#3b82f6;--primary-dark:#1e40af;--secondary:#10b981;--danger:#ef4444;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-600:#4b5563;--gray-700:#374151;--gray-900:#111827;--white:#fff}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:var(--gray-50);color:var(--gray-900);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{flex-direction:column;min-height:100vh;display:flex}.loading{justify-content:center;align-items:center;min-height:100vh;font-size:18px;display:flex}.app-container{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--white);border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:16px;display:flex;box-shadow:0 1px 3px #0000001a}.app-header h1{color:var(--gray-900);font-size:24px;font-weight:700}.logout-btn{background:var(--gray-200);cursor:pointer;color:var(--gray-700);border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .2s}.logout-btn:hover{background:var(--gray-300)}.tab-nav{background:var(--white);border-bottom:2px solid var(--gray-200);display:flex}.tab-btn{color:var(--gray-600);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s}.tab-btn:hover{color:var(--primary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.app-content{flex:1;padding:16px;overflow-y:auto}.auth-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.auth-box{background:var(--white);border-radius:12px;width:100%;max-width:400px;padding:32px;box-shadow:0 10px 25px #0000001a}.auth-box h1{text-align:center;color:var(--gray-900);margin-bottom:24px;font-size:28px}.auth-box form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--gray-700);font-size:14px;font-weight:500}.form-group input,.form-group textarea{border:1px solid var(--gray-300);border-radius:6px;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82f61a}button[type=submit]{background:var(--primary);color:var(--white);cursor:pointer;border:none;border-radius:6px;margin-top:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .2s}button[type=submit]:hover:not(:disabled){background:var(--primary-dark)}button[type=submit]:disabled{background:var(--gray-300);cursor:not-allowed}.toggle-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:8px;font-size:14px}.toggle-btn:hover{text-decoration:underline}.error-message{color:var(--danger);background:#fee;border:1px solid #fcc;border-radius:4px;padding:8px 12px;font-size:13px}@media (width<=640px){.app-header{padding:12px}.app-header h1{font-size:20px}.app-content{padding:12px}.auth-box{padding:24px}.auth-box h1{font-size:24px}}
