html {
  font-size: 16px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
.care-note { white-space: pre-wrap; overflow-wrap: anywhere; }
.care-form .form-control, .care-form .form-select { min-height: 44px; font-size: 1rem; }
.care-form { max-width: 960px; }
.card-body { overflow-wrap: anywhere; }

/* Keep shared controls usable on touch screens, including search forms. */
.btn, .form-control, .form-select, .navbar-toggler { min-height: 44px; }
.form-control, .form-select { font-size: 1rem; min-width: 0; }
.navbar-brand, .navbar .nav-link, .navbar .btn { white-space: nowrap; word-break: normal; }
.navbar .nav-link { min-height: 44px; display: flex; align-items: center; }
label:has(input[type="checkbox"]), .form-check { min-height: 44px; display: inline-flex; align-items: center; gap: .5rem; }
input[type="checkbox"] { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.form-check .form-check-input { margin-top: 0; }
main { overflow-wrap: anywhere; }
@media (max-width: 1399.98px) {
  #mainMenu { padding-top: .75rem; }
  #mainMenu .nav-link { padding-left: .75rem; padding-right: .75rem; }
  #mainMenu .btn { margin-top: .5rem; }
}

/* PC workspace and mobile layout are maintained together. */
.care-search-panel { background: #f5f8fc; border: 1px solid #dce4ef; border-radius: .75rem; padding: 1.25rem; margin-bottom: 1.5rem; }
.care-search-fields { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; }
.care-search-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; border-top: 1px solid #dce4ef; padding-top: 1rem; }
.care-search-panel .form-label { font-weight: 600; }
@media (min-width: 576px) { .care-search-fields { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 992px) {
  .care-workspace { --care-sidebar: 216px; background: #f7f9fc; margin-bottom: 0; }
  .care-workspace > header { position: fixed; inset: 0 auto 0 0; width: var(--care-sidebar); background: white; border-right: 1px solid #dce4ef; overflow-y: auto; z-index: 1030; }
  .care-workspace > header .navbar { border: 0 !important; padding: 1.5rem .75rem; }
  .care-workspace > header .container { display: flex; flex-direction: column; align-items: stretch; padding: 0; }
  .care-workspace .navbar-brand { padding: .5rem .75rem 1.25rem; font-weight: 700; color: #174c87; }
  .care-workspace #mainMenu { display: flex !important; flex-direction: column; align-items: stretch; padding-top: 0; }
  .care-workspace .navbar-nav { flex-direction: column; width: 100%; margin-bottom: 1.5rem; gap: .25rem; }
  .care-workspace #mainMenu .nav-link { padding: .65rem .75rem; border-radius: .4rem; color: #334155; }
  .care-workspace #mainMenu .nav-link:hover, .care-workspace #mainMenu .nav-link:focus-visible { background: #eaf2fc; color: #124a89; }
  .care-workspace #mainMenu > .btn { text-align: left; padding-left: .75rem; white-space: normal; }
  .care-workspace #mainMenu form { padding: 0 .75rem; }
  .care-workspace > main.container { margin-left: var(--care-sidebar); margin-right: 0; width: calc(100% - var(--care-sidebar)); max-width: none; padding: 2rem; min-height: calc(100vh - 90px); }
  .care-workspace > footer { margin-left: var(--care-sidebar); padding-left: 1.25rem; }
  .care-workspace > footer .container { max-width: none; }
  .care-search-panel { background: white; }
}
@media (min-width: 1200px) { .care-search-fields { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (min-width: 1440px) { .care-search-fields { grid-template-columns: repeat(5,minmax(0,1fr)); } }
.navbar .nav-link[aria-current="page"] { background: #e6f0ff; color: #104c91 !important; font-weight: 700; border-left: 3px solid #1767c0; }

/* OK Care: bright surfaces, precise hierarchy and restrained blue accents. */
:root { --care-ink:#25354b; --care-teal:#285dc4; --care-line:#e3e9f1; --bs-link-color:#285dc4; --bs-link-hover-color:#1c4699; }
body { font-family:"Malgun Gothic","맑은 고딕","Apple SD Gothic Neo","Noto Sans CJK KR",system-ui,sans-serif; color:#3e4d62; background:#f7f9fc; line-height:1.65; word-break:keep-all; }
.care-workspace { background:#f7f9fc; }
h1,h2,h3 { color:var(--care-ink); letter-spacing:-.015em; line-height:1.4; }
h1.h3 { font-size:1.65rem; font-weight:700; margin-bottom:1.25rem; }
h2.h5 { font-size:1.12rem; font-weight:700; }
h3.h6 { font-weight:700; }
a { text-underline-offset:3px; }
.text-secondary,.text-muted,.form-text { color:#627087 !important; }
.card,.care-search-panel { border:1px solid var(--care-line); border-radius:16px; background:#fff; box-shadow:0 2px 5px rgba(37,57,84,.025),0 8px 24px rgba(37,57,84,.025); }
.card-body { padding:1.5rem; }
.card h2 a,.card h3 a { text-decoration:none; }
.card h2 a:hover,.card h3 a:hover { text-decoration:underline; }
.care-search-panel { padding:1.5rem; margin-bottom:1.75rem; }
.care-search-fields { gap:1.1rem; }
.care-search-actions { border-top-color:#edf0f5; margin-top:.5rem; padding-top:1.15rem; }
.form-label { font-size:.95rem; font-weight:600; color:#46546b; margin-bottom:.5rem; }
.form-control,.form-select { border:1px solid #d4dde9; border-radius:9px; background-color:#fff; box-shadow:0 1px 2px rgba(28,46,70,.025); color:#2e4058; padding:.65rem .8rem; transition:border-color .15s,box-shadow .15s; }
.form-select { padding-right:2.25rem; }
.form-control::placeholder { color:#7d899c; }
.form-control:hover,.form-select:hover { border-color:#acbdd3; }
.form-control:focus,.form-select:focus { border-color:#6291e5; background-color:#fff; box-shadow:0 0 0 3px rgba(56,110,210,.13); }
.form-control:disabled,.form-select:disabled,.form-control[readonly] { background:#f1f4f8; color:#66758b; }
.form-check-input:checked { background-color:#3268cb; border-color:#3268cb; }
.btn { border-radius:9px; font-size:.93rem; font-weight:600; padding:.62rem 1.1rem; box-shadow:none; transition:background-color .15s,border-color .15s,box-shadow .15s; }
.btn-lg { font-size:1rem; padding:.75rem 1.35rem; }
.btn-primary { --bs-btn-bg:#3268cb; --bs-btn-border-color:#3268cb; --bs-btn-hover-bg:#2758b1; --bs-btn-hover-border-color:#2758b1; --bs-btn-active-bg:#214d9e; --bs-btn-active-border-color:#214d9e; --bs-btn-disabled-bg:#718bb6; --bs-btn-disabled-border-color:#718bb6; background-image:linear-gradient(180deg,rgba(255,255,255,.07),transparent); box-shadow:0 2px 4px rgba(44,94,180,.15); }
.btn-outline-primary { --bs-btn-color:#2e60b8; --bs-btn-border-color:#cfdbef; --bs-btn-hover-color:#244e98; --bs-btn-hover-bg:#edf3fe; --bs-btn-hover-border-color:#acc4ed; --bs-btn-active-color:#244e98; --bs-btn-active-bg:#e2edfd; --bs-btn-active-border-color:#acc4ed; background:#fff; }
.btn-outline-secondary { --bs-btn-color:#56657a; --bs-btn-border-color:#d7dfe9; --bs-btn-hover-color:#344760; --bs-btn-hover-bg:#f0f4f9; --bs-btn-hover-border-color:#bac8da; --bs-btn-active-color:#344760; --bs-btn-active-bg:#e7edf5; background:#fff; }
.btn:active { transform:none; }
.btn:focus-visible { outline:3px solid #5487dc; outline-offset:3px; }
.btn:disabled,.btn.disabled { box-shadow:none; }
.alert { border-radius:12px; padding:1rem 1.2rem; font-size:.94rem; line-height:1.7; }
.alert-info { color:#365b87; background:#eff6ff; border-color:#d9e8fb; }
.alert-warning { color:#795b22; background:#fff9ed; border-color:#f3e5c9; }
.alert-success { color:#2b6653; background:#edf8f2; border-color:#d1e9dd; }
.alert-light { color:#64738a; background:#fff; border-color:var(--care-line); padding:1.75rem; }
.badge { font-weight:600; padding:.45em .7em; border-radius:6px; }
.badge.text-bg-warning { background:#fff4dc !important; color:#7b5c24 !important; }
.navbar-brand { display:inline-flex; align-items:center; gap:.65rem; font-size:1.1rem; font-weight:700; color:#253f65; letter-spacing:-.015em; }
.navbar-brand small { display:block; font-size:.67rem; letter-spacing:.07em; font-weight:500; margin-top:.25rem; color:#748399; }
.care-brand-mark { width:34px; height:36px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; color:#fff; background:linear-gradient(145deg,#5489df,#386dc5); border-radius:11px; box-shadow:0 3px 8px rgba(54,104,189,.16); }
.care-nav-icon { width:20px; height:20px; flex-shrink:0; opacity:.85; }
.navbar .nav-link { gap:.8rem; }
.navbar .nav-link[aria-current="page"] { color:#285bb6 !important; background:#edf3fe; border-left:0; font-weight:700; }
.navbar-toggler { border-color:#e1e7f0; border-radius:10px; }
.care-page-context { display:flex; justify-content:space-between; align-items:center; gap:1rem; color:#748196; font-size:.8rem; padding-bottom:1rem; margin-bottom:1.75rem; border-bottom:1px solid #e7ecf3; }
.care-page-context > span > span { margin:0 .6rem; color:#b4becd; }
.care-role-label { border:1px solid #dfe7f3; border-radius:20px; padding:.2rem .75rem; color:#536b8b; background:#fff; white-space:nowrap; }
.care-home-hero { padding:2.25rem; border-radius:18px; border:1px solid #dce8fa; background:linear-gradient(115deg,#edf4ff,#f6fbff 65%,#edf8f5); box-shadow:none; position:relative; overflow:hidden; }
.care-home-hero::after { content:""; position:absolute; right:-60px; top:-100px; width:300px; height:300px; border:45px solid rgba(98,148,219,.045); border-radius:50%; pointer-events:none; }
.care-home-hero h1 { color:#263f65; font-size:1.9rem; }
.care-home-hero .text-secondary { color:#586d88 !important; max-width:650px; position:relative; }
.care-eyebrow { color:#3b71bb; font-size:.8rem; font-weight:600; letter-spacing:.04em; margin-bottom:.75rem; }
.care-home section > h2 { font-weight:700; margin:1.75rem 0 1rem; }
.care-home article { border-top:1px solid var(--care-line); }
.care-home article h3 { font-weight:700; }
.list-group { border-radius:12px; }
.list-group-item { border-color:var(--care-line); padding:1rem 1.25rem; }
footer { font-size:.8rem; color:#738198; border-color:#e7ecf3 !important; }
@media (min-width:992px) {
 .care-workspace { --care-sidebar:248px; }
 .care-workspace > header { background:#fff; border-right:1px solid #e5ebf3; box-shadow:none; }
 .care-workspace > header .navbar { background:transparent !important; padding:1.5rem 1rem; }
 .care-workspace .navbar-brand { color:#253f65; padding:.4rem .2rem 1.6rem; margin-right:0; }
 .care-workspace #mainMenu .nav-link { color:#5b6b82; padding:.7rem .9rem; border-radius:10px; margin-bottom:.15rem; font-size:1rem; }
 .care-workspace #mainMenu .nav-link:hover,.care-workspace #mainMenu .nav-link:focus-visible { color:#2a5db6; background:#f4f7fc; }
 .care-workspace #mainMenu .nav-link[aria-current="page"] { background:#edf3fe; color:#285bb6 !important; border-left:0; box-shadow:inset 0 0 0 1px #e2ebfc; }
 .care-workspace #mainMenu > .btn-link { color:#65768e; font-size:.83rem; text-decoration:none; border-top:1px solid #edf0f5; border-radius:0; padding-top:1.2rem; }
 .care-workspace #mainMenu form { padding:0 .75rem; }
 .care-workspace #mainMenu form .btn { width:100%; background:#fff; color:#5a6b82; border-color:#e0e7f0; box-shadow:none; font-size:.85rem; }
 .care-workspace #mainMenu form .btn:hover { background:#f5f8fc; }
 .care-workspace > main.container { padding:1.4rem 2.25rem 3rem; }
}
@media (max-width:991.98px) { .care-page-context { margin-bottom:1.25rem; } #mainMenu .nav-link { border-radius:9px; } }
@media (max-width:575.98px) { .care-home-hero { padding:1.5rem; } .care-home-hero h1 { font-size:1.5rem; } .card-body,.care-search-panel { padding:1.15rem; } h1.h3 { font-size:1.4rem; } .care-page-context { font-size:.73rem; gap:.5rem; } }
@media (prefers-reduced-motion:reduce) { .btn,.form-control,.form-select { transition:none; } }
/* Intake keeps related fields together on both desktop and mobile. */
.care-intake-form { max-width: 1200px; }
.care-intake-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.25rem; align-items: start; }
.care-input-section { min-width: 0; border: 1px solid var(--care-line); border-radius: 14px; padding: 1.25rem; background: #fff; box-shadow: 0 4px 16px rgba(37,57,84,.035); }
.care-input-section legend { float: none; width: auto; padding: 0 .5rem; margin: 0 0 .5rem; font-size: 1.1rem; font-weight: 700; color: var(--care-teal); }
.care-input-section .form-label { font-weight: 600; }
@media (min-width:1200px) { .care-intake-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:575.98px) { .care-intake-form > .care-search-actions > .btn { width: 100%; } }

/* Prefer native screen fonts and let the browser use its normal text rasterization. */
button,input,select,textarea { font-family:inherit; }
.care-logo { width:208px; height:auto; display:block; }
.care-logo-light { display:none; }
.care-skip-link { position:fixed; top:8px; left:16px; z-index:1100; padding:.75rem 1rem; border-radius:8px; background:white; color:#1746a2; box-shadow:0 2px 12px #142e5b33; transform:translateY(-160%); }
.care-skip-link:focus { transform:translateY(0); outline:3px solid #91e7df; }
#main-content:focus { outline:none; }
@media (min-width:992px) {
 .care-workspace > header { background:linear-gradient(160deg,#2455bd 0%,#1c46a4 100%); border-right:1px solid #214ba5; }
 .care-workspace .care-logo-blue { display:none; }
 .care-workspace .care-logo-light { display:block; }
 .care-workspace .navbar-brand { padding:.25rem 0 1.65rem; }
 .care-workspace #mainMenu .nav-link { color:#e6eeff; font-weight:500; }
 .care-workspace #mainMenu .nav-link:hover,.care-workspace #mainMenu .nav-link:focus-visible { color:white; background:#ffffff18; }
 .care-workspace #mainMenu .nav-link[aria-current="page"] { background:#fff; color:#1c46a4 !important; box-shadow:0 3px 10px #12377f26; font-weight:700; }
 .care-workspace #mainMenu .care-nav-icon { opacity:1; }
 .care-workspace #mainMenu > .btn-link { color:#e0eaff; border-top-color:#ffffff30; }
 .care-workspace #mainMenu form .btn { color:#fff; background:#ffffff0c; border-color:#ffffff55; }
 .care-workspace #mainMenu form .btn:hover { background:#ffffff20; }
 .care-workspace #mainMenu a:focus-visible,.care-workspace #mainMenu button:focus-visible { outline:3px solid #90e5dc; outline-offset:2px; }
}
@media (max-width:991.98px) {
 .care-workspace #mainMenu { margin-top:.75rem; padding:.75rem; background:#214fb1; border-radius:14px; }
 .care-workspace #mainMenu .nav-link { color:#e6eeff; }
 .care-workspace #mainMenu .nav-link:hover { background:#ffffff18; color:#fff; }
 .care-workspace #mainMenu .nav-link[aria-current="page"] { background:#fff; color:#1c46a4 !important; }
 .care-workspace #mainMenu > .btn-link { color:#e0eaff; }
 .care-workspace #mainMenu form .btn { background:transparent; border-color:#ffffff66; color:white; }
}