:root{--bg-0: #0f1c24;--bg-1: #16303a;--bg-2: #1d3f4a;--sand: #e8dcc8;--cream: #f7f1e6;--ink: #122029;--muted: #5d6f78;--accent: #0f766e;--accent-2: #c45c26;--line: rgba(18, 32, 41, .12);--danger: #b42318;--ok: #067647;--shadow: 0 18px 50px rgba(8, 20, 28, .18);--radius: 18px;--font-display: "Fraunces", Georgia, serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at 10% 10%,rgba(15,118,110,.18),transparent 35%),radial-gradient(circle at 90% 0%,rgba(196,92,38,.16),transparent 30%),linear-gradient(160deg,#f4efe6,#e7f0ef 45%,#f8f4ec)}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f1e6cc;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{font-family:var(--font-display);font-size:1.55rem;font-weight:700;letter-spacing:-.03em}.nav{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.nav a{color:var(--muted);font-weight:600}.nav a.active,.nav a:hover{color:var(--accent)}.auth-area{display:flex;align-items:center;gap:.75rem}.user-chip{font-size:.9rem;color:var(--muted)}.main{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 3rem}.footer{padding:1.25rem;text-align:center;color:var(--muted);font-size:.92rem;border-top:1px solid var(--line)}.hero{display:grid;gap:1rem;padding:2.5rem 0 1.5rem;animation:rise .7s ease both}.hero h1{margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;letter-spacing:-.04em}.hero p{margin:0;max-width:42rem;color:var(--muted);font-size:1.1rem}.hero-visual{margin-top:1.5rem;min-height:220px;border-radius:28px;background:linear-gradient(135deg,#0f1c24eb,#0f766ebf),url("data:image/svg+xml,%3Csvg width='160' height='160' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 80h160M80 0v160' stroke='rgba(255,255,255,0.08)' stroke-width='1'/%3E%3C/svg%3E");color:var(--cream);display:grid;align-content:end;padding:1.75rem;box-shadow:var(--shadow);animation:fade 1s ease both}.panel{background:#fffcf7e0;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:0 10px 30px #1220290d}.grid{display:grid;gap:1rem}.grid.jobs{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.job-item h3,.section-title{font-family:var(--font-display);margin:0 0 .5rem}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:999px;padding:.65rem 1.1rem;font:inherit;font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--accent);color:#fff}.btn.secondary{background:var(--bg-0);color:var(--cream)}.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn.danger{background:var(--danger);color:#fff}.form{display:grid;gap:.9rem;max-width:520px}label{display:grid;gap:.35rem;font-weight:600;font-size:.95rem}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem;font:inherit;background:#fff}textarea{min-height:110px;resize:vertical}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.75rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:#0f766e1f;color:var(--accent);font-size:.8rem;font-weight:700}.badge.closed,.badge.rejected{background:#b423181f;color:var(--danger)}.badge.approved,.badge.ok{background:#0676471f;color:var(--ok)}.error{color:var(--danger);font-weight:600}.success{color:var(--ok);font-weight:600}.stack{display:grid;gap:1rem}.actions{display:flex;flex-wrap:wrap;gap:.6rem}.page-loading{padding:3rem;text-align:center}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (max-width: 860px){.topbar{flex-direction:column;align-items:flex-start}.auth-area{width:100%;justify-content:space-between}}
