/* Shared visual language. Status colors remain available for functional feedback. */
:root {
  --sea-navy: #000F89;
  --sea-yellow: #FAC51C;
  --sea-ink: #111827;
  --sea-copy: #374151;
  --sea-line: #E5E7EB;
  --sea-surface: #F5F6F8;
}
body {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
  letter-spacing: -.025em;
  color: var(--sea-ink);
}
button, input, select, textarea { font-family: inherit; letter-spacing: -.02em; }
h1, h2, h3, .section-title, .page-hero-title, .card-title { letter-spacing: -.035em; }
p { line-height: 1.75; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--sea-navy); outline-offset: 3px; }
.navbar { background: var(--sea-navy); }
.nav-menu > a, .nav-dropdown-trigger, .nav-mypage-btn { border-radius: 6px; }
.nav-dropdown-menu { border-radius: 8px; border: 1px solid var(--sea-line); box-shadow: 0 2px 8px #00000014; }
.hero, .page-hero, .detail-hero { background: var(--sea-navy); }
.hero-orb-1, .hero-orb-2, .hero-card-glow { display: none; }
.page-hero::before, .detail-hero::before { display: none; }
.sea-icon { display: inline-block; vertical-align: -.2em; flex-shrink: 0; }
:is(.auth-icon, .state-icon, .upload-icon, .icon-circle) > .sea-icon { width: 32px; height: 32px; }
:is(.next-card-icon, .resume-item-icon) > .sea-icon { width: 24px; height: 24px; }
:is(.auth-icon, .upload-icon, .next-card-icon, .resume-item-icon, .moct-card-icon, .step-icon) { color: var(--sea-navy); }
:is(.icon-circle.company, .icon-circle.student) { background: #EEF0F8; color: var(--sea-navy); }
:is(.job-card, .feature-card, .step-card, .auth-card, .pending-card, .next-card, .stat-card, .main-card, .reg-card, .resume-card, .score-card, .compare-card, .moct-card, .apply-modal, .write-modal, .modal-box, .form-card, .resume-item-card, .score-header-card, .score-meta-card, .score-card-item, .app-card, .summary-card, .company-pending-card, .profile-card, .section-card, .terms-card, .apply-card, .detail-card, .complete-card, .card) {
  border-radius: 8px;
  border: 1px solid var(--sea-line);
  box-shadow: none;
}
:is(.job-card, .feature-card, .step-card, .next-card):hover { transform: none; box-shadow: none; border-color: #B9BED2; }
:is(.moct-green, .moct-blue, .moct-purple, .moct-yellow) { background: var(--sea-surface); }
:is(.moct-card-icon, .feat-icon) svg { color: var(--sea-navy); }
.moct-card-icon svg [stroke], .feat-icon svg [stroke] { stroke: currentColor; }
.job-card-stripe { display: none; }
:is(.section-chip, .jobs-header-sub, .hero-badge, .page-hero-badge) { border-radius: 4px; letter-spacing: -.01em; }
:is(.section-chip, .jobs-header-sub) { background: none; color: var(--sea-copy); padding: 0; }
:is(.form-input, .form-select, .form-textarea, .search-input) { border-radius: 6px; }
:is(.btn-primary, .btn-secondary, .btn-submit, .btn-hero-primary, .btn-hero-secondary, .btn-next, .btn-prev, .btn-cta-y, .btn-cta-w) { border-radius: 6px; box-shadow: none; }
.toggle-pw { display: inline-flex; align-items: center; justify-content: center; width: 36px; min-height: 36px; padding: 0; color: var(--sea-copy); background: transparent; border: 0; cursor: pointer; }
:is(.section-sub, .jobs-desc, .feat-desc, .moct-card-desc) { color: var(--sea-copy); }
@media (max-width: 768px) {
  input, select, textarea { font-size: 16px; }
  .page-hero-title { font-size: 28px; line-height: 1.35; }
  .section-title { font-size: 28px; line-height: 1.4; }
  .sea-icon { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

body[data-page="company-service"] .feature-card { background: var(--sea-navy); }
body[data-page="company-service"] .feature-card::before { display: none; }
body[data-page="company-service"] .step-card::before { background: var(--sea-navy); }
body[data-page="about"] .about-cards-grid > div { border-radius: 8px !important; }
body[data-page="about"] .about-cards-grid > div:first-child svg [stroke] { stroke: var(--sea-navy); }
body[data-page="about"] .about-cards-grid > div:first-child > div:first-child { background: #EEF0F8 !important; }
body[data-page="about"] .about-cards-grid > div:first-child > div:nth-child(2) { color: var(--sea-copy) !important; }
body[data-page="about"] .compare-card.old { background: var(--sea-surface); }
body[data-page="register-complete"] .complete-badge { background: #EEF0F8; color: var(--sea-navy); border-radius: 4px; }
/* Navigation must not inherit native button chrome from standalone auth pages. */
.navbar .btn-login { background: transparent; color: #fff; border: 1px solid #ffffff80; border-radius: 6px; cursor: pointer; }
.navbar .btn-register { background: #fff; color: var(--sea-navy); border: 1px solid #fff; border-radius: 6px; cursor: pointer; }
.navbar .btn-login:hover { background: #ffffff14; }

/* Neutral status artwork, shared by anonymous and empty states. */
:is(.auth-icon, .auth-required-icon) { display: flex; justify-content: center; color: #8B93A3; margin-bottom: 20px; }
:is(.auth-icon, .auth-required-icon) > svg { width: 48px; height: 48px; flex: 0 0 48px; color: #8B93A3; }
:is(.auth-icon, .auth-required-icon) svg [stroke] { stroke: currentColor; }
:is(.auth-icon, .auth-required-icon) svg [fill]:not([fill="none"]) { fill: currentColor; }
:is(.auth-card, .auth-required) { max-width: 520px; margin: 0 auto; padding: 48px 28px; background: #fff; border: 1px solid var(--sea-line); border-radius: 8px; text-align: center; box-shadow: none; }
:is(.auth-title, .auth-required-title) { font-size: 22px; font-weight: 700; color: var(--sea-ink); line-height: 1.4; margin-bottom: 12px; }
:is(.auth-desc, .auth-required-desc) { font-size: 15px; line-height: 1.7; color: var(--sea-copy); margin-bottom: 24px; }
:is(.auth-card, .auth-required) .btn-primary { display: inline-flex; justify-content: center; align-items: center; padding: 12px 24px; min-height: 44px; background: var(--sea-navy); color: white; font-size: 15px; font-weight: 700; border: 1px solid var(--sea-navy); border-radius: 6px; cursor: pointer; }
:is(.empty-icon, .empty-state-icon, .notice-empty-icon, .empty-resumes-icon) { color: #8B93A3; }
:is(.empty-icon, .empty-state-icon, .notice-empty-icon, .empty-resumes-icon) > svg { width: 40px; height: 40px; }
:is(.empty-icon, .empty-state-icon, .notice-empty-icon, .empty-resumes-icon) svg [stroke] { stroke: currentColor; }
@media (max-width: 768px) {
  :is(.auth-card, .auth-required) { padding: 36px 20px; }
  :is(.auth-title, .auth-required-title) { font-size: 20px; }
  .auth-btns { flex-wrap: wrap; }
}

/* The same login / sign-up pair on every authentication-required screen. */
.sea-auth-actions { display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.sea-auth-actions > :is(button, a) { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; min-width: 112px; padding: 12px 24px; border: 1px solid var(--sea-navy); border-radius: 6px; font-size: 15px; font-weight: 700; line-height: 1.3; text-decoration: none; cursor: pointer; }
.sea-auth-actions .sea-auth-login { background: var(--sea-navy); color: #fff; }
.sea-auth-actions .sea-auth-register { background: #fff; color: var(--sea-navy); }
.sea-auth-login:hover { opacity: .9; }
.sea-auth-register:hover { background: #EEF0F8; }
.sea-operations-panel { margin: 24px 0; padding: 24px; border: 1px solid var(--sea-line); border-radius: 8px; background: #fff; color: var(--sea-ink); }
.sea-operations-panel h2, .sea-assessment-dialog h2 { font-size: 22px; margin-bottom: 12px; }
.sea-operations-panel p, .sea-assessment-dialog p { font-size: 15px; line-height: 1.7; margin: 12px 0; }
.sea-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 16px 0; }
.sea-field-grid label { display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
:is(.sea-operations-panel,.sea-assessment-dialog) :is(input:not([type=checkbox]),select) { padding: 10px; border: 1px solid #B9BED2; border-radius: 6px; background: #fff; color: #111827; width: 100%; }
.sea-operations-panel fieldset { border: 0; border-top: 1px solid var(--sea-line); padding: 16px 0; margin-top: 16px; }
.sea-inline-option { display: inline-flex; gap: 8px; margin: 8px 16px 8px 0; font-size: 15px; align-items: center; }
.sea-operation-button { padding: 12px 20px; border-radius: 6px; border: 1px solid var(--sea-navy); background: var(--sea-navy); color: #fff; font-size: 15px; cursor: pointer; }
.sea-assessment-dialog { margin: auto; width: min(640px,calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border: 1px solid var(--sea-line); border-radius: 8px; }
.sea-assessment-dialog::backdrop { background: #0008; }
@media(max-width:768px) { .sea-field-grid { grid-template-columns: 1fr; } .sea-operations-panel { padding: 20px; } }
.sea-admin-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:20px 24px; border-top:1px solid var(--sea-line); }
.sea-admin-pagination span { margin-right:auto; font-size:14px; color:var(--sea-copy); }
.sea-admin-pagination button, .sea-job-review button[data-close], .sea-review-reject { background:white; color:var(--sea-navy); border:1px solid #B9BED2; border-radius:6px; padding:10px 16px; font-size:15px; cursor:pointer; }
.sea-admin-pagination button:disabled { opacity:.4; cursor:default; }
.sea-job-review { margin:auto; width:min(840px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:28px; border:1px solid var(--sea-line); border-radius:8px; background:#fff; color:var(--sea-ink); }
.sea-job-review::backdrop { background:#0008; }
.sea-job-review header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.sea-job-review h2 { font-size:24px; line-height:1.4; overflow-wrap:anywhere; }
.sea-job-review h3 { font-size:17px; margin-bottom:12px; }
.sea-job-review p { font-size:15px; line-height:1.75; margin:12px 0; }
.sea-review-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; background:#F5F6F8; padding:20px; border-radius:6px; margin:20px 0; }
.sea-review-meta dt { font-size:13px; color:var(--sea-copy); margin-bottom:6px; }
.sea-review-meta dd { margin:0; font-size:15px; overflow-wrap:anywhere; }
.sea-job-review section { border-bottom:1px solid var(--sea-line); padding:20px 0; }
.sea-review-content { white-space:pre-wrap; overflow-wrap:anywhere; }
.sea-review-check { display:flex; align-items:flex-start; gap:10px; margin:24px 0; line-height:1.6; }
.sea-job-review textarea { display:block; width:100%; margin:8px 0; padding:12px; border:1px solid #B9BED2; border-radius:6px; font-size:16px; }
.sea-job-review footer { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px; margin-top:20px; }
.sea-review-message { color:#B91C1C; }
.sea-field-error { display:block; font-size:13px; line-height:1.6; color:#B91C1C; margin-top:6px; }
[aria-invalid="true"] { border-color:#B91C1C !important; }
@media(max-width:768px) { .sea-job-review { padding:20px; } .sea-review-meta { grid-template-columns:1fr; } }
.sea-admin-job-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.main-card-header { flex-wrap:wrap; gap:12px; }
.sea-draft-panel { border:1px solid var(--sea-line); border-radius:6px; background:#F5F6F8; padding:16px; margin-bottom:24px; color:var(--sea-ink); }
.sea-draft-panel summary { font-size:15px; font-weight:700; cursor:pointer; }
.sea-draft-panel p { font-size:13px; line-height:1.7; margin:8px 0; color:var(--sea-copy); }
.sea-draft-panel details > div { display:flex; flex-wrap:wrap; gap:8px; }
.sea-draft-panel button { border:1px solid #B9BED2; border-radius:6px; padding:9px 12px; background:#fff; color:var(--sea-navy); font-size:14px; cursor:pointer; }
.sea-draft-panel button:disabled { opacity:.45; cursor:default; }
.sea-admin-table-scroll { overflow-x:auto; margin-top:16px; }

.sea-draft-panel p:empty { display:none; }
