:root{--navy:#09253a;--navy-soft:#14374f;--teal:#008dae;--teal-dark:#00738f;--blue:#3b8caa;--coral:#eb5349;--coral-soft:#fdf0ef;--bg:#f4f7f9;--surface:#fff;--border:#dde5ea;--text:#09253a;--muted:#5b7387;--shadow-sm:0 1px 2px #09253a0f;--shadow:0 6px 20px #09253a17;--radius:12px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Roboto,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2,h3{color:var(--navy);letter-spacing:-.015em}.app{max-width:760px;margin:0 auto;padding:0 1rem 4rem}.topbar{background:var(--navy);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 -1rem 1.75rem;padding:.875rem 1.25rem;display:flex}.brand{align-items:center;gap:.625rem;display:flex}.brand img{border-radius:50%;width:34px;height:34px;display:block}.brand-name{letter-spacing:.01em;color:#fff;margin:0;font-size:1.125rem;font-weight:500}.session{color:#b9cbd7;align-items:center;gap:.75rem;font-size:.8125rem;display:flex}.session strong{color:#fff;font-weight:500}.session button{color:#fff;background:#ffffff1f;padding:.375rem .75rem;font-size:.8125rem}.session button:hover{background:#fff3}main{flex-direction:column;gap:1.25rem;display:flex}.centered{min-height:60vh;color:var(--muted);place-items:center;display:grid}.access{background:radial-gradient(1200px 600px at 50% -10%, #14374f 0%, var(--navy) 55%);place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.access-inner{text-align:center;width:100%;max-width:400px}.access-logo{border-radius:50%;width:84px;height:84px;margin-bottom:1.125rem;box-shadow:0 6px 24px #00000047}.access h1{color:#fff;margin:0 0 .375rem;font-size:1.75rem}.access .claim{color:#9fb8c8;margin:0 0 1.75rem;font-size:.9375rem;line-height:1.45}.access .card{text-align:left;box-shadow:var(--shadow)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.card h2{margin:0;font-size:1.0625rem}.card h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:.25rem 0 0;font-size:.75rem}.card-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.card-head h2{margin:0}label{color:var(--muted);flex-direction:column;gap:.375rem;font-size:.8125rem;font-weight:500;display:flex}input,select{font:inherit;color:var(--text);border:1px solid var(--border);background:#fff;border-radius:8px;padding:.625rem .75rem;font-weight:400;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #008dae26}button{font:inherit;background:var(--teal);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.625rem 1.125rem;font-weight:500;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--teal-dark)}button:disabled{opacity:.55;cursor:progress}button.secondary{color:var(--navy);border-color:var(--border);background:#fff}button.secondary:hover:not(:disabled){background:var(--bg);border-color:var(--blue)}button.danger{color:var(--coral);background:#fff;border-color:#f3c9c6}button.danger:hover:not(:disabled){background:var(--coral-soft)}button.link{color:#9fb8c8;background:0 0;border:0;padding:.5rem 0;font-weight:400;text-decoration:underline}.card button.link{color:var(--muted)}.error{background:var(--coral-soft);color:#b3352c;border-left:3px solid var(--coral);border-radius:8px;margin:0;padding:.625rem .75rem;font-size:.875rem}.pending,.empty{color:var(--muted);margin:0;font-size:.875rem}.pending{border-left:3px solid var(--blue);background:#eef6f9;border-radius:0 8px 8px 0;padding:.625rem .75rem}.muted{color:var(--muted)}.small{font-size:.8125rem}.subform{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:.875rem;padding:1.125rem;display:flex}.row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}fieldset{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;gap:.625rem;margin:0;padding:.875rem;display:flex}legend{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:0 .375rem;font-size:.75rem;font-weight:500}.zona{flex-direction:column;gap:.375rem;display:flex}.chips{flex-wrap:wrap;gap:.375rem;display:flex}.chip{color:var(--navy);border:1px solid var(--border);background:#fff;border-radius:999px;padding:.3125rem .75rem;font-size:.8125rem;font-weight:400}.chip.on{background:var(--teal);border-color:var(--teal);color:#fff}.job-list{flex-direction:column;gap:.75rem;display:flex}.job{border:1px solid var(--border);border-left:3px solid var(--blue);background:#fff;border-radius:10px;flex-direction:column;gap:.625rem;padding:1rem 1.125rem;display:flex}.job.is-confirmed{border-left-color:var(--teal)}.job.is-cancelled{border-left-color:var(--border);opacity:.7}.job.is-matched{border-left-color:var(--coral)}.job-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.job-date{color:var(--navy);font-size:1rem;font-weight:500}.job-port{color:var(--muted);font-size:.875rem}.job-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.375rem .75rem;font-size:.875rem;display:flex}.job-meta .rate{color:var(--navy);font-size:1rem;font-weight:600}.job-meta .sep{color:var(--border)}.job-description{color:var(--navy-soft);margin:0;font-size:.875rem}.job-assigned{color:var(--muted);margin:0;font-size:.8125rem}.job-actions{flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.job-actions button{padding:.4375rem .875rem;font-size:.875rem}.badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:6px;padding:.25rem .5rem;font-size:.6875rem;font-weight:600}.badge.open{color:var(--teal-dark);background:#e5f4f8}.badge.matched{background:var(--coral-soft);color:#b3352c}.badge.confirmed{color:#1d6b3f;background:#e3f0e8}.badge.cancelled{color:var(--muted);background:#eef2f5}.badge.completed{color:#4f469b;background:#eceaf6}.applicants{border-left:2px dashed var(--border);flex-direction:column;gap:.75rem;margin:-.25rem 0 0;padding:.75rem 0 .25rem 1rem;list-style:none;display:flex}.applicants li{justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;display:flex}.applicants strong{color:var(--navy)}@media (width<=540px){.row{grid-template-columns:1fr}.topbar{padding:.75rem 1rem}.brand-name{font-size:1rem}}
