: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}.inline{flex-direction:row;align-items:center;gap:.5rem;font-size:.875rem}.inline input[type=checkbox]{width:auto;margin:0}.weekdays{align-self:end;gap:.25rem;display:flex}.weekdays button{flex:1;min-width:0;padding:.5rem 0}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}}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:.25rem;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:.375rem;padding:.625rem .875rem;font-weight:500;display:flex}.tab:hover{background:0 0}.tab:hover:not(.on){color:var(--navy)}.tab.on{color:var(--teal-dark);border-bottom-color:var(--teal)}.tab-badge{background:var(--coral);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 .3125rem;font-size:.6875rem;font-weight:600;display:inline-grid}.boat-list{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.boat-list li{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.9375rem;display:flex}.boat-list button{padding:.375rem .75rem;font-size:.8125rem}.stars{gap:.125rem;display:flex}.star{color:var(--border);cursor:pointer;background:0 0;border:0;padding:.125rem;font-size:1.75rem;line-height:1}.star:hover:not(.on){color:#f5c518aa;background:0 0}.star.on{color:#f5c518}.form-actions{align-items:center;gap:.75rem;display:flex}.saved{color:#1d6b3f;font-size:.875rem}.saved:before{content:"✓ "}.license-list{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.license-list li{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem 1rem;font-size:.9375rem;display:flex}.license-list li.expired{opacity:.6}.license-list button{padding:.375rem .75rem;font-size:.8125rem}.license-flags{flex-wrap:wrap;gap:.3125rem;margin-top:.375rem;display:flex}.inline-link{font:inherit;color:var(--teal-dark);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.inline-link:hover{background:0 0}.warn{color:var(--coral)}.job-badges{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.metric{border:1px solid var(--border);background:#fff;border-radius:10px;flex-direction:column;gap:.125rem;padding:.875rem;display:flex}.metric-value{font-size:1.75rem;font-weight:600;line-height:1.1}.metric-title{font-size:.8125rem}.tabla{border-collapse:collapse;width:100%;font-size:.875rem}.tabla th{text-align:left;color:var(--muted);padding:.5rem .375rem;font-weight:500}.tabla td{border-top:1px solid var(--border);padding:.5rem .375rem}.legal-footer{text-align:center;padding:1.5rem 0 2.5rem;font-size:.8125rem}.legal-footer a{color:var(--muted)}.notifications{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.notifications li{border:1px solid var(--border);background:#fff;border-radius:10px;padding:.875rem}.notifications li.unread{border-left:3px solid var(--accent,#1f6feb)}.notification-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.25rem;display:flex}.notifications p{white-space:pre-line;margin:0}input[type=file]{background:#fff;padding:.5rem;font-size:.875rem}
