/* Magellan light theme — shared by the seafarer portal, admin desk and sign-in. */
:root {
  color-scheme: light;
  --bg: #f4f8fc;
  --panel: #ffffff;
  --panel2: #eaf3fa;
  --text: #172f43;
  --muted: #50687b;
  --muted2: #536e80;
  --line: #d9e4ed;
  --line2: #c2d3e0;
  --teal: #096f9d;
  --teal2: #1787af;
  --orange: #985b14;
  --purple: #6b4caf;
  --red: #b73749;
  --shadow: 0 18px 48px rgba(26, 65, 94, .08);
}
html, body { background-color: var(--bg); }
body {
  background-image: radial-gradient(circle at 8% 0%, rgba(43, 146, 189, .08), transparent 38%), linear-gradient(155deg, #f0f7fc, #f9fbfd 62%, #edf5fa);
}
::selection { background: #cdeaf7; color: #17394e; }
.topbar { background: rgba(255,255,255,.96); border-bottom-color: #dce7ef; }
.brand-logo { box-shadow: 0 4px 16px rgba(33,75,105,.08); border: 1px solid #e0e9f0; }
.brand-wordmark small { color: #587285; }
.online { color: #536e80; }
.online i { background: #138b81; box-shadow: 0 0 0 4px rgba(19,139,129,.10); }
.mode-switch { background: #edf3f8; border-color: #d8e4ed; }
.mode-btn { color: #536d80; }
.mode-btn.active { background: #fff; color: #075f8a; box-shadow: 0 2px 8px rgba(29,76,107,.09); }
.hero-copy h1 { color: #18374d; }
.hero-copy h1 span { color: #0876a6; }
.hero-copy > p { color: #526e82; }
.card { background: linear-gradient(145deg, #fff, #fcfdff); border-color: #d6e3ed; }
.progress { background: #e3edf4; }
.progress i { background: linear-gradient(90deg, #0c7da9, #47b8d0); }
.step.active { color: #1b4059; }
.step.active b { color: #076892; background: #eaf6fc; border-color: #7db9d3; }
.step.done b { color: #fff; }
.field label, .upload label { color: #38576d; }
.field input, .field select, .field textarea,
.search, .select-status, .remarks textarea,
.call-form input, .call-form select, .call-form textarea {
  background-color: #fff;
  border-color: #becfdd;
  color: #203d52;
}
.field input::placeholder, .field textarea::placeholder,
.search::placeholder, .remarks textarea::placeholder,
.call-form input::placeholder, .call-form textarea::placeholder { color: #60778a; opacity: 1; }
.field input:focus, .field select:focus, .field textarea:focus,
.search:focus, .select-status:focus, .remarks textarea:focus,
.call-form input:focus, .call-form select:focus, .call-form textarea:focus {
  border-color: #2381ad;
  box-shadow: 0 0 0 3px rgba(35,129,173,.12);
}
.field input:disabled, .field select:disabled, .field textarea:disabled { background-color: #eef3f7; color: #687e8f; }
.field option, .call-form option, .select-status option { background: #fff; color: #203d52; }
.btn { text-decoration: none; }
.primary { color: #fff; background: #096f9d; box-shadow: 0 7px 18px rgba(9,111,157,.17); }
.primary:hover { background: #075c84; }
.ghost, .icon-btn { background: #fff; color: #48667b; border-color: #c7d7e3; }
.ghost:hover, .icon-btn:hover { background: #edf6fb; border-color: #85b9d1; color: #075f89; }
.upload, .consent, .review { background: #f6faff; border-color: #d2e0eb; }
.upload { border-style: dashed; }
.ring { background: #e9f6fc; border-color: #a4cfdf; }
.reference { background: #eaf5fc; }
.notif, .toast { background: #fff; border-color: #bfd9e7; box-shadow: 0 12px 34px rgba(20,59,87,.12); }
.kpi { background: #fff; border-color: #d6e3ed; }
.kpi:after { background: rgba(33,141,182,.07); }
.tab.active { background: #e8f4fb; }
.inner, .app-list, .detail, .call-card { background: #fbfdff; border-color: #d5e2ec; }
.avatar { background: linear-gradient(135deg, #e0f2fb, #c3e4f3); color: #12678e; }
.status.new { color: #086387; background: #e4f4fb; }
.status.reviewing { color: #89500e; background: #fff2dc; }
.status.shortlisted { color: #644099; background: #f0eafa; }
.status.onhold { color: #526779; background: #eaf0f5; }
.status.rejected { color: #ab3347; background: #ffedf0; }
.filter { background: #fff; color: #536e81; border-color: #ccdae6; }
.filter.active { background: #e8f5fc; color: #086c98; border-color: #8fbfd4; }
.app-row:hover { background: #f0f6fb; }
.app-row.active { background: #e8f5fc; border-color: #acd1e3; }
.doc.ready { background: #eaf6fc; border-color: #b2d8e7; }
.call-item { background: #f3f8fc; }
.activity-row b { background: #e5f3fb; }
.hint { background: #edf7fc; border-color: #c6e1ee; }
.repeat-card, .document-record { background: #f8fbfe; border-color: #cbdde9; }
.document-group { background: #fff; border-color: #cbdde9; }
.document-group summary { background: #f7fbfe; }
.document-group[open] summary { background: #edf7fc; }
.document-group summary em { color: #8c5c13; }
.document-group-body { background: #fff; }
.upload-pick { background: #f1f9fe; border-color: #85b9d1; }
.info-strip { background: #f0f8fd; color: #49677b; border-color: #d1e4ef; border-left-color: #1782af; }
.info-strip.warning { background: #fff7e8; color: #825314; border-color: #ead9b8; border-left-color: #bf8b2b; }
.readout { background: #f0f7fb; }
.record-summary { background: #fbfdff; }
.back { color: #416b87; }
.back:hover { color: #075e88; text-decoration: underline; }
body > main.login { width: 100%; max-width: none; margin: 0; }
body > main.login .card > p { line-height: 1.6; color: #506d81; margin-top: 12px; font-size: 13px; }
@media (prefers-reduced-motion: reduce) { .btn, .progress i { transition: none; } .toast { animation: none; } }


.profile-page { width: min(100%, 760px); margin: 48px auto; padding: clamp(24px, 4vw, 40px); }
.profile-page h1 { font-size: clamp(30px, 4vw, 40px); margin: 10px 0 24px; }
.profile-page > p { margin: 20px 0; line-height: 1.65; }
.profile-page .btn { margin-top: 18px; }
.info-strip a { color: #075e88; font-weight: 700; text-decoration: underline; }
@media (max-width: 900px) { .topbar-right { flex-wrap: wrap; justify-content: flex-end; } }
