:root{color:#14213d;background:radial-gradient(circle at top left,rgba(249,199,79,.18),transparent 32%),linear-gradient(180deg,#f7f3ea,#f2efe7);font-family:IBM Plex Sans,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#14213d;overflow:hidden}a{color:#0d4f5c}button,input{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);height:100dvh;overflow:hidden}.jobs-panel{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;border-right:1px solid rgba(20,33,61,.1);background:#fffcf5e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:0;overflow:hidden}.panel-header h1,.map-panel-header h2{margin:0;font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.8rem,3vw,2.3rem);line-height:1.1}.eyebrow{margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:#0d4f5c}.panel-copy{margin:.65rem 0 0;color:#14213dc2}.status-bar{display:grid;gap:.3rem;padding:.9rem 1rem;border-radius:16px;background:#0d4f5c14;color:#14213dd6;font-size:.92rem}.search-field input{width:100%;padding:.85rem 1rem;border:1px solid rgba(20,33,61,.12);border-radius:14px;background:#ffffffe6}.message-card{padding:1rem;border-radius:16px;background:#ffffffd9;border:1px solid rgba(20,33,61,.1)}.message-card strong,.message-card p{margin:0}.message-card p{margin-top:.35rem}.error-card{border-color:#be404040;background:#fff0eff0}.jobs-list{display:flex;flex-direction:column;gap:.8rem;min-height:0;overflow:auto;padding-right:.25rem}.jobs-card{padding:1rem;border-radius:18px;border:1px solid rgba(20,33,61,.09);background:#ffffffd6;box-shadow:0 16px 32px #14213d0a;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background-color .14s ease;cursor:pointer}.jobs-card:hover,.jobs-card.active{transform:translateY(-2px);border-color:#0d4f5c59;background:#fffffff5;box-shadow:0 20px 40px #14213d14}.job-title-row{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.job-title-row h2{margin:0;font-size:1.05rem}.job-key{margin:.2rem 0 .6rem;font-size:.83rem;font-weight:700;letter-spacing:.08em;color:#14213d8f}.jobs-card address{margin:0 0 .7rem;font-style:normal;color:#14213dc7}.jobs-meta{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:.75rem;font-size:.83rem;color:#14213d99}.map-badge{flex-shrink:0;padding:.28rem .55rem;border-radius:999px;background:#55a6301f;color:#2f6b1f;font-size:.78rem;font-weight:700}.map-badge.muted{background:#14213d14;color:#14213d8f}.map-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;padding:1.25rem;gap:1rem;min-height:0;overflow:hidden}.map-panel-header{display:flex;align-items:end;justify-content:space-between;gap:1rem}.map-ticket-link{flex-shrink:0;font-weight:700}#map,.map-empty-state{width:100%;height:100%;min-height:0;border-radius:24px;overflow:hidden;background:#ffffffb8;border:1px solid rgba(20,33,61,.08);box-shadow:inset 0 1px #ffffffb3}.map-empty-state{display:grid;place-content:center;gap:.35rem;text-align:center}.map-info-window h3,.map-info-window p{margin:0 0 .35rem}@media (max-width: 980px){body{overflow:auto}.app-shell{grid-template-columns:1fr;height:auto;min-height:100dvh;overflow:visible}.jobs-panel{border-right:none;border-bottom:1px solid rgba(20,33,61,.1);overflow:visible}.map-panel{padding-top:0;overflow:visible}.map-panel-header{align-items:flex-start;flex-direction:column}#map,.map-empty-state{min-height:420px}}
