/* Scoped additions; the original NH stylesheet owns the shared design. */
.goal-count{background: var(--red); color: rgb(255, 255, 255); border-radius: 50%; width: 22px; height: 22px; display: inline-grid; place-items: center; font-size: 15px; font-weight: bold;}
.goal-list{margin: 0px; padding-left: 20px; font-size: 15px; overflow-wrap: anywhere;}
.goal-count{display: inline-flex; justify-content: center; align-items: center; min-width: 24px; height: 24px; padding: 0px 5px; border-radius: 999px; background: #d78574; color: white; font-size: 15px;}
#wordBankButton strong,#wordBankButton small{display: block; line-height: 1.15; text-align: center;}
#wordBankButton strong{font-size: 16px;}
#wordBankButton small{font-size: 15px; font-weight: 500;}
.bank-sprout{font-size: 25px;}
.bank-list{list-style: none; padding: 0px; max-height: 350px; overflow: auto;}
.bank-list li{display: flex; gap: 12px; justify-content: space-between; align-items: center; padding: 12px 0px; border-bottom: 1px solid var(--line);}
.bank-list li > span{min-width: 0px; overflow-wrap: anywhere;}
.bank-list small{display: block; color: var(--muted);}
.bank-list li > div{display: flex; gap: 6px; flex-shrink: 0;}
.bank-list .btn{padding: 7px 9px;}
@media (max-width: 600px){#wordBankDialog .two-col{grid-template-columns: 1fr;}}
#goalsDialog{padding: 30px; width: min(540px, 100% - 24px);}
#goalsDialog h2{font-size: 24px; color: #205777;}
.goals-intro{margin: 20px 0px;}
.goals-list{list-style: none; padding: 0px; margin: 0px 0px 28px; display: grid; gap: 12px;}
.goal-item{display: flex; align-items: center; gap: 12px; justify-content: space-between; background: #f3f4f5; border: 1px solid #eaf6fc; border-radius: 12px; padding: 14px 16px;}
.goal-item.active{background: #fff8df; border-color: #d78574;}
.goal-item label{display: flex; align-items: center; gap: 14px; min-width: 0px; flex: 1 1 0%; font-weight: 400; cursor: pointer;}
.goal-item span{white-space: pre-wrap; overflow-wrap: anywhere;}
.goal-item input{width: 18px; height: 18px; flex: 0 0 auto; accent-color: #2477a4;}
.goal-delete{border: 0px; border-radius: 9px; background: #fff3ee; color: #a54537; font-weight: 700; padding: 10px 12px; min-height: 40px; cursor: pointer;}
.goal-add{display: flex; align-items: stretch; gap: 10px;}
.goal-add textarea{flex: 1 1 0%; min-width: 0px; min-height: 68px;}
.goal-add .btn{flex: 0 0 auto; min-width: 62px;}
#goalsDialog .actions .btn{min-height: 46px;}
@media (max-width: 400px){#goalsDialog{padding: 22px 18px;}
.goal-item{padding: 12px;}
.goal-item label{gap: 10px;}}
#qrDialog{width: min(600px, 100% - 24px); padding: 24px;}
#qrVideo{width: 100%; max-height: 45vh; object-fit: contain; background: #18384b; border-radius: 12px; margin-top: 16px;}
.qr-goals{white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8;}
.qr-file{display: block; margin: 18px 0px; font-weight: 700;}
.qr-file input{display: block; margin-top: 8px; max-width: 100%;}
#qrStatus{min-height: 1.5em;}
#qrReview:focus{outline: #6ca3d4 solid 2px;}
.goal-count{background: #fff8df; color: #873529;}
.goal-item.active{background: #fff8df; border-color: #9bafbc;}
.goal-item input{accent-color: #718b9c;}
.goal-delete{background: #fff3ee; color: #a54537;}
.goal-count{background: #873529; color: white;}
.goal-item.active{background: #fff8df; border-color: #d78574;}
.goal-item input{accent-color: #185b86;}
.goal-delete{background: #fff3ee; color: #873529;}
.goal-item{display: flex; gap: 12px; align-items: center; flex-wrap: wrap;}
.goal-text{flex: 1 1 200px; min-width: 0px; overflow-wrap: anywhere; white-space: pre-wrap;}
.goal-text small{display: block; font-size: 15px; color: var(--muted); margin-top: 5px;}
.goal-actions{display: flex; gap: 8px; flex-wrap: wrap;}
.goal-actions .btn{min-height: 44px;}
#goalReviewDialog{width: min(620px, 94vw); max-height: 90dvh; overflow: auto;}
#goalReviewDialog .section{margin: 12px 0px;}
#goalRegistration .btn,#goalHistory{margin-top: 10px;}
#goalForm .btn{margin-top: 10px;}
#goalMigration:empty{display: none;}
@media (max-width: 480px){.goal-actions{width: 100%;}
.goal-actions .btn{flex: 1 1 0%;}
#goalsDialog{padding: 20px 16px;}
#goalReviewDialog{padding: 20px 16px;}
.goal-item{align-items: flex-start;}}
#goalRegister,#goalForm .btn,#goalReviewSave{border-radius: 14px; background: #2477a4 !important; color: rgb(255, 255, 255) !important; border: 1px solid #2477a4 !important;}
#goalHistory{background: #fff8df !important; color: #873529 !important; border: 1px solid #d78574 !important;}
#goalsDialog [data-action="open-qr"]{background: #eaf6fc !important; color: #185b86 !important; border-color: #9bafbc !important;}
.goal-actions .btn{display: inline-flex; align-items: center; justify-content: center; gap: 5px; border-radius: 12px;}
.goal-actions .btn:hover,#goalHistory:hover,#goalRegister:hover{filter: brightness(0.96);}
#goalsDialog button:focus-visible{outline: #2477a4 solid 3px; outline-offset: 3px;}
#wordBankButton small{font-size: 15px; line-height: 1.4;}
#wordBankButton strong{font-size: 17px;}
.goal-count{font-size: 15px; min-width: 28px; height: 28px; flex-shrink: 0;}
.goal-text{font-size: 17px;}
.goal-text small{font-size: 15px;}
.goal-actions .btn{min-height: 48px;}
#goalsDialog h2{font-size: 24px;}
@media (max-width: 360px){.goal-actions{flex-direction: column;}
.goal-actions .btn{width: 100%;}}
.bank-item-actions{display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end;}
.bank-item-actions .btn{min-height: 42px;}
.bank-card > span{flex: 1 1 130px;}
.bank-card b{color: #143e59; font-weight: 800; font-size: 1.08em;}
.bank-card small{color: #435c6b; line-height: 1.45; margin-top: 4px;}
.bank-card.completed b{color: #143e59;}
.bank-card.completed small{color: #435c6b;}
.bank-item-actions [data-bank-action="complete"]{background: #edf8f4 !important; color: #18384b !important; border: 1px solid #9bafbc !important;}
.bank-item-actions [data-bank-action="restore"]{background: #eaf6fc !important; color: #185b86 !important; border: 1px solid #9bafbc !important;}
.bank-item-actions [data-bank-action="delete"]{background: #fff3ee !important; color: #a54537 !important; border: 1px solid #fff8df !important;}
#wordBankDialog [data-bank-action="view-completed"]{background: #fff8df !important; color: #873529 !important; border: 1px solid #d78574 !important;}
#goalsList .goal-item.active{background: #fff8df; border-color: #d78574;}
#goalsList .goal-item[tabindex],#bankListPage .bank-card[tabindex]{cursor: pointer; touch-action: manipulation;}
#goalsList .goal-item[tabindex]:focus-visible,#bankListPage .bank-card[tabindex]:focus-visible{outline: #2477a4 solid 3px; outline-offset: 2px;}
#goalEditSection{margin: 12px 0px;}
#goalEditText{min-height: 82px;}
#goalEditForm .actions{margin-top: 10px;}
.bank-card .btn,.goal-item .btn{min-height: 44px;}
.bank-card .btn:hover,.goal-item .btn:hover{filter: brightness(0.96);}
#wordBankDialog button:focus-visible,#goalsDialog button:focus-visible{outline: #2477a4 solid 3px; outline-offset: 3px;}
#qrDialog #qrFile{display: block; width: 100%; max-width: 100%; box-sizing: border-box; min-height: 50px; margin-top: 8px; font-size: 16px; color: #143e59;}
#qrDialog #qrFile::file-selector-button{min-height: 46px; padding: 10px 16px; margin-right: 12px; border: 1px solid #9bafbc; border-radius: 12px; background: #eaf6fc; color: #143e59; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-weight: 700; cursor: pointer;}
#qrDialog #qrFile::-webkit-file-upload-button{min-height: 46px; padding: 10px 16px; margin-right: 12px; border: 1px solid #9bafbc; border-radius: 12px; background: #eaf6fc; color: #143e59; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-weight: 700; cursor: pointer;}
@media (max-width: 520px){.bank-list li{align-items: flex-start; flex-wrap: wrap;}
.bank-item-actions{width: 100%; justify-content: flex-end;}
.bank-item-actions .btn{min-height: 44px;}}
#wordBankDialog #bankForm .two-col{grid-template-columns: repeat(2, minmax(0px, 1fr));}
#wordBankDialog #bankForm .two-col > label{min-width: 0px;}
#wordBankDialog .bank-single-actions{justify-content: flex-end;}
#wordBankDialog .bank-single-actions > .btn{flex: 0 1 auto;}
#wordBankDialog .bank-import-actions{display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); align-items: stretch; gap: 8px;}
#wordBankDialog .bank-import-actions > .btn{min-width: 0px; margin: 0px; white-space: normal; justify-content: center; text-align: center;}
#wordBankDialog .bank-import-actions input{width: 100%; min-width: 0px;}
#bankStatus:empty{display: none;}
