.assessment-entry { position: fixed; right: 32px; bottom: 32px; z-index: 9900; display: flex; align-items: center; gap: 7px; height: 48px; padding: 0 18px; border: 0; border-radius: 24px; background: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.14); color: #222; font-size: 16px; cursor: pointer; }
.assessment-entry img { width: 16px; height: 16px; object-fit: contain; }
.assessment-modal { position: fixed; inset: 0; z-index: 10000; display: none; align-items: center; justify-content: center; padding: 24px; background: rgba(12,27,39,.62); }
.assessment-modal.is-open { display: flex; }
.assessment-panel { position: relative; width: 1000px; max-width: 100%; max-height: calc(100vh - 48px); overflow-y: auto; padding: 52px 60px 56px; border-radius: 10px; background: #fff; box-sizing: border-box; }
.assessment-close { position: absolute; top: 16px; right: 18px; width: 34px; height: 34px; padding: 0; border: 0; background: none; color: #87909a; font: 34px/30px Arial,sans-serif; cursor: pointer; }
.assessment-panel h2 { margin: 0 0 20px; color: #222; font-size: 34px; line-height: 1.25; font-weight: 700; }
.assessment-subtitle { margin: 0; color: #777; font-size: 17px; line-height: 1.6; }
.assessment-divider { height: 1px; margin: 34px 0 38px; background: #ddd8d0; }
.assessment-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 80px; row-gap: 16px; }
.assessment-field { display: block; margin: 0; color: #07365f; font-size: 17px; font-weight: 600; }
.assessment-field > span { display: block; margin-bottom: 9px; }
.assessment-field i { color: #dc493f; font-style: normal; }
.assessment-field input,.assessment-field select { width: 100%; height: 60px; padding: 0 20px; border: 1px solid #ddd8d0; border-radius: 8px; outline: none; box-shadow: none; background-color: #fff; box-sizing: border-box; color: #333; font-size: 16px; font-weight: 400; }
.assessment-field select { padding-right: 52px; appearance: none; -webkit-appearance: none; -moz-appearance: none; 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.25 6 6.25 11 1.25' fill='none' stroke='%2307365f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 20px center; background-size: 12px 8px; }
.assessment-field select.is-open { 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 6.75 6 1.75 11 6.75' fill='none' stroke='%2307365f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.assessment-field select:invalid { color: #aaa; }
.assessment-field select option { color: #333; }
.assessment-field input:focus,.assessment-field select:focus { border-color: #07365f; outline: none; box-shadow: none; }
.assessment-field input::placeholder { color: #aaa; }
.assessment-contact { display: grid; grid-template-columns: 110px minmax(0,1fr); height: 60px; overflow: hidden; border: 1px solid #ddd8d0; border-radius: 8px; background: #fff; box-sizing: border-box; }
.assessment-contact:focus-within { border-color: #07365f; }
.assessment-contact select { height: 58px; padding-right: 34px; border: 0; border-right: 1px solid #ddd8d0; border-radius: 0; background-position: right 14px center; }
.assessment-contact input { height: 58px; border: 0; border-radius: 0; }
.assessment-contact select:focus { border: 0; border-right: 1px solid #ddd8d0; }
.assessment-contact input:focus { border: 0; }
.assessment-error { display: block; min-height: 18px; padding-top: 4px; color: #d74237; font-size: 13px; line-height: 18px; font-style: normal; font-weight: 400; }
.assessment-field.has-error > input,.assessment-field.has-error > select { border-color: #d74237; }
.assessment-field.has-error .assessment-contact { border-color: #d74237; }
.assessment-submit { width: 100%; height: 60px; margin-top: 34px; border: 0; border-radius: 8px; background: #07365f; color: #fff; font-size: 20px; font-weight: 600; letter-spacing: 12px; cursor: pointer; }
.assessment-submit:disabled { opacity: .65; cursor: not-allowed; }
.assessment-privacy { margin: 10px 0 0; color: #aaa; font-size: 14px; }
.assessment-notice { position: fixed; inset: 0; z-index: 11000; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(0,0,0,.08); pointer-events: none; }
.assessment-notice.is-visible { display: flex; }
.assessment-notice-box { display: flex; align-items: center; gap: 14px; max-width: 480px; padding: 20px 28px; border-radius: 8px; background: rgba(20,34,48,.94); box-shadow: 0 8px 30px rgba(0,0,0,.22); color: #fff; font-size: 17px; line-height: 1.6; }
.assessment-notice-icon { position: relative; flex: 0 0 26px; width: 26px; height: 26px; border: 2px solid currentColor; border-radius: 50%; box-sizing: border-box; }
.assessment-notice-icon::after { content: ''; position: absolute; inset: 0; background-repeat: no-repeat; background-position: center; background-size: 14px 14px; }
.assessment-notice.is-success .assessment-notice-icon::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 7.2 5.6 10.2 11.5 3.8' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.assessment-notice.is-error .assessment-notice-icon::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3.5 3.5 7 7m0-7-7 7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
body.assessment-locked { overflow: hidden; }
@media (max-width: 767px) {
  .assessment-entry { right: 16px; bottom: 16px; height: 44px; padding: 0 14px; font-size: 14px; }
  .assessment-entry img { width: 16px; height: 16px; }
  .assessment-modal { align-items: flex-start; padding: 16px; }
  .assessment-panel { max-height: calc(100vh - 32px); padding: 42px 20px 30px; border-radius: 8px; }
  .assessment-panel h2 { padding-right: 20px; font-size: 26px; }
  .assessment-subtitle { font-size: 14px; }
  .assessment-divider { margin: 24px 0; }
  .assessment-fields { grid-template-columns: 1fr; row-gap: 8px; }
  .assessment-field { font-size: 15px; }
  .assessment-field input,.assessment-field select { height: 52px; font-size: 15px; }
  .assessment-contact { height: 52px; }
  .assessment-contact select,.assessment-contact input { height: 50px; }
  .assessment-submit { height: 52px; font-size: 18px; }
  .assessment-privacy { font-size: 12px; line-height: 1.5; }
  .assessment-notice-box { padding: 16px 20px; font-size: 15px; }
}
