:root{--color-primary:#4f46e5;--color-primary-dark:#4338ca;--color-primary-light:#ede9fe;--color-primary-dim:#ddd6fe;--color-primary-faint:#4f46e566;--color-dark:#1a1a2e;--color-dark-navy:#1e1b4b;--color-success:#15803d;--color-success-light:#dcfce7;--color-success-faint:#f0fdf4;--color-success-border:#86efac;--color-danger:#dc2626;--color-danger-light:#fee2e2;--color-danger-dim:#fecaca;--color-bg:#f0f2f5;--color-surface:#fff;--color-surface-alt:#f9fafb;--color-surface-raised:#f8fafc;--color-border:#e5e7eb;--color-border-light:#ddd;--color-text:#1a1a2e;--color-text-strong:#374151;--color-text-secondary:#555;--color-text-subtle:#6b7280;--color-text-muted:#9ca3af;--color-text-nav:#a5b4fc;--color-row-alt:#f5f7fa;--color-row-hover:#ede9fe;--color-row-today:#dbeafe;--color-row-today-alt:#bfdbfe;--color-highlight:#c7d2fe}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}#app{flex-direction:column;height:100vh;display:flex}.topbar{background:var(--color-dark);color:var(--color-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.topbar-left{align-items:center;gap:.75rem;display:flex}.topbar-right{align-items:center;gap:.6rem;display:flex}.topbar-nav{gap:.25rem;display:flex}.app-title{letter-spacing:1px;font-size:1.1rem;font-weight:700}.app-logo{object-fit:contain;width:auto;height:36px;display:block}.nav-link{color:var(--color-text-nav);border-radius:6px;padding:.35rem .85rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.nav-link:hover{color:var(--color-surface);background:#a5b4fc26}.nav-link.active{background:var(--color-primary-faint);color:var(--color-surface)}.user-badge{color:var(--color-text-nav);font-size:.8rem}.btn-ghost{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.4rem .9rem;font-size:.85rem}.btn-ghost:hover{color:var(--color-surface)}.btn-primary{background:var(--color-primary);color:var(--color-surface);cursor:pointer;border:none;border-radius:6px;padding:.55rem 1.3rem;font-size:.9rem;font-weight:600;transition:background .2s}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{background:var(--color-surface-raised);color:var(--color-text-strong);border:1.5px solid var(--color-border-light);cursor:pointer;border-radius:6px;padding:.55rem 1.3rem;font-size:.9rem;font-weight:600}.btn-secondary:hover{background:var(--color-border)}.btn-edit,.btn-delete{cursor:pointer;border:none;border-radius:4px;margin-left:4px;padding:3px 10px;font-size:.78rem;font-weight:600}.btn-edit{background:var(--color-primary-light);color:var(--color-primary)}.btn-edit:hover{background:var(--color-primary-dim)}.btn-delete{background:var(--color-danger-light);color:var(--color-danger)}.btn-delete:hover{background:var(--color-danger-dim)}.btn-clone{background:var(--color-success-faint);color:var(--color-success);border:1.5px solid var(--color-success-border);cursor:pointer;border-radius:6px;padding:.55rem 1.3rem;font-size:.9rem;font-weight:600;transition:background .2s}.btn-clone:hover{background:var(--color-success-light)}.fab{background:var(--color-primary);width:56px;height:56px;color:var(--color-surface);cursor:pointer;z-index:50;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.75rem;transition:background .2s,transform .15s,box-shadow .2s;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 16px #4f46e566}.fab:hover{background:var(--color-primary-dark);transform:scale(1.08);box-shadow:0 6px 20px #4f46e580}.fab:active{transform:scale(.96)}.overlay{z-index:300;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:10px;width:100%;max-height:90vh;box-shadow:0 8px 40px #0000002e}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;display:flex}.modal-header h2{margin:0;font-size:1.1rem}.close-btn{cursor:pointer;color:var(--color-text-subtle);background:0 0;border:none;font-size:1.1rem;line-height:1}.form-grid{grid-template-columns:1fr 1fr;gap:.9rem 1.2rem;padding:1.2rem 1.5rem;display:grid}.field{flex-direction:column;gap:4px;display:flex}.field.full{grid-column:1/-1}.field-hint{color:var(--color-text-muted);font-size:.72rem;font-weight:400}label{color:var(--color-text-secondary);font-size:.78rem;font-weight:600}input,textarea,select{border:1.5px solid var(--color-border-light);border-radius:6px;outline:none;padding:.5rem .65rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}input:focus,textarea:focus,select:focus{border-color:var(--color-primary)}textarea{resize:vertical}.actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:.6rem;margin-top:.5rem;display:flex}.actions.has-clone{justify-content:space-between}.actions-right{gap:.6rem;display:flex}.error{color:var(--color-danger);margin:0;font-size:.85rem}.search{border:1.5px solid var(--color-border-light);border-radius:6px;outline:none;flex:1;min-width:180px;padding:.45rem .7rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.search:focus{border-color:var(--color-primary)}.view-toggle{gap:2px;display:flex}.view-btn{border:1.5px solid var(--color-border-light);background:var(--color-surface);cursor:pointer;color:var(--color-text-secondary);border-radius:5px;padding:.35rem .75rem;font-size:.8rem;transition:background .15s,border-color .15s,color .15s}.view-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.view-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface)}.count{color:var(--color-text-subtle);white-space:nowrap;font-size:.82rem}.data-row{border-bottom:1px solid #f1f3f5;transition:background .1s}.data-row:hover{background:var(--color-row-hover)}.row-even{background:var(--color-surface)}.row-odd{background:var(--color-row-alt)}.row-today-even{background:var(--color-row-today)!important}.row-today-odd{background:var(--color-row-today-alt)!important}.loading,.empty{text-align:center;color:var(--color-text-muted);padding:2rem;font-size:.9rem}.row-lead{border-left:3px solid var(--color-primary);background:#eff6ff!important}.row-lead:hover{background:#dbeafe!important}.capitalize{text-transform:capitalize}.bottom-nav{display:none}.bnav-item{color:var(--color-text-nav);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:0;font-family:inherit;font-size:.65rem;font-weight:600;text-decoration:none;transition:color .15s;display:flex}.bnav-item svg{width:20px;height:20px}.bnav-item:hover,.bnav-item.active{color:var(--color-surface)}.bnav-item.active svg{stroke:var(--color-primary-light)}@media (width<=640px){.topbar-nav,.user-badge,.topbar-logout{display:none}.bottom-nav{z-index:200;background:var(--color-dark);border-top:1px solid #ffffff1a;height:56px;display:flex;position:fixed;bottom:0;left:0;right:0}.dashboard,.emp-page,.contractors-page,.audit-page{padding-bottom:56px}.fab{bottom:calc(56px + 1rem);right:1rem}.overlay{align-items:flex-end;padding-bottom:56px}.modal{border-radius:16px 16px 0 0;width:100%;max-height:calc(85vh - 56px);overflow-y:auto}.form-grid{grid-template-columns:1fr}.field.full{grid-column:1}}
