*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #1E63FF;--color-primary-dark: #0B2A73;--color-primary-light:#EBF1FF;--color-danger: #DC2626;--color-danger-light: #FEE2E2;--color-success: #16A34A;--color-success-light:#DCFCE7;--color-warning: #B45309;--color-warning-light:#FEF3C7;--color-bg: #F1F4F8;--color-surface: #FFFFFF;--color-border: rgba(11, 13, 16, .1);--color-border-dark: rgba(11, 13, 16, .16);--color-text: #0B0D10;--color-text-muted: #4B5563;--color-text-light: #8A93A0;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(11,13,16,.04);--shadow: 0 1px 2px rgba(11,13,16,.04), 0 2px 8px rgba(11,13,16,.04);--shadow-md: 0 2px 6px rgba(11,13,16,.05), 0 8px 24px -8px rgba(11,13,16,.1);--shadow-lg: 0 24px 48px -24px rgba(11,13,16,.28);--transition: .16s ease;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", Consolas, monospace;--bw-paper: #FFFFFF;--bw-ink: #0B0D10;--bw-steel: #F1F4F8;--bw-slate: #4B5563;--bw-mist: #8A93A0;--bw-blue: #1E63FF;--bw-blue-deep: #0B2A73;--bw-blue-tint: rgba(30, 99, 255, .08);--bw-line: rgba(11, 13, 16, .1);--bw-line-strong: rgba(11, 13, 16, .16);--bw-green: #16A34A;--bw-radius-sm: 8px;--bw-radius-md: 14px;--bw-radius-lg: 20px;--bw-radius-xl: 28px}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.55;-webkit-font-smoothing:antialiased}h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;line-height:1.16;letter-spacing:-.025em}h2{font-size:clamp(1.25rem,3vw,1.625rem);font-weight:650;line-height:1.25;letter-spacing:-.02em}h3{font-size:1.125rem;font-weight:600;letter-spacing:-.01em}h4{font-size:1rem;font-weight:600}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.eyebrow{font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;border:1.5px solid transparent;border-radius:var(--radius);padding:.5625rem 1.25rem;font-size:.875rem;font-weight:600;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),opacity var(--transition),transform .12s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;font-family:inherit}button:active:not(:disabled),.btn:active:not(:disabled){transform:scale(.98)}button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed}.btn{min-height:44px}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-dark)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-light)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{background:transparent;color:var(--color-primary)}.btn-ghost:hover:not(:disabled){background:var(--color-primary-light)}.btn-lg{padding:.8125rem 1.5rem;font-size:.9375rem;border-radius:var(--radius-lg);min-height:48px}.btn-sm{padding:.3125rem .875rem;font-size:.8125rem;min-height:36px}.btn-xl{padding:.9375rem 2rem;font-size:1.0625rem;border-radius:var(--radius-lg);min-height:54px}input,select,textarea{width:100%;padding:.6875rem .875rem;border:1.5px solid var(--color-border-dark);border-radius:var(--radius);font-size:1rem;background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition);font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e63ff24}input::placeholder,textarea::placeholder{color:var(--color-text-light)}input:disabled,select:disabled,textarea:disabled{opacity:.6;background:var(--color-bg);cursor:not-allowed}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.3125rem;color:var(--color-text)}.field-hint{font-size:.8125rem;color:var(--color-text-muted);margin-top:.25rem}.field-error{font-size:.8125rem;color:var(--color-danger);margin-top:.25rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-dark);transform:translateY(-1px);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;color:var(--color-primary);white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:700;letter-spacing:.02em}.badge-blue{background:#1e63ff1a;color:#1244b8}.badge-green{background:var(--color-success-light);color:#14532d}.badge-red{background:var(--color-danger-light);color:#991b1b}.badge-yellow{background:var(--color-warning-light);color:#92400e}.badge-gray{background:#f1f4f8;color:#374151}.badge-purple{background:#ede9fe;color:#5b21b6}.alert{padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;margin-bottom:1rem}.alert-error{background:var(--color-danger-light);color:#991b1b;border:1px solid #fca5a5}.alert-success{background:var(--color-success-light);color:#065f46;border:1px solid #6ee7b7}.alert-warning{background:var(--color-warning-light);color:#92400e;border:1px solid #fde68a}.alert-info{background:var(--color-primary-light);color:#1e40af;border:1px solid #bfdbfe}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.spinner{display:inline-block;width:2rem;height:2rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}.spinner-sm{width:1.25rem;height:1.25rem;border-width:2px}.skeleton{background:linear-gradient(90deg,#edf1f6 25%,#e4e9f0,#edf1f6 75%);background-size:400px 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius)}.skeleton-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.625rem}.skeleton-line{height:.875rem}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table thead th{padding:.625rem .875rem;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.data-table tbody tr{border-bottom:1px solid var(--color-border);transition:background var(--transition)}.data-table tbody tr:hover{background:var(--color-bg)}.data-table tbody td{padding:.75rem .875rem;vertical-align:middle}.data-table tbody tr:last-child{border-bottom:none}.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}.container-sm{max-width:640px;margin:0 auto;padding:0 1.25rem}.container-md{max-width:860px;margin:0 auto;padding:0 1.25rem}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.row-sb{display:flex;align-items:center;justify-content:space-between}.wrap{flex-wrap:wrap}.gap-xs{gap:.25rem}.gap-sm{gap:.5rem}.gap-md{gap:.875rem}.gap-lg{gap:1.25rem}.gap-xl{gap:1.75rem}.mt-sm{margin-top:.625rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.mt-xl{margin-top:2rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.text-muted{color:var(--color-text-muted)}.text-small{font-size:.875rem}.text-xs{font-size:.8125rem}.text-center{text-align:center}.mono{font-family:var(--font-mono)}.divider{height:1px;background:var(--color-border);margin:1.25rem 0}.page-header{background:#ffffffe0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);padding:0 1.5rem;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.page-title{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.hero{background:linear-gradient(135deg,#1e3a8a,#1a56db,#2563eb);color:#fff;padding:5rem 1.25rem}.hero h1{color:#fff}.hero-sub{color:#ffffffd9;font-size:1.1875rem;margin:1rem 0 2rem;line-height:1.6}.hero-cta{display:flex;flex-wrap:wrap;gap:1rem}.btn-hero-primary{background:#fff;color:var(--color-primary-dark);font-size:1rem;font-weight:700;padding:.875rem 1.75rem;border-radius:var(--radius-lg)}.btn-hero-primary:hover{background:var(--color-primary-light);color:var(--color-primary-dark)}.btn-hero-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6);font-size:1rem;font-weight:600;padding:.875rem 1.75rem;border-radius:var(--radius-lg)}.btn-hero-outline:hover{background:#ffffff1a;border-color:#fff}.step-number{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:800;flex-shrink:0}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);min-width:120px}.stat-value{font-size:1.75rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-label{font-size:.8125rem;color:var(--color-text-muted);margin-top:.3125rem}.job-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow);cursor:pointer;transition:box-shadow var(--transition),border-color var(--transition);display:block;text-decoration:none;color:var(--color-text)}.job-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-dark);text-decoration:none}.job-card.has-unread{border-left:3px solid var(--color-primary)}.job-title{font-weight:700;font-size:1.0625rem;margin-bottom:.25rem}.job-meta{font-size:.8125rem;color:var(--color-text-muted)}.job-bid-count{font-weight:700;color:var(--color-primary)}.bid-card{border:1.5px solid var(--color-border);border-radius:var(--radius-lg);padding:1.125rem;background:var(--color-surface);transition:border-color var(--transition),box-shadow var(--transition)}.bid-card.accepted{border-color:#6ee7b7;background:#f0fdf4}.bid-card.pending:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.bid-amount{font-size:1.5rem;font-weight:800;color:var(--color-primary)}.bid-hours{font-size:.8125rem;color:var(--color-text-muted)}.bubble{padding:.625rem 1rem;border-radius:1.125rem;max-width:72%;word-break:break-word;font-size:.9375rem;line-height:1.5}.bubble-mine{background:var(--color-primary);color:#fff;border-bottom-right-radius:.25rem}.bubble-theirs{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-bottom-left-radius:.25rem}.msg-time{font-size:.7rem;color:var(--color-text-muted);margin-top:.1875rem}.admin-sidebar{width:220px;background:#1e293b;color:#fff;display:flex;flex-direction:column;flex-shrink:0;transition:transform var(--transition)}.admin-nav-link{display:flex;align-items:center;gap:.625rem;padding:.625rem 1rem;font-size:.875rem;color:#94a3b8;text-decoration:none;border-left:3px solid transparent;transition:color var(--transition),background var(--transition)}.admin-nav-link:hover{color:#fff;background:#ffffff0d;text-decoration:none}.admin-nav-link.active{color:#fff;background:#334155;border-left-color:#3b82f6}@media (max-width: 640px){.stack-mobile{flex-direction:column!important}.full-mobile{width:100%!important}.page-header{padding:0 1rem}.hero{padding:3.5rem 1.25rem}.hero h1{font-size:1.75rem}.admin-sidebar{position:fixed;top:0;left:0;height:100vh;z-index:200;transform:translate(-100%)}.admin-sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.admin-overlay{display:block!important}}@media (max-width: 768px){.hide-mobile,.hide-tablet{display:none!important}.grid-1-mobile{grid-template-columns:1fr!important}}@media (min-width: 641px){.admin-overlay{display:none!important}}.admin-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:199}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-full{width:100%}.relative{position:relative}.absolute{position:absolute}.hidden{display:none}.pointer{cursor:pointer}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.4}.empty-title{font-size:1.125rem;font-weight:700;margin-bottom:.5rem}.empty-desc{color:var(--color-text-muted);font-size:.9375rem;margin-bottom:1.5rem;max-width:320px;margin-left:auto;margin-right:auto}.icon-disc{width:56px;height:56px;border-radius:50%;background:var(--color-surface);border:1.5px solid var(--color-border-dark);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px var(--color-bg);color:var(--color-primary)}.app-main{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 4rem}@media (max-width: 768px){.app-main{padding:1rem 1rem 4.5rem}}.page-head{margin-bottom:1.5rem}.page-head h1{margin-bottom:.25rem}.page-head .sub{color:var(--color-text-muted);font-size:.9375rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .36s ease both}
