.dashboard{padding:var(--space-3) 0 var(--space-6)}.stats-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(2,1fr);margin:var(--space-3) 0}@media (min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.quick-actions{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;margin:var(--space-2) 0 var(--space-3)}.dashboard-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}@media (min-width:900px){.dashboard-grid{grid-template-columns:2fr 1fr}}.table-wrap{overflow-x:auto;background:#fff;border-radius:var(--radius);border:1px solid var(--color-border)}.data-table{width:100%;border-collapse:collapse;min-width:600px}.data-table th,.data-table td{padding:12px;text-align:left;border-bottom:1px solid var(--color-border);font-size:0.95rem}.data-table th{background:var(--color-bg);font-weight:600;font-size:0.85rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0.05em}.data-table tr:last-child td{border-bottom:none}.data-table tr.flagged{background:#fef3c7}.notif-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.notif-list li{background:#fff;border-radius:var(--radius);border:1px solid var(--color-border)}.notif-list li.unread{border-left:3px solid var(--color-accent)}.notif-list a{display:block;padding:var(--space-2);color:var(--color-text)}.notif-list a:hover{text-decoration:none;background:var(--color-bg)}.notif-list p{margin:4px 0;font-size:0.875rem;color:var(--color-text-secondary)}.activity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.activity-list li{background:#fff;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);font-size:0.95rem}.empty-state{text-align:center;padding:var(--space-4) var(--space-2);background:#fff;border-radius:var(--radius);border:1px dashed var(--color-border)}.card-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));justify-items:stretch;align-items:stretch;margin-top:var(--space-2)}.card-list{display:flex;flex-direction:column;gap:var(--space-2)}.job-card{background:#fff;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:6px}.job-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.job-card h3{margin:0;font-size:1.05rem}.job-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:0.875rem;color:var(--color-text-secondary);margin-top:4px}.filter-tabs{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2);flex-wrap:wrap}.filter-tabs a{padding:10px 14px;color:var(--color-text-secondary);border-bottom:2px solid transparent;font-weight:500;text-transform:capitalize}.filter-tabs a.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-bottom:var(--space-2)}.filter-bar input,.filter-bar select{width:auto;min-width:140px}.browse-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}@media (min-width:900px){.browse-grid{grid-template-columns:240px 1fr}}.filter-sidebar{background:#fff;border-radius:var(--radius-lg);padding:var(--space-2);border:1px solid var(--color-border);display:none}.filter-sidebar form{display:flex;flex-direction:column;gap:var(--space-2)}.filter-sidebar.open{display:block;position:fixed;top:0;left:0;right:0;bottom:0;z-index:60;overflow:auto;border-radius:0}@media (min-width:900px){.filter-sidebar{display:block;position:sticky;top:80px;align-self:start}#toggle-filters{display:none}}.mobile-only{display:inline-block}@media (min-width:900px){.mobile-only{display:none}}/* Job detail */ .job-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap}.job-detail-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}@media (min-width:900px){.job-detail-grid{grid-template-columns:2fr 1fr}}.info-card{background:#fff;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);margin-bottom:var(--space-2)}.info-card h3{margin-top:0;font-size:1rem}.info-card p{margin:4px 0;font-size:0.95rem}.photo-grid{display:flex;gap:8px;flex-wrap:wrap}.photo-grid img{width:150px;height:150px;object-fit:cover;border-radius:var(--radius)}.interest-card{background:#fff;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border)}/* Messages */ .messages-layout{display:grid;gap:var(--space-2);grid-template-columns:1fr;min-height:500px}@media (min-width:768px){.messages-layout{grid-template-columns:280px 1fr}}.conv-list{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:8px;display:flex;flex-direction:column;gap:4px;max-height:600px;overflow-y:auto}.conv-item{padding:10px;border-radius:var(--radius);color:var(--color-text);position:relative}.conv-item:hover{background:var(--color-bg);text-decoration:none}.conv-item.active{background:#eff6ff}.conv-item.unread{font-weight:600}.conv-item .badge{position:absolute;top:8px;right:8px;background:var(--color-accent);color:#fff;padding:2px 6px;border-radius:999px;font-size:0.75rem}.message-pane{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2);display:flex;flex-direction:column;min-height:500px}.message-thread{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:var(--space-1);max-height:500px}.msg{padding:10px 14px;border-radius:var(--radius);max-width:75%}.msg.mine{background:var(--color-accent);color:#fff;align-self:flex-end}.msg.theirs{background:var(--color-bg)}.msg p{margin:0}.msg.mine .muted{color:rgba(255,255,255,0.7)}.message-form{display:flex;gap:8px;margin-top:var(--space-1);align-items:end}.message-form textarea{flex:1;min-height:50px}/* Reviews */ .review-card{background:#fff;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);margin-bottom:var(--space-2)}/* Profile */ .company-hero{background:linear-gradient(135deg,var(--color-primary),#1e3a5f);color:#fff;padding:var(--space-4) 0}.company-hero h1{color:#fff;display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.company-hero .muted{color:rgba(255,255,255,0.7)}.company-hero-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr;align-items:center}@media (min-width:768px){.company-hero-grid{grid-template-columns:auto 1fr}}.company-hero .company-logo.big{background:#fff;color:var(--color-primary)}.profile-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}@media (min-width:900px){.profile-grid{grid-template-columns:2fr 1fr}}/* Admin nav */ .admin-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:4px;margin-bottom:var(--space-3)}.admin-nav a{padding:8px 14px;border-radius:var(--radius);color:var(--color-text)}.admin-nav a.active,.admin-nav a:hover{background:var(--color-accent);color:#fff;text-decoration:none}/* Admin panel cards — equal visual weight,side-by-side */ .admin-dashboard-grid{display:grid;gap:24px;align-items:start;grid-template-columns:1fr}@media (min-width:768px){.admin-dashboard-grid{grid-template-columns:1fr 1fr}}.admin-panel{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:stretch;gap:16px}.admin-panel h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-primary);line-height:1.3}.admin-panel .data-table{width:100%;min-width:0}.admin-panel .data-table th,.admin-panel .data-table td{border-bottom:1px solid #f3f4f6;padding:10px 8px}.admin-panel .data-table tr:last-child td{border-bottom:none}.admin-panel .table-wrap{overflow-x:auto;border:none;background:transparent;border-radius:0}/* Empty state inside an admin panel — keeps the panel from collapsing when empty */ .empty-state-inline{min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center;padding:16px}.empty-state-inline i{font-size:2rem;color:#d1d5db;line-height:1}.empty-state-inline p{margin:0;color:#6b7280;font-size:0.9rem}.btn-danger-outline{background:#fff;color:var(--color-danger);border-color:#fecaca}.btn-danger-outline:hover{background:#fef2f2;color:var(--color-danger);border-color:var(--color-danger)}/* Recent Signups table — scoped to the admin overview panel */ .admin-panel.recent-signups{gap:16px}.admin-panel.recent-signups .table-wrap{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.admin-panel.recent-signups .data-table{table-layout:fixed;width:100%;min-width:480px;border:none;border-collapse:collapse}.admin-panel.recent-signups .data-table th{background:#f8f9fa;font-size:0.75rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:#6b7280;padding:10px 16px;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:middle}.admin-panel.recent-signups .data-table td{padding:12px 16px;vertical-align:middle;border-bottom:1px solid #f1f5f9;font-size:0.95rem;color:var(--color-text)}.admin-panel.recent-signups .data-table tbody tr:last-child td{border-bottom:none}.admin-panel.recent-signups .data-table tbody tr:nth-child(odd){background:#ffffff}.admin-panel.recent-signups .data-table tbody tr:nth-child(even){background:#f9fafb}.admin-panel.recent-signups .col-name{width:20%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-panel.recent-signups .col-email{width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-panel.recent-signups .col-role{width:20%}.admin-panel.recent-signups .col-when{width:20%;text-align:right;white-space:nowrap;color:var(--color-text-secondary);font-size:0.875rem}/* Role badges — used by Recent Signups */ .role-badge{display:inline-block;font-size:0.75rem;font-weight:600;padding:2px 10px;border-radius:9999px;text-transform:capitalize;line-height:1.6;letter-spacing:0}.role-badge-customer{background:#eff6ff;color:#3b82f6}.role-badge-company{background:#f0fdf4;color:#10b981}.role-badge-worker{background:#fef9c3;color:#ca8a04}.role-badge-admin{background:#fef2f2;color:#ef4444}/* Empty state inside Recent Signups table wrapper */ .admin-panel.recent-signups .table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;padding:32px;text-align:center;color:#9ca3af;font-size:0.875rem;background:#fff}.admin-panel.recent-signups .table-empty i{font-size:2rem;color:#d1d5db;line-height:1}.admin-panel.recent-signups .table-empty p{margin:0}/* Apply form (worker browse) */ .apply-form{margin-top:var(--space-1);display:flex;flex-direction:column;gap:8px}