: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;--page:1200px;--page-narrow:760px;--nav-width:13.5rem;--gutter:1rem;--gutter-wide:1.5rem;--control-h:2.75rem;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{width:100%;max-width:var(--page-narrow);padding:0 var(--gutter) 4rem;margin:0 auto}.topbar{background:var(--navy);color:#fff;margin-bottom:1.75rem}.topbar-inner{max-width:var(--page);padding:.875rem var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;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;min-height:0;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}.workspace{flex-direction:column;gap:1.25rem;display:flex}.workspace-main{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.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{flex-wrap:wrap;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:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font:inherit;color:var(--text);width:100%;min-height:var(--control-h);border:1px solid var(--border);appearance:none;background-color:#fff;border-radius:8px;padding:0 .75rem;font-weight:400;line-height:1.25;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;padding:.625rem .75rem;line-height:1.45}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%235b7387' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .875rem center;background-repeat:no-repeat;padding-right:2.25rem}input[type=date],input[type=time]{text-align:left;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input[type=time]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}@supports (font:-apple-system-body){input[type=date],input[type=time]{align-items:center;display:flex}}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=file]{font:inherit;width:100%;min-height:var(--control-h);border:1px solid var(--border);background:#fff;border-radius:8px;padding:.5rem .75rem;font-size:.875rem}input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--teal);margin:0}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #008dae26}input::placeholder{color:#9aabb8}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)}.row>button,.fields>button,.subform>button,form.card>button:not(.link),.form-actions>button{min-height:var(--control-h)}.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,.fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,13.75rem),1fr));align-items:end;gap:.75rem 1rem;display:grid}.fields{gap:1rem}.inline{flex-direction:row;align-items:center;gap:.5rem;font-size:.875rem}.inline input[type=checkbox]{flex:none;width:1.125rem}.weekdays{gap:.25rem;display:flex}.weekdays button{min-width:0;min-height:var(--control-h);flex:1;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-item{flex-direction:column;gap:.625rem;min-width:0;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-part{align-items:center;gap:.75rem;display:inline-flex}.job-meta-part:before{content:"|";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:0;padding:.25rem 0 .25rem 1rem;list-style:none;display:flex}.applicants li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;display:flex}.applicants strong{color:var(--navy)}.tabs{border-bottom:1px solid var(--border);gap:.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}.tabs .tab:hover:not(:disabled){background:0 0}.tabs .tab:hover:not(.on){color:var(--navy)}.tabs .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{flex-wrap:wrap;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}@media (width>=720px){.app,.topbar-inner{padding-inline:var(--gutter-wide)}.card{padding:1.5rem}.access-inner{text-align:left;grid-template-columns:1fr 380px;align-items:center;gap:3.5rem;max-width:880px;display:grid}.access-inner.sola-columna{text-align:center;max-width:400px;display:block}.access-logo{margin-bottom:1.5rem}.access h1{font-size:2.25rem}.access .claim{margin-bottom:0;font-size:1.0625rem}.access-inner.sola-columna .access-logo{margin-bottom:1.125rem}}@media (width>=1080px){.app{max-width:var(--page)}.app.app-lectura{max-width:var(--page-narrow)}.workspace{grid-template-columns:var(--nav-width) minmax(0, 1fr);align-items:start;gap:2rem;display:grid}.tabs{border-bottom:0;flex-direction:column;gap:.125rem;position:sticky;top:1.5rem;overflow:visible}.tab{border-bottom:0;border-left:3px solid #0000;border-radius:8px;justify-content:flex-start;width:100%;padding:.625rem .875rem}.tabs .tab.on,.tabs .tab.on:hover{background:var(--surface);border-left-color:var(--teal);box-shadow:var(--shadow-sm)}.tab-badge{margin-left:auto}.subform>label:not(.inline){max-width:calc(50% - .5rem)}.subform>button[type=submit]{align-self:flex-start;padding-inline:2.5rem}.job-list{grid-template-columns:repeat(auto-fill,minmax(21rem,1fr));align-items:start;gap:.875rem;display:grid}.job-item.is-open{grid-column:1/-1}.metrics{grid-template-columns:repeat(4,1fr)}}
