/* v5.27.4 — Scoped building care + purpose-aware login. Existing screens remain unchanged. */
.auth-purpose-page,.my-buildings-page,.building-save-dialog {
  --care-ink:#17263b; --care-muted:#5b697c; --care-line:#e0e6ee;
  --care-soft:#f4f7fb; --care-blue:#245383; --care-green:#197551;
  font-family:Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--care-ink); word-break:keep-all; overflow-wrap:anywhere;
}
.care-eyebrow {display:block;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.02em;color:#375779;margin-bottom:8px}
.auth-purpose-page {width:100%;max-width:520px!important;margin:0 auto;min-height:100dvh}
.auth-purpose-page .auth-purpose-content {padding:36px 28px 32px!important;max-width:none!important}
.auth-purpose-heading h1 {font-size:27px;line-height:1.4;letter-spacing:-.65px;font-weight:750;margin:0 0 12px}
.auth-purpose-heading p {font-size:15px;line-height:1.7;color:var(--care-muted);margin:0 0 28px}
.auth-purpose-page .kakao-btn {display:flex;justify-content:center;align-items:center;width:100%;min-height:52px;border:0;border-radius:12px;background:#fee500;color:#181600;font-size:16px;line-height:1.4;font-weight:700;margin:0}
.auth-purpose-page .kakao-btn:before {content:none}
.auth-phone-details {margin-top:14px;border:1px solid var(--care-line);border-radius:12px;background:#fff}
.auth-phone-details>summary {list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:50px;padding:12px 16px;font-size:15px;font-weight:600;cursor:pointer}
.auth-phone-details>summary::-webkit-details-marker {display:none}
.auth-phone-details[open]>summary {border-bottom:1px solid var(--care-line)}
.auth-phone-body {padding:18px 16px}
.auth-purpose-page .field {margin:0 0 16px}
.auth-purpose-page .field label {font-size:13px;line-height:1.5;font-weight:650;margin-bottom:8px}
.auth-purpose-page input {font:inherit;font-size:16px;min-height:48px;border:1px solid var(--care-line);border-radius:10px;background:#fff;color:var(--care-ink);padding:10px 12px;width:100%;min-width:0}
.auth-purpose-page .otp-row {display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;align-items:stretch}
.auth-purpose-page .btn {font:inherit;font-size:14px;font-weight:650;min-height:48px;border-radius:10px}
.auth-purpose-page #verifyOtp {margin-top:12px;width:100%}
.auth-purpose-page #authMsg:empty {display:none}
.auth-purpose-page .auth-inline-hint,.auth-purpose-page .errorbox,.auth-purpose-page .successbox {font-size:14px;line-height:1.65;margin:12px 0 0;padding:12px 14px;border-radius:10px}
.auth-inline-hint {background:var(--care-soft);color:var(--care-muted);border:1px solid var(--care-line)}
.auth-purpose-footnote {font-size:13px;line-height:1.65;color:var(--care-muted);text-align:center;margin:18px 0 30px}
.auth-help-details {border-top:1px solid var(--care-line);padding-top:16px;font-size:13px;line-height:1.7;color:var(--care-muted)}
.auth-help-details>summary {cursor:pointer;font-weight:600;padding:8px 0;min-height:40px}
.auth-help-details p {margin:10px 0}.auth-help-details a {display:inline-flex;min-height:40px;align-items:center;color:var(--care-blue);font-weight:650}
.auth-purpose-page :focus-visible,.my-buildings-page :focus-visible,.building-save-dialog :focus-visible {outline:3px solid #4d83bc;outline-offset:3px}
/* Building-confirmation entry: visible before choosing inspection / construction / permit. */
.building-service-choice .building-save-entry {display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #dce6ee;border-radius:16px;padding:20px;margin-bottom:28px;background:#f6f9fc}
.building-save-entry h3 {font-size:18px;line-height:1.5;letter-spacing:-.3px;margin:0 0 6px;color:#17263b}
.building-save-entry p {font-size:13px;line-height:1.65;margin:0;color:#5b697c}
.building-save-entry .btn {min-height:48px;flex:0 0 auto;font-size:14px;font-weight:700;padding:12px 18px;width:auto}
/* Native dialog keeps keyboard focus in the save confirmation. */
.building-save-dialog {box-sizing:border-box;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;border:1px solid #dce4ee;border-radius:20px;padding:24px;background:#fff;box-shadow:0 18px 64px #10284426}
.building-save-dialog::backdrop {background:#12233966}
.care-dialog-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.care-dialog-heading h2 {font-size:22px;line-height:1.4;margin:0;letter-spacing:-.4px}
.care-dialog-close {flex:0 0 40px;min-height:40px;border:0;border-radius:10px;background:#f2f5f8;font-size:24px;color:#485568;cursor:pointer}
.care-dialog-building {margin:24px 0 16px;font-size:16px;line-height:1.6}.care-dialog-building p {margin:4px 0 0;color:var(--care-muted);font-size:13px}
.care-schedule-proposal {padding:20px;border:1px solid #dce6f1;border-radius:14px;background:var(--care-soft)}
.care-schedule-proposal>span {display:block;font-size:13px;color:var(--care-blue);margin-bottom:8px}
.care-schedule-proposal>strong {display:block;font-size:27px;line-height:1.35;letter-spacing:-.6px}
.care-schedule-proposal p {font-size:13px;line-height:1.65;color:var(--care-muted);margin:10px 0 0}
.care-dialog-copy {font-size:14px;line-height:1.7;color:var(--care-muted);margin:16px 0}
.care-dialog-actions {display:flex;flex-direction:column;gap:8px;margin-top:20px}
.care-dialog-actions .btn {width:100%;min-height:50px;font:inherit;font-size:15px;font-weight:700;border-radius:12px}
.care-dialog-actions .linkbtn {min-height:44px;font-size:13px;color:var(--care-muted)}
.care-caption {font-size:13px!important;line-height:1.65!important;color:#5b697c;margin:10px 0 0}
/* Customer building portfolio. */
.my-buildings-page {width:100%;max-width:940px!important;margin:0 auto}
.my-buildings-page>.content {max-width:none!important;padding:28px 28px 32px!important}
.care-page-heading {display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}
.care-page-heading h1 {font-size:26px;line-height:1.45;letter-spacing:-.6px;margin:0 0 10px}
.care-page-heading p {font-size:14px;line-height:1.7;color:var(--care-muted);margin:0}
.care-page-heading>.btn {width:auto;min-height:44px;padding:10px 14px;white-space:nowrap;font-size:14px;border-radius:12px}
.care-overview {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:var(--care-soft);border:1px solid var(--care-line);border-radius:14px;margin-bottom:24px;padding:16px 8px}
.care-overview>div {padding:0 14px;border-right:1px solid #dde5ee;display:flex;flex-direction:column;gap:6px}
.care-overview>div:last-child {border:0}.care-overview span {font-size:13px;color:var(--care-muted);line-height:1.5}.care-overview b {font-size:25px;line-height:1.2;font-variant-numeric:tabular-nums}
.care-search-label {display:block;font-size:13px;font-weight:650;margin:0 0 8px}
.my-buildings-page .care-search {width:100%;min-height:46px;border:1px solid var(--care-line);border-radius:12px;background:#fff;font:inherit;font-size:16px;padding:10px 14px;margin-bottom:20px}
.my-buildings-page #buildingList {display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.my-buildings-page .care-building-card {padding:22px;border:1px solid var(--care-line);border-radius:16px;margin:0;box-shadow:none;background:#fff;min-width:0}
.care-card-heading .pill {font-size:12px;line-height:1.5;padding:4px 9px;min-height:25px;border-radius:7px}
.care-card-heading h2 {font-size:21px;line-height:1.45;letter-spacing:-.4px;margin:12px 0 4px}
.care-card-heading p {font-size:14px;line-height:1.65;color:var(--care-muted);margin:0}
.care-building-facts {display:flex;gap:6px 18px;flex-wrap:wrap;font-size:13px;line-height:1.6;color:var(--care-muted);margin:10px 0 18px}
.care-schedule-list {border-top:1px solid var(--care-line);border-bottom:1px solid var(--care-line);padding:2px 0}
.care-next-month {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0}
.care-next-month+.care-next-month {border-top:1px solid var(--care-line)}
.care-next-month>div>span {display:block;font-size:12px;line-height:1.6;color:var(--care-muted);margin-bottom:5px}
.care-next-month strong {font-size:26px;line-height:1.3;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.care-type {font-size:13px;color:#375779;font-weight:650;text-align:right}
.care-reminder-progress {display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.care-reminder-progress span {display:inline-flex;align-items:center;gap:5px;color:#667386;font-size:12px;line-height:1.5}
.care-reminder-progress i {display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-style:normal;font-size:11px;background:#edf1f5;color:#506379}
.care-reminder-progress .sent {color:#197551}.care-reminder-progress .sent i {background:#e8f5ef;color:#197551}
.care-card-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
.care-card-actions .btn {min-height:48px;border-radius:12px;font-size:14px;line-height:1.5;padding:12px 10px}
.care-proposal-inline {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;background:var(--care-soft);border-radius:12px;border:1px solid #e2e9f2}
.care-proposal-inline span,.care-proposal-inline small {display:block;font-size:12px;color:var(--care-muted);line-height:1.5}
.care-proposal-inline strong {display:block;font-size:25px;line-height:1.4;margin:5px 0}
.care-proposal-inline .btn {min-height:46px;font-size:13px;width:auto;padding:10px 12px;max-width:170px}
.care-no-date {font-size:14px;line-height:1.7;padding:16px;background:var(--care-soft);border-radius:12px;color:var(--care-muted)}
.my-buildings-page .care-edit-form {margin-top:18px;padding:20px;background:#f7f9fc;border:1px solid #e0e6ee;border-radius:14px}
.care-edit-heading {display:flex;align-items:center;justify-content:space-between;gap:12px}
.care-edit-heading h3 {font-size:17px;line-height:1.5;margin:0}.care-edit-heading .linkbtn {min-height:40px;padding:8px;font-size:13px}
.care-edit-form .field {margin-top:18px;margin-bottom:0}
.care-edit-form .field label {display:block;font-size:14px;font-weight:650;line-height:1.5;margin-bottom:8px}
.care-edit-form label span {font-size:12px;color:var(--care-muted);font-weight:400}
.my-buildings-page .care-edit-form input:not([type=checkbox]),.my-buildings-page .care-edit-form select {font:inherit;font-size:16px;line-height:1.5;padding:11px 12px;min-height:48px;width:100%;border:1px solid #d8e0eb;border-radius:10px;color:var(--care-ink);background:#fff}
.care-edit-form select:disabled {color:#4c6078!important;opacity:1;background:#edf2f7!important}
.care-confirm-row {display:flex;align-items:flex-start;gap:10px;padding:14px 0;cursor:pointer;margin:14px 0 0}
.care-confirm-row input {width:20px;height:20px;flex:0 0 20px;margin:1px 0 0}
.care-edit-form .care-confirm-row span {font-size:14px;color:var(--care-ink);line-height:1.6}
.care-edit-form>.btn {margin-top:18px;min-height:48px;width:100%;font-size:15px;border-radius:12px}
.care-help {font-size:13px;line-height:1.7;margin-top:26px;padding:16px 0;border-top:1px solid var(--care-line);color:var(--care-muted)}
.care-help summary {font-weight:650;cursor:pointer;min-height:42px;padding:9px 0;color:var(--care-ink)}
.care-help .linkbtn {font-size:13px;min-height:40px}
.care-history {border-top:1px solid var(--care-line);margin-top:18px;padding-top:10px;font-size:13px}
.care-history summary {cursor:pointer;min-height:40px;padding:10px 0}.care-history-row {display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.5;padding:6px 0}.care-history-row span {color:var(--care-muted)}.care-history-row .linkbtn {min-height:36px;margin-left:auto}
.care-empty {text-align:center;padding:40px 20px;border:1px dashed #cdd9e6;border-radius:16px}.care-empty h2 {font-size:21px;line-height:1.45}.care-empty p {font-size:14px;line-height:1.7;color:var(--care-muted)}.care-empty .btn {max-width:300px;margin:20px auto 0;min-height:48px}
.care-saved-note,.care-partial-error {font-size:14px;line-height:1.7;padding:14px 16px;margin:0 0 18px;border-radius:12px;background:#edf6f1;color:#265d47}
.care-partial-error {background:#fff7ee;color:#825028}.care-partial-error .linkbtn {font-size:14px;min-height:40px}
/* Administrator projection — monthly reminders remain separate from dated work. */
.admin-page .calendar-care-month {border:1px solid #dce5ef;border-radius:14px;padding:18px;background:#fafcfe;margin:0 0 20px}
.calendar-care-heading {display:flex;gap:16px;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.calendar-care-heading h3 {font-size:18px;line-height:1.5;margin:0;color:#17263b}.calendar-care-heading h3>b {font-size:14px;color:#44688b;margin-left:6px}
.calendar-care-heading p {font-size:13px;line-height:1.6;color:#5b697c;margin:6px 0 0}.calendar-care-heading .linkbtn {min-height:44px;font-size:13px;white-space:nowrap}
.calendar-care-row {display:flex;justify-content:space-between;gap:18px;align-items:center;border-top:1px solid #e4eaf2;padding:15px 0;word-break:keep-all;overflow-wrap:anywhere}
.calendar-care-row>div:first-child {display:flex;flex-direction:column;gap:5px;min-width:0}.calendar-care-row .pill {width:fit-content;font-size:12px}
.calendar-care-row b {font-size:15px;line-height:1.5}.calendar-care-row span,.calendar-care-row small {font-size:13px;line-height:1.6;color:#5b697c}
.calendar-care-state {text-align:right;flex:0 0 auto}.calendar-care-state b {display:block;font-size:18px;color:#17263b;font-variant-numeric:tabular-nums}.calendar-care-state span {display:block}
@media(max-width:600px) {
 .auth-purpose-page .auth-purpose-content {padding:28px 20px!important}
 .auth-purpose-heading h1 {font-size:25px}.auth-purpose-heading p {font-size:14px}
 .auth-purpose-page .otp-row {grid-template-columns:minmax(0,1fr) 112px}
 .my-buildings-page>.content {padding:24px 16px 28px!important}
 .care-page-heading {display:block;margin-bottom:20px}.care-page-heading h1 {font-size:23px}.care-page-heading>.btn {margin-top:16px}
 .care-overview {margin-bottom:20px;padding:14px 3px}.care-overview>div {padding:0 10px}.care-overview span {font-size:12px}.care-overview b {font-size:23px}
 .my-buildings-page .care-building-card {padding:18px 16px}.care-card-heading h2 {font-size:20px}
 .care-building-facts {flex-direction:column;gap:4px}.care-next-month strong {font-size:24px}
 .care-card-actions {gap:8px}.care-card-actions .btn {font-size:13px;padding:11px 8px}
 .care-proposal-inline {display:block;padding:16px}.care-proposal-inline .btn {width:100%;max-width:none;margin-top:14px}
 .my-buildings-page .care-edit-form {padding:16px 12px}.care-edit-form .care-confirm-row span {font-size:13px}
 .building-service-choice .building-save-entry {display:block;padding:18px;margin-bottom:24px}.building-save-entry h3 {font-size:17px}.building-save-entry .btn {margin-top:14px;width:100%}
 .building-save-dialog {padding:20px}.care-dialog-heading h2 {font-size:21px}.care-dialog-copy {font-size:14px}
 .admin-page .calendar-care-month {padding:16px 12px}.calendar-care-heading h3 {font-size:17px}.calendar-care-row {gap:10px;align-items:flex-start}.calendar-care-state b {font-size:16px}.calendar-care-state span {font-size:12px}
}
@media(prefers-reduced-motion:reduce) { .auth-purpose-page *, .my-buildings-page *, .building-save-dialog * {scroll-behavior:auto!important;transition:none!important} }

.my-buildings-page .top-title{min-width:64px;white-space:nowrap;text-overflow:clip}
