{
  "common.messageTemplateLabel.pageTitle": "Message Templates",
  "common.messageTemplateLabel.create": "Create template",
  "common.messageTemplateLabel.createTitle": "Create message template",
  "common.messageTemplateLabel.editTitle": "Edit message template",
  "common.messageTemplateLabel.name": "Name",
  "common.messageTemplateLabel.subject": "Subject",
  "common.messageTemplateLabel.body": "Message body",
  "common.messageTemplateLabel.createdAt": "Created",
  "common.messageTemplateLabel.templates": "templates",
  "common.messageTemplateLabel.search": "Search message templates",
  "common.messageTemplateLabel.empty": "No message templates found.",
  "common.messageTemplateLabel.tokenHelper": "You can personalize messages with student merge tags.",
  "common.messageTemplateLabel.backToList": "Back to templates",
  "common.messageTemplateLabel.saveChanges": "Save changes",
  "common.messageTemplateLabel.deleteConfirm": "Delete this message template?",
  "common.messageTemplateLabel.noSubject": "No subject",
  "common.messageTemplateLabel.createdSuccessfully": "Message template created successfully.",
  "common.messageTemplateLabel.updatedSuccessfully": "Message template updated successfully.",
  "common.messageTemplateLabel.stepDetails": "Template details",
  "common.messageTemplateLabel.stepDetailsHint": "Name the template and define its subject.",
  "common.messageTemplateLabel.stepContent": "Message content",
  "common.messageTemplateLabel.stepContentHint": "Write the message and add merge tags when needed.",
  "common.messageTemplateLabel.detailsTitle": "Template details",
  "common.messageTemplateLabel.detailsDescription": "Give this reusable message a clear name and subject.",
  "common.messageTemplateLabel.contentTitle": "Message content",
  "common.messageTemplateLabel.contentDescription": "Compose the message that will be available when sending.",
  "common.messageTemplateLabel.subjectHint": "This subject is used when the template is sent.",
  "common.messageTemplateLabel.nameRequired": "Enter a template name.",
  "common.messageTemplateLabel.bodyRequired": "Enter a message body.",
  "common.messageTemplateLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.messageTemplateLabel.saveFailed": "Unable to save the message template.",
  "common.messageTemplateLabel.stepAnnouncement": ":step. Step :current of :total.",
  "common.messageTemplateLabel.stepProgress": "Step :current of :total",
  "common.messageTemplateLabel.wizardNavigation": "Message template wizard navigation",
  "common.messageTemplateLabel.wizardFooterAria": "Message template wizard actions",
  "common.messageTemplateLabel.deletedSuccessfully": "Message template deleted successfully.",
  "common.bulkPortalMessageLabel.composeTitle": "Send portal message",
  "common.bulkPortalMessageLabel.send": "Send bulk portal message",
  "common.bulkPortalMessageLabel.sendFromList": "Send bulk portal message",
  "common.bulkPortalMessageLabel.noTemplate": "Write a message directly",
  "common.bulkPortalMessageLabel.audienceTitle": "Choose recipients",
  "common.bulkPortalMessageLabel.audienceDescription": "Select one or more lists. Every student in them will be included.",
  "common.bulkPortalMessageLabel.lists": "Lists",
  "common.bulkPortalMessageLabel.selectLists": "Select lists",
  "common.bulkPortalMessageLabel.recipients": "Recipients",
  "common.bulkPortalMessageLabel.counting": "Counting…",
  "common.bulkPortalMessageLabel.allStudentsIncluded": "All students in the selected lists will receive this message.",
  "common.bulkPortalMessageLabel.contentTitle": "Compose message",
  "common.bulkPortalMessageLabel.contentDescription": "Use a saved template or write a one-off message.",
  "common.bulkPortalMessageLabel.template": "Template",
  "common.bulkPortalMessageLabel.selectTemplate": "Select a template",
  "common.bulkPortalMessageLabel.listsRequired": "Select at least one list.",
  "common.bulkPortalMessageLabel.contentRequired": "Enter a subject and message body.",
  "common.bulkPortalMessageLabel.countFailed": "Unable to count recipients.",
  "common.bulkPortalMessageLabel.sendFailed": "Unable to start the portal message campaign.",
  "common.bulkPortalMessageLabel.starting": "Starting…",
  "common.bulkPortalMessageLabel.backToLists": "Back to lists",
  "common.bulkPortalMessageLabel.progressTitle": "Portal message progress",
  "common.bulkPortalMessageLabel.progressDescription": "The message is being sent in the background. This page updates automatically.",
  "common.bulkPortalMessageLabel.progressLoadFailed": "Unable to refresh message progress.",
  "common.bulkPortalMessageLabel.preparing": "Preparing recipients",
  "common.bulkPortalMessageLabel.sending": "Sending messages",
  "common.bulkPortalMessageLabel.completed": "Messages sent",
  "common.bulkPortalMessageLabel.completedWithIssues": "Completed with issues",
  "common.bulkPortalMessageLabel.sent": "Sent",
  "common.bulkPortalMessageLabel.skipped": "Skipped",
  "common.bulkPortalMessageLabel.failed": "Failed",
  "common.bulkPortalMessageLabel.remaining": "Remaining",
  "common.bulkPortalMessageLabel.issuesTitle": "Recipient issues",
  "common.bulkPortalMessageLabel.issuesDescription": ":count recipients were skipped or could not be sent.",
  "common.bulkPortalMessageLabel.unknownRecipient": "Unknown recipient",
  "common.bulkPortalMessageLabel.historyTitle": "Message History",
  "common.bulkPortalMessageLabel.startedAt": "Started",
  "common.bulkPortalMessageLabel.status": "Status",
  "common.bulkPortalMessageLabel.total": "Total",
  "common.bulkPortalMessageLabel.historyEntries": "campaigns",
  "common.bulkPortalMessageLabel.searchHistory": "Search message history",
  "common.bulkPortalMessageLabel.historyEmpty": "No portal message campaigns found.",
  "common.bulkPortalMessageLabel.stepAudience": "Choose recipients",
  "common.bulkPortalMessageLabel.stepAudienceHint": "Select lists and review the recipient count.",
  "common.bulkPortalMessageLabel.stepCompose": "Compose message",
  "common.bulkPortalMessageLabel.stepComposeHint": "Choose a template or write the message to send.",
  "common.bulkPortalMessageLabel.subjectRequired": "Enter a message subject.",
  "common.bulkPortalMessageLabel.bodyRequired": "Enter a message body.",
  "common.bulkPortalMessageLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.bulkPortalMessageLabel.noRecipients": "The selected lists contain no students.",
  "common.bulkPortalMessageLabel.startedSuccessfully": "Portal message sending has started.",
  "common.bulkPortalMessageLabel.stepAnnouncement": ":step. Step :current of :total.",
  "common.bulkPortalMessageLabel.stepProgress": "Step :current of :total",
  "common.bulkPortalMessageLabel.wizardNavigation": "Portal message wizard navigation",
  "common.bulkPortalMessageLabel.wizardFooterAria": "Portal message wizard actions",
  "common.bulkPortalMessageLabel.deliverySummary": "Delivery summary",
  "common.bulkPortalMessageLabel.deliverySummaryText": "The message will be sent to :count selected students.",
  "common.applicationBuilderLabel.htmlSource": "HTML source",
  "common.applicationBuilderLabel.htmlSourceHelp": "Edit HTML markup here. Use visual mode for formatted text.",
  "common.groupLabel.exportSelectedGradesExcel": "Export selected rows (Excel)",
  "common.groupLabel.cohortAverageGrade": "Overall cohort average",
  "common.groupLabel.cohortAverageDescription": "Average of :count graded students across the whole cohort.",
  "common.groupLabel.exportGradesExcel": "Export matching grades to Excel",
  "common.portalLabel.extraWeeks": "Extra weeks",
  "common.portalLabel.extraWeekRate": ":price per extra week",
  " to your agency, He is registred with another agency!": " to your agency, He is registred with another agency!",
  "# of Preparer": "# of Preparer",
  "# of Seats": "# of Seats",
  "$application->title & $mergedApplication->title were merged successfully!": "$application->title & $mergedApplication->title were merged successfully!",
  "${students.first_name} = Student's first name, ${students.last_name} = Student's last name, ${students.email} = Student's email": "${students.first_name} = Student's first name, ${students.last_name} = Student's last name, ${students.email} = Student's email",
  "% of All": "% of All",
  "% of Previous Stage": "% of Previous Stage",
  "% of Total Leads": "% of Total Leads",
  "+ Add Grade": "+ Add Grade",
  "+ Add Value": "+ Add Value",
  "- Select From -": "- Select From -",
  "- Select From - ": "- Select From - ",
  "-- Campus --": "-- Campus --",
  "-- Campuses --": "-- Campuses --",
  "-- Columns --": "-- Columns --",
  "-- Course --": "-- Course --",
  "-- Instructor --": "-- Instructor --",
  "-- Program --": "-- Program --",
  "-- Program Cohort --": "-- Program Cohort --",
  "-- Programs --": "-- Programs --",
  "-- Select --": "-- Select --",
  "-- Select Agent --": "-- Select Agent --",
  "-- Select Category --": "-- Select Category --",
  "-- Select Column --": "-- Select Column --",
  "-- Select Defined Status --": "-- Select Defined Status --",
  "-- Select Instructors --": "-- Select Instructors --",
  "-- Select Object Type --": "-- Select Object Type --",
  "-- Select Type --": "-- Select Type --",
  "-- Select X Column --": "-- Select X Column --",
  "-- Select Y Column --": "-- Select Y Column --",
  "-- Source --": "-- Source --",
  "--Program of interest--": "--Program of interest--",
  "--Select Field--": "--Select Field--",
  "--Select--": "--Select--",
  "/child": "/child",
  "0 Cohorts": "0 Cohorts",
  "0/0 emails sent": "0/0 emails sent",
  "2 per row on desktop": "2 per row on desktop",
  "2019 All Rights Reserved by": "2019 All Rights Reserved by",
  "2020 All Rights Reserved by": "2020 All Rights Reserved by",
  "2023 All Rights Reserved by": "2023 All Rights Reserved by",
  "360 Virtual Tour": "360 Virtual Tour",
  "3rd Party Integrations": "3rd Party Integrations",
  "3rd Party Mailing": "3rd Party Mailing",
  ":label added to bookmarks": ":label added to bookmarks",
  ":label removed from bookmarks": ":label removed from bookmarks",
  ":name, :count records": ":name, :count records",
  ":school Applications": ":school Applications",
  ":type Email": ":type Email",
  "<a><h4><span class='label label-info'>Invoice Created</span></h4></a>": "<a><h4><span class='label label-info'>Invoice Created</span></h4></a>",
  "<h3><span>Academic Information</span></h3>": "<h3><span>Academic Information</span></h3>",
  "<h3><span>Company Data</span></h3>": "<h3><span>Company Data</span></h3>",
  "<h3><span>Contact Person Name</span></h3>": "<h3><span>Contact Person Name</span></h3>",
  "<h3>Full Amount</h3>": "<h3>Full Amount</h3>",
  "<p><span>Please upload one of these official government&nbsp;IDs:</span></p><ul><li>Drivers license</li><li>Birth certificate </li><li>Passport</li><li>Medicare Card</li></ul><br>": "<p><span>Please upload one of these official government&nbsp;IDs:</span></p><ul><li>Drivers license</li><li>Birth certificate </li><li>Passport</li><li>Medicare Card</li></ul><br>",
  "<p><span>The student?s admission will not be considered unless he(she) provides the following documents. Depending on your status in Canada, some of these may not apply.</span></p><ul><li> High School V diploma </li><li>High School V grades </li><li>High School V equivalent Diploma (s) granted </li><li>Curriculum vitae (proof of employment, letters of reference) </li><li>Birth certificate </li><li>Proof of status in Canada</li></ul>": "<p><span>The student?s admission will not be considered unless he(she) provides the following documents. Depending on your status in Canada, some of these may not apply.</span></p><ul><li> High School V diploma </li><li>High School V grades </li><li>High School V equivalent Diploma (s) granted </li><li>Curriculum vitae (proof of employment, letters of reference) </li><li>Birth certificate </li><li>Proof of status in Canada</li></ul>",
  "<p><strong>Thank you for your application,</strong> We are excited that you have chosen to train with us. The next step of your application process is to make your $200.00 application fee payment.</p> <p>Once your payment has been completed a member of our Admissions Team will be touch in order to advise you of the next steps in the process</p><p><strong>We look forward to seeing you soon.</strong></p><hr><p>&nbsp;</p><p class='text-right'><span class='m-b-5 d-block'>Need more information?</span><a href='https://www.cumberland.college/contact' target='_blank' class='btn waves-effect waves-light btn-info'>Click Here</a></p>": "<p><strong>Thank you for your application,</strong> We are excited that you have chosen to train with us. The next step of your application process is to make your $200.00 application fee payment.</p> <p>Once your payment has been completed a member of our Admissions Team will be touch in order to advise you of the next steps in the process</p><p><strong>We look forward to seeing you soon.</strong></p><hr><p>&nbsp;</p><p class='text-right'><span class='m-b-5 d-block'>Need more information?</span><a href='https://www.cumberland.college/contact' target='_blank' class='btn waves-effect waves-light btn-info'>Click Here</a></p>",
  "<p><strong>Thank you for your application,</strong> We are excited that you have chosen to train with us. The next step of your application process is to make your $200.00 application fee payment.</p> <p>Once your payment has been completed a member of our Admissions Team will be touch in order to advise you of the next steps in the process</p><p><strong>We look forward to seeing you soon.</strong></p><hr><p></p><p class=\"text-right\"><span class=\"m-b-5 d-block\">Need more information?</span><a href=\"https://www.cumberland.college/contact\" target=\"_blank\" class=\"btn waves-effect waves-light btn-info\">Click Here</a></p>": "<p><strong>Thank you for your application,</strong> We are excited that you have chosen to train with us. The next step of your application process is to make your $200.00 application fee payment.</p> <p>Once your payment has been completed a member of our Admissions Team will be touch in order to advise you of the next steps in the process</p><p><strong>We look forward to seeing you soon.</strong></p><hr><p></p><p class=\"text-right\"><span class=\"m-b-5 d-block\">Need more information?</span><a href=\"https://www.cumberland.college/contact\" target=\"_blank\" class=\"btn waves-effect waves-light btn-info\">Click Here</a></p>",
  "<strong>Thank You Page</strong>": "<strong>Thank You Page</strong>",
  "<strong>Thank You Text</strong>": "<strong>Thank You Text</strong>",
  "A Cohort already exists with these details.": "A Cohort already exists with these details.",
  "ACTIVE": "ACTIVE",
  "AFE Scenario": "AFE Scenario",
  "AGent Name": "AGent Name",
  "AI Agents": "AI Agents",
  "AMOUNT": "AMOUNT",
  "AND": "AND",
  "API Base URL": "API Base URL",
  "API Key": "API Key",
  "API Key Deactivated Successfully!": "API Key Deactivated Successfully!",
  "API Key Generated Successfully!": "API Key Generated Successfully!",
  "API Login ID": "API Login ID",
  "API Token": "API Token",
  "API URL": "API URL",
  "APP STEPS": "APP STEPS",
  "Absent": "Absent",
  "Academic": "Academic",
  "Academic Background": "Academic Background",
  "Academic Information": "Academic Information",
  "Academic information applied successfully.": "Academic information applied successfully.",
  "Academic information applied to group students successfully.": "Academic information applied to group students successfully.",
  "Academic information configured here will be applied to all students in this booking group.": "Academic information configured here will be applied to all students in this booking group.",
  "Academic item": "Academic item",
  "Academic item deleted for all students in this group.": "Academic item deleted for all students in this group.",
  "Academic item deleted successfully.": "Academic item deleted successfully.",
  "Academic item not found in this group.": "Academic item not found in this group.",
  "Academic item synced successfully.": "Academic item synced successfully.",
  "Academic item synced to all students in this group.": "Academic item synced to all students in this group.",
  "Academic type": "Academic type",
  "Accept Admission Requirements": "Accept Admission Requirements",
  "Accepted": "Accepted",
  "Access": "Access",
  "Access Key": "Access Key",
  "Access Token": "Access Token",
  "Access denied": "Access denied",
  "Access denied.": "Access denied.",
  "Accommodation": "Accommodation",
  "Accommodation Campuses": "Accommodation Campuses",
  "Accommodation Details": "Accommodation Details",
  "Accommodation Options": "Accommodation Options",
  "Accommodation Sub-total": "Accommodation Sub-total",
  "Accommodation capacity is full on :date.": "Accommodation capacity is full on :date.",
  "Accommodation cloned successfully": "Accommodation cloned successfully",
  "Accommodation created successfully": "Accommodation created successfully",
  "Accommodation end date must be on or after start date.": "Accommodation end date must be on or after start date.",
  "Accommodation option": "Accommodation option",
  "Accommodation updated successfully": "Accommodation updated successfully",
  "Accommodations": "Accommodations",
  "Accommodations Total": "Accommodations Total",
  "Accomodation": "Accomodation",
  "Accomodation Option": "Accomodation Option",
  "Account": "Account",
  "Account Created": "Account Created",
  "Account Details": "Account Details",
  "Account GUID": "Account GUID",
  "Account History": "Account History",
  "Account ID": "Account ID",
  "Account Number": "Account Number",
  "Account Properties": "Account Properties",
  "Account SID": "Account SID",
  "Account SID *": "Account SID *",
  "Account Settings": "Account Settings",
  "Account Status": "Account Status",
  "Account Type": "Account Type",
  "Account Updated": "Account Updated",
  "Account Usage & Dependencies": "Account Usage & Dependencies",
  "Account created!": "Account created!",
  "Accounting": "Accounting",
  "Accounts Imported Successfully!": "Accounts Imported Successfully!",
  "Action": "Action",
  "Action Added Successfully": "Action Added Successfully",
  "Action Updated Successfully": "Action Updated Successfully",
  "Actions": "Actions",
  "Actions\\Conditions": "Actions\\Conditions",
  "Activate": "Activate",
  "Activate Agencies": "Activate Agencies",
  "Activate/Desactivate Plugins": "Activate/Desactivate Plugins",
  "Active": "Active",
  "Active Api Key": "Active Api Key",
  "Active Application Forms": "Active Application Forms",
  "Active Call": "Active Call",
  "Active period (Days)": "Active period (Days)",
  "Activities": "Activities",
  "Activities (optional)": "Activities (optional)",
  "Activity": "Activity",
  "Activity Counts": "Activity Counts",
  "Activity Creation Date": "Activity Creation Date",
  "Activity Date": "Activity Date",
  "Activity Outcomes": "Activity Outcomes",
  "Activity Type": "Activity Type",
  "Add": "Add",
  "Add Accommodation Option": "Add Accommodation Option",
  "Add Action": "Add Action",
  "Add Actions & Conditions Batch": "Add Actions & Conditions Batch",
  "Add Addons": "Add Addons",
  "Add Advisor": "Add Advisor",
  "Add Agency": "Add Agency",
  "Add Application": "Add Application",
  "Add Application Action": "Add Application Action",
  "Add Application Status": "Add Application Status",
  "Add Assistant Builder": "Add Assistant Builder",
  "Add Availability": "Add Availability",
  "Add Booking": "Add Booking",
  "Add Bulk Invoices\\Estimates": "Add Bulk Invoices\\Estimates",
  "Add Call Log": "Add Call Log",
  "Add Campus": "Add Campus",
  "Add Child": "Add Child",
  "Add Classroom": "Add Classroom",
  "Add Cohort": "Add Cohort",
  "Add Condition": "Add Condition",
  "Add Contact": "Add Contact",
  "Add Course": "Add Course",
  "Add Course Cohort": "Add Course Cohort",
  "Add Credit Memo": "Add Credit Memo",
  "Add Custom Field": "Add Custom Field",
  "Add Custom Property": "Add Custom Property",
  "Add Dashboard": "Add Dashboard",
  "Add Date": "Add Date",
  "Add Date!": "Add Date!",
  "Add Dates": "Add Dates",
  "Add Dates1111111": "Add Dates1111111",
  "Add Datessssss": "Add Datessssss",
  "Add Degree": "Add Degree",
  "Add Document Builder": "Add Document Builder",
  "Add Educational Service": "Add Educational Service",
  "Add Estimate": "Add Estimate",
  "Add Field": "Add Field",
  "Add File": "Add File",
  "Add Files": "Add Files",
  "Add Filter": "Add Filter",
  "Add Grade": "Add Grade",
  "Add Grading": "Add Grading",
  "Add Grading Schema": "Add Grading Schema",
  "Add Group": "Add Group",
  "Add Instructors": "Add Instructors",
  "Add Invoice": "Add Invoice",
  "Add Item": "Add Item",
  "Add Lesson": "Add Lesson",
  "Add Lessons": "Add Lessons",
  "Add Meeting": "Add Meeting",
  "Add Module": "Add Module",
  "Add More ": "Add More ",
  "Add More Fields": "Add More Fields",
  "Add Multiple Lessons": "Add Multiple Lessons",
  "Add Multiple Lessons for the same Cohort": "Add Multiple Lessons for the same Cohort",
  "Add Multiples Lessons in": "Add Multiples Lessons in",
  "Add Multiples Lessons in ": "Add Multiples Lessons in ",
  "Add Multiples Lessons in CC-English": "Add Multiples Lessons in CC-English",
  "Add Multiples Lessons in CC-Fran?ais": "Add Multiples Lessons in CC-Fran?ais",
  "Add New": "Add New",
  "Add New Applicant": "Add New Applicant",
  "Add New Application": "Add New Application",
  "Add New Booking": "Add New Booking",
  "Add New Categories": "Add New Categories",
  "Add New Contact": "Add New Contact",
  "Add New E-Mail Template": "Add New E-Mail Template",
  "Add New Email": "Add New Email",
  "Add New File": "Add New File",
  "Add New Filters": "Add New Filters",
  "Add New Grade": "Add New Grade",
  "Add New Logo": "Add New Logo",
  "Add New Logo!": "Add New Logo!",
  "Add New Option": "Add New Option",
  "Add New School": "Add New School",
  "Add New Statuses": "Add New Statuses",
  "Add New Student": "Add New Student",
  "Add New Submission": "Add New Submission",
  "Add New Template": "Add New Template",
  "Add Note": "Add Note",
  "Add Option": "Add Option",
  "Add PDF Document": "Add PDF Document",
  "Add Payment": "Add Payment",
  "Add Payment Gateway": "Add Payment Gateway",
  "Add Photo": "Add Photo",
  "Add Plan": "Add Plan",
  "Add Pricing Schema": "Add Pricing Schema",
  "Add Product": "Add Product",
  "Add Program": "Add Program",
  "Add Promo Code": "Add Promo Code",
  "Add Quote Builder": "Add Quote Builder",
  "Add Recruiter Hub": "Add Recruiter Hub",
  "Add Refund": "Add Refund",
  "Add Report": "Add Report",
  "Add Role": "Add Role",
  "Add Rule": "Add Rule",
  "Add Schedule": "Add Schedule",
  "Add School": "Add School",
  "Add Section": "Add Section",
  "Add Semester": "Add Semester",
  "Add Signer": "Add Signer",
  "Add Single Lesson in CC-English": "Add Single Lesson in CC-English",
  "Add Single Lesson in CC-Fran?ais": "Add Single Lesson in CC-Fran?ais",
  "Add Slot to": "Add Slot to",
  "Add Slot to ": "Add Slot to ",
  "Add Student": "Add Student",
  "Add Student Application": "Add Student Application",
  "Add Students": "Add Students",
  "Add Sub-variation": "Add Sub-variation",
  "Add Task": "Add Task",
  "Add Tax Rule": "Add Tax Rule",
  "Add Template": "Add Template",
  "Add Time Slot": "Add Time Slot",
  "Add Transfer Option": "Add Transfer Option",
  "Add Translation": "Add Translation",
  "Add URL Parameter": "Add URL Parameter",
  "Add User": "Add User",
  "Add Variation": "Add Variation",
  "Add Widget": "Add Widget",
  "Add Word Document": "Add Word Document",
  "Add a description to the quotation": "Add a description to the quotation",
  "Add bookmark": "Add bookmark",
  "Add filter group": "Add filter group",
  "Add line": "Add line",
  "Add list": "Add list",
  "Add more": "Add more",
  "Add refund item": "Add refund item",
  "Add report": "Add report",
  "Add students to this group first, then apply academic information.": "Add students to this group first, then apply academic information.",
  "Add this value to Redirect URIs field in your AdobeSign application": "Add this value to Redirect URIs field in your AdobeSign application",
  "Add this value to Redirect URIs field in your Canvas application": "Add this value to Redirect URIs field in your Canvas application",
  "Add this value to Redirect URIs field in your Docusign application": "Add this value to Redirect URIs field in your Docusign application",
  "Add this value to Redirect URIs field in your Quickbooks application": "Add this value to Redirect URIs field in your Quickbooks application",
  "Add this value to Redirect URIs field in your SalesForce application": "Add this value to Redirect URIs field in your SalesForce application",
  "Add to Lists": "Add to Lists",
  "Add to a Program": "Add to a Program",
  "Add to list": "Add to list",
  "Add to program": "Add to program",
  "Add your tax rules to start collecting tax.": "Add your tax rules to start collecting tax.",
  "Add-on": "Add-on",
  "Add-ons": "Add-ons",
  "Add-ons Total": "Add-ons Total",
  "Add/Remove Contacts": "Add/Remove Contacts",
  "Added": "Added",
  "Added to bookmarks": "Added to bookmarks",
  "Addedd Successfully to your agency!": "Addedd Successfully to your agency!",
  "Adding a New Task": "Adding a New Task",
  "Addon": "Addon",
  "Addon option": "Addon option",
  "Addons": "Addons",
  "Addons Selection": "Addons Selection",
  "Address": "Address",
  "Address & Location": "Address & Location",
  "Address 2": "Address 2",
  "Admin": "Admin",
  "Admins": "Admins",
  "Admissions": "Admissions",
  "Admissions Activity": "Admissions Activity",
  "AdobeSign": "AdobeSign",
  "Advanced Filter": "Advanced Filter",
  "Advisor": "Advisor",
  "Agecnies": "Agecnies",
  "Agencies": "Agencies",
  "Agencies Application": "Agencies Application",
  "Agency": "Agency",
  "Agency Admin": "Agency Admin",
  "Agency Email": "Agency Email",
  "Agency Email*": "Agency Email*",
  "Agency Information": "Agency Information",
  "Agency Name": "Agency Name",
  "Agency Name*": "Agency Name*",
  "Agency's Settings": "Agency's Settings",
  "Agent": "Agent",
  "Agent Application": "Agent Application",
  "Agent Commission": "Agent Commission",
  "Agent Commission Rate (%)": "Agent Commission Rate (%)",
  "Agent Email": "Agent Email",
  "Agent Information": "Agent Information",
  "Agent Login": "Agent Login",
  "Agent Name": "Agent Name",
  "Agent Profile Design": "Agent Profile Design",
  "Agent Updated Successfully": "Agent Updated Successfully",
  "Agent deleted successfully": "Agent deleted successfully",
  "Agent updated successfully": "Agent updated successfully",
  "Agents": "Agents",
  "Agents Commissions": "Agents Commissions",
  "Agents List": "Agents List",
  "Agents Login": "Agents Login",
  "Agents Managment": "Agents Managment",
  "Alert": "Alert",
  "Alias": "Alias",
  "All": "All",
  "All :label": "All :label",
  "All Campuses": "All Campuses",
  "All Classrooms": "All Classrooms",
  "All Contacts": "All Contacts",
  "All Courses": "All Courses",
  "All Dates": "All Dates",
  "All Rights Reserved by": "All Rights Reserved by",
  "All SMS sent successfully!": "All SMS sent successfully!",
  "All Schools": "All Schools",
  "All Students": "All Students",
  "All Tasks": "All Tasks",
  "All Tasks ": "All Tasks ",
  "All Time": "All Time",
  "All Years": "All Years",
  "All emails sent successfully!": "All emails sent successfully!",
  "All leads": "All leads",
  "All pending emails have been sent.": "All pending emails have been sent.",
  "All students in the selected lists are unsubscribed from SMS.": "All students in the selected lists are unsubscribed from SMS.",
  "All students in the selected lists have already received this SMS or are unsubscribed.": "All students in the selected lists have already received this SMS or are unsubscribed.",
  "All time": "All time",
  "All time performance snapshot": "All time performance snapshot",
  "All transcripts generated successfully!": "All transcripts generated successfully!",
  "Allow Coercion": "Allow Coercion",
  "Allow multiple Courses selection": "Allow multiple Courses selection",
  "Allow user to select Campus": "Allow user to select Campus",
  "Allowed files": "Allowed files",
  "Already Shared": "Already Shared",
  "Already have an account?": "Already have an account?",
  "Already have an account? ": "Already have an account? ",
  "Alternate Phone Number": "Alternate Phone Number",
  "Alumni": "Alumni",
  "Alumni Date": "Alumni Date",
  "Amended": "Amended",
  "Amount": "Amount",
  "Amount Category": "Amount Category",
  "Amount Paid": "Amount Paid",
  "Amount Type": "Amount Type",
  "Amount due": "Amount due",
  "Amount:": "Amount:",
  "An error occurred while checking job status. Please try again later.": "An error occurred while checking job status. Please try again later.",
  "An error occurred while initializing the bulk SMS": "An error occurred while initializing the bulk SMS",
  "An error occurred while updating the status date": "An error occurred while updating the status date",
  "Analytics": "Analytics",
  "And": "And",
  "App Password": "App Password",
  "Appearance": "Appearance",
  "Appication Sources": "Appication Sources",
  "Applicant": "Applicant",
  "Applicants": "Applicants",
  "Application": "Application",
  "Application Actions": "Application Actions",
  "Application Builder": "Application Builder",
  "Application Domain": "Application Domain",
  "Application Fee": "Application Fee",
  "Application Form": "Application Form",
  "Application Forms": "Application Forms",
  "Application Helpers": "Application Helpers",
  "Application ID": "Application ID",
  "Application Initiated": "Application Initiated",
  "Application Name": "Application Name",
  "Application Pipeline": "Application Pipeline",
  "Application Status": "Application Status",
  "Application Status Information": "Application Status Information",
  "Application Statuses": "Application Statuses",
  "Application Submission": "Application Submission",
  "Application Submissions": "Application Submissions",
  "Application Submmited": "Application Submmited",
  "Application Tour": "Application Tour",
  "Application Type": "Application Type",
  "Application Webhook": "Application Webhook",
  "Application for registration for full-time deploma": "Application for registration for full-time deploma",
  "Application form": "Application form",
  "Application form submissions": "Application form submissions",
  "Application form theme": "Application form theme",
  "Application not found.": "Application not found.",
  "Application related with calendar": "Application related with calendar",
  "Application tour": "Application tour",
  "Application's Password": "Application's Password",
  "Applications": "Applications",
  "Applications & Integrations": "Applications & Integrations",
  "Applications Settings": "Applications Settings",
  "Applied": "Applied",
  "Applied Date": "Applied Date",
  "Applied to": "Applied to",
  "Applied to Invoice": "Applied to Invoice",
  "Apply": "Apply",
  "Apply Credit": "Apply Credit",
  "Apply Filters": "Apply Filters",
  "Apply Now": "Apply Now",
  "Apply Now!": "Apply Now!",
  "Apply Promo Code": "Apply Promo Code",
  "Apply To All Students": "Apply To All Students",
  "Apply now": "Apply now",
  "Apply tax on": "Apply tax on",
  "Apply view": "Apply view",
  "Applying...": "Applying...",
  "Approve": "Approve",
  "Approved": "Approved",
  "April": "April",
  "Archive": "Archive",
  "Archive Submission": "Archive Submission",
  "Archived": "Archived",
  "Archived Submissions": "Archived Submissions",
  "Are you 18 or older?": "Are you 18 or older?",
  "Are you sure you want to cancel the editing?": "Are you sure you want to cancel the editing?",
  "Are you sure you want to close the editor?": "Are you sure you want to close the editor?",
  "Are you sure you want to close this fiscal period?": "Are you sure you want to close this fiscal period?",
  "Are you sure you want to delete :count call log(s)?": "Are you sure you want to delete :count call log(s)?",
  "Are you sure you want to delete this account?": "Are you sure you want to delete this account?",
  "Are you sure you want to delete this agent?": "Are you sure you want to delete this agent?",
  "Are you sure you want to delete this booking group?": "Are you sure you want to delete this booking group?",
  "Are you sure you want to delete this call log?": "Are you sure you want to delete this call log?",
  "Are you sure you want to delete this dashboard and all its widgets? This cannot be undone.": "Are you sure you want to delete this dashboard and all its widgets? This cannot be undone.",
  "Are you sure you want to delete this note?": "Are you sure you want to delete this note?",
  "Are you sure you want to delete this?": "Are you sure you want to delete this?",
  "Are you sure you want to mark as complete the selected tasks?": "Are you sure you want to mark as complete the selected tasks?",
  "Are you sure you want to proceed?": "Are you sure you want to proceed?",
  "Are you sure you want to replace the content with the change history?": "Are you sure you want to replace the content with the change history?",
  "Are you sure you want to reset the changes?": "Are you sure you want to reset the changes?",
  "Are you sure you want to restart application?": "Are you sure you want to restart application?",
  "Are you sure you want to upload the content of this theme?": "Are you sure you want to upload the content of this theme?",
  "Are you sure?": "Are you sure?",
  "Area Code": "Area Code",
  "Arrival Time": "Arrival Time",
  "Arrived Late": "Arrived Late",
  "Assign": "Assign",
  "Assign To": "Assign To",
  "Assign to": "Assign to",
  "Assign to Agent": "Assign to Agent",
  "Assign to a Semester": "Assign to a Semester",
  "Assign to agent": "Assign to agent",
  "Assign to group": "Assign to group",
  "Assigned To": "Assigned To",
  "Assigned to": "Assigned to",
  "Assignments Synced Successfully!": "Assignments Synced Successfully!",
  "Assistant": "Assistant",
  "Assistant Builder": "Assistant Builder",
  "Associated (Quote or VAA)": "Associated (Quote or VAA)",
  "At an approximate time": "At an approximate time",
  "At an exact date/time": "At an exact date/time",
  "At least one course is required.": "At least one course is required.",
  "At least one letter, uppercase, number, symbol and a minimum of 8 characters": "At least one letter, uppercase, number, symbol and a minimum of 8 characters",
  "Attach PDF Copy of the application": "Attach PDF Copy of the application",
  "Attach PDF Copy of the application data": "Attach PDF Copy of the application data",
  "Attach new students": "Attach new students",
  "Attached Files": "Attached Files",
  "Attachement": "Attachement",
  "Attachment": "Attachment",
  "Attachments": "Attachments",
  "Attendance": "Attendance",
  "Attendance ID": "Attendance ID",
  "Attendance Percentage": "Attendance Percentage",
  "Attendance Status": "Attendance Status",
  "Attendances": "Attendances",
  "Attendances Was Saved Successfully!": "Attendances Was Saved Successfully!",
  "Attended": "Attended",
  "Attended Time": "Attended Time",
  "Attendees": "Attendees",
  "Attributes": "Attributes",
  "Audit Trail": "Audit Trail",
  "Auditlog": "Auditlog",
  "Auditlogs": "Auditlogs",
  "August": "August",
  "Auth Token": "Auth Token",
  "Auth Token *": "Auth Token *",
  "Authenticate": "Authenticate",
  "Authorization Required": "Authorization Required",
  "Authorization required. Please reconnect this email integration.": "Authorization required. Please reconnect this email integration.",
  "Automated": "Automated",
  "Automatic": "Automatic",
  "Automatically Approve Agencies": "Automatically Approve Agencies",
  "Automatically generated if left empty": "Automatically generated if left empty",
  "Automation": "Automation",
  "Automation Actions": "Automation Actions",
  "Automation Conditions": "Automation Conditions",
  "Automation Details": "Automation Details",
  "Automation cloned successfully, you can now add conditions and actions": "Automation cloned successfully, you can now add conditions and actions",
  "Automation created successfully, you can now add conditions and actions": "Automation created successfully, you can now add conditions and actions",
  "Automation edited successfully": "Automation edited successfully",
  "Automations": "Automations",
  "Autonomous Training": "Autonomous Training",
  "Availabilities": "Availabilities",
  "Availabilities uploaded successfully": "Availabilities uploaded successfully",
  "Availability": "Availability",
  "Availability updated successfully": "Availability updated successfully",
  "Available Languages": "Available Languages",
  "Average:": "Average:",
  "BACK": "BACK",
  "BACK TO ALL COURSES": "BACK TO ALL COURSES",
  "BACK TO ALL STUDENTS": "BACK TO ALL STUDENTS",
  "BACK TO ATTENDANCE": "BACK TO ATTENDANCE",
  "BACK TO GRADES OVERVIEW": "BACK TO GRADES OVERVIEW",
  "BACK TO LESSONS": "BACK TO LESSONS",
  "BBC Address": "BBC Address",
  "BCC": "BCC",
  "BCC Address": "BCC Address",
  "BCC Email Address": "BCC Email Address",
  "BOOK NOW": "BOOK NOW",
  "Back": "Back",
  "Back ground": "Back ground",
  "Back to Agent": "Back to Agent",
  "Background": "Background",
  "Background Color I": "Background Color I",
  "Background Color II": "Background Color II",
  "Background Image": "Background Image",
  "Balance": "Balance",
  "Balance Due": "Balance Due",
  "Balance due": "Balance due",
  "Bank Deposit": "Bank Deposit",
  "Bank Response Code": "Bank Response Code",
  "Banner Image": "Banner Image",
  "Banner Title": "Banner Title",
  "Base URL": "Base URL",
  "Basic Info": "Basic Info",
  "Basic Information": "Basic Information",
  "Basic URL": "Basic URL",
  "Batch": "Batch",
  "Batch Added Successfully": "Batch Added Successfully",
  "Batch Description": "Batch Description",
  "Batch Title": "Batch Title",
  "Batch Updated Successfully": "Batch Updated Successfully",
  "Before Payment Text": "Before Payment Text",
  "Before Sign Text": "Before Sign Text",
  "Between (Range)": "Between (Range)",
  "Billing Address": "Billing Address",
  "Birth Certificate": "Birth Certificate",
  "Birth Date": "Birth Date",
  "Birth certificate": "Birth certificate",
  "Book Exam": "Book Exam",
  "Book Now": "Book Now",
  "Book for a child": "Book for a child",
  "Book for a student": "Book for a student",
  "Book for another child": "Book for another child",
  "Book now": "Book now",
  "Booked for": "Booked for",
  "Booked for ": "Booked for ",
  "Booking": "Booking",
  "Booking & Assistant": "Booking & Assistant",
  "Booking Accommodations": "Booking Accommodations",
  "Booking Accommodations End Date": "Booking Accommodations End Date",
  "Booking Accommodations Price": "Booking Accommodations Price",
  "Booking Accommodations Start Date": "Booking Accommodations Start Date",
  "Booking Course Price": "Booking Course Price",
  "Booking Courses": "Booking Courses",
  "Booking Created Date": "Booking Creation Date",
  "Booking Creation Date": "Booking Creation Date",
  "Booking Detail": "Booking Detail",
  "Booking Details": "Booking Details",
  "Booking Due Date": "Booking Due Date",
  "Booking End Date": "Booking End Date",
  "Booking Form": "Booking Form",
  "Booking Start Date": "Booking Start Date",
  "Booking Status": "Booking Status",
  "Booking Summary": "Booking Summary",
  "Booking Total Price": "Booking Total Price",
  "Booking Transfers": "Booking Transfers",
  "Booking Transfers Price": "Booking Transfers Price",
  "Booking application not found.": "Booking application not found.",
  "Booking created successfully": "Booking created successfully",
  "Booking for": "Booking for",
  "Booking group updated successfully!": "Booking group updated successfully!",
  "Booking group was created successfully!": "Booking group was created successfully!",
  "Booking quotation not found.": "Booking quotation not found.",
  "Booking saved.": "Booking saved.",
  "Booking updated successfully": "Booking updated successfully",
  "Bookings": "Bookings",
  "Bookings deleted successfully": "Bookings deleted successfully",
  "Bookmarks": "Bookmarks",
  "Brand ID": "Brand ID",
  "Branding": "Branding",
  "BrightSync Test Cleanup": "BrightSync Test Cleanup",
  "Broker Final Exam": "Broker Final Exam",
  "Broker Final Exam (Test Centre ONLY)": "Broker Final Exam (Test Centre ONLY)",
  "Broker Qualifying Exam": "Broker Qualifying Exam",
  "Broker Qualifying Exam (Test Centre ONLY)": "Broker Qualifying Exam (Test Centre ONLY)",
  "Browse": "Browse",
  "Build": "Build",
  "Build Quote Builder": "Quote Builder",
  "Bulk": "Bulk",
  "Bulk ": "Bulk ",
  "Bulk Actions": "Bulk Actions",
  "Bulk Delete": "Bulk Delete",
  "Bulk Invoice": "Bulk Invoice",
  "Bulk Invoices\\Estimates": "Bulk Invoices\\Estimates",
  "Bulk SMS completed with some issues. Please review the logs.": "Bulk SMS completed with some issues. Please review the logs.",
  "Bulk SMS initialized.": "Bulk SMS initialized.",
  "Bulk SMS processing completed.": "Bulk SMS processing completed.",
  "Bulk SMS sending completed successfully!": "Bulk SMS sending completed successfully!",
  "Bulk SMS sending failed. Please check the logs for details.": "Bulk SMS sending failed. Please check the logs for details.",
  "Business ID": "Business ID",
  "Busy": "Busy",
  "Button Text": "Button Text",
  "Buttons Color": "Buttons Color",
  "By": "By",
  "By signing up, you agree to our Terms of Service and Conditions.": "By signing up, you agree to our Terms of Service and Conditions.",
  "By switching on, the student will be marked as exempted and the invitation will be skipped": "By switching on, the student will be marked as exempted and the invitation will be skipped",
  "CLASSROOM": "CLASSROOM",
  "CONTACT SCOTT CROSS": "CONTACT SCOTT CROSS",
  "CONTINUE BOOKING": "CONTINUE BOOKING",
  "CRA": "CRA",
  "CRM": "CRM",
  "CSV Export": "CSV Export",
  "CV Code": "CV Code",
  "CVC": "CVC",
  "CVS": "CVS",
  "CVV": "CVV",
  "Calendar": "Calendar",
  "Calendars": "Calendars",
  "Calendar &\n                                    Schedule": "Calendar &\n                                    Schedule",
  "Calendar &\r\n                                    Schedule": "Calendar &\r\n                                    Schedule",
  "Calendar & Schedule": "Calendar & Schedule",
  "Calendar Color": "Calendar Color",
  "Calendar Link": "Calendar Link",
  "Calendar event color": "Calendar event color",
  "Calendar for": "Calendar for",
  "Calendar for ": "Calendar for ",
  "Calendar for CC-English": "Calendar for CC-English",
  "Calendar for CC-Fran?ais": "Calendar for CC-Fran?ais",
  "Calendar primary color": "Calendar primary color",
  "Calendar secondary color": "Calendar secondary color",
  "Calender": "Calender",
  "Call": "Call",
  "Call Back Requests": "Call Back Requests",
  "Call Date": "Call Date",
  "Call Date & Time": "Call Date & Time",
  "Call From": "Call From",
  "Call From (Our Number)": "Call From (Our Number)",
  "Call Made By": "Call Made By",
  "Call Status": "Call Status",
  "Call Time": "Call Time",
  "Call connected": "Call connected",
  "Call details saved successfully!": "Call details saved successfully!",
  "Call ended": "Call ended",
  "Call log deleted successfully!": "Call log deleted successfully!",
  "Call log saved successfully!": "Call log saved successfully!",
  "Call log updated successfully!": "Call log updated successfully!",
  "Call logs deleted successfully!": "Call logs deleted successfully!",
  "CallBack Request": "CallBack Request",
  "Callback Requests": "Callback Requests",
  "Calling code": "Calling code",
  "Calls": "Calls",
  "Campus": "Campus",
  "Campus Code": "Campus Code",
  "Campus ID": "Campus ID",
  "Campus Location": "Campus Location",
  "Campus Number": "Campus Number",
  "Campus Title": "Campus Title",
  "Campus Tour": "Campus Tour",
  "Campus is required.": "Campus is required.",
  "Campus tour": "Campus tour",
  "CampusLogin": "CampusLogin",
  "CampusLogin Field": "CampusLogin Field",
  "Campuses": "Campuses",
  "Campuses List": "Campuses List",
  "Campuslogin Field": "Campuslogin Field",
  "Campuslogin Fields Pair": "Campuslogin Fields Pair",
  "Canadian": "Canadian",
  "Canadian Provinces": "Canadian Provinces",
  "Cancel": "Cancel",
  "Canceled": "Canceled",
  "Cancelled": "Cancelled",
  "Candidate's city of birth": "Candidate's city of birth",
  "Cannot merge a cohort with itself": "Cannot merge a cohort with itself",
  "Cannot merge a student with itself": "Cannot merge a student with itself",
  "Cannot share: invoice or contact is missing.": "Cannot share: invoice or contact is missing.",
  "Canvas": "Canvas",
  "Canvas Contact ID": "Canvas Contact ID",
  "Canvas Course Grades": "Canvas Course Grades",
  "Canvas Course Profile": "Canvas Course Profile",
  "Canvas Grades": "Canvas Grades",
  "Canvas Password": "Canvas Password",
  "Canvas Profile": "Canvas Profile",
  "Canvas Username": "Canvas Username",
  "Capacity": "Capacity",
  "Capitalize": "Capitalize",
  "Caption": "Caption",
  "Card Brand": "Card Brand",
  "Card Expiry Date": "Card Expiry Date",
  "Card Holder Address": "Card Holder Address",
  "Card Holder Name": "Card Holder Name",
  "Card Number": "Card Number",
  "Cardholder's name": "Cardholder's name",
  "Career": "Career",
  "Cart Total": "Cart Total",
  "Categories": "Categories",
  "Category": "Category",
  "Category Information": "Category Information",
  "Category Title": "Category Title",
  "Category updated successfully!": "Category updated successfully!",
  "Certificate(s) or diploma(s) received": "Certificate(s) or diploma(s) received",
  "Certificate/Diploma/Degree Earned": "Certificate/Diploma/Degree Earned",
  "Certification Details": "Certification Details",
  "Certification Number": "Certification Number",
  "Change Password": "Change Password",
  "Change Stage": "Change Stage",
  "Change password": "Change password",
  "Change quotation": "Change quotation",
  "Changed From": "Changed From",
  "Channel": "Channel",
  "Channels": "Channels",
  "Chars: %d": "Chars: %d",
  "Chart of Accounts": "Chart of Accounts",
  "Charts of Accounts": "Charts of Accounts",
  "Check Domain Verification": "Check Domain Verification",
  "Check RECO Eligibility": "Check RECO Eligibility",
  "Check if the invoice has items": "Check if the invoice has items",
  "Check if the paid amount is greater than, less than or equal to a value": "Check if the paid amount is greater than, less than or equal to a value",
  "Check if the related invoice is fully paid or not": "Check if the related invoice is fully paid or not",
  "Check the invoice items": "Check the invoice items",
  "Check the paid amount": "Check the paid amount",
  "Check the status of the SMS": "Check the status of the SMS",
  "Check the status of the related invoice": "Check the status of the related invoice",
  "Checkbox": "Checkbox",
  "Checkout ID": "Checkout ID",
  "Child's First Name": "Child's First Name",
  "Child's Last Name": "Child's Last Name",
  "Children": "Children",
  "Choose": "Choose",
  "Choose Field": "Choose Field",
  "Choose columns": "Choose columns",
  "Choose file": "Choose file",
  "Choose the type of object for which you want to migrate statuses": "Choose the type of object for which you want to migrate statuses",
  "Choose which records to delete for your current user. This is intended for internal testing only.": "Choose which records to delete for your current user. This is intended for internal testing only.",
  "Choose...": "Choose...",
  "Chose File": "Chose File",
  "Citizenship": "Citizenship",
  "Citizenship Status in Canada": "Citizenship Status in Canada",
  "City": "City",
  "City of birth of candidate": "City of birth of candidate",
  "Class": "Class",
  "Class Schedule": "Class Schedule",
  "Classes": "Classes",
  "Classification": "Classification",
  "ClassrSoom Slot": "ClassrSoom Slot",
  "Classroom": "Classroom",
  "Classroom Information": "Classroom Information",
  "Classroom Slot": "Classroom Slot",
  "Classroom Title": "Classroom Title",
  "Classrooms": "Classrooms",
  "Clear All": "Clear All",
  "Clear date filter": "Clear date filter",
  "Clear selection": "Clear selection",
  "Click Here": "Click Here",
  "Click here": "Click here",
  "Click here to Import this item": "Click here to Import this item",
  "Click here to download your copy!": "Click here to download your copy!",
  "Click on this link to read this message": "Click on this link to read this message",
  "Click-Through Rate": "Click-Through Rate",
  "Click-Through Rate (CTR)": "Click-Through Rate (CTR)",
  "Client": "Client",
  "Client Base": "Client Base",
  "Client ID": "Client ID",
  "Client PAT Code": "Client PAT Code",
  "Client Secret": "Client Secret",
  "Client Table": "Client Table",
  "Client Type": "Client Type",
  "Client not found": "Client not found",
  "Cliquez sur ce lien pour lire ce message": "Cliquez sur ce lien pour lire ce message",
  "Clone": "Clone",
  "Clone Classroom": "Clone Classroom",
  "Clone Cohort": "Clone Cohort",
  "Clone Course": "Clone Course",
  "Clone E-Mail Template": "Clone E-Mail Template",
  "Clone Grading": "Clone Grading",
  "Clone Grading Schema": "Clone Grading Schema",
  "Clone Program": "Clone Program",
  "Clone Report": "Clone Report",
  "Clone Variation": "Clone Variation",
  "Clone program": "Clone program",
  "Close": "Close",
  "Close Period": "Close Period",
  "Closed": "Closed",
  "Code": "Code",
  "Code (#SKU)": "Code (#SKU)",
  "Code (SKU)": "Code (SKU)",
  "Code permanent": "Code permanent",
  "Code(SKU)": "Code(SKU)",
  "Code\\Slug": "Code\\Slug",
  "Cohort": "Cohort",
  "Cohort Courses": "Cohort Courses",
  "Cohort Details": "Cohort Details",
  "Cohort Information": "Cohort Information",
  "Cohort Title": "Cohort Title",
  "Cohort(s)": "Cohort(s)",
  "Cohorts": "Cohorts",
  "Cohorts created successfully!": "Cohorts created successfully!",
  "Cohorts merged successfully. All data has been moved to the original cohort and the duplicate has been removed.": "Cohorts merged successfully. All data has been moved to the original cohort and the duplicate has been removed.",
  "Cohorts updated successfully!": "Cohorts updated successfully!",
  "Collapse All": "Collapse All",
  "Color": "Color",
  "Column": "Column",
  "Columns": "Columns",
  "Comma separated list of emails": "Comma separated list of emails",
  "Comments - IF": "Comments - IF",
  "Commission Rate (%)": "Commission Rate (%)",
  "Commission Type": "Commission Type",
  "Commissionable": "Commissionable",
  "Communication": "Communication",
  "Communications": "Communications",
  "Company Name": "Company Name",
  "Company Name - IF": "Company Name - IF",
  "Compelete Booking": "Compelete Booking",
  "Complete": "Complete",
  "Complete Booking": "Complete Booking",
  "Complete the form to start your application.": "Complete the form to start your application.",
  "Complete the form to start your application2.": "Complete the form to start your application2.",
  "Complete your booking": "Complete your booking",
  "Completed": "Completed",
  "Completed Students": "Completed Students",
  "Completion Date": "Completion Date",
  "Condition": "Condition",
  "Condition Added Successfully": "Condition Added Successfully",
  "Condition Updated Successfully": "Condition Updated Successfully",
  "Conditions": "Conditions",
  "Conditions are not mandatory.": "Conditions are not mandatory.",
  "Configuration": "Configuration",
  "Configuration Token": "Configuration Token",
  "Configurations": "Configurations",
  "Configure actions for this automation": "Configure actions for this automation",
  "Configure conditions for this automation": "Configure conditions for this automation",
  "Configure your settings": "Configure your settings",
  "Confirm Booking": "Confirm Booking",
  "Confirm Password": "Confirm Password",
  "Confirm Password *": "Confirm Password *",
  "Confirm Password*": "Confirm Password*",
  "Confirm booking": "Confirm booking",
  "Confirm password": "Confirm password",
  "Confirmed": "Confirmed",
  "Confirmed Date": "Confirmed Date",
  "Connect": "Connect",
  "Connect to Developer App": "Connect to Developer App",
  "Connect to Sandbox Account": "Connect to Sandbox Account",
  "Connect to Sandbox Company": "Connect to Sandbox Company",
  "Connect to text environment": "Connect to text environment",
  "Connected": "Connected",
  "Connection Duration": "Connection Duration",
  "Connection Late": "Connection Late",
  "Connection duration": "Connection duration",
  "Connection failed:": "Connection failed:",
  "Consent": "Consent",
  "Consent Form": "Consent Form",
  "Consent Text": "Consent Text",
  "Consumer Key": "Consumer Key",
  "Consumer Secret": "Consumer Secret",
  "Contact": "Contact",
  "Contact Work": "Outreach Status",
  "Contact Already Exists, Please update Reference ID": "Contact Already Exists, Please update Reference ID",
  "Contact Email": "Contact Email",
  "Contact Field": "Contact Field",
  "Contact ID": "Contact ID",
  "Contact Information": "Contact Information",
  "Contact Name": "Contact Name",
  "Contact Search Results": "Contact Search Results",
  "Contact Status": "Contact Status",
  "Contact Synced Failed!": "Contact Synced Failed!",
  "Contact Synced Successfully!": "Contact Synced Successfully!",
  "Contact Type": "Contact Type",
  "Contact Types": "Contact Types",
  "Contact Your Sales Representative": "Contact Your Sales Representative",
  "Contact status date updated successfully": "Contact status date updated successfully",
  "Contact status date updated successfully!": "Contact status date updated successfully!",
  "Contact synced successfully": "Contact synced successfully",
  "Contact to Merge": "Contact to Merge",
  "Contact's Custom Properties": "Contact's Custom Properties",
  "Contact\\Student Field Value": "Contact\\Student Field Value",
  "Contact\\Student Owner": "Contact\\Student Owner",
  "Contacts": "Contacts",
  "Contacts Creation Date": "Contacts Creation Date",
  "Contacts Date": "Contacts Date",
  "Contacts currently at a stage": "Contacts currently at a stage",
  "Contacts stalled at a stage": "Contacts stalled at a stage",
  "Contacts that progressed beyond a stage": "Contacts that progressed beyond a stage",
  "Contacts who reached a stage": "Contacts who reached a stage",
  "Contains": "Contains",
  "Content": "Content",
  "Continue": "Continue",
  "Continue Booking": "Continue Booking",
  "Contract": "Contract",
  "Contract Completed": "Contract Completed",
  "Contract Declined": "Contract Declined",
  "Contract Delivered": "Contract Delivered",
  "Contract Sent": "Contract Sent",
  "Contract Signed": "Contract Signed",
  "Contract Voided": "Contract Voided",
  "Contract Voided Successfully!": "Contract Voided Successfully!",
  "Contracts": "Contracts",
  "Conversation (SMS) Not found!": "Conversation (SMS) Not found!",
  "Conversations": "Conversations",
  "Conversion Funnel": "Conversion Funnel",
  "Convert to Invoice": "Convert to Invoice",
  "Converted": "Converted",
  "Converted to Invoice": "Converted to Invoice",
  "Copied successfully to clipboard": "Copied successfully to clipboard",
  "Copied successfully to clipboard ": "Copied successfully to clipboard ",
  "Copy Link": "Copy Link",
  "Copy Embed Code": "Copy Embed Code",
  "Embed code copied. Paste it into any web page to show this form.": "Embed code copied. Paste it into any web page to show this form.",
  "Copy Token": "Copy Token",
  "Copy from custom fields": "Copy from custom fields",
  "Copy from custom property": "Copy from custom property",
  "Copy view link": "Copy view link",
  "Cost": "Cost",
  "Cost/Week": "Cost/Week",
  "Could not store the file (empty path returned).": "Could not store the file (empty path returned).",
  "Could not store the file. The storage service may be unavailable or misconfigured.": "Could not store the file. The storage service may be unavailable or misconfigured.",
  "Count": "Count",
  "Count By Column": "Count By Column",
  "Count by": "Count by",
  "Countries - Alpha 2 Codes": "Countries - Alpha 2 Codes",
  "Countries - Alpha 3 Codes": "Countries - Alpha 3 Codes",
  "Countries - Alpha Numeric Codes": "Countries - Alpha Numeric Codes",
  "Countries - CampusLogin": "Countries - CampusLogin",
  "Countries - Full Name": "Countries - Full Name",
  "Countries - Mautic": "Countries - Mautic",
  "Countries - Mautic V3.x": "Countries - Mautic V3.x",
  "Country": "Country",
  "Country *": "Country *",
  "Country of Origin": "Country of Origin",
  "Country of Residence": "Country of Residence",
  "Country where you finished High School": "Country where you finished High School",
  "Counts the contacts in every status they reached at least once.": "Counts the contacts in every status they reached at least once.",
  "Counts the contacts only in the status that matches their latest/current contact status.": "Counts the contacts only in the status that matches their latest/current contact status.",
  "Counts the contacts still at a status after the stalled threshold.": "Counts the contacts still at a status after the stalled threshold.",
  "Course": "Course",
  "Course Addons": "Course Addons",
  "Course Campuses": "Course Campuses",
  "Course Code": "Course Code",
  "Course Cohort": "Course Cohort",
  "Course Cohort End Date": "Course Cohort End Date",
  "Course Cohort Start Date": "Course Cohort Start Date",
  "Course Cohorts": "Course Cohorts",
  "Course Cohorts Currently Assigned": "Course Cohorts Currently Assigned",
  "Course Completed Failed!": "Course Completed Failed!",
  "Course Completed Successfully!": "Course Completed Successfully!",
  "Course Created Successfully!": "Course Created Successfully!",
  "Course Date": "Course Date",
  "Course Dates": "Course Dates",
  "Course Dates ": "Course Dates ",
  "Course Details": "Course Details",
  "Course Duration (weeks)": "Course Duration (weeks)",
  "Course End Date": "Course End Date",
  "Course End date": "Course End date",
  "Course Grade": "Course Grade",
  "Course Information": "Course Information",
  "Course Name": "Course Name",
  "Course Option": "Course Option",
  "Course Price": "Course Price",
  "Course Prices": "Course Prices",
  "Course Programs": "Course Programs",
  "Course Selection - IF": "Course Selection - IF",
  "Course Start Date": "Course Start Date",
  "Course Start date": "Course Start date",
  "Course Starting/Ending Dates": "Course Starting/Ending Dates",
  "Course Status": "Course Status",
  "Course Title": "Course Title",
  "Course Tour": "Course Tour",
  "Course Virtual Assistant": "Course Virtual Assistant",
  "Course cohort added successfully": "Course cohort added successfully",
  "Course cohorts": "Course cohorts",
  "Course completion date is not set for all courses!": "Course completion date is not set for all courses!",
  "Course completion date is not set!": "Course completion date is not set!",
  "Course information": "Course information",
  "Course name": "Course name",
  "Course schedule type": "Course schedule type",
  "Course tour": "Course tour",
  "Course's Custom Properties": "Course's Custom Properties",
  "Course's Group Name Format": "Course's Group Name Format",
  "Courses": "Courses",
  "Courses & Add-ons": "Courses & Add-ons",
  "Courses List": "Courses List",
  "Courses Total": "Courses Total",
  "Courses added successfully to the programs": "Courses added successfully to the programs",
  "Courses and Add-ons": "Courses and Add-ons",
  "Courses selection": "Courses selection",
  "Creat Plan": "Creat Plan",
  "Creat School": "Creat School",
  "Create": "Create",
  "Create Accommodation": "Create Accommodation",
  "Create Account": "Create Account",
  "Create Agency": "Create Agency",
  "Create Agent": "Create Agent",
  "Create Agents": "Create Agents",
  "Create Applicants": "Create Applicants",
  "Create Application": "Create Application",
  "Create Application Status": "Create Application Status",
  "Create Attendance": "Create Attendance",
  "Create Automation": "Create Automation",
  "Create Automations": "Create Automations",
  "Create Bulk Invoices\\Estimates": "Create Bulk Invoices\\Estimates",
  "Create Campus": "Create Campus",
  "Create Canvas Course": "Create Canvas Course",
  "Create Categories": "Create Categories",
  "Create Classroom": "Create Classroom",
  "Create Cohort": "Create Cohort",
  "Create Cohorts": "Create Cohorts",
  "Create Contact": "Create Contact",
  "Create Contacts": "Create Contacts",
  "Create Course": "Create Course",
  "Create Custom Field": "Create Custom Field",
  "Create Custom Fileds": "Create Custom Fileds",
  "Create Dashboard": "Create Dashboard",
  "Create Date": "Create Date",
  "Create Dates": "Create Dates",
  "Create Document Builder": "Create Document Builder",
  "Create E-Mail Template": "Create E-Mail Template",
  "Create E-Signatures": "Create E-Signatures",
  "Create Edicational Service": "Create Edicational Service",
  "Create Educational Service": "Create Educational Service",
  "Create Field": "Create Field",
  "Create Finances": "Create Finances",
  "Create Fiscal Period": "Create Fiscal Period",
  "Create Funding Case": "Create Funding Case",
  "Create Grade": "Create Grade",
  "Create Grading": "Create Grading",
  "Create Grading Schema": "Create Grading Schema",
  "Create Group Booking": "Create Group Booking",
  "Create Instructor": "Create Instructor",
  "Create Instructors": "Create Instructors",
  "Create Lesson": "Create Lesson",
  "Create Lessons": "Create Lessons",
  "Create List": "Create List",
  "Create Messages": "Create Messages",
  "Create Module": "Create Module",
  "Create NSF Payment": "Create NSF Payment",
  "Create New": "Create New",
  "Create New Course": "Create New Course",
  "Create New Credit Memo": "Create New Credit Memo",
  "Create New Estimate": "Create New Estimate",
  "Create New Instructor": "Create New Instructor",
  "Create New Invoice": "Create New Invoice",
  "Create New Refund": "Create New Refund",
  "Create New Section": "Create New Section",
  "Create Note": "Create Note",
  "Create Password": "Create Password",
  "Create Password *": "Create Password *",
  "Create Pricing": "Create Pricing",
  "Create Program": "Create Program",
  "Create Promo Code": "Create Promo Code",
  "Create Quotations": "Create Quotations",
  "Create Recruiter Hub": "Create Recruiter Hub",
  "Create Recruiters Hub": "Create Recruiters Hub",
  "Create Report": "Create Report",
  "Create Role": "Create Role",
  "Create Roles": "Create Roles",
  "Create SMS Template": "Create SMS Template",
  "Create Section": "Create Section",
  "Create Semester": "Create Semester",
  "Create Service Category": "Create Service Category",
  "Create Statuses": "Create Statuses",
  "Create Student": "Create Student",
  "Create Student Account": "Create Student Account",
  "Create Students": "Create Students",
  "Create Submission": "Create Submission",
  "Create Submission statuses": "Create Submission statuses",
  "Create Submissions": "Create Submissions",
  "Create Task": "Create Task",
  "Create Tasks": "Create Tasks",
  "Create Template": "Create Template",
  "Create Transactions": "Create Transactions",
  "Create User": "Create User",
  "Create Users": "Create Users",
  "Create Variation Type": "Create Variation Type",
  "Create Virtual Assistants": "Create Virtual Assistants",
  "Create a new account": "Create a new account",
  "Create an account or": "Create an account or",
  "Create an account or ": "Create an account or ",
  "Create and close": "Create and close",
  "Create and create another": "Create and create another",
  "Create email templates": "Create email templates",
  "Create fields": "Create fields",
  "Create group": "Create group",
  "Create new view": "Create new view",
  "Create program": "Create program",
  "Create sms template": "Create sms template",
  "Create table view": "Create table view",
  "Create user": "Create user",
  "Create/Add Rubric": "Create/Add Rubric",
  "Created": "Created",
  "Created At": "Creation Date",
  "Created By": "Created By",
  "Created Date": "Creation Date",
  "Created Successfully!": "Created Successfully!",
  "Created at": "Creation Date",
  "Created at:": "Creation Date",
  "Creation Date": "Creation Date",
  "Creation date": "Creation Date",
  "Credit Amount": "Credit Amount",
  "Credit Card": "Credit Card",
  "Credit Line": "Credit Line",
  "Credit Memo": "Credit Memo",
  "Credit Memo Date": "Credit Memo Date",
  "Credit Memo Ref": "Credit Memo Ref",
  "Credit Memo Sync Failed!": "Credit Memo Sync Failed!",
  "Credit Memo Synced Successfully!": "Credit Memo Synced Successfully!",
  "Credit Memo not found!": "Credit Memo not found!",
  "Credit Memos": "Credit Memos",
  "Credit Memos Selected": "Credit Memos Selected",
  "Credits": "Credits",
  "Currency": "Currency",
  "Current": "Current",
  "Current Academic List": "Current Academic List",
  "Current Balance": "Current Balance",
  "Current Date": "Current Date",
  "Current Pipeline": "Current Pipeline",
  "Current Usage": "Current Usage",
  "Current date": "Current date",
  "Curriculum vitae (proof of employment, letters of reference)": "Curriculum vitae (proof of employment, letters of reference)",
  "Custom": "Custom",
  "Custom CSS": "Custom CSS",
  "Custom Field": "Custom Field",
  "Custom Field Information": "Custom Field Information",
  "Custom Field not updated successfully!": "Custom Field not updated successfully!",
  "Custom Fields": "Custom Fields",
  "Custom List": "Custom List",
  "Custom Properties": "Custom Properties",
  "Custom Property": "Custom Property",
  "Custom Range": "Custom Range",
  "Custom date": "Custom date",
  "Custom field": "Custom field",
  "Custom fields": "Custom fields",
  "Custom fields imported successfully": "Custom fields imported successfully",
  "Custom javascript": "Custom javascript",
  "Custom range": "Custom range",
  "Customer not found for credit memo!": "Customer not found for credit memo!",
  "Customfield Information": "Customfield Information",
  "Customiz field names pushed to Mautic": "Customiz field names pushed to Mautic",
  "Customization": "Customization",
  "Customize Your Sidebar": "Customize Your Sidebar",
  "Customize field names": "Customize field names",
  "Customize the colors of the quotation": "Customize the colors of the quotation",
  "Customized?": "Customized?",
  "DATE": "DATE",
  "DESCRIPTION": "DESCRIPTION",
  "DKIM": "DKIM",
  "Daily Attendance Register": "Daily Attendance Register",
  "Daily Attendance Register ": "Daily Attendance Register ",
  "Dashboard": "Dashboard",
  "Dashboard created successfully.": "Dashboard created successfully.",
  "Dashboard deleted successfully.": "Dashboard deleted successfully.",
  "Dashboard renamed successfully.": "Dashboard renamed successfully.",
  "Data": "Data",
  "Data Center": "Data Center",
  "Date": "Date",
  "Date & Time": "Date & Time",
  "Date Added": "Date Added",
  "Date Addons": "Date Addons",
  "Date Created": "Creation Date",
  "Date Format": "Date Format",
  "Date From": "Date From",
  "Date Generated": "Date Generated",
  "Date Information": "Date Information",
  "Date Picker": "Date Picker",
  "Date Range": "Date Range",
  "Date Shared": "Date Shared",
  "Date To": "Date To",
  "Date Type": "Date Type",
  "Date and Schedule": "Date and Schedule",
  "Date d'?ch?ance": "Date d'?ch?ance",
  "Date de partage": "Date de partage",
  "Date of Signature": "Date of Signature",
  "Date of birth": "Date of birth",
  "Date range": "Date range",
  "Date range limited to where ALL selected cohorts overlap": "Date range limited to where ALL selected cohorts overlap",
  "Date/Time": "Date/Time",
  "Dates": "Dates",
  "Dates Type": "Dates Type",
  "Dates/Prices": "Dates/Prices",
  "Day": "Day",
  "Days": "Days",
  "Days of the week": "Days of the week",
  "Ddownload": "Ddownload",
  "Deactivate": "Deactivate",
  "Deactivate Agencies": "Deactivate Agencies",
  "Deactivate the Key": "Deactivate the Key",
  "Dear": "Dear",
  "December": "December",
  "Declined": "Declined",
  "Default CRM": "Default CRM",
  "Default Calendar Background Color : #3788d8": "Default Calendar Background Color : #3788d8",
  "Default Campus": "Default Campus",
  "Default CampusID": "Default CampusID",
  "Default Columns": "Default Columns",
  "Default Commission Rate": "Default Commission Rate",
  "Default Commission Rate (%)": "Default Commission Rate (%)",
  "Default Commission Type": "Default Commission Type",
  "Default Country": "Default Country",
  "Default Country Code": "Default Country Code",
  "Default Currency": "Default Currency",
  "Default Date Format": "Default Date Format",
  "Default Duration": "Default Duration",
  "Default Language": "Default Language",
  "Default MediaID": "Default MediaID",
  "Default Pricing Schema": "Default Pricing Schema",
  "Default Program": "Default Program",
  "Default Source": "Default Source",
  "Default Stage": "Default Stage",
  "Default Timezone": "Default Timezone",
  "Default Value": "Default Value",
  "Default Value (": "Default Value (",
  "Default fields created successfully": "Default fields created successfully",
  "Default table view removed.": "Default table view removed.",
  "Default table view updated.": "Default table view updated.",
  "Default": "Default",
  "Deferred": "Deferred",
  "Degree Level": "Degree Level",
  "Degrees\\Program types": "Degrees\\Program types",
  "Delete": "Delete",
  "Delete Account": "Delete Account",
  "Delete Accounts": "Delete Accounts",
  "Delete Action": "Delete Action",
  "Delete Agency": "Delete Agency",
  "Delete Agent": "Delete Agent",
  "Delete Agents": "Delete Agents",
  "Delete All": "Delete All",
  "Delete Applicants": "Delete Applicants",
  "Delete Application": "Delete Application",
  "Delete Attendance": "Delete Attendance",
  "Delete Automations": "Delete Automations",
  "Delete Batch": "Delete Batch",
  "Delete Booking": "Delete Booking",
  "Delete Campus": "Delete Campus",
  "Delete Categories": "Delete Categories",
  "Delete Classroom": "Delete Classroom",
  "Delete Cohort": "Delete Cohort",
  "Delete Condition": "Delete Condition",
  "Delete Contact": "Delete Contact",
  "Delete Contacts": "Delete Contacts",
  "Delete Conversation": "Delete Conversation",
  "Delete Course": "Delete Course",
  "Delete Custom Fileds": "Delete Custom Fileds",
  "Delete DB Data": "Delete DB Data",
  "Delete Dashboard": "Delete Dashboard",
  "Delete Date": "Delete Date",
  "Delete Document Builder": "Delete Document Builder",
  "Delete E-Signatures": "Delete E-Signatures",
  "Delete Filter": "Delete Filter",
  "Delete Finances": "Delete Finances",
  "Delete Grade": "Delete Grade",
  "Delete Instructor": "Delete Instructor",
  "Delete Lesson": "Delete Lesson",
  "Delete Lessons": "Delete Lessons",
  "Delete List": "Delete List",
  "Delete Messages": "Delete Messages",
  "Delete My Emails": "Delete My Emails",
  "Delete My Meetings": "Delete My Meetings",
  "Delete Note": "Delete Note",
  "Delete Plan": "Delete Plan",
  "Delete Pricing": "Delete Pricing",
  "Delete Program": "Delete Program",
  "Delete Quotations": "Delete Quotations",
  "Delete Recruiters Hub": "Delete Recruiters Hub",
  "Delete Report": "Delete Report",
  "Delete Roles": "Delete Roles",
  "Delete SMS Conversations": "Delete SMS Conversations",
  "Delete Selected": "Delete Selected",
  "Delete Statuses": "Delete Statuses",
  "Delete Student": "Delete Student",
  "Delete Students": "Delete Students",
  "Delete Submission": "Delete Submission",
  "Delete Submission statuses": "Delete Submission statuses",
  "Delete Submissions": "Delete Submissions",
  "Delete Task": "Delete Task",
  "Delete Tasks": "Delete Tasks",
  "Delete This File": "Delete This File",
  "Delete Transaction": "Delete Transaction",
  "Delete User": "Delete User",
  "Delete Users": "Delete Users",
  "Delete Variation": "Delete Variation",
  "Delete Virtual Assistants": "Delete Virtual Assistants",
  "Delete agents": "Delete agents",
  "Delete email templates": "Delete email templates",
  "Delete email themes": "Delete email themes",
  "Delete fields": "Delete fields",
  "Delete selected": "Delete selected",
  "Delete sms template": "Delete sms template",
  "Delete submissions": "Delete submissions",
  "Delete this academic item for all students in this group?": "Delete this academic item for all students in this group?",
  "Delete this table view?": "Delete this table view?",
  "Delete view": "Delete view",
  "Delete&nbsp;Note": "Delete&nbsp;Note",
  "Deleted": "Deleted",
  "Deleted Successfully!": "Deleted Successfully!",
  "Deleting this accommodation will delete all the related data,(Photos,Availability)": "Deleting this accommodation will delete all the related data,(Photos,Availability)",
  "Deleting this fiscal period will permanently remove it from the system": "Deleting this fiscal period will permanently remove it from the system",
  "Deleting..": "Deleting..",
  "Delivered": "Delivered",
  "Delivery Rate": "Delivery Rate",
  "Delivery Unknown": "Delivery Unknown",
  "Departure Time": "Departure Time",
  "Deposit Amount": "Deposit Amount",
  "Deposit Type": "Deposit Type",
  "Deposit to": "Deposit to",
  "Desactivate API Key": "Desactivate API Key",
  "Describe your certificate(s) or diploma(s) received": "Describe your certificate(s) or diploma(s) received",
  "Description": "Description",
  "Deselect": "Deselect",
  "Deselect All": "Deselect All",
  "Deselect Cohorts": "Deselect Cohorts",
  "Desired Start Date": "Desired Start Date",
  "Desktop": "Desktop",
  "Destination": "Destination",
  "Destination (Unique Code)": "Destination (Unique Code)",
  "Detach": "Detach",
  "Detail Link": "Detail Link",
  "Details": "Details",
  "Details Table": "Details Table",
  "Device": "Device",
  "Device breakdown": "Device breakdown",
  "Device error:": "Device error:",
  "Device not ready. Please try again.": "Device not ready. Please try again.",
  "Device ready - Making call...": "Device ready - Making call...",
  "Didn't mean to unsubscribe? Click below to resubscribe": "Didn't mean to unsubscribe? Click below to resubscribe",
  "Digital Marketing Diploma": "Digital Marketing Diploma",
  "Diploma Origin": "Diploma Origin",
  "Direction": "Direction",
  "Disable": "Disable",
  "Disable account creation": "Disable account creation",
  "Disable application resubmission": "Disable application resubmission",
  "Disable application submission if not paid": "Disable application submission if not paid",
  "Disable application submission if not signed": "Disable application submission if not signed",
  "Disabled": "Disabled",
  "Disclaimer": "Disclaimer",
  "Disconnect": "Disconnect",
  "Disconnect current provider to connect this one": "Disconnect current provider to connect this one",
  "Disconnected": "Disconnected",
  "Disconnection Early": "Disconnection Early",
  "Discount": "Discount",
  "Dismissed": "Dismissed",
  "Display Name": "Display Name",
  "Disposable": "Disposable",
  "Disposable Email Domains": "Disposable Email Domains",
  "Do not share": "Do not share",
  "Do you have a study permit?": "Do you have a study permit?",
  "Do you have officially accredited Spanish level?": "Do you have officially accredited Spanish level?",
  "Do you identify yourself as an Indigenous person, that is, First Nations, M?tis, or Inuit?": "Do you identify yourself as an Indigenous person, that is, First Nations, M?tis, or Inuit?",
  "Document": "Document",
  "Document Builder": "Document Builder",
  "Document Builder was created successfully!": "Document Builder was created successfully!",
  "Document Builder was updated successfully!": "Document Builder was updated successfully!",
  "Document Builders": "Document Builders",
  "Document Date": "Document Date",
  "Document Field": "Document Field",
  "Document Name": "Document Name",
  "Document Template": "Document Template",
  "Document Title": "Document Title",
  "Document not found": "Document not found",
  "Document template not found": "Document template not found",
  "Documents": "Documents",
  "Documents & Contracts": "Documents & Contracts",
  "Documents List": "Documents List",
  "Domain": "Domain",
  "Domain Name": "Domain Name",
  "Domain Verifiation": "Domain Verifiation",
  "Domain\\Subdomain": "Domain\\Subdomain",
  "Don't add payment to the application": "Don't add payment to the application",
  "Don't add sign to the application": "Don't add sign to the application",
  "Don't have an account?": "Don't have an account?",
  "Done": "Done",
  "Dormant": "Dormant",
  "Dormant Date": "Dormant Date",
  "Download": "Download",
  "Download Document": "Download Document",
  "Download Invoice": "Download Invoice",
  "Download Payment": "Download Payment",
  "Download Quote": "Download Quote",
  "Download Quote (PDF)": "Download Quote (PDF)",
  "Download This File": "Download This File",
  "Download Usage Report": "Download Usage Report",
  "Download&nbsp;Report": "Download&nbsp;Report",
  "Draft": "Draft",
  "Draft only": "Draft only",
  "Drag & Drop Files": "Drag & Drop Files",
  "Drag & Drop files": "Drag & Drop files",
  "Drag & Drop files or": "Drag & Drop files or",
  "Drag & Drop your files": "Drag & Drop your files",
  "Drag & Drop your files or": "Drag & Drop your files or",
  "Drag &amp; Drop Files": "Drag &amp; Drop Files",
  "Drag New Field Here": "Drag New Field Here",
  "Drivers license": "Drivers license",
  "Due Date": "Due Date",
  "Due Time": "Due Time",
  "Due date": "Due date",
  "Due now": "Due now",
  "Due on receipt": "Due on receipt",
  "Duration": "Duration",
  "Duration (minutes)": "Duration (minutes)",
  "Dynamic": "Dynamic",
  "Dynamic List": "Dynamic List",
  "E-Mail Address": "E-Mail Address",
  "E-Mail Information": "E-Mail Information",
  "E-Mails": "E-Mails",
  "E-Signature": "E-Signature",
  "E-Signatures": "E-Signatures",
  "E-Signatures and Contracts": "E-Signatures and Contracts",
  "E-mail": "E-mail",
  "E-mails": "E-mails",
  "E-signature": "E-signature",
  "E-signature Service Provider": "E-signature Service Provider",
  "EMAIL PREVIEW": "EMAIL PREVIEW",
  "END": "END",
  "END DATE": "END DATE",
  "END TIME": "END TIME",
  "Each option in a new line, you can use \"|\" to paste lable|value combination": "Each option in a new line, you can use \"|\" to paste lable|value combination",
  "Edit": "Edit",
  "Edit Accommodation": "Edit Accommodation",
  "Edit Account": "Edit Account",
  "Edit Action": "Edit Action",
  "Edit Agency": "Edit Agency",
  "Edit Agent": "Edit Agent",
  "Edit Agents": "Edit Agents",
  "Edit & Impersonate Applicants": "Edit & Impersonate Applicants",
  "Edit Applicants": "Edit Applicants",
  "Edit Application": "Edit Application",
  "Edit Application Status": "Edit Application Status",
  "Edit Assistant Builder": "Edit Assistant Builder",
  "Edit Attendance": "Edit Attendance",
  "Edit Automation": "Edit Automation",
  "Edit Automations": "Edit Automations",
  "Edit Availability": "Edit Availability",
  "Edit Batch": "Edit Batch",
  "Edit Booking": "Edit Booking",
  "Edit Booking (Nuxt)": "Edit Booking (Nuxt)",
  "Edit Call Log": "Edit Call Log",
  "Edit Campus": "Edit Campus",
  "Edit Categories": "Edit Categories",
  "Edit Classroom": "Edit Classroom",
  "Edit Cohort": "Edit Cohort",
  "Edit Cohorts": "Edit Cohorts",
  "Edit Column Order": "Edit Column Order",
  "Edit Condition": "Edit Condition",
  "Edit Contacts": "Edit Contacts",
  "Edit Course": "Edit Course",
  "Edit Course Cohort": "Edit Course Cohort",
  "Edit Custom Field": "Edit Custom Field",
  "Edit Custom Fileds": "Edit Custom Fileds",
  "Edit Date": "Edit Date",
  "Edit Document Builder": "Edit Document Builder",
  "Edit E-Mail Template": "Edit E-Mail Template",
  "Edit E-Mail Theme": "Edit E-Mail Theme",
  "Edit E-Signatures": "Edit E-Signatures",
  "Edit Edicational Service": "Edit Edicational Service",
  "Edit Educational Service": "Edit Educational Service",
  "Edit Field": "Edit Field",
  "Edit Finances": "Edit Finances",
  "Edit Grade": "Edit Grade",
  "Edit Grading": "Edit Grading",
  "Edit Grading Schema": "Edit Grading Schema",
  "Edit Instructor": "Edit Instructor",
  "Edit Lesson": "Edit Lesson",
  "Edit Lessons": "Edit Lessons",
  "Edit List": "Edit List",
  "Edit Meeting": "Edit Meeting",
  "Edit Messages": "Edit Messages",
  "Edit Module": "Edit Module",
  "Edit NSF Payment": "Edit NSF Payment",
  "Edit New E-Mail Template": "Edit New E-Mail Template",
  "Edit Note": "Edit Note",
  "Edit Payment Gateway": "Edit Payment Gateway",
  "Edit Photo": "Edit Photo",
  "Edit Photo Caption": "Edit Photo Caption",
  "Edit Plan": "Edit Plan",
  "Edit Pricing": "Edit Pricing",
  "Edit Program": "Edit Program",
  "Edit Quotations": "Edit Quotations",
  "Edit Quote": "Edit Quote",
  "Edit Quote Builder": "Edit Quote Builder",
  "Edit Recruiters Hub": "Edit Recruiters Hub",
  "Edit Report": "Edit Report",
  "Edit Role": "Edit Role",
  "Edit Roles": "Edit Roles",
  "Edit SMS Template": "Edit SMS Template",
  "Edit Section": "Edit Section",
  "Edit Selected": "Edit Selected",
  "Edit Settings": "Edit Settings",
  "Edit Signer": "Edit Signer",
  "Edit Statuses": "Edit Statuses",
  "Edit & Impersonate Student": "Edit & Impersonate Student",
  "Edit Student": "Edit Student",
  "Edit & Impersonate Students": "Edit & Impersonate Students",
  "Edit Students": "Edit Students",
  "Edit Submission": "Edit Submission",
  "Edit Submission statuses": "Edit Submission statuses",
  "Edit Submissions": "Edit Submissions",
  "Edit Tasks": "Edit Tasks",
  "Edit Template": "Edit Template",
  "Edit Timeline Dates": "Edit Timeline Dates",
  "Edit Upgrades": "Edit Upgrades",
  "Edit User": "Edit User",
  "Edit Users": "Edit Users",
  "Edit Variation": "Edit Variation",
  "Edit Virtual Assistants": "Edit Virtual Assistants",
  "Edit Widget": "Edit Widget",
  "Edit email templates": "Edit email templates",
  "Edit email themes": "Edit email themes",
  "Edit fields": "Edit fields",
  "Edit sms template": "Edit sms template",
  "Edit status date": "Edit status date",
  "Edit user": "Edit user",
  "Edit your application": "Edit your application",
  "Edit&nbsp;Booking&nbsp;Group": "Edit&nbsp;Booking&nbsp;Group",
  "Edit&nbsp;Group&nbsp;Booking": "Edit&nbsp;Group&nbsp;Booking",
  "Edit&nbsp;Meeting": "Edit&nbsp;Meeting",
  "Edit&nbsp;Note": "Edit&nbsp;Note",
  "Edit&nbsp;Signer": "Edit&nbsp;Signer",
  "Edit&nbsp;Task": "Edit&nbsp;Task",
  "Edit&nbsp;Variation&nbsp;Type": "Edit&nbsp;Variation&nbsp;Type",
  "Editable Field": "Editable Field",
  "Education": "Education",
  "Education Level": "Education Level",
  "Education Transcripts": "Education Transcripts",
  "Education deleted successfully": "Education deleted successfully",
  "Educational Background": "Educational Background",
  "Educational Product": "Educational Product",
  "Educational Properties": "Educational Properties",
  "Educational Service": "Educational Service",
  "Educational Service Details": "Educational Service Details",
  "Educational Services": "Educational Services",
  "Educational Services Categories": "Educational Services Categories",
  "Educational Services Using This Account": "Educational Services Using This Account",
  "Effective": "Effective",
  "Eligibility checked Failed!": "Eligibility checked Failed!",
  "Eligibility checked Successfully!": "Eligibility checked Successfully!",
  "Email": "Email",
  "Email Address": "Email Address",
  "Email Address *": "Email Address *",
  "Email Builder": "Email Builder",
  "Email Integration": "Email Integration",
  "Email Preview": "Email Preview",
  "Email Sending Progress": "Email Sending Progress",
  "Email Template": "Email Template",
  "Email Template Builder": "Email Template Builder",
  "Email Template Name": "Email Template Name",
  "Email Template created without a theme.": "Email Template created without a theme.",
  "Email Templates": "Email Templates",
  "Email Text": "Email Text",
  "Email Theme": "Email Theme",
  "Email Theme Name": "Email Theme Name",
  "Email Themes": "Email Themes",
  "Email Verification": "Email Verification",
  "Email integration authorization is required.": "Email integration authorization is required.",
  "Email is required!": "Email is required!",
  "Email sending completed with errors.": "Email sending completed with errors.",
  "Email sent to": "Email sent to",
  "Email*": "Email*",
  "Emails": "Emails",
  "Emails Signature": "Emails Signature",
  "Emergency Contact Email": "Emergency Contact Email",
  "Emergency Contact First Name": "Emergency Contact First Name",
  "Emergency Contact Last Name": "Emergency Contact Last Name",
  "Emergency Contact Relationship": "Emergency Contact Relationship",
  "Emergency Contact Telephone": "Emergency Contact Telephone",
  "Emergency Last Name": "Emergency Last Name",
  "Emergency Phone Number": "Emergency Phone Number",
  "Employed": "Employed",
  "Employee Email - IF": "Employee Email - IF",
  "Employee First Name - IF": "Employee First Name - IF",
  "Employee Last Name - IF": "Employee Last Name - IF",
  "Employer Email": "Employer Email",
  "Employer First Name": "Employer First Name",
  "Employer Last Name": "Employer Last Name",
  "Empty": "Empty",
  "Enable Accommodation Selection": "Enable Accommodation Selection",
  "Enable Addon Selection": "Enable Addon Selection",
  "Enable Addons Selection": "Enable Addons Selection",
  "Enable Application for Agents": "Enable Application for Agents",
  "Enable Campus Selection": "Enable Campus Selection",
  "Enable Consent": "Enable Consent",
  "Enable Course Selection": "Enable Course Selection",
  "Enable Multi-select": "Enable Multi-select",
  "Enable Multiple Selection": "Enable Multiple Selection",
  "Enable Parents login": "Enable Parents login",
  "Enable Reports": "Enable Reports",
  "Enable Rubric": "Enable Rubric",
  "Enable School Signature": "Enable School Signature",
  "Enable Two Factor Authentication": "Enable Two Factor Authentication",
  "Enable accommodation options": "Enable accommodation options",
  "Enable agencies login": "Enable agencies login",
  "Enable application for agents": "Enable application for agents",
  "Enable for": "Enable for",
  "Enable multiple application submissions": "Enable multiple application submissions",
  "Enable multiple courses selection": "Enable multiple courses selection",
  "Enable reCaptcha": "Enable reCaptcha",
  "Enable review page": "Enable review page",
  "Enable this plugin when ready to use": "Enable this plugin when ready to use",
  "Enable to record all calls made through this plugin": "Enable to record all calls made through this plugin",
  "Enable transfer options": "Enable transfer options",
  "Enable transfers Selection": "Enable transfers Selection",
  "Enabled": "Enabled",
  "End": "End",
  "End ": "End ",
  "End Date": "End Date",
  "End Time": "End Time",
  "End Time (24h)": "End Time (24h)",
  "End at": "End at",
  "End date": "End date",
  "End date is required.": "End date is required.",
  "End date must be on or after start date.": "End date must be on or after start date.",
  "End time": "End time",
  "Endpoint": "Endpoint",
  "Ends With": "Ends With",
  "English": "English",
  "Enquiry Thank You Page": "Enquiry Thank You Page",
  "Enroll Student To Program": "Enroll Student To Program",
  "Enroll in": "Enroll in",
  "Enrolled": "Enrolled",
  "Enrolled Date": "Enrolled Date",
  "Enrollment": "Enrollment",
  "Enrollment Package": "Enrollment Package",
  "Enter OTP": "Enter OTP",
  "Enter call description...": "Enter call description...",
  "Enter meeting subject": "Enter meeting subject",
  "Enter your email address and password to log into your account": "Enter your email address and password to log into your account",
  "Entity": "Entity",
  "Envelope": "Envelope",
  "Envelope's details": "Envelope's details",
  "Environment": "Environment",
  "Equal": "Equal",
  "Equals": "Equals",
  "Equivalency": "Equivalency",
  "Error Message": "Error Message",
  "Error checking job status. Retrying...": "Error checking job status. Retrying...",
  "Error processing incoming call, please check the logs for more information.": "Error processing incoming call, please check the logs for more information.",
  "Error:": "Error:",
  "Error: The following cohorts have missing start or end dates": "Error: The following cohorts have missing start or end dates",
  "Estimate": "Estimate",
  "Estimate Amount": "Estimate Amount",
  "Estimate Date": "Estimate Date",
  "Estimate Line": "Estimate Line",
  "Event": "Event",
  "Exact Date": "Exact Date",
  "Exact Time": "Exact Time",
  "Exam 1: Real Estate Essentials": "Exam 1: Real Estate Essentials",
  "Exam 1: Real Estate Essentials (Test Centre ONLY)": "Exam 1: Real Estate Essentials (Test Centre ONLY)",
  "Exam 2: Residential Real Estate Transactions": "Exam 2: Residential Real Estate Transactions",
  "Exam 2: Residential Real Estate Transactions (Test Centre ONLY)": "Exam 2: Residential Real Estate Transactions (Test Centre ONLY)",
  "Exam 3: Additional Residential Real Estate Transactions": "Exam 3: Additional Residential Real Estate Transactions",
  "Exam 3: Additional Residential Real Estate Transactions (Test Centre ONLY)": "Exam 3: Additional Residential Real Estate Transactions (Test Centre ONLY)",
  "Exam 4: Commercial Real Estate Transactions": "Exam 4: Commercial Real Estate Transactions",
  "Exam 4: Commercial Real Estate Transactions (Test Centre ONLY)": "Exam 4: Commercial Real Estate Transactions (Test Centre ONLY)",
  "Exam Date": "Exam Date",
  "Exam Date/Time": "Exam Date/Time",
  "Exam Preparation": "Exam Preparation",
  "Exam Status History": "Exam Status History",
  "Exam not found!": "Exam not found!",
  "Exam result synced Failed!": "Exam result synced Failed!",
  "Exam result synced Successfully!": "Exam result synced Successfully!",
  "Examinations": "Examinations",
  "Exams": "Exams",
  "Excel Export": "Excel Export",
  "Exclude Empty Cohorts": "Exclude Empty Cohorts",
  "Execute This Action": "Execute This Action",
  "Execute This Condition": "Execute This Condition",
  "Execute Time": "Execute Time",
  "Exempt": "Exempt",
  "Exempt Note": "Exempt Note",
  "Existing Status": "Existing Status",
  "Expand All": "Expand All",
  "Expected": "Expected",
  "Expected Students": "Expected Students",
  "Expected amount of students": "Expected amount of students",
  "Expected date of incorporation": "Expected date of incorporation",
  "Expiration Date": "Expiration Date",
  "Expired": "Expired",
  "Expires At": "Expires At",
  "Expires At ": "Expires At ",
  "Expires In": "Expires In",
  "Expiry Date": "Expiry Date",
  "Expiry Month": "Expiry Month",
  "Expiry Month (MM)": "Expiry Month (MM)",
  "Expiry Year": "Expiry Year",
  "Expiry Year (YYYY)": "Expiry Year (YYYY)",
  "Export": "Export",
  "Export CSV": "Export CSV",
  "Export CSV File": "Export CSV File",
  "Export Excel": "Export Excel",
  "Export Excel File": "Export Excel File",
  "Export HTML": "Export HTML",
  "Export Options": "Export Options",
  "Export Report": "Export Report",
  "Export Variation": "Export Variation",
  "Export Visible CSV": "Export Visible CSV",
  "Export Visible Columns": "Export Visible Columns",
  "Export Visible HTML": "Export Visible HTML",
  "Export Visible XLSX": "Export Visible XLSX",
  "Export XLSX": "Export XLSX",
  "Export all": "Export all",
  "Export selection": "Export selection",
  "Extension Number": "Extension Number",
  "External Attendees": "External Attendees",
  "External Users": "External Users",
  "Extra Activities": "Extra Activities",
  "Extra Activity Sub-total": "Extra Activity Sub-total",
  "FORM URL": "FORM URL",
  "FREE": "FREE",
  "Facebook Tracking": "Facebook Tracking",
  "Fail": "Fail",
  "Fail Reason": "Fail Reason",
  "Failed": "Failed",
  "Failed Emails": "Failed Emails",
  "Failed Rate": "Failed Rate",
  "Failed SMS": "Failed SMS",
  "Failed To Update Agent:": "Failed To Update Agent:",
  "Failed to apply academic information.": "Failed to apply academic information.",
  "Failed to change status. Please try again later.": "Failed to change status. Please try again later.",
  "Failed to delete academic item.": "Failed to delete academic item.",
  "Failed to delete call log": "Failed to delete call log",
  "Failed to delete call logs": "Failed to delete call logs",
  "Failed to delete note. Please try again later.": "Failed to delete note. Please try again later.",
  "Failed to initialize bulk SMS": "Failed to initialize bulk SMS",
  "Failed to initialize bulk SMS: :message": "Failed to initialize bulk SMS: :message",
  "Failed to initialize device:": "Failed to initialize device:",
  "Failed to load call log data": "Failed to load call log data",
  "Failed to load meeting details": "Failed to load meeting details",
  "Failed to load meeting for editing": "Failed to load meeting for editing",
  "Failed to process incoming SMS!": "Failed to process incoming SMS!",
  "Failed to save call details.": "Failed to save call details.",
  "Failed to save call log.": "Failed to save call log.",
  "Failed to save document": "Failed to save document",
  "Failed to save file to storage": "Failed to save file to storage",
  "Failed to send SMS, Please view SMS Details for more information.": "Failed to send SMS, Please view SMS Details for more information.",
  "Failed to sync academic item.": "Failed to sync academic item.",
  "Failed to upload file": "Failed to upload file",
  "Father's first name": "Father's first name",
  "Father's first name (enter x if not available)": "Father's first name (enter x if not available)",
  "Father's last name": "Father's last name",
  "Father's last name (enter x if not available)": "Father's last name (enter x if not available)",
  "Featured Image": "Featured Image",
  "Features": "Features",
  "February": "February",
  "Fees Label": "Fees Label",
  "Field": "Field",
  "Field Changed in": "Field Changed in",
  "Field Classes": "Field Classes",
  "Field Details": "Field Details",
  "Field Label": "Field Label",
  "Field Name": "Field Name",
  "Field Type": "Field Type",
  "Fields": "Fields",
  "Fields Mapping": "Fields Mapping",
  "Fields Repeater": "Fields Repeater",
  "Fields to repeat": "Fields to repeat",
  "File": "File",
  "File Deleted Successfully": "File Deleted Successfully",
  "File Deleted!": "File Deleted!",
  "File Name": "File Name",
  "File Type": "File Type",
  "File Types": "File Types",
  "File Uploader": "File Uploader",
  "File uploaded successfully": "File uploaded successfully",
  "File uploads": "File uploads",
  "Filed Name": "Filed Name",
  "Files": "Files",
  "Files List Uploader": "Files List Uploader",
  "Filter Accounts": "Filter Accounts",
  "Filter Educational Services": "Filter Educational Services",
  "Filter Instructors": "Filter Instructors",
  "Filter Tokens": "Filter Tokens",
  "Filter Transactions": "Filter Transactions",
  "Filter active": "Filter active",
  "Filter by Campus": "Filter by Campus",
  "Filter by Program Type": "Filter by Program Type",
  "Filterable Field": "Filterable Field",
  "Filters": "Filters",
  "Final Grade": "Final Grade",
  "Final Mark": "Final Mark",
  "Finalize": "Finalize",
  "Finance": "Finance",
  "Finance &\r\n                                Tax": "Finance &\r\n                                Tax",
  "Finance and Tax": "Finance and Tax",
  "Financial Aid": "Financial Aid",
  "Financial Aid Docs": "Financial Aid Docs",
  "Financials": "Financials",
  "Find Addons": "Find Addons",
  "Find Educational Service": "Find Educational Service",
  "Find a contact": "Find a contact",
  "Find a message": "Find a message",
  "Find a recipient": "Find a recipient",
  "Find an Accomodation": "Find an Accomodation",
  "Find the student": "Find the student",
  "Finish": "Finish",
  "Finished": "Finished",
  "First Name": "First Name",
  "First Name *": "First Name *",
  "First Name*": "First Name*",
  "First Payment": "First Payment",
  "First Payment Due Date": "First Payment Due Date",
  "First Step : Build your quotation": "First Step : Build your quotation",
  "First name": "First name",
  "First name is required.": "First name is required.",
  "First payment": "First payment",
  "Fiscal Period": "Fiscal Period",
  "Fiscal Period Details": "Fiscal Period Details",
  "Fiscal Periods": "Fiscal Periods",
  "Fiscal Year": "Fiscal Year",
  "Flat Price": "Flat Price",
  "Folder": "Folder",
  "Folder ID": "Folder ID",
  "Follow-Up Queue": "Follow-Up Queue",
  "Footer Link Color": "Footer Link Color",
  "For a Course": "For a Course",
  "For a Program": "For a Program",
  "For each existing status in the system, select the new defined status it should be mapped to. All records using the old status will be updated to use the new status.": "For each existing status in the system, select the new defined status it should be mapped to. All records using the old status will be updated to use the new status.",
  "Forgot password?": "Forgot password?",
  "Form Application": "Form Application",
  "Form Background Color": "Form Background Color",
  "Form Details": "Form Details",
  "Form ID (Slug)": "Form ID (Slug)",
  "Form Submission": "Form Submission",
  "Form Submissions": "Form Submissions",
  "Form Text Color": "Form Text Color",
  "Form submission data has been saved for this group quote.": "Form submission data has been saved for this group quote.",
  "Form submissions": "Form submissions",
  "Format": "Format",
  "Fr": "Fr",
  "French": "French",
  "French Countries - Mautic": "French Countries - Mautic",
  "Frequency": "Frequency",
  "Friday": "Friday",
  "From": "From",
  "From Address": "From Address",
  "From Date": "From Date",
  "From Month/Year": "From Month/Year",
  "From Name": "From Name",
  "From Week": "From Week",
  "From email": "From email",
  "From name": "From name",
  "Front Settings": "Front Settings",
  "Full Address": "Full Address",
  "Full Amount": "Full Amount",
  "Full Name": "Full Name",
  "Full Permissions on Agency": "Full Permissions on Agency",
  "Full Permissions on Agent": "Full Permissions on Agent",
  "Full Permissions on Application": "Full Permissions on Application",
  "Full Permissions on Automations": "Full Permissions on Automations",
  "Full Permissions on Campus": "Full Permissions on Campus",
  "Full Permissions on Course": "Full Permissions on Course",
  "Full Permissions on Document Builder": "Full Permissions on Document Builder",
  "Full Permissions on E-Signatures": "Full Permissions on E-Signatures",
  "Full Permissions on Finances": "Full Permissions on Finances",
  "Full Permissions on List": "Full Permissions on List",
  "Full Permissions on Messages": "Full Permissions on Messages",
  "Full Permissions on Note": "Full Permissions on Note",
  "Full Permissions on Pricing": "Full Permissions on Pricing",
  "Full Permissions on Program": "Full Permissions on Program",
  "Full Permissions on Quotations": "Full Permissions on Quotations",
  "Full Permissions on Recruiters Hub": "Full Permissions on Recruiters Hub",
  "Full Permissions on Report": "Full Permissions on Report",
  "Full Permissions on Settings": "Full Permissions on Settings",
  "Full Permissions on Submission": "Full Permissions on Submission",
  "Full Permissions on Submission statuses": "Full Permissions on Submission statuses",
  "Full Permissions on Task": "Full Permissions on Task",
  "Full Permissions on Tasks": "Full Permissions on Tasks",
  "Full Permissions on User": "Full Permissions on User",
  "Full Permissions on Virtual Assistants": "Full Permissions on Virtual Assistants",
  "Full Permissions on fields": "Full Permissions on fields",
  "Full Width": "Full Width",
  "Full access granted": "Full access granted",
  "Full-Time Diploma Application": "Full-Time Diploma Application",
  "Fully Allocated": "Fully Allocated",
  "Funding Cases": "Funding Cases",
  "Funding Template Library": "Funding Template Library",
  "Funding Templates": "Funding Templates",
  "Funding Type": "Funding Type",
  "Funding engine": "Funding engine",
  "Funding templates sections": "Funding templates sections",
  "Funnel Report": "Funnel Report",
  "GET": "GET",
  "GET A PRICE": "GET A PRICE",
  "GO": "GO",
  "Gender": "Gender",
  "General": "General",
  "General Information": "General Information",
  "General Reinforcement": "General Reinforcement",
  "General information": "General information",
  "Generate": "Generate",
  "Generate (RL-8) Reports": "Generate (RL-8) Reports",
  "Generate (T2202) CSV File": "Generate (T2202) CSV File",
  "Generate (T2202) Reports": "Generate (T2202) Reports",
  "Generate (T2202) XML File": "Generate (T2202) XML File",
  "Generate All Transcripts": "Generate All Transcripts",
  "Generate All Transcripts requires a Word template. Please use a Word document template.": "Generate All Transcripts requires a Word template. Please use a Word document template.",
  "Generate Api Key": "Generate Api Key",
  "Generate Contract": "Generate Contract",
  "Generate Document": "Generate Document",
  "Generate Email": "Generate Email",
  "Generate Invoice": "Generate Invoice",
  "Generate Transcript": "Generate Transcript",
  "Generate a Document": "Generate a Document",
  "Generate a document 1": "Generate a document 1",
  "Generate application": "Generate application",
  "Generate booking": "Generate booking",
  "Generate document": "Generate document",
  "Generate group bookings": "Generate group bookings",
  "Generate quote": "Generate quote",
  "Generated": "Generated",
  "Generated Document": "Generated Document",
  "Generated Successfully!": "Generated Successfully!",
  "Generated and Shared Successfully!": "Generated and Shared Successfully!",
  "Get Another Price": "Get Another Price",
  "Get New Price": "Get New Price",
  "Get Price": "Get Price",
  "Get a price": "Get a price",
  "Get started by adding your first field.": "Get started by adding your first field.",
  "Global": "Global",
  "Go": "Go",
  "Google Tracking": "Google Tracking",
  "Government Identification": "Government Identification",
  "Grade": "Grade",
  "Grade 10": "Grade 10",
  "Grade 9": "Grade 9",
  "Grade Average": "Grade Average",
  "Grade Deleted Successfully!": "Grade Deleted Successfully!",
  "Grade detached successfully!": "Grade detached successfully!",
  "Graded": "Graded",
  "Grades": "Grades",
  "Grades Synced Successfully!": "Grades Synced Successfully!",
  "Grades Updated Successfully!": "Grades Updated Successfully!",
  "Grading Schemas": "Grading Schemas",
  "Grading schemas": "Grading schemas",
  "Gradings": "Gradings",
  "Graduated": "Graduated",
  "Graduated Date": "Graduated Date",
  "Grand Total": "Grand Total",
  "Greater Than": "Greater Than",
  "Greater Than or Equal": "Greater Than or Equal",
  "Group": "Group",
  "Group Accommodation": "Group Accommodation",
  "Group Accommodation Amount": "Group Accommodation Amount",
  "Group Addons Amount": "Group Addons Amount",
  "Group Booking": "Group Booking",
  "Group Bookings": "Group Bookings",
  "Group Course": "Group Course",
  "Group Course Amount": "Group Course Amount",
  "Group Courses": "Group Courses",
  "Group Courses By": "Group Courses By",
  "Group Details": "Group Details",
  "Group Due Amount": "Group Due Amount",
  "Group ID": "Group ID",
  "Group Invoice": "Group Invoice",
  "Group Invoice Amount": "Group Invoice Amount",
  "Group Paid Amount": "Group Paid Amount",
  "Group Quote": "Group Quote",
  "Group Quote Amount": "Group Quote Amount",
  "Group Quote Information": "Group Quote Information",
  "Group Total Weeks": "Group Total Weeks",
  "Group booking": "Group booking",
  "Group booking saved.": "Group booking saved.",
  "Group booking submission status is read-only.": "Group booking submission status is read-only.",
  "Group bookings": "Group bookings",
  "Group by applicant": "Group by applicant",
  "Group details": "Group details",
  "Grouped cohorts": "Grouped cohorts",
  "Groups": "Groups",
  "Groups's Name Format": "Groups's Name Format",
  "Guarantee Certificate": "Guarantee Certificate",
  "HTML Field": "HTML Field",
  "HTTP Method": "HTTP Method",
  "Half Day": "Half Day",
  "Half Width": "Half Width",
  "Hang Up": "Hang Up",
  "Has Fees": "Has Fees",
  "Has full system access?": "Has full system access?",
  "Have you completed studies abroad?": "Have you completed studies abroad?",
  "Have you had the opportunity to travel to Canada in recent years?": "Have you had the opportunity to travel to Canada in recent years?",
  "Have you interrupted your High School studies for at least 2 terms (Fall and Winter)?": "Have you interrupted your High School studies for at least 2 terms (Fall and Winter)?",
  "Have you interrupted your secondary school studies for at least two consecutive terms (fall and winter)?": "Have you interrupted your secondary school studies for at least two consecutive terms (fall and winter)?",
  "Have you studied in a French high school?": "Have you studied in a French high school?",
  "Header Line Color": "Header Line Color",
  "Headers": "Headers",
  "Helcim checkout is unavailable right now.": "Helcim checkout is unavailable right now.",
  "Held": "Held",
  "Help text": "Help text",
  "Help title": "Help title",
  "Helper Icon": "Helper Icon",
  "Helper Text": "Helper Text",
  "Helping Details": "Helping Details",
  "Here is the list of the documents shared with you": "Here is the list of the documents shared with you",
  "Here is the list of the exams you have to take": "Here is the list of the exams you have to take",
  "Here is the list of the invoices shared with you": "Here is the list of the invoices shared with you",
  "Here is the list of your messages": "Here is the list of your messages",
  "Hi": "Hi",
  "Hi :name,": "Hi :name,",
  "Hidden Field": "Hidden Field",
  "Hide": "Hide",
  "Hide Empty Values": "Hide Empty Values",
  "Hide Field": "Hide Field",
  "Hide Start Date Selection": "Hide Start Date Selection",
  "Hide advanced filters": "Hide advanced filters",
  "Hide field": "Hide field",
  "Hide from sidebar": "Hide from sidebar",
  "Hide in Application": "Hide in Application",
  "Hide password": "Hide password",
  "Hide program select": "Hide program select",
  "Hide this section on the application details view": "Hide this section on the application details view",
  "High": "High",
  "High School V - General Diploma": "High School V - General Diploma",
  "High School V diploma": "High School V diploma",
  "High School V equivalent Diploma (s) granted": "High School V equivalent Diploma (s) granted",
  "High School V grades": "High School V grades",
  "High Season End Date": "High Season End Date",
  "High Season Price/Week": "High Season Price/Week",
  "High Season Start Date": "High Season Start Date",
  "History": "History",
  "Holiday Name": "Holiday Name",
  "Holidays": "Holidays",
  "Home Address": "Home Address",
  "Hotjar Tracking": "Hotjar Tracking",
  "Hour": "Hour",
  "Hour of Day": "Hour of Day",
  "Hours": "Hours",
  "How did you hear about us?": "How did you hear about us?",
  "How many installments": "How many installments",
  "Hubspot Field": "Hubspot Field",
  "I agree to all": "I agree to all",
  "I agree to all ": "I agree to all ",
  "I already have an account": "I already have an account",
  "I certify that all information is true and correct to the best of my knowledge.": "I certify that all information is true and correct to the best of my knowledge.",
  "I don't want to have any activities": "I don't want to have any activities",
  "I would like to receive information about dates, details and offers for": "I would like to receive information about dates, details and offers for",
  "I would like to receive information about dates, details and offers for ": "I would like to receive information about dates, details and offers for ",
  "I'm a Parent": "I'm a Parent",
  "I'm a Student": "I'm a Student",
  "I'm an Agent": "I'm an Agent",
  "I'm finished with my booking": "I'm finished with my booking",
  "ID": "ID",
  "INACTIVE": "INACTIVE",
  "Icon": "Icon",
  "Id": "Id",
  "If Field": "If Field",
  "If commissionable, the service amount created by this category will be accountable to the agents' commissions calculation.": "If commissionable, the service amount created by this category will be accountable to the agents' commissions calculation.",
  "If this is checked, this field value will be locked if it already have a value.": "If this is checked, this field value will be locked if it already have a value.",
  "If you already reconnected your account, no further action is needed.": "If you already reconnected your account, no further action is needed.",
  "If you do not have a study permit, do you have a permit, visa, or other written authorization to study in Canada other than a study permit?": "If you do not have a study permit, do you have a permit, visa, or other written authorization to study in Canada other than a study permit?",
  "If you do not set any conditions, the automation will run for all events.": "If you do not set any conditions, the automation will run for all events.",
  "If you would like to proceed with booking this place, please click on the button below.": "If you would like to proceed with booking this place, please click on the button below.",
  "Immediately": "Immediately",
  "Impersonate": "Impersonate",
  "Import": "Import",
  "Import Accounts": "Import Accounts",
  "Import Agencies": "Import Agencies",
  "Import Agents": "Import Agents",
  "Import Agents & Agencies": "Import Agents & Agencies",
  "Import All Accounts": "Import All Accounts",
  "Import All Credit Memos": "Import All Credit Memos",
  "Import All Invoices": "Import All Invoices",
  "Import All Items": "Import All Items",
  "Import All Payments": "Import All Payments",
  "Import All Refunds": "Import All Refunds",
  "Import All Transactions": "Import All Transactions",
  "Import Cohort": "Import Cohort",
  "Import Contacts": "Import Contacts",
  "Import Custom Fields": "Import Custom Fields",
  "Import E-Mail Template": "Import E-Mail Template",
  "Import Educational Service": "Import Educational Service",
  "Import Educational Services": "Import Educational Services",
  "Import Enrollments": "Import Enrollments",
  "Import Instructors": "Import Instructors",
  "Import Instructors to": "Import Instructors to",
  "Import Items to": "Import Items to",
  "Import New E-Mail Theme": "Import New E-Mail Theme",
  "Import Options": "Import Options",
  "Import Quickbooks Data": "Import Quickbooks Data",
  "Import Quickbooks Online Accounts": "Import Quickbooks Online Accounts",
  "Import Quickbooks Online Transactions": "Import Quickbooks Online Transactions",
  "Import Selected Accounts": "Import Selected Accounts",
  "Import Selected Credit Memos": "Import Selected Credit Memos",
  "Import Selected Invoices": "Import Selected Invoices",
  "Import Selected Items": "Import Selected Items",
  "Import Selected Payments": "Import Selected Payments",
  "Import Selected Refunds": "Import Selected Refunds",
  "Import Selected Transactions": "Import Selected Transactions",
  "Import Transactions": "Import Transactions",
  "Import Variations": "Import Variations",
  "Import email themes": "Import email themes",
  "Import from": "Import from",
  "Import from ": "Import from ",
  "Import from CSV": "Import from CSV",
  "Import from Canvas": "Import from Canvas",
  "Import from file": "Import from file",
  "Import from templates library": "Import from templates library",
  "Import resources from Quickbooks (Accounts, Payment Methods, Terms)": "Import resources from Quickbooks (Accounts, Payment Methods, Terms)",
  "Import starter funding templates from the codebase into the tenant database.": "Import starter funding templates from the codebase into the tenant database.",
  "Important Notice": "Important Notice",
  "Imported": "Imported",
  "In Progress": "In Progress",
  "In what year did you obtain your most recent diploma?": "In what year did you obtain your most recent diploma?",
  "Inactive": "Inactive",
  "Inactive Application Forms": "Inactive Application Forms",
  "Inbound": "Inbound",
  "Include PDF": "Include PDF",
  "Include Payment Link": "Include Payment Link",
  "Income Category": "Income Category",
  "Incoming": "Incoming",
  "Incoming Call URL": "Incoming Call URL",
  "Incoming SMS": "Incoming SMS",
  "Incoming SMS URL": "Incoming SMS URL",
  "Incoming SMS processed successfully!": "Incoming SMS processed successfully!",
  "Incoming email information": "Incoming email information",
  "Incomplete": "Incomplete",
  "Indigenous": "Indigenous",
  "Indigineous Status": "Indigineous Status",
  "Individual": "Individual",
  "Infinite": "Infinite",
  "Information": "Information",
  "Information Tours": "Information Tours",
  "Information and Filters": "Information and Filters",
  "Initial account setup": "Initial account setup",
  "Initializing device...": "Initializing device...",
  "Initializing...": "Initializing...",
  "Insert Merge Tags": "Insert Merge Tags",
  "Installation URL": "Installation URL",
  "Installment Amount": "Installment Amount",
  "Installments": "Installments",
  "Installments Fixed Amount": "Installments Fixed Amount",
  "Installments Variable Amount": "Installments Variable Amount",
  "Institution Address #1": "Institution Address #1",
  "Institution City": "Institution City",
  "Institution Code": "Institution Code",
  "Institution Details": "Institution Details",
  "Institution Mailing Address #1": "Institution Mailing Address #1",
  "Institution Mailing Address #2": "Institution Mailing Address #2",
  "Institution Name": "Institution Name",
  "Institution Type": "Institution Type",
  "Instructions": "Instructions",
  "Instructor": "Instructor",
  "Instructor Name": "Instructor Name",
  "Instructor's Information": "Instructor's Information",
  "Instructors": "Instructors",
  "Instructors Imported Successfully!": "Instructors Imported Successfully!",
  "Instructors Login": "Instructors Login",
  "Intake": "Intake",
  "Intake Date": "Intake Date",
  "Intake Dates": "Intake Dates",
  "Intake date": "Intake date",
  "Integration": "Integration",
  "Integration Key": "Integration Key",
  "Integrations": "Integrations",
  "Integrations - Mautic": "Integrations - Mautic",
  "Intelligence": "Intelligence",
  "International Student?": "International Student?",
  "International calling code": "International calling code",
  "Invalid": "Invalid",
  "Invalid academic type.": "Invalid academic type.",
  "Invalid rules": "Invalid rules",
  "Invalid sender number selected.": "Invalid sender number selected.",
  "Invalid status selected.": "Invalid status selected.",
  "Invalid withdrawn date.": "Invalid withdrawn date.",
  "Invitation Expiry Date/Time": "Invitation Expiry Date/Time",
  "Invitation not found": "Invitation not found",
  "Invitation revoked successfully": "Invitation revoked successfully",
  "Invitation sent successfully": "Invitation sent successfully",
  "Invitation skipped": "Invitation skipped",
  "Invite": "Invite",
  "Invite Agents": "Invite Agents",
  "Invite Users": "Invite Users",
  "Invite to Exam": "Invite to Exam",
  "Invoice": "Invoice",
  "Invoice #:invoice is now marked as paid. Keep this page for your records. Your updated balance and receipt details are shown here.": "Invoice #:invoice is now marked as paid. Keep this page for your records. Your updated balance and receipt details are shown here.",
  "Invoice #:uid": "Invoice #:uid",
  "Invoice (if reversing)": "Invoice (if reversing)",
  "Invoice Already Synced!": "Invoice Already Synced!",
  "Invoice Created": "Invoice Created",
  "Invoice Date": "Invoice Date",
  "Invoice Due Date": "Invoice Due Date",
  "Invoice Items": "Invoice Items",
  "Invoice Number": "Invoice Number",
  "Invoice Paid": "Invoice Paid",
  "Invoice Payment": "Invoice Payment",
  "Invoice Status": "Invoice Status",
  "Invoice Summary": "Invoice Summary",
  "Invoice Sync Failed!": "Invoice Sync Failed!",
  "Invoice Synced Successfully!": "Invoice Synced Successfully!",
  "Invoice Total": "Invoice Total",
  "Invoice already exists for this booking.": "Invoice already exists for this booking.",
  "Invoice already exists for this group booking.": "Invoice already exists for this group booking.",
  "Invoice date": "Invoice date",
  "Invoice generated for this booking.": "Invoice generated for this booking.",
  "Invoice generated for this group booking.": "Invoice generated for this group booking.",
  "Invoice is already shared.": "Invoice is already shared.",
  "Invoice not found.": "Invoice not found.",
  "Invoice saved without sharing.": "Invoice saved without sharing.",
  "Invoice shared successfully!": "Invoice shared successfully!",
  "Invoice sharing removed.": "Invoice sharing removed.",
  "Invoices": "Invoices",
  "Invoices Selected": "Invoices Selected",
  "Invoices and Payments": "Invoices and Payments",
  "Is": "Is",
  "Is Admin": "Is Admin",
  "Is Commissionable": "Is Commissionable",
  "Is Published": "Is Published",
  "Is Unique Identifier": "Is Unique Identifier",
  "Is your permanent address different from your mailing address?": "Is your permanent address different from your mailing address?",
  "Italian": "Italian",
  "Item": "Item",
  "Item Amount": "Item Amount",
  "Item Description": "Item Description",
  "Items": "Items",
  "Items Imported Successfully!": "Items Imported Successfully!",
  "Items Selected": "Items Selected",
  "JS Secret": "JS Secret",
  "JS Token": "JS Token",
  "January": "January",
  "Job Title *": "Job Title *",
  "Job status not found": "Job status not found",
  "Job status not found. The job may have been deleted or does not exist.": "Job status not found. The job may have been deleted or does not exist.",
  "Job status not found. The job may have been deleted.": "Job status not found. The job may have been deleted.",
  "July": "July",
  "June": "June",
  "Key": "Key",
  "Keywords": "Keywords",
  "Kindly do not hesitate to contact us if you require any further information.": "Kindly do not hesitate to contact us if you require any further information.",
  "LMS": "LMS",
  "LOG IN": "LOG IN",
  "Label": "Label",
  "Label Attributes": "Label Attributes",
  "Label Classes": "Label Classes",
  "Landed Immigrant": "Landed Immigrant",
  "Language": "Language",
  "Language of program": "Language of program",
  "Last 30 Days": "Last 30 Days",
  "Last 30 days": "Last 30 days",
  "Last 7 Days": "Last 7 Days",
  "Last 7 days": "Last 7 days",
  "Last Call": "Last Call",
  "Last Month": "Last Month",
  "Last Name": "Last Name",
  "Last Name *": "Last Name *",
  "Last Name*": "Last Name*",
  "Last Update": "Last Update",
  "Last Year": "Last Year",
  "Last modification": "Last modification",
  "Last month": "Last month",
  "Last name": "Last name",
  "Last name is required.": "Last name is required.",
  "Last year": "Last year",
  "Late (16h - 19h)": "Late (16h - 19h)",
  "Layout": "Layout",
  "Lead": "Lead",
  "Lead Conversion": "Lead Conversion",
  "Lead Conversion & Pipeline": "Lead Conversion & Pipeline",
  "Lead Conversion Report": "Lead Conversion Report",
  "Leads": "Leads",
  "Learn More": "Learn More",
  "Learn more": "Learn more",
  "Leave blank to keep your current password": "Leave blank to keep your current password",
  "Leave empty for no change": "Leave empty for no change",
  "Leave empty if you want to unprotect this custom field": "Leave empty if you want to unprotect this custom field",
  "Leave empty to keep old password": "Leave empty to keep old password",
  "Leave empty to not display the table.": "Leave empty to not display the table.",
  "Leave empty to show all": "Leave empty to show all",
  "Left Early": "Left Early",
  "Left Time": "Left Time",
  "Left Voicemail": "Left Voicemail",
  "Left time": "Left time",
  "Less Than": "Less Than",
  "Less Than or Equal": "Less Than or Equal",
  "Less than High School": "Less than High School",
  "Lesson Attendances": "Lesson Attendances",
  "Lesson Students": "Lesson Students",
  "Lesson cohorts updated successfully!": "Lesson cohorts updated successfully!",
  "Lessons": "Lessons",
  "Lessons Per Day": "Lessons Per Day",
  "Lessons Per Month": "Lessons Per Month",
  "Lessons Per Week": "Lessons Per Week",
  "Let user select multiple options": "Let user select multiple options",
  "Let users select multiple programs": "Let users select multiple programs",
  "Letter Grade": "Letter Grade",
  "Letters": "Letters",
  "Level": "Level",
  "Level 1: 0 - 20": "Level 1: 0 - 20",
  "Level 2: 20 - 40": "Level 2: 20 - 40",
  "Level 3: 40 - 60": "Level 3: 40 - 60",
  "Level 4: 60 - 80": "Level 4: 60 - 80",
  "Level 5: 80 - 100%": "Level 5: 80 - 100%",
  "Level of education": "Level of education",
  "Line Total": "Line Total",
  "Link": "Link",
  "Link Courses": "Link Courses",
  "Linked Services": "Linked Services",
  "Linked To": "Linked To",
  "Linked to {{ $account->educationalServices->count() }} educational services": "Linked to {{ $account->educationalServices->count() }} educational services",
  "Links Click Statistics": "Links Click Statistics",
  "Links Color": "Links Color",
  "Lire le message": "Lire le message",
  "List": "List",
  "List Of Avaiable Applications": "List Of Avaiable Applications",
  "List Of Months": "List Of Months",
  "List Options": "List Options",
  "List of Years": "List of Years",
  "Lists": "Lists",
  "Lists are preselected from the template": "Lists are preselected from the template",
  "Load agencies from Mautic": "Load agencies from Mautic",
  "Loading": "Loading",
  "Loading calendar...": "Loading calendar...",
  "Loading meeting details...": "Loading meeting details...",
  "Loading...": "Loading...",
  "Loading?": "Loading...",
  "Location City/Country": "Location City/Country",
  "Lock Application": "Lock Application",
  "Lock application after review": "Lock application after review",
  "Lock submission after submit": "Lock submission after submit",
  "Locked": "Locked",
  "Locked for editing": "Locked for editing",
  "Log file cleared successfully.": "Log file cleared successfully.",
  "Log in to your account to complete your application.": "Log in to your account to complete your application.",
  "Login": "Login",
  "Login Description Text": "Login Description Text",
  "Login Description Text Color": "Login Description Text Color",
  "Login Page/Look and Feel": "Login Page/Look and Feel",
  "Login Title Text": "Login Title Text",
  "Login Title Text Color": "Login Title Text Color",
  "Login and Register": "Login and Register",
  "Login and Register Settings": "Login and Register Settings",
  "Login is not required": "Login is not required",
  "Login to your account or": "Login to your account or",
  "Login to your account or ": "Login to your account or ",
  "Login!!": "Login!!",
  "Login\\Register Page": "Login\\Register Page",
  "Logo": "Logo",
  "Logos per Language": "Logos per Language",
  "Logout": "Logout",
  "Logs": "Logs",
  "Look and Feel": "Look and Feel",
  "Looks like the page you are looking for might have been removed, had its name changed, or is temporarily unavailable.": "Looks like the page you are looking for might have been removed, had its name changed, or is temporarily unavailable.",
  "Low": "Low",
  "Lowercase": "Lowercase",
  "MAKE\r\n                                    PAYMENT": "MAKE\r\n                                    PAYMENT",
  "MAKE\r\n    PAYMENT": "MAKE\r\n    PAYMENT",
  "MAKE PAYMENT": "MAKE PAYMENT",
  "MAX": "MAX",
  "MIN": "MIN",
  "MM": "MM",
  "MM/YY": "MM/YY",
  "MONTANT PAY??": "MONTANT PAY??",
  "MONTANT PAY?": "MONTANT PAY?",
  "Mail": "Mail",
  "MailListID": "MailListID",
  "Mailing Address": "Mailing Address",
  "Mailing City": "Mailing City",
  "Mailing Country": "Mailing Country",
  "Mailing Postal Code": "Mailing Postal Code",
  "Mailing Province": "Mailing Province",
  "Mailing Street Address": "Mailing Street Address",
  "Mailing in Canada": "Mailing in Canada",
  "Main": "Main",
  "Main Dashboard": "Main Dashboard",
  "Main Title": "Main Title",
  "Main fields mapped successfully": "Main fields mapped successfully",
  "Main menu": "Main menu",
  "Make Call": "Make Call",
  "Make Phone Call": "Make Phone Call",
  "Make Required": "Make Required",
  "Make a Call": "Make a Call",
  "Make this my default view": "Make this my default view",
  "Manager Title - IF": "Manager Title - IF",
  "Mandatory": "Mandatory",
  "Mandatory payment": "Mandatory payment",
  "Mandrill API Key": "Mandrill API Key",
  "Mandrill Username": "Mandrill Username",
  "Map Existing Statuses to Defined Statuses": "Map Existing Statuses to Defined Statuses",
  "Map Fields to Campuslogin": "Map Fields to Campuslogin",
  "Map Fields to Hubspot": "Map Fields to Hubspot",
  "Map To Defined Status": "Map To Defined Status",
  "Mapping": "Mapping",
  "March": "March",
  "Mark as Available": "Mark as Available",
  "Mark as Complete": "Mark as Complete",
  "Mark as Completed": "Mark as Completed",
  "Mark as Pending": "Mark as Pending",
  "Mark as complete": "Mark as complete",
  "Material Fees": "Material Fees",
  "Materials Fee": "Materials Fee",
  "Mautic Custom Field": "Mautic Custom Field",
  "Mautic Field": "Mautic Field",
  "Mautic Fields Pair": "Mautic Fields Pair",
  "Mautic Password": "Mautic Password",
  "Mautic Recruiters Hub": "Mautic Recruiters Hub",
  "Mautic URL": "Mautic URL",
  "Mautic Username": "Mautic Username",
  "Mautic's  States List": "Mautic's  States List",
  "Mautic's  States List ( non Canadian)": "Mautic's  States List ( non Canadian)",
  "Mautic's Base URL": "Mautic's Base URL",
  "Max 5 files & file's size shouldn't exceed 10MB": "Max 5 files & file's size shouldn't exceed 10MB",
  "Max 5 files & file?s size shouldn?t exceed 10 MB": "Max 5 files & file?s size shouldn?t exceed 10 MB",
  "Max Points": "Max Points",
  "Maximum Courses": "Maximum Courses",
  "Maximum number of courses user can select": "Maximum number of courses user can select",
  "Maximum number of repeats": "Maximum number of repeats",
  "Maximum of": "Maximum of",
  "May": "May",
  "Meazure Learning Settings": "Meazure Learning Settings",
  "Medium": "Medium",
  "Meeting": "Meeting",
  "Meeting #": "Meeting #",
  "Meeting Date": "Meeting Date",
  "Meeting Description": "Meeting Description",
  "Meeting Details": "Meeting Details",
  "Meeting Held": "Meeting Held",
  "Meeting Held Date": "Meeting Held Date",
  "Contacted": "Contacted",
  "Contacted Date": "Contacted Date",
  "Meeting Time": "Meeting Time",
  "Meeting Type": "Meeting Type",
  "Meeting for:": "Meeting for:",
  "Meeting type": "Meeting type",
  "Meetings": "Meetings",
  "Meetings types": "Meetings types",
  "Memo on statement (hidden)": "Memo on statement (hidden)",
  "Mental Health Conditions": "Mental Health Conditions",
  "Menu Visibility": "Menu Visibility",
  "Merchant ID": "Merchant ID",
  "Merchant Pin Code": "Merchant Pin Code",
  "Merchant User ID": "Merchant User ID",
  "Merge": "Merge",
  "Merge Students": "Merge Students",
  "Merged successfully": "Merged successfully",
  "Message": "Message",
  "Message Content": "Message Content",
  "Messages": "Messages",
  "Messages Settings Saved Successfully!": "Messages Settings Saved Successfully!",
  "Method": "Method",
  "Method of Payment": "Method of Payment",
  "Method of transmission": "Method of transmission",
  "Mics Options": "Mics Options",
  "Midday (14h - 16h)": "Midday (14h - 16h)",
  "Middle Name": "Middle Name",
  "Migrate Courses Dates To Cohorts": "Migrate Courses Dates To Cohorts",
  "Migrate Programs Dates To Cohorts": "Migrate Programs Dates To Cohorts",
  "Migrate Statuses": "Migrate Statuses",
  "Minimal template": "Minimal template",
  "Minimize": "Minimize",
  "Minimum Courses": "Minimum Courses",
  "Minimum number of courses user must select": "Minimum number of courses user must select",
  "Minimum of": "Minimum of",
  "Minute": "Minute",
  "Minutes": "Minutes",
  "Miscellaneous Sub-total": "Miscellaneous Sub-total",
  "Missing payment details": "Missing payment details",
  "Mixed": "Mixed",
  "Mo": "Mo",
  "Mobile": "Mobile",
  "Mode": "Mode",
  "Modified at": "Modified at",
  "Modify": "Modify",
  "Module": "Module",
  "Module Information": "Module Information",
  "Module Title": "Module Title",
  "Modules": "Modules",
  "Monday": "Monday",
  "Monday 07 September 2020 - Friday 18 December 2020 AM ": "Monday 07 September 2020 - Friday 18 December 2020 AM ",
  "Month": "Month",
  "More": "More",
  "More Details": "More Details",
  "More views": "More views",
  "Morning (9h - 14h)": "Morning (9h - 14h)",
  "Most Recent Students": "Most Recent Students",
  "Mother tongue": "Mother tongue",
  "Mother's first name": "Mother's first name",
  "Mother's first name (enter x if not available)": "Mother's first name (enter x if not available)",
  "Mother's last name": "Mother's last name",
  "Mother's last name (enter x if not available)": "Mother's last name (enter x if not available)",
  "Multi Select": "Multi Select",
  "Multi-Select List": "Multi-Select List",
  "Multiple": "Multiple",
  "Multiple Programs": "Multiple Programs",
  "Multiple emails must be separated by commas": "Multiple emails must be separated by commas",
  "Multiple errors occurred while checking job status. Please refresh the page or contact support.": "Multiple errors occurred while checking job status. Please refresh the page or contact support.",
  "My\n                            Profile": "My\n                            Profile",
  "My Account": "My Account",
  "My Applications": "My Applications",
  "My Documents": "My Documents",
  "My Profile": "My Profile",
  "My Schools": "My Schools",
  "My account": "My account",
  "My filtered view": "My filtered view",
  "N/A": "N/A",
  "NO.": "NO.",
  "NSF Date": "NSF Date",
  "NSF Fee": "NSF Fee",
  "NSF Payment": "NSF Payment",
  "Name": "Name",
  "Name matches with Reco!": "Name matches with Reco!",
  "Name mismatch between application and Reco!": "Name mismatch between application and Reco!",
  "Name of School": "Name of School",
  "Nationality": "Nationality",
  "Need Help?": "Need Help?",
  "Needs More Info": "Needs More Info",
  "Never": "Never",
  "New": "New",
  "New\r\n                                            Free Trial Account!": "New\r\n                                            Free Trial Account!",
  "New Action": "New Action",
  "New Application Forms": "New Application Forms",
  "New Condition": "New Condition",
  "New Custom Field": "New Custom Field",
  "New Data": "New Data",
  "New Free Trial Account": "New Free Trial Account",
  "New Invoice shared with you": "New Invoice shared with you",
  "New Payment": "New Payment",
  "New Payment Type": "New Payment Type",
  "New Payment!": "New Payment!",
  "New Window": "New Window",
  "New account's account stage": "New account's account stage",
  "New credit memo": "New credit memo",
  "New document shared with you": "New document shared with you",
  "New estimate": "New estimate",
  "New invoice": "New invoice",
  "New parent's account stage": "New parent's account stage",
  "New refund": "New refund",
  "Next": "Next",
  "Next 10": "Next 10",
  "Next 30": "Next 30",
  "Next 45": "Next 45",
  "Next 60": "Next 60",
  "Next 90": "Next 90",
  "Next Year": "Next Year",
  "Night (19h - 22h)": "Night (19h - 22h)",
  "No": "No",
  "No Account": "No Account",
  "No Addons Found": "No Addons Found",
  "No Agent": "No Agent",
  "No Answer": "No Answer",
  "No Applications": "No Applications",
  "No Available seats for this course": "No Available seats for this course",
  "No Campus": "No Campus",
  "No Cohort": "No Cohort",
  "No Cohorts": "No Cohorts",
  "No Contact Status": "No Contact Status",
  "No Courses": "No Courses",
  "No Custom Fields yet": "No Custom Fields yet",
  "No Date": "No Date",
  "No Dates Found": "No Dates Found",
  "No Description Provided": "No Description Provided",
  "No Educational Services Found": "No Educational Services Found",
  "No Outstanding Invoices or Balance to pay!": "No Outstanding Invoices or Balance to pay!",
  "No Owner": "No Owner",
  "No Quote Information Available": "No Quote Information Available",
  "No Quotes Found": "No Quotes Found",
  "No Recording": "No Recording",
  "No Results Found": "No Results Found",
  "No Results Found!": "No Results Found!",
  "No Role assigned": "No Role assigned",
  "No Status": "No Status",
  "No Tasks Selected!": "No Tasks Selected!",
  "No academic items are assigned to students in this group yet.": "No academic items are assigned to students in this group yet.",
  "No academic records to delete for this group item.": "No academic records to delete for this group item.",
  "No actions applied": "No actions applied",
  "No active application forms found": "No active application forms found",
  "No agent found for this student.": "No agent found for this student.",
  "No agents were deleted or an error occurred.": "No agents were deleted or an error occurred.",
  "No attendees": "No attendees",
  "No available dates": "No available dates",
  "No available dates left (capacity is full).": "No available dates left (capacity is full).",
  "No available programs": "No available programs",
  "No booking details found for this booking.": "No booking details found for this booking.",
  "No booking details found for this group booking.": "No booking details found for this group booking.",
  "No calls yet": "No calls yet",
  "No cohorts available. Please ensure the lesson has a program or course assigned.": "No cohorts available. Please ensure the lesson has a program or course assigned.",
  "No conditions": "No conditions",
  "No contacts found": "No contacts found",
  "No content to display.": "No content to display.",
  "No course information available": "No course information available",
  "No data available for the selected filters. Please adjust your report criteria or date range.": "No data available for the selected filters. Please adjust your report criteria or date range.",
  "No data available for this activity outcomes report": "No data available for this activity outcomes report",
  "No data available for this lead conversion and pipeline report": "No data available for this lead conversion and pipeline report",
  "No data available for this lead conversion report": "No data available for this lead conversion report",
  "No data available for this metrics report": "No data available for this metrics report",
  "No data available for this pivot report": "No data available for this pivot report",
  "No data available in table": "No data available in table",
  "No date": "No date",
  "No description provided": "No description provided",
  "No existing statuses found for this object type.": "No existing statuses found for this object type.",
  "No file selected.": "No file selected.",
  "No funding cases matched the current search or filters.": "No funding cases matched the current search or filters.",
  "No funding templates matched the current search or filters.": "No funding templates matched the current search or filters.",
  "No grade items found for this course.": "No grade items found for this course.",
  "No history available": "No history available",
  "No individual student assigned": "No individual student assigned",
  "No invoices found for the selected year": "No invoices found for the selected year",
  "No items selected. Use the search above to add items.": "No items selected. Use the search above to add items.",
  "No items yet.": "No items yet.",
  "No lists selected": "No lists selected",
  "No parent cohorts are attached to this academic item. Please configure cohorts first.": "No parent cohorts are attached to this academic item. Please configure cohorts first.",
  "No pending emails to send.": "No pending emails to send.",
  "No programs or courses found for this student": "No programs or courses found for this student",
  "No quotation found for this booking.": "No quotation found for this booking.",
  "No quote information is available. This may indicate an incomplete quote or system error. Please contact support if you believe this is an error.": "No quote information is available. This may indicate an incomplete quote or system error. Please contact support if you believe this is an error.",
  "No recipient email found for this booking.": "No recipient email found for this booking.",
  "No recipients found for this job.": "No recipients found for this job.",
  "No recipients were found for the selected lists.": "No recipients were found for the selected lists.",
  "No report assigned.": "No report assigned.",
  "No results found": "No results found",
  "No results found!, Please try again": "No results found!, Please try again",
  "No starter templates are available in this build.": "No starter templates are available in this build.",
  "No status": "No status",
  "No statuses were selected.": "No statuses were selected.",
  "No student found for this booking.": "No student found for this booking.",
  "No students found in this booking group.": "No students found in this booking group.",
  "No widgets yet. Add your first report widget.": "No widgets yet. Add your first report widget.",
  "No.": "No.",
  "Nom du document": "Nom du document",
  "Non Sufficient Funds": "Non Sufficient Funds",
  "None": "None",
  "Not Assigned": "Not Assigned",
  "Not Completed (Academic)": "Not Completed (Academic)",
  "Not Contain": "Not Contain",
  "Not Contains": "Not Contains",
  "Not Empty": "Not Empty",
  "Not Equal": "Not Equal",
  "Not found": "Not found",
  "Not imported": "Not imported",
  "Not linked to any services": "Not linked to any services",
  "Not read": "Not read",
  "Not set": "Not set",
  "Not specified": "Not specified",
  "Note": "Note",
  "Note created successfully!": "Note created successfully!",
  "Note to student": "Note to student",
  "Note updated successfully!": "Note updated successfully!",
  "Note: This will delete all the data you entered.": "Note: This will delete all the data you entered.",
  "Notes": "Notes",
  "Notification Email": "Notification Email",
  "Notification Email Content": "Notification Email Content",
  "Notification Type": "Notification Type",
  "Notify Users": "Notify Users",
  "Notify by Email?": "Notify by Email?",
  "November": "November",
  "Number": "Number",
  "Number Of Weeks": "Number Of Weeks",
  "Number of Agents": "Number of Agents",
  "Number of People": "Number of People",
  "Number of Students": "Number of Students",
  "Number of weeks": "Number of weeks",
  "Num?ro de facture": "Num?ro de facture",
  "OFF": "OFF",
  "ON": "ON",
  "OR": "OR",
  "ORGID": "ORGID",
  "Object": "Object",
  "Object Type": "Object Type",
  "Object is required": "Object is required",
  "Occupation": "Occupation",
  "October": "October",
  "Old Data": "Old Data",
  "On Leave": "On Leave",
  "Online Training": "Online Training",
  "Only Name + Create Date": "Only Name + Create Date",
  "Oops! Something Went Wrong": "Oops! Something Went Wrong",
  "Oops! we looked everywhere": "Oops! we looked everywhere",
  "Open": "Open",
  "Open Call": "Open Call",
  "Open Date": "Open Date",
  "Open Email Preview on full page": "Open Email Preview on full page",
  "Open Full Report": "Open Full Report",
  "Open In": "Open In",
  "Open Invoice": "Open Invoice",
  "Operand": "Operand",
  "Operations": "Operations",
  "Operator": "Operator",
  "Option": "Option",
  "Optional note": "Optional note",
  "Optional. If filled, paid booking invoices from this quote builder will redirect here instead of the default invoice page.": "Optional. If filled, paid booking invoices from this quote builder will redirect here instead of the default invoice page.",
  "Options": "Options",
  "Or": "Or",
  "Order": "Order",
  "Origin of diploma": "Origin of diploma",
  "Original": "Original",
  "Original Amount": "Original Amount",
  "Original Payment": "Original Payment",
  "Original amount": "Original amount",
  "Other": "Other",
  "Other Application(s)": "Other Application(s)",
  "Other Canadian Province": "Other Canadian Province",
  "Other Charges": "Other Charges",
  "Other Country": "Other Country",
  "Other Payment Method": "Other Payment Method",
  "Other visa": "Other visa",
  "Outbound": "Outbound",
  "Outgoing": "Outgoing",
  "Outgoing email information": "Outgoing email information",
  "Overdue": "Overdue",
  "Overpaid": "Overpaid",
  "Owner": "Owner",
  "PAYMENT": "PAYMENT",
  "PBX Identifiant": "PBX Identifiant",
  "PBX Rang": "PBX Rang",
  "PBX Site": "PBX Site",
  "PDF Preview": "PDF Preview",
  "PDF filename": "PDF filename",
  "POST": "POST",
  "PROGRAM": "PROGRAM",
  "Page URL": "Page URL",
  "Paid": "Paid",
  "Paid Amount": "Paid Amount",
  "Pandadoc": "Pandadoc",
  "Parent": "Parent",
  "Parent Last Name": "Parent Last Name",
  "Parent Name": "Parent Name",
  "Parent added child stage": "Parent added child stage",
  "Parent id": "Parent id",
  "Parent/Tutor Data": "Parent/Tutor Data",
  "Parents": "Parents",
  "Parents can submit applications on behalf of students": "Parents can submit applications on behalf of students",
  "Partially Allocated": "Partially Allocated",
  "Partially Applied": "Partially Applied",
  "Partially Paid": "Partially Paid",
  "Partially Returned": "Partially Returned",
  "Pass": "Pass",
  "Passcode": "Passcode",
  "Passport": "Passport",
  "Passport Number": "Passport Number",
  "Password": "Password",
  "Password Suffix": "Password Suffix",
  "Password*": "Password*",
  "Paste Options": "Paste Options",
  "Paste your options here": "Paste your options here",
  "Pay": "Pay",
  "Pay Invoice": "Pay Invoice",
  "Pay Invoice Now": "Pay Invoice Now",
  "Pay Now": "Pay Now",
  "Pay The Invoice": "Pay The Invoice",
  "Pay fees": "Pay fees",
  "Pay invoice": "Pay invoice",
  "Pay the Invoice": "Pay the Invoice",
  "Payment": "Payment",
  "Payment Already Synced!": "Payment Already Synced!",
  "Payment Completed": "Payment Completed",
  "Payment Confirmation Text": "Payment Confirmation Text",
  "Payment Date": "Payment Date",
  "Payment Gateway": "Payment Gateway",
  "Payment Gateway Not defined": "Payment Gateway Not defined",
  "Payment Gateway Not defined.": "Payment Gateway Not defined.",
  "Payment Gateways": "Payment Gateways",
  "Payment Instructions": "Payment Instructions",
  "Payment Link": "Payment Link",
  "Payment Method": "Payment Method",
  "Payment Notification Emails": "Payment Notification Emails",
  "Payment Plugin": "Payment Plugin",
  "Payment Received": "Payment Received",
  "Payment Ref": "Payment Ref",
  "Payment Selected": "Payment Selected",
  "Payment Status": "Payment Status",
  "Payment Sync Failed!": "Payment Sync Failed!",
  "Payment Synced Successfully!": "Payment Synced Successfully!",
  "Payment Thank You": "Payment Thank You",
  "Payment Thank You Page": "Payment Thank You Page",
  "Payment Thank You Page URL": "Payment Thank You Page URL",
  "Payment Type": "Payment Type",
  "Payment amount does not match invoice total.": "Payment amount does not match invoice total.",
  "Payment failed": "Payment failed",
  "Payment failed. Please try again.": "Payment failed. Please try again.",
  "Payment link": "Payment link",
  "Payment received": "Payment received",
  "Payment received successfully": "Payment received successfully",
  "Payment request failed": "Payment request failed",
  "Payment response was missing a transaction reference.": "Payment response was missing a transaction reference.",
  "Payment validation failed. Please try again.": "Payment validation failed. Please try again.",
  "Payment verification failed.": "Payment verification failed.",
  "Payment was not completed.": "Payment was not completed.",
  "Payments": "Payments",
  "Payments Selected": "Payments Selected",
  "Pending": "Pending",
  "Pending for approval": "Pending for approval",
  "Pending payment": "Pending payment",
  "Per Week": "Per Week",
  "Percentage": "Percentage",
  "Percentage (%)": "Percentage (%)",
  "Performance Over time": "Performance Over time",
  "Period": "Period",
  "Period No.": "Period No.",
  "Period Order": "Period Order",
  "Permissions": "Permissions",
  "Personal Education Number (if available)": "Personal Education Number (if available)",
  "Personal Information": "Personal Information",
  "Phone": "Phone",
  "Phone *": "Phone *",
  "Phone Call": "Phone Call",
  "Phone Number": "Phone Number",
  "Phone Number (Student)": "Phone Number (Student)",
  "Phone or Mobile number is invalid!, please check and try again": "Phone or Mobile number is invalid!, please check and try again",
  "Photo": "Photo",
  "Photo updated successfully": "Photo updated successfully",
  "Photos": "Photos",
  "Photos uploaded successfully": "Photos uploaded successfully",
  "Pin Options": "Pin Options",
  "Pin selected Records": "Pin selected Records",
  "Pinned": "Pinned",
  "Pivot Table Report": "Pivot Table Report",
  "Pixel Code ID": "Pixel Code ID",
  "Placeholder text": "Placeholder text",
  "Plan": "Plan",
  "Plan *": "Plan *",
  "Plan Name": "Plan Name",
  "Plan price": "Plan price",
  "Plan title": "Plan title",
  "Plans": "Plans",
  "Please add at least one service.": "Please add at least one service.",
  "Please check the form below for errors": "Please check the form below for errors",
  "Please check the the captcha": "Please check the the captcha",
  "Please check the the captcha.": "Please check the the captcha.",
  "Please check your email for password reset link": "Please check your email for password reset link",
  "Please check your filters or data source.": "Please check your filters or data source.",
  "Please complete all your agency application forms to get you account activated": "Please complete all your agency application forms to get you account activated",
  "Please don't close this page, we are still processing your payment, you will be redirected soon!": "Please don't close this page, we are still processing your payment, you will be redirected soon!",
  "Please download the CSV template": "Please download the CSV template",
  "Please enter a phone number": "Please enter a phone number",
  "Please find below the quote for attending:": "Please find below the quote for attending:",
  "Please fix the cohort dates in the database or select different cohorts.": "Please fix the cohort dates in the database or select different cohorts.",
  "Please indicate which month you plan to enter": "Please indicate which month you plan to enter",
  "Please indicate which month you would like to enter": "Please indicate which month you would like to enter",
  "Please indicate which year you would like to enter": "Please indicate which year you would like to enter",
  "Please note bookings are not confirmed until we have received your payment": "Please note bookings are not confirmed until we have received your payment",
  "Please select a \"Call From\" number": "Please select a \"Call From\" number",
  "Please select at least one cohort.": "Please select at least one cohort.",
  "Please select at least one email theme.": "Please select at least one email theme.",
  "Please select call logs to delete": "Please select call logs to delete",
  "Please select start and end date!": "Please select start and end date!",
  "Please select the template first": "Please select the template first",
  "Please select which programme you would like to book.": "Please select which programme you would like to book.",
  "Please sign": "Please sign",
  "Please upload all required files": "Please upload all required files",
  "Please upload one of these official government IDs:": "Please upload one of these official government IDs:",
  "Plugins": "Plugins",
  "Plugins & Integrations": "Plugins & Integrations",
  "Points": "Points",
  "Position": "Position",
  "Postal Code": "Postal Code",
  "Postal Code\\Zip Code": "Postal Code\\Zip Code",
  "Postal code": "Postal code",
  "Postal/Zip Code": "Postal/Zip Code",
  "Posted": "Posted",
  "Posting Date": "Posting Date",
  "Pre-defined List": "Pre-defined List",
  "Pre-populate data from": "Pre-populate data from",
  "Preparer Details": "Preparer Details",
  "Preparing to send SMS...": "Preparing to send SMS...",
  "Preparing to send emails...": "Preparing to send emails...",
  "Present - In Class": "Present - In Class",
  "Present - Online": "Present - Online",
  "Preset List": "Preset List",
  "Preview": "Preview",
  "Previous": "Previous",
  "Previous Filter": "Previous Filter",
  "Price": "Price",
  "Price Model": "Price Model",
  "Price Pending": "Price Pending",
  "Pricing Model": "Pricing Model",
  "Pricing Schema": "Pricing Schema",
  "Pricing Schemas": "Pricing Schemas",
  "Pricing Template": "Pricing Template",
  "Pricing Template Details": "Pricing Template Details",
  "Pricing Templates": "Pricing Templates",
  "Pricing Type": "Pricing Type",
  "Pricings": "Pricings",
  "Primary": "Primary",
  "Primary Color": "Primary Color",
  "Priority": "Priority",
  "Privacy": "Privacy",
  "Privacy Policy": "Privacy Policy",
  "Private Token": "Private Token",
  "Proceed to Payment!": "Proceed to Payment!",
  "Processed": "Processed",
  "Processing": "Processing",
  "Processing......": "Processing......",
  "Product": "Product",
  "Product added successfully": "Product added successfully",
  "Product addition failed": "Product addition failed",
  "Product removal failed": "Product removal failed",
  "Product removed successfully": "Product removed successfully",
  "Product update failed": "Product update failed",
  "Product updated successfully": "Product updated successfully",
  "Product/Service": "Product/Service",
  "Products": "Products",
  "Profile": "Profile",
  "Program": "Program",
  "Program & Course Cohorts": "Program & Course Cohorts",
  "Program Campuses": "Program Campuses",
  "Program Code": "Program Code",
  "Program Cohort": "Program Cohort",
  "Program Cohort End Date": "Program Cohort End Date",
  "Program Cohort Start Date": "Program Cohort Start Date",
  "Program Cohorts": "Program Cohorts",
  "Program Completed Failed!": "Program Completed Failed!",
  "Program Completed Successfully!": "Program Completed Successfully!",
  "Program Completion Date": "Program Completion Date",
  "Program Courses": "Program Courses",
  "Program Custom Fields": "Program Custom Fields",
  "Course Custom Fields": "Course Custom Fields",
  "Program Dates": "Program Dates",
  "Program Delivery Method": "Program Delivery Method",
  "Program Details": "Program Details",
  "Program End Date": "Program End Date",
  "Program End Date ESL": "Program End Date ESL",
  "Program Grade": "Program Grade",
  "Program Information": "Program Information",
  "Program List": "Program List",
  "Program Prices": "Program Prices",
  "Program Start Date": "Program Start Date",
  "Program Start Date ESL": "Program Start Date ESL",
  "Program Starting/Ending Dates": "Program Starting/Ending Dates",
  "Program Status": "Program Status",
  "Program Sub-total": "Program Sub-total",
  "Program Title": "Program Title",
  "Program Type": "Program Type",
  "Program Virtual Assistant": "Program Virtual Assistant",
  "Program campuses": "Program campuses",
  "Program code": "Program code",
  "Program cohort": "Program cohort",
  "Program completion date is not set!": "Program completion date is not set!",
  "Program selection": "Program selection",
  "Program's Custom Properties": "Program's Custom Properties",
  "Program's Group Name Format": "Program's Group Name Format",
  "Programe": "Programe",
  "Programes": "Programes",
  "Programmes": "Programmes",
  "Programs": "Programs",
  "Programs & Activities": "Programs & Activities",
  "Programs List": "Programs List",
  "Programs Tour": "Programs Tour",
  "Programs tour": "Programs tour",
  "Progress": "Progress",
  "Progress Bar": "Progress Bar",
  "Progress Logs": "Progress Logs",
  "Progress Status": "Progress Status",
  "Progress of Applications": "Progress of Applications",
  "Progressed beyond": "Progressed beyond",
  "Promo Codes": "Promo Codes",
  "Promocode": "Promocode",
  "Promocodeable": "Promocodeable",
  "Promocodeusable": "Promocodeusable",
  "Proof of status in Canada": "Proof of status in Canada",
  "Province": "Province",
  "Province\\State": "Province\\State",
  "Public API Key": "Public API Key",
  "Public Application": "Public Application",
  "Public Token": "Public Token",
  "Publish": "Publish",
  "Published": "Published",
  "Published versions are immutable. Clone a draft before editing.": "Published versions are immutable. Clone a draft before editing.",
  "Purchase Summary": "Purchase Summary",
  "Push All steps to CampusLogin": "Push All steps to CampusLogin",
  "Push Applicants to Quickbooks automatically": "Push Applicants to Quickbooks automatically",
  "Push new accounts to CampusLogin": "Push new accounts to CampusLogin",
  "Push new accounts to Hubspot": "Push new accounts to Hubspot",
  "Push new accounts to Mautic": "Push new accounts to Mautic",
  "Push students to Quickbooks automatically": "Push students to Quickbooks automatically",
  "QB Customer": "QB Customer",
  "QB Ref": "QB Ref",
  "QBO Item Ref": "QBO Item Ref",
  "QTE": "QTE",
  "Qty": "Qty",
  "Quantity": "Quantity",
  "Questions": "Questions",
  "Queued": "Queued",
  "Quick Info": "Quick Info",
  "QuickBooks Customer ID": "QuickBooks Customer ID",
  "QuickBooks Online": "QuickBooks Online",
  "QuickBooks Services": "QuickBooks Services",
  "Quotation": "Quotation",
  "Quotation Settings": "Quotation Settings",
  "Quotation validity": "Quotation validity",
  "Quotations": "Quotations",
  "Quote": "Quote",
  "Quote\n                                Builder": "Quote\n                                Builder",
  "Quote\r\n                                Builder": "Quote\r\n                                Builder",
  "Quote Builder": "Quote Builder",
  "Quote Builder Add-ons": "Quote Builder Add-ons",
  "Quote Builders": "Quote Builders",
  "Quote Confirmation": "Quote Confirmation",
  "Quote Details": "Quote Details",
  "Quote Request Type": "Quote Request Type",
  "Quote Title": "Quote Title",
  "Quote builder": "Quote builder",
  "Quote builder is required.": "Quote builder is required.",
  "Quote shared with :name": "Quote shared with :name",
  "Quotes": "Quotes",
  "RE??U": "RE??U",
  "RE?U": "RE?U",
  "Radio": "Radio",
  "Rate": "Rate",
  "Re-check RECO Eligibility": "Re-check RECO Eligibility",
  "Reached Max Attempts": "Reached Max Attempts",
  "Reached Max Failed": "Reached Max Failed",
  "Read": "Read",
  "Read Date": "Read Date",
  "Read Less": "Read Less",
  "Read More Text": "Read More Text",
  "Read Only": "Read Only",
  "Read Rate": "Read Rate",
  "Read Rate (Delivered)": "Read Rate (Delivered)",
  "Read less": "Read less",
  "Read message": "Read message",
  "Ready": "Ready",
  "Ready to Submit": "Ready to Submit",
  "Reason": "Reason",
  "Reason To Study": "Reason To Study",
  "Receive Payment": "Receive Payment",
  "Receive Summary": "Receive Summary",
  "Receive VAA Summary by email": "Receive VAA Summary by email",
  "Receive payment": "Receive payment",
  "Received": "Received",
  "Recent Accounts": "Recent Accounts",
  "Recent Submissions": "Recent Submissions",
  "Recent Transaction": "Recent Transaction",
  "Recipient": "Recipient",
  "Recipient Phone Number": "Recipient Phone Number",
  "Recipient number": "Recipient number",
  "Recipients": "Recipients",
  "Reco - Course Completion": "Reco - Course Completion",
  "Reco - Program Completion": "Reco - Program Completion",
  "Reco ID": "Reco ID",
  "Reconnect": "Reconnect",
  "Reconnect email integration": "Reconnect email integration",
  "Reconnect your email integration": "Reconnect your email integration",
  "Record Call": "Record Call",
  "Recording": "Recording",
  "Recruiers Hub": "Recruiers Hub",
  "Recruiter Hub Information": "Recruiter Hub Information",
  "Recruiters\n                                Hub": "Recruiters\n                                Hub",
  "Recruiters\r\n                                Hub": "Recruiters\r\n                                Hub",
  "Recruiters Hub": "Recruiters Hub",
  "Recruiters Hub Settings": "Recruiters Hub Settings",
  "Redirect To URL": "Redirect To URL",
  "Redirect URL": "Redirect URL",
  "Redirect URL After Successful Payment": "Redirect URL After Successful Payment",
  "Redirect users to Thank You page after booking": "Redirect users to Thank You page after booking",
  "Reference No.": "Reference No.",
  "Refresh": "Refresh",
  "Refund": "Refund",
  "Refund Already Synced!": "Refund Already Synced!",
  "Refund Amount": "Refund Amount",
  "Refund Date": "Refund Date",
  "Refund Item": "Refund Item",
  "Refund Ref": "Refund Ref",
  "Refund Sync Failed!": "Refund Sync Failed!",
  "Refund Synced Successfully!": "Refund Synced Successfully!",
  "Refunded": "Refunded",
  "Refunds": "Refunds",
  "Refunds Selected": "Refunds Selected",
  "Regional Manager, North America": "Regional Manager, North America",
  "Regirtation Fees": "Regirtation Fees",
  "Register": "Register",
  "Register Description Text": "Register Description Text",
  "Register Description Text Color": "Register Description Text Color",
  "Register Now": "Register Now",
  "Register Title Text": "Register Title Text",
  "Register Title Text Color": "Register Title Text Color",
  "Registered": "Registered",
  "Registration Fee": "Registration Fee",
  "Registration Fees": "Registration Fees",
  "Registration Form": "Registration Form",
  "Registration Invoice": "Registration Invoice",
  "Registration Page/Look and Feel": "Registration Page/Look and Feel",
  "Registration Paid": "Registration Paid",
  "Regular Agent": "Regular Agent",
  "Regular Price": "Regular Price",
  "Regular Price/Week": "Regular Price/Week",
  "Rejected": "Rejected",
  "Related to Courses": "Related to Courses",
  "Related to Programs": "Related to Programs",
  "Related with Courses": "Related with Courses",
  "Related with Programs": "Related with Programs",
  "Relationship to the Family": "Relationship to the Family",
  "Remove": "Remove",
  "Remove All": "Remove All",
  "Remove Widget": "Remove Widget",
  "Remove bookmark": "Remove bookmark",
  "Set as start page": "Set as start page",
  "Current start page": "Current start page",
  "Remove from list": "Remove from list",
  "Remove as default": "Remove as default",
  "Remove this widget from the dashboard?": "Remove this widget from the dashboard?",
  "Removed from bookmarks": "Removed from bookmarks",
  "Rename": "Rename",
  "Rename Dashboard": "Rename Dashboard",
  "Rename table view": "Rename table view",
  "Update the name or default setting for this saved view.": "Update the name or default setting for this saved view.",
  "Rename view": "Rename view",
  "Renew API Key": "Renew API Key",
  "Renew the Key": "Renew the Key",
  "Reorder Sections": "Reorder Sections",
  "Reorder bookmark": "Reorder bookmark",
  "Reorder group": "Reorder group",
  "Reorder item": "Reorder item",
  "Reorder, hide, or tuck away items you rarely use. Your sidebar, set up the way you actually work.": "Reorder, hide, or tuck away items you rarely use. Your sidebar, set up the way you actually work.",
  "Reply": "Reply",
  "Reply To Address": "Reply To Address",
  "Reply To Email Address": "Reply To Email Address",
  "Reply-To": "Reply-To",
  "Report": "Report",
  "Report Exported Successfully!": "Report Exported Successfully!",
  "Report Type": "Report Type",
  "Reports": "Reports",
  "Request Edit": "Request Edit",
  "Request Language": "Request Language",
  "Request Phone number in registration form": "Request Phone number in registration form",
  "Request Type": "Request Type",
  "Request Unlock": "Request Unlock",
  "Request booking by email": "Request booking by email",
  "Request sent": "Request sent",
  "Request timeout. Retrying...": "Request timeout. Retrying...",
  "Request to Edit": "Request to Edit",
  "Requested Summary Type": "Requested Summary Type",
  "Requested edition": "Requested edition",
  "Required": "Required",
  "Required files": "Required files",
  "Resend Activation Email": "Resend Activation Email",
  "Reset": "Reset",
  "Reset Filters": "Reset Filters",
  "Reset Now": "Reset Now",
  "Reset Password": "Reset Password",
  "Reset Signature": "Reset Signature",
  "Reset menu to default": "Reset menu to default",
  "Reset menu to default?": "Reset menu to default?",
  "Reset now": "Reset now",
  "Reset password": "Reset password",
  "Reset to default": "Reset to default",
  "Resolved": "Resolved",
  "Response URL": "Response URL",
  "Rest": "Rest",
  "Restart Application": "Restart Application",
  "Restore": "Restore",
  "Restore Columns": "Restore Columns",
  "Restore Submission": "Restore Submission",
  "Resubmitted": "Resubmitted",
  "Resubscribe": "Resubscribe",
  "Resubscribed Successful": "Resubscribed Successful",
  "Result": "Result",
  "Results": "Results",
  "Resume Application": "Resume Application",
  "Resync": "Resync",
  "Resync Field": "Resync Field",
  "Resync Submission": "Resync Submission",
  "Retry Failed Emails": "Retry Failed Emails",
  "Return to Previous Page": "Return to Previous Page",
  "Return to Safety": "Return to Safety",
  "Return to your account": "Return to your account",
  "Returned": "Returned",
  "Review": "Review",
  "Review & Send Envelope": "Review & Send Envelope",
  "Review Contract": "Review Contract",
  "Review and Send": "Review and Send",
  "Review and complete your invoice payment.": "Review and complete your invoice payment.",
  "Review outcomes by owner for the selected activity type.": "Review outcomes by owner for the selected activity type.",
  "Reward": "Reward",
  "Role": "Role",
  "Role Information": "Role Information",
  "Role Name": "Role Name",
  "Roles": "Roles",
  "Run": "Run",
  "Run action one time only": "Run action one time only",
  "SCHEDULE": "SCHEDULE",
  "SCHEDULES": "SCHEDULES",
  "SELECT ALL": "SELECT ALL",
  "SEND NOW": "SEND NOW",
  "SEND QUOTE VIA EMAIL": "SEND QUOTE VIA EMAIL",
  "SEND VIA EMAIL": "SEND VIA EMAIL",
  "SEO Settings": "SEO Settings",
  "SIN": "SIN",
  "SIS": "SIS",
  "SMS": "SMS",
  "SMS History": "SMS History",
  "SMS Message": "SMS Message",
  "SMS Messages": "SMS Messages",
  "SMS Messaging Traffic": "SMS Messaging Traffic",
  "SMS Sending Progress": "SMS Sending Progress",
  "SMS Status": "SMS Status",
  "SMS Status Changed": "SMS Status Changed",
  "SMS Template": "SMS Template",
  "SMS Template deleted successfully!": "SMS Template deleted successfully!",
  "SMS Templates": "SMS Templates",
  "SMS Usage Report": "SMS Usage Report",
  "SMS processed": "SMS processed",
  "SMS sending completed with issues.": "SMS sending completed with issues.",
  "SMS sending failed": "SMS sending failed",
  "SMS sending failed due to missing plugin config credentials": "SMS sending failed due to missing plugin config credentials",
  "SMS sending failed due to missing twilio config credentials": "SMS sending failed due to missing twilio config credentials",
  "SMS sending failed!": "SMS sending failed!",
  "SMS sending failed.": "SMS sending failed.",
  "SMS sent": "SMS sent",
  "SMS sent successfully!": "SMS sent successfully!",
  "SPF": "SPF",
  "START": "START",
  "START DATE": "START DATE",
  "START TIME": "START TIME",
  "STATUS": "STATUS",
  "Sa": "Sa",
  "SalesAPE API URL": "SalesAPE API URL",
  "SalesApe engagement triggered successfully": "SalesApe engagement triggered successfully",
  "SalesForce": "SalesForce",
  "Salut": "Salut",
  "Same Window": "Same Window",
  "Sandbox account": "Sandbox account",
  "Saturday": "Saturday",
  "Save": "Save",
  "Save &": "Save &",
  "Save & ": "Save & ",
  "Save & Authorize App": "Save & Authorize App",
  "Save Booking": "Save Booking",
  "Save Call Details": "Save Call Details",
  "Save Call Log": "Save Call Log",
  "Save Changes": "Save Changes",
  "Save Logos": "Save Logos",
  "Save and Close": "Save and Close",
  "Save and Continue": "Save and Continue",
  "Save and close": "Save and close",
  "Save and create another": "Save and create another",
  "Save and share": "Save and share",
  "Save changes": "Save changes",
  "Save the current filters, sorting, page size, and column layout.": "Save the current filters, sorting, page size, and column layout.",
  "Start with no search, filters, or sorting, then configure and save the view.": "Start with no search, filters, or sorting, then configure and save the view.",
  "Save view": "Save view",
  "Saved Successfully!": "Saved Successfully!",
  "Saved successfully!": "Saved successfully!",
  "Saving...": "Saving...",
  "Scenario": "Scenario",
  "Scenarios": "Scenarios",
  "Schedule": "Schedule",
  "Schedule Meeting": "Schedule Meeting",
  "Schedule New Meeting": "Schedule New Meeting",
  "Schedule at": "Schedule at",
  "Schedule only on the selected days of the week:": "Schedule only on the selected days of the week:",
  "Scheduled": "Scheduled",
  "Scheduled At": "Scheduled At",
  "Scheduled Date": "Scheduled Date",
  "Schedules": "Schedules",
  "Schema": "Schema",
  "School": "School",
  "School Address": "School Address",
  "School Information": "School Information",
  "School Name": "School Name",
  "School Name *": "School Name *",
  "School Plan": "School Plan",
  "School Settings": "School Settings",
  "School Signature": "School Signature",
  "School Signer's Email": "School Signer's Email",
  "School Signer's Name": "School Signer's Name",
  "School Type": "School Type",
  "School Type *": "School Type *",
  "School Web Site": "School Web Site",
  "School Website": "School Website",
  "School context not found.": "School context not found.",
  "School's Details": "School's Details",
  "School's SIS Migrations": "School's SIS Migrations",
  "School: :school": "School: :school",
  "Schools": "Schools",
  "Schudel": "Schudel",
  "Science & Math Interest": "Science & Math Interest",
  "Score": "Score",
  "Search": "Search",
  "Search Contacts Here...": "Search Contacts Here...",
  "Search Messages": "Search Messages",
  "Search Term": "Search Term",
  "Search Token": "Search Token",
  "Search and add accommodations. Use arrows to reorder.": "Search and add accommodations. Use arrows to reorder.",
  "Search and add campuses. Use arrows to reorder.": "Search and add campuses. Use arrows to reorder.",
  "Search and add courses. Use arrows to reorder.": "Search and add courses. Use arrows to reorder.",
  "Search and add programs. Use arrows to reorder.": "Search and add programs. Use arrows to reorder.",
  "Search and add transfers. Use arrows to reorder.": "Search and add transfers. Use arrows to reorder.",
  "Search columns": "Search columns",
  "Search document builder tokens": "Search document builder tokens",
  "Search educational services by category": "Search educational services by category",
  "Search educational services by title": "Search educational services by title",
  "Search for a": "Search for a",
  "Search for a ": "Search for a ",
  "Search for a :type": "Search for a :type",
  "Search for a agent": "Search for a agent",
  "Search for a contact": "Search for a contact",
  "Search for a contact (First Name, Last Name, Email)": "Search for a contact (First Name, Last Name, Email)",
  "Search for a custom property": "Search for a custom property",
  "Search for a student": "Search for a student",
  "Search for accommodations...": "Search for accommodations...",
  "Search for an educational service": "Search for an educational service",
  "Search for campuses...": "Search for campuses...",
  "Search for courses...": "Search for courses...",
  "Search for instructors": "Search for instructors",
  "Search for programs...": "Search for programs...",
  "Search for transfers...": "Search for transfers...",
  "Search funding cases by student, funding type, or scenario": "Search funding cases by student, funding type, or scenario",
  "Search in": "Search in",
  "Search starter templates by funding type or label": "Search starter templates by funding type or label",
  "Search templates by funding type or label": "Search templates by funding type or label",
  "Second Step : Create an account or": "Second Step : Create an account or",
  "Second Step : Create an account or ": "Second Step : Create an account or ",
  "Second Step : Login to  your account": "Second Step : Login to  your account",
  "Secondary Color": "Secondary Color",
  "Secret API Key": "Secret API Key",
  "Secret Key": "Secret Key",
  "Section": "Section",
  "Section 1": "Section 1",
  "Secure payment": "Secure payment",
  "Security Token": "Security Token",
  "See all messages": "See all messages",
  "See all notifications": "See all notifications",
  "Segments": "Segments",
  "Select": "Select",
  "Select ": "Select ",
  "Select Accommodation": "Select Accommodation",
  "Select Account": "Select Account",
  "Select Account Type": "Select Account Type",
  "Select Action": "Select Action",
  "Select Agent": "Select Agent",
  "Select All": "Select All",
  "Select Application": "Select Application",
  "Select Campus": "Select Campus",
  "Select Campuses": "Select Campuses",
  "Select Category": "Select Category",
  "Select Category Type": "Select Category Type",
  "Select Channel": "Select Channel",
  "Select Child": "Select Child",
  "Select Classroom": "Select Classroom",
  "Select Cohort": "Select Cohort",
  "Select Cohorts": "Select Cohorts",
  "Select Contact Field": "Select Contact Field",
  "Select Contact Type": "Select Contact Type",
  "Select Country": "Select Country",
  "Select Course": "Select Course",
  "Select Course Cohort": "Select Course Cohort",
  "Select Course Cohorts": "Select Course Cohorts",
  "Select Course Schedule": "Select Course Schedule",
  "Select Courses you want to Add": "Select Courses you want to Add",
  "Select Currency": "Select Currency",
  "Select Custom Field": "Select Custom Field",
  "Select Custom Fields": "Select Custom Fields",
  "Select Custom Property": "Select Custom Property",
  "Select Data Center": "Select Data Center",
  "Select Date": "Select Date",
  "Select Date Picker Type": "Select Date Picker Type",
  "Select Deposit Type": "Select Deposit Type",
  "Select Document": "Select Document",
  "Select Duration": "Select Duration",
  "Select Educational Service": "Select Educational Service",
  "Select Envelope": "Select Envelope",
  "Select Event": "Select Event",
  "Select Execution Type": "Select Execution Type",
  "Select Field": "Select Field",
  "Select File Type": "Select File Type",
  "Select Folder": "Select Folder",
  "Select Instructor": "Select Instructor",
  "Select Instructors": "Select Instructors",
  "Select Invoice": "Select Invoice",
  "Select Item": "Select Item",
  "Select Language": "Select Language",
  "Select Layout": "Select Layout",
  "Select Lists": "Select Lists",
  "Select Meeting Type": "Select Meeting Type",
  "Select Method": "Select Method",
  "Select Object": "Select Object",
  "Select Object Type": "Select Object Type",
  "Select Operator": "Select Operator",
  "Select Option": "Select Option",
  "Select Options Type": "Select Options Type",
  "Select Parent": "Select Parent",
  "Select Payment Gateway": "Select Payment Gateway",
  "Select Payment Method": "Select Payment Method",
  "Select Previous Filter": "Select Previous Filter",
  "Select Pricing Model": "Select Pricing Model",
  "Select Pricing Schema": "Select Pricing Schema",
  "Select Priority": "Select Priority",
  "Select Program": "Select Program",
  "Select Program Cohorts below to manage course cohort assignments": "Select Program Cohorts below to manage course cohort assignments",
  "Select Program Dates": "Select Program Dates",
  "Select Quote Builder": "Select Quote Builder",
  "Select Report Type": "Select Report Type",
  "Select Request Type": "Select Request Type",
  "Select Role": "Select Role",
  "Select Roles": "Select Roles",
  "Select Schedule": "Select Schedule",
  "Select Section": "Select Section",
  "Select Service": "Select Service",
  "Select Stage": "Select Stage",
  "Select Status": "Select Status",
  "Select Status Type": "Select Status Type",
  "Select Tax Year": "Select Tax Year",
  "Select Template": "Select Template",
  "Select Terms": "Select Terms",
  "Select Terms (Due Days)": "Select Terms (Due Days)",
  "Select Time Unit": "Select Time Unit",
  "Select Timezone": "Select Timezone",
  "Select Training Type": "Select Training Type",
  "Select Transaction Type": "Select Transaction Type",
  "Select Type": "Select Type",
  "Select User": "Select User",
  "Select Value": "Select Value",
  "Select Variation": "Select Variation",
  "Select Variation Type": "Select Variation Type",
  "Select a": "Select a",
  "Select a ": "Select a ",
  "Select a Campus": "Select a Campus",
  "Select a Category": "Select a Category",
  "Select a Classroom": "Select a Classroom",
  "Select a Classroom Slot": "Select a Classroom Slot",
  "Select a Cohort": "Select a Cohort",
  "Select a Commission Type": "Select a Commission Type",
  "Select a Course": "Select a Course",
  "Select a Payment Method": "Select a Payment Method",
  "Select a Payment Method Type": "Select a Payment Method Type",
  "Select a Product": "Select a Product",
  "Select a Program": "Select a Program",
  "Select a Semester": "Select a Semester",
  "Select a Status": "Select a Status",
  "Select a Student": "Select a Student",
  "Select a campus": "Select a campus",
  "Select a campus to enable": "Select a campus to enable",
  "Select a category": "Select a category",
  "Select a classroom": "Select a classroom",
  "Select a classroom Slot": "Select a classroom Slot",
  "Select a contact": "Select a contact",
  "Select a course": "Select a course",
  "Select a course to enable": "Select a course to enable",
  "Select a custom field*": "Select a custom field*",
  "Select a list": "Select a list",
  "Select a list*": "Select a list*",
  "Select a number": "Select a number",
  "Select a payment to create NSF for": "Select a payment to create NSF for",
  "Select a phone number": "Select a phone number",
  "Select a plan": "Select a plan",
  "Select a reason": "Select a reason",
  "Select a schema": "Select a schema",
  "Select a sender number": "Select a sender number",
  "Select a status": "Select a status",
  "Select a student": "Select a student",
  "Select a template": "Select a template",
  "Select a user": "Select a user",
  "Select a week day": "Select a week day",
  "Select addons": "Select addons",
  "Select all": "Select all",
  "Select all not imported": "Select all not imported",
  "Select an Application": "Select an Application",
  "Select an Email": "Select an Email",
  "Select an Exam": "Select an Exam",
  "Select an Exam Product": "Select an Exam Product",
  "Select an HTML field": "Select an HTML field",
  "Select an Instructor": "Select an Instructor",
  "Select an Object": "Select an Object",
  "Select an application to merge": "Select an application to merge",
  "Select an application to submit": "Select an application to submit",
  "Select an email": "Select an email",
  "Select an instructor": "Select an instructor",
  "Select campus number...": "Select campus number...",
  "Select classification": "Select classification",
  "Select contact type": "Select contact type",
  "Select course_type values to group courses by": "Select course_type values to group courses by",
  "Select courses list": "Select courses list",
  "Select date range": "Select date range",
  "Select default message recipient": "Select default message recipient",
  "Select direction...": "Select direction...",
  "Select duration": "Select duration",
  "Select envelope": "Select envelope",
  "Select group": "Select group",
  "Select instructor": "Select instructor",
  "Select item": "Select item",
  "Select merged Application": "Select merged Application",
  "Select one or more lists": "Select one or more lists",
  "Select or add a child": "Select or add a child",
  "Select phone number...": "Select phone number...",
  "Select program": "Select program",
  "Select programs list": "Select programs list",
  "Select quote": "Select quote",
  "Select reason": "Select reason",
  "Select redirection page": "Select redirection page",
  "Select registration form": "Select registration form",
  "Select start dates": "Select start dates",
  "Select status": "Select status",
  "Select status...": "Select status...",
  "Select the first payment": "Select the first payment",
  "Select the week days": "Select the week days",
  "Select time": "Select time",
  "Select type": "Select type",
  "Select venue": "Select venue",
  "Select...": "Select...",
  "Selected": "Selected",
  "Selected Columns": "Selected Columns",
  "Selected Columns:": "Selected Columns:",
  "Selected Dates": "Selected Dates",
  "Selected Lists": "Selected Lists",
  "Selected Students": "Selected Students",
  "Selected Students ": "Selected Students ",
  "Selected academic entity was not found.": "Selected academic entity was not found.",
  "Selected accommodation dates are outside availability.": "Selected accommodation dates are outside availability.",
  "Selected course cohort is not attached to this program cohort.": "Selected course cohort is not attached to this program cohort.",
  "Selected course cohort is not attached to this program.": "Selected course cohort is not attached to this program.",
  "Selected dates are outside this accommodation availability.": "Selected dates are outside this accommodation availability.",
  "Selected group is invalid.": "Selected group is invalid.",
  "Selected lessons include both program and course cohorts": "Selected lessons include both program and course cohorts",
  "Selected service is not linked to an accommodation.": "Selected service is not linked to an accommodation.",
  "Selector": "Selector",
  "Semester": "Semester",
  "Semester Information": "Semester Information",
  "Semester Programs/courses": "Semester Programs/courses",
  "Semesters": "Semesters",
  "Send": "Send",
  "Send Agent E-Mail": "Send Agent E-Mail",
  "Send Bulk SMS": "Send Bulk SMS",
  "Send Contract": "Send Contract",
  "Send E-Mail": "Send E-Mail",
  "Send E-mail": "Send E-mail",
  "Send Email": "Send Email",
  "Send Email Form": "Send Email Form",
  "Send Email To": "Send Email To",
  "Send Email To List": "Send Email To List",
  "Send Emails Form": "Send Emails Form",
  "Send Emails From": "Send Emails From",
  "Send Emails From Name": "Send Emails From Name",
  "Send Emails To": "Send Emails To",
  "Send Envelope": "Send Envelope",
  "Send From Email": "Send From Email",
  "Send From Name": "Send From Name",
  "Send Invitation": "Send Invitation",
  "Send Message": "Send Message",
  "Send New Message": "Send New Message",
  "Send Notification Email": "Send Notification Email",
  "Send Now": "Send Now",
  "Send Password Reset Link": "Send Password Reset Link",
  "Send Reminder": "Send Reminder",
  "Send SMS": "Send SMS",
  "Send SMS Conversations": "Send SMS Conversations",
  "Send SMS Message": "Send SMS Message",
  "Send SMS To List": "Send SMS To List",
  "Send Student E-Mail": "Send Student E-Mail",
  "Send Students E-Mail": "Send Students E-Mail",
  "Send Test Email": "Send Test Email",
  "Send Thank You Email": "Send Thank You Email",
  "Send Thank you Email": "Send Thank you Email",
  "Send To": "Send To",
  "Send To Owner": "Send To Owner",
  "Send Welcome Email After Registration": "Send Welcome Email After Registration",
  "Send a notification to users": "Send a notification to users",
  "Send a template email": "Send a template email",
  "Send an Email": "Send an Email",
  "Send an Email to the Student": "Send an Email to the Student",
  "Send an Email to the User": "Send an Email to the User",
  "Send email from Mautic": "Send email from Mautic",
  "Send email notification to the assignee": "Send email notification to the assignee",
  "Send invitation email": "Send invitation email",
  "Send login details to the student": "Send login details to the student",
  "Send new emails": "Send new emails",
  "Send quote via email": "Send quote via email",
  "Send reminder email": "Send reminder email",
  "Send summary via email": "Send summary via email",
  "Send the login credentials to the student": "Send the login credentials to the student",
  "Send to list": "Send to list",
  "Sender Number": "Sender Number",
  "Sender Phone Number": "Sender Phone Number",
  "Sender email": "Sender email",
  "Sender name": "Sender name",
  "Sender's Email": "Sender's Email",
  "Sender's Name": "Sender's Name",
  "Sending": "Sending",
  "Sending Domain": "Sending Domain",
  "Sending SMS...": "Sending SMS...",
  "Sending emails...": "Sending emails...",
  "Sent": "Sent",
  "Sent By": "Sent By",
  "Sent Date": "Sent Date",
  "Sent E-Mails": "Sent E-Mails",
  "Sent Emails": "Sent Emails",
  "Sent From": "Sent From",
  "Sent On": "Sent On",
  "Sent Rate": "Sent Rate",
  "Sent Successfully!": "Sent Successfully!",
  "Sent To": "Sent To",
  "September": "September",
  "Server error while checking job status. Retrying...": "Server error while checking job status. Retrying...",
  "Service": "Service",
  "Service Bus Namespace": "Service Bus Namespace",
  "Service Category Not found!": "Service Category Not found!",
  "Service Name": "Service Name",
  "Service Synced Successfully!": "Service Synced Successfully!",
  "Service is required.": "Service is required.",
  "Services": "Services",
  "Services Categories": "Services Categories",
  "Session": "Session",
  "Session Key": "Session Key",
  "Set as default": "Set as default",
  "Settings": "Settings",
  "Settings Tour": "Settings Tour",
  "Settings menu": "Settings menu",
  "Settings tour": "Settings tour",
  "Sex": "Sex",
  "Share": "Share",
  "Share Invoice": "Share Invoice",
  "Share Quote": "Share Quote",
  "Share document": "Share document",
  "Share login credentials": "Share login credentials",
  "Share with": "Share with",
  "Share with student": "Share with student",
  "Shared": "Shared",
  "Shared Date": "Shared Date",
  "Shared Document": "Shared Document",
  "Shared Invoice": "Shared Invoice",
  "Shared Successfully!": "Shared Successfully!",
  "Shared at": "Shared at",
  "Shared document not found": "Shared document not found",
  "Shared successfully!": "Shared successfully!",
  "Short Description": "Short Description",
  "Show": "Show",
  "Show / Hide Columns": "Show / Hide Columns",
  "Show Active": "Show Active",
  "Show Active Applicants": "Show Active Applicants",
  "Show Aplication in": "Show Aplication in",
  "Show Archived": "Show Archived",
  "Show Archived Applicants": "Show Archived Applicants",
  "Show Campus Filter": "Show Campus Filter",
  "Show Campus Selection": "Show Campus Selection",
  "Show Campus field in registration form": "Show Campus field in registration form",
  "Show Country field in registration form": "Show Country field in registration form",
  "Show Empty Values": "Show Empty Values",
  "Show Field": "Show Field",
  "Show Label": "Show Label",
  "Show Labels": "Show Labels",
  "Show Pay Now button in the thank you page": "Show Pay Now button in the thank you page",
  "Show Pay Now button in the thank you page ": "Show Pay Now button in the thank you page ",
  "Show Price": "Show Price",
  "Show Program Filter": "Show Program Filter",
  "Show Program Type Selection": "Show Program Type Selection",
  "Show Program field in registration form": "Show Program field in registration form",
  "Show Start Date Selection": "Show Start Date Selection",
  "Show addons": "Show addons",
  "Show advanced filters": "Show advanced filters",
  "Show application instructions": "Show application instructions",
  "Show booking details in the thank you page": "Show booking details in the thank you page",
  "Show booking details in the thank you page ": "Show booking details in the thank you page ",
  "Show campus section (uncheck to hide this section from the assistant)": "Show campus section (uncheck to hide this section from the assistant)",
  "Show courses section (uncheck to hide this section from the assistant)": "Show courses section (uncheck to hide this section from the assistant)",
  "Show details": "Show details",
  "Show financial aid section (uncheck to hide this section from the assistant)": "Show financial aid section (uncheck to hide this section from the assistant)",
  "Show in applications": "Show in applications",
  "Show in profile": "Show in profile",
  "Show in sidebar": "Show in sidebar",
  "Show password": "Show password",
  "Show phone field in registration form": "Show phone field in registration form",
  "Show price on cart review step": "Show price on cart review step",
  "Show programs section (uncheck to hide this section from the assistant)": "Show programs section (uncheck to hide this section from the assistant)",
  "Show return to website link": "Show return to website link",
  "Show review step": "Show review step",
  "Show welcome message at login page": "Show welcome message at login page",
  "Showing": "Showing",
  "Sidebar reset to default": "Sidebar reset to default",
  "Sign": "Sign",
  "Sign In": "Sign In",
  "Sign Up": "Sign Up",
  "Sign in": "Sign in",
  "Sign up": "Sign up",
  "Signature": "Signature",
  "Signature Date": "Signature Date",
  "Signed Successfully": "Signed Successfully",
  "Signer's Email": "Signer's Email",
  "Signer's First Name": "Signer's First Name",
  "Signer's Last Name": "Signer's Last Name",
  "Signer's Order": "Signer's Order",
  "Signer's Role": "Signer's Role",
  "Signers": "Signers",
  "Signers List": "Signers List",
  "Simple Text": "Simple Text",
  "Simulation Exam 1: Residential Real Estate Transactions": "Simulation Exam 1: Residential Real Estate Transactions",
  "Simulation Exam 2: Commercial Real Estate Transactions": "Simulation Exam 2: Commercial Real Estate Transactions",
  "Single Day": "Single Day",
  "Site ID": "Site ID",
  "Size": "Size",
  "Skipped": "Skipped",
  "Slug": "Slug",
  "Slug/Code": "Slug/Code",
  "Smart Filed": "Smart Filed",
  "Sms": "Sms",
  "Sms Template": "Sms Template",
  "Social Insurance Number": "Social Insurance Number",
  "Social Security Number": "Social Security Number",
  "Soft Closed": "Soft Closed",
  "Software Name": "Software Name",
  "Software Version": "Software Version",
  "Some items deleted successfully. Some of the selected records cannot be deleted because they have dependencies.": "Some items deleted successfully. Some of the selected records cannot be deleted because they have dependencies.",
  "Some of the selected records cannot be deleted because they are being used by other records.": "Some of the selected records cannot be deleted because they are being used by other records.",
  "Something Went Wrong, please select an agent!": "Something Went Wrong, please select an agent!",
  "Something went wrong": "Something went wrong",
  "Something went wrong!": "Something went wrong!",
  "Something went wrong! Please try again": "Something went wrong! Please try again",
  "Sorry, something went wrong on our end. We are currently trying to fix the problem.": "Sorry, something went wrong on our end. We are currently trying to fix the problem.",
  "Sorry, your session has expired.": "Sorry, your session has expired.",
  "Source": "Source",
  "Source / Status": "Source / Status",
  "Spanish": "Spanish",
  "Spanish Level": "Spanish Level",
  "Special": "Special",
  "Specific Dates": "Specific Dates",
  "Staff": "Staff",
  "Stage": "Stage",
  "Stages": "Stages",
  "Stalled threshold": "Stalled threshold",
  "Start": "Start",
  "Start Applying Now": "Start Applying Now",
  "Start Date": "Start Date",
  "Start Date - IF": "Start Date - IF",
  "Start Dates": "Start Dates",
  "Start New Application": "Start New Application",
  "Start Now": "Start Now",
  "Start Time": "Start Time",
  "Start Time (24h)": "Start Time (24h)",
  "Start View": "Start View",
  "Start at": "Start at",
  "Start date": "Start date",
  "Start date is required.": "Start date is required.",
  "Start datess": "Start datess",
  "Start time": "Start time",
  "Started": "Started",
  "Started Date": "Started Date",
  "Starts Every": "Starts Every",
  "Starts With": "Starts With",
  "State / Province": "State / Province",
  "State/Province": "State/Province",
  "Static": "Static",
  "Status": "Status",
  "Status Label": "Status Label",
  "Status Migration": "Status Migration",
  "Status Type": "Status Type",
  "Status Value": "Status Value",
  "Status is required.": "Status is required.",
  "Status of Applications": "Status of Applications",
  "Status of applications": "Status of applications",
  "Statuses": "Statuses",
  "Step": "Step",
  "Step 1": "Step 1",
  "Step 2": "Step 2",
  "Step 3": "Step 3",
  "Step Sub Title": "Step Sub Title",
  "Step Title": "Step Title",
  "Steps": "Steps",
  "Steps Color": "Steps Color",
  "Sticky": "Sticky",
  "Sticky Notes": "Sticky Notes",
  "Stop Impersonating": "Stop Impersonating",
  "Store ID": "Store ID",
  "Street Address": "Street Address",
  "Strict Email Validation": "Strict Email Validation",
  "Stripe is not configured.": "Stripe is not configured.",
  "Studen't Email": "Studen't Email",
  "Student": "Student",
  "Student :": "Student :",
  "Student Application": "Student Application",
  "Student Created": "Student Created",
  "Student Dashboard": "Student Dashboard",
  "Student Data": "Student Data",
  "Student Email": "Student Email",
  "Student ID": "Student ID",
  "Student Name": "Student Name",
  "Student Number": "Student Number",
  "Student Number Format": "Student Number Format",
  "Student Profile Design": "Student Profile Design",
  "Student Signature Date": "Student Signature Date",
  "Student Stage": "Student Stage",
  "Student Status": "Student Status",
  "Student Telephone Number": "Student Telephone Number",
  "Student Visa": "Student Visa",
  "Student count": "Student count",
  "Student email": "Student email",
  "Student funding cases with completeness, lifecycle, and forecast status.": "Student funding cases with completeness, lifecycle, and forecast status.",
  "Student id": "Student id",
  "Student is not set!": "Student is not set!",
  "Student is not synced to Meazure. Please sync the student to Meazure first.": "Student is not synced to Meazure. Please sync the student to Meazure first.",
  "Student is unsubscribed from sms.": "Student is unsubscribed from sms.",
  "Student not found": "Student not found",
  "Student not found in Reco!": "Student not found in Reco!",
  "Student removed from list successfully": "Student removed from list successfully",
  "Student subscription updated successfully": "Student subscription updated successfully",
  "Student with this phone number doesn't exist!": "Student with this phone number doesn't exist!",
  "Student's Details": "Student's Details",
  "Student's Email": "Student's Email",
  "Student's First Name": "Student's First Name",
  "Student's Last Name": "Student's Last Name",
  "Student's List": "Student's List",
  "Student's Subscription": "Student's Subscription",
  "Student's list updated successfully": "Student's list updated successfully",
  "Student:": "Student:",
  "Students": "Students",
  "Students Quantity": "Students Quantity",
  "Students Records": "Students Records",
  "Students can initiate new messages.": "Students can initiate new messages.",
  "Students quantity must be at least 1.": "Students quantity must be at least 1.",
  "Su": "Su",
  "Sub Cohort Title": "Sub Cohort Title",
  "Sub Title": "Sub Title",
  "Sub Total": "Sub Total",
  "Sub-Total": "Sub-Total",
  "Sub-total": "Sub-total",
  "Subject": "Subject",
  "Subjects": "Subjects",
  "Submission": "Submission",
  "Submission History": "Submission History",
  "Submission Request Type": "Submission Request Type",
  "Submission Review": "Submission Review",
  "Submission Status": "Submission Status",
  "Submission Statuses": "Submission Statuses",
  "Submission Statuses List": "Submission Statuses List",
  "Submission Synced Failed!": "Submission Synced Failed!",
  "Submission Synced Successfully!": "Submission Synced Successfully!",
  "Submission Updated": "Submission Updated",
  "Submission Updated Event": "Submission Updated Event",
  "Submission is locked and cannot be edited.": "Submission is locked and cannot be edited.",
  "Submissions": "Submissions",
  "Submissions Status": "Submissions Status",
  "Submit": "Submit",
  "Submit Application": "Submit Application",
  "Submit your application": "Submit your application",
  "Submitted": "Submitted",
  "Submitted Applications": "Submitted Applications",
  "Submitted at": "Submitted at",
  "Subscriptions": "Subscriptions",
  "Subtotal": "Subtotal",
  "Successfully": "Successfully",
  "Successfully updated": "Successfully updated",
  "Summary": "Summary",
  "Summary Requested Event": "Summary Requested Event",
  "Summery (Book Now) Redirection": "Summery (Book Now) Redirection",
  "Sunday": "Sunday",
  "Super Admin": "Super Admin",
  "Sync": "Sync",
  "Sync Canvas Assignments": "Sync Canvas Assignments",
  "Sync Canvas Grades": "Sync Canvas Grades",
  "Sync Credit Memo": "Sync Credit Memo",
  "Sync Estimate": "Sync Estimate",
  "Sync Invoice": "Sync Invoice",
  "Sync Payment": "Sync Payment",
  "Sync Refund": "Sync Refund",
  "Sync Submission": "Sync Submission",
  "Sync To All Students": "Sync To All Students",
  "Sync With": "Sync With",
  "Sync payment": "Sync payment",
  "Sync this academic item to all students in this group?": "Sync this academic item to all students in this group?",
  "Sync with": "Sync with",
  "Sync with ": "Sync with ",
  "Sync with MEAZURE": "Sync with MEAZURE",
  "Sync with Mautic": "Sync with Mautic",
  "Sync with RECO": "Sync with RECO",
  "Sync.": "Sync.",
  "Synced Successfully!": "Synced Successfully!",
  "Synced at": "Synced at",
  "Synced with QuickBooks": "Synced with QuickBooks",
  "Synced with RECO at": "Synced with RECO at",
  "Synchronize": "Synchronize",
  "Synchronized": "Synchronized",
  "Syncronization Frequency": "Syncronization Frequency",
  "System": "System",
  "T2202 List": "T2202 List",
  "TOTAL": "TOTAL",
  "TOTAL DUE": "TOTAL DUE",
  "Table": "Table",
  "Table Actions": "Table Actions",
  "Table view deleted.": "Table view deleted.",
  "Table view duplicated.": "Table view duplicated.",
  "Table view order updated.": "Table view order updated.",
  "Table view saved.": "Table view saved.",
  "Duplicate view": "Duplicate view",
  "Edit view": "Edit view",
  "Edit table view": "Edit table view",
  "Update the name, sharing, or default setting for this saved view.": "Update the name, sharing, or default setting for this saved view.",
  "Visibility": "Visibility",
  "Private": "Private",
  "Team": "Team",
  "School": "School",
  "Shared view": "Shared view",
  "Shared by :name": "Shared by :name",
  "Save my changes": "Save my changes",
  "Your changes were saved on this shared view.": "Your changes were saved on this shared view.",
  "Use shared version": "Use shared version",
  "Personal changes on this shared view were removed.": "Personal changes on this shared view were removed.",
  "Reorder view tab": "Reorder view tab",
  "Invalid table view visibility.": "Invalid table view visibility.",
  "Team sharing requires an assigned team.": "Team sharing requires an assigned team.",
  "Team sharing requires staff team membership.": "Team sharing requires staff team membership.",
  "Select at least one team to share this view.": "Select at least one team to share this view.",
  "Invalid team selection.": "Invalid team selection.",
  "You do not have permission to share table views school-wide.": "You do not have permission to share table views school-wide.",
  "No owned table views were provided for reorder.": "No owned table views were provided for reorder.",
  "Provide every owned table view when reordering tabs.": "Provide every owned table view when reordering tabs.",
  "Table view updated.": "Table view updated.",
  "Use current filters": "Use current filters",
  "Copy of :name": "Copy of :name",
  "Save the current search, filters, sorting, and column layout as a new view.": "Save the current search, filters, sorting, and column layout as a new view.",
  "Table views": "Table views",
  "Tablet": "Tablet",
  "Tag Manager ID": "Tag Manager ID",
  "Take Exam": "Take Exam",
  "Task": "Task",
  "Task Created": "Task Created",
  "Task created successfully!": "Task created successfully!",
  "Task marked as complete!": "Task marked as complete!",
  "Task marked as pending!": "Task marked as pending!",
  "Task not found!": "Task not found!",
  "Task updated successfully!": "Task updated successfully!",
  "Tasks": "Tasks",
  "Tasks Completed Successfully!": "Tasks Completed Successfully!",
  "Tax Calculation Based On": "Tax Calculation Based On",
  "Tax Calculation Settings": "Tax Calculation Settings",
  "Tax On": "Tax On",
  "Tax Rules": "Tax Rules",
  "Tax Year": "Tax Year",
  "Taxable": "Taxable",
  "Taxes": "Taxes",
  "Team name": "Team name",
  "Telephone": "Telephone",
  "Telephone in registration form": "Telephone in registration form",
  "Template": "Template",
  "Template Fields": "Template Fields",
  "Template Information": "Template Information",
  "Template Name": "Template Name",
  "Template Not found!": "Template Not found!",
  "Template Object": "Template Object",
  "Template Title": "Template Title",
  "Template Type": "Template Type",
  "Template deleted successfully!": "Template deleted successfully!",
  "Template name": "Template name",
  "Template not found": "Template not found",
  "Template type is fixed after creation. Clone the template to use another type.": "Template type is fixed after creation. Clone the template to use another type.",
  "Templates": "Templates",
  "Templates Count": "Templates Count",
  "Tenant ID": "Tenant ID",
  "Tenant context is missing.": "Tenant context is missing.",
  "Terms": "Terms",
  "Terms & Conditions": "Terms & Conditions",
  "Terms and Conditions URL": "Terms and Conditions URL",
  "Terms and conditions": "Terms and conditions",
  "Terms of Service": "Terms of Service",
  "Test": "Test",
  "Test Cleanup": "Test Cleanup",
  "Test Upload": "Test Upload",
  "Text Area": "Text Area",
  "Text Input": "Text Input",
  "Th": "Th",
  "Thank You Email": "Thank You Email",
  "Thank You Page": "Thank You Page",
  "Thank You Page (Booking)": "Thank You Page (Booking)",
  "Thank You Page (Request Quote)": "Thank You Page (Request Quote)",
  "Thank You Text": "Thank You Text",
  "Thank You page": "Thank You page",
  "Thank you for your payment": "Thank you for your payment",
  "Thank you for your payment!": "Thank you for your payment!",
  "Thank you for your payment, this invoice has been already paid": "Thank you for your payment, this invoice has been already paid",
  "Thank you. Your payment has been recorded successfully.": "Thank you. Your payment has been recorded successfully.",
  "The application for admission does not constitute a registration contract or an educational service contract. I hereby declare that the information given above is exact.  I authorize Cumberland College to verify the above information and documents to be herewith enclosed.<br><br>": "The application for admission does not constitute a registration contract or an educational service contract. I hereby declare that the information given above is exact.  I authorize Cumberland College to verify the above information and documents to be herewith enclosed.<br><br>",
  "The application for admission does not constitute a registration contract or an educational service contract. I hereby declare that the information given above is exact. I authorize Cumberland College to verify the above information and documents to be herewith enclosed.": "The application for admission does not constitute a registration contract or an educational service contract. I hereby declare that the information given above is exact. I authorize Cumberland College to verify the above information and documents to be herewith enclosed.",
  "The changed didnt saved, Please try again": "The changed didnt saved, Please try again",
  "The custom fields and their details will be displayed as a table located at the bottom of the selected HTML field.": "The custom fields and their details will be displayed as a table located at the bottom of the selected HTML field.",
  "The email address of the sender": "The email address of the sender",
  "The email address that will receive the response": "The email address that will receive the response",
  "The email address that you want to include": "The email address that you want to include",
  "The email address who will recieve the response": "The email address who will recieve the response",
  "The email address you want to include": "The email address you want to include",
  "The email field is required.": "The email field is required.",
  "The fields order has been saved successfully!": "The fields order has been saved successfully!",
  "The file must be a JSON file": "The file must be a JSON file",
  "The file must be a Word document (.docx).": "The file must be a Word document (.docx).",
  "The file was stored but could not be read (CSV parse or signed URL failed).": "The file was stored but could not be read (CSV parse or signed URL failed).",
  "The first name field is required.": "The first name field is required.",
  "The last name field is required.": "The last name field is required.",
  "The name of the sender": "The name of the sender",
  "The password field is required.": "The password field is required.",
  "The primary and secondary colors are not contrasting enough": "The primary and secondary colors are not contrasting enough",
  "The role is set to have full access granted. To adjust individual permissions, disable full access on the Role Information tab.": "The role is set to have full access granted. To adjust individual permissions, disable full access on the Role Information tab.",
  "The selected course don't have any cohorts, Please add the cohorts first": "The selected course don't have any cohorts, Please add the cohorts first",
  "The selected program don't have any courses, Please add the courses first": "The selected program don't have any courses, Please add the courses first",
  "The user will receive an email with the credentials to login, disable this if you want to automatically activate the user's account": "The user will receive an email with the credentials to login, disable this if you want to automatically activate the user's account",
  "Theme Folder": "Theme Folder",
  "Theme Information": "Theme Information",
  "Theme Name": "Theme Name",
  "Theme Thumb Image": "Theme Thumb Image",
  "Themes": "Themes",
  "There are cohorts assigned to this program, Please select another program or add a new cohort": "There are cohorts assigned to this program, Please select another program or add a new cohort",
  "There are no available course cohorts to add for this program cohort.": "There are no available course cohorts to add for this program cohort.",
  "There are no available course cohorts to add for this program.": "There are no available course cohorts to add for this program.",
  "There are no cohorts available for the selected lessons. Please select lessons from programs or courses that have cohorts.": "There are no cohorts available for the selected lessons. Please select lessons from programs or courses that have cohorts.",
  "There are no course cohorts available for the selected lessons. Please ensure the courses have cohorts.": "There are no course cohorts available for the selected lessons. Please ensure the courses have cohorts.",
  "There are no course cohorts available for this lesson. Please add cohorts to the course first.": "There are no course cohorts available for this lesson. Please add cohorts to the course first.",
  "There are no program cohorts available for the selected lessons. Please ensure the programs have cohorts.": "There are no program cohorts available for the selected lessons. Please ensure the programs have cohorts.",
  "There are no program cohorts available for this lesson. Please add cohorts to the program first.": "There are no program cohorts available for this lesson. Please add cohorts to the program first.",
  "There are none! ? ?  Agency didn't add any student yet!": "There are none! ? ?  Agency didn't add any student yet!",
  "There was an error saving the fields order. Please try again.": "There was an error saving the fields order. Please try again.",
  "There was an error updating the status date. Please try again.": "There was an error updating the status date. Please try again.",
  "There were some problems with your input": "There were some problems with your input",
  "There's Nothing to show at the moment": "There's Nothing to show at the moment",
  "These credentials do not match our records.": "These credentials do not match our records.",
  "This Month": "This Month",
  "This Year": "This Year",
  "This account has no dependencies and can be safely deleted.": "This account has no dependencies and can be safely deleted.",
  "This account is linked to educational services and cannot be deleted.": "This account is linked to educational services and cannot be deleted.",
  "This account is not currently linked to any educational services.": "This account is not currently linked to any educational services.",
  "This account is still inactive.": "This account is still inactive.",
  "This action is irreversible and final. Proceeding will permanently dedicate all submissions from the selected merged application to $application->title and delete it. Once completed, this action cannot be undone, and all associated submissions will be irrevocably affected. Please ensure you have reviewed and confirmed all details before continuing": "This action is irreversible and final. Proceeding will permanently dedicate all submissions from the selected merged application to $application->title and delete it. Once completed, this action cannot be undone, and all associated submissions will be irrevocably affected. Please ensure you have reviewed and confirmed all details before continuing",
  "This action is irreversible and final. The merged student will be archived, and the base student will retain their details. Missing details will be merged from the other student. Please ensure you have reviewed and confirmed all details before continuing.": "This action is irreversible and final. The merged student will be archived, and the base student will retain their details. Missing details will be merged from the other student. Please ensure you have reviewed and confirmed all details before continuing.",
  "This action will initiate the process of sending": "This action will initiate the process of sending",
  "This activation link is invalid or has already been used. You can request a new link from the login page.": "This activation link is invalid or has already been used. You can request a new link from the login page.",
  "This email is unsubscribed from all emails.": "This email is unsubscribed from all emails.",
  "This email theme cannot be deleted because it is used by one or more email templates.": "This email theme cannot be deleted because it is used by one or more email templates.",
  "This event is triggered when a new SMS is received": "This event is triggered when a new SMS is received",
  "This event is triggered when a payment is received": "This event is triggered when a payment is received",
  "This event is triggered when a student is registered by himself or by an agent.": "This event is triggered when a student is registered by himself or by an agent.",
  "This event is triggered when a submission is updated.": "This event is triggered when a submission is updated.",
  "This event is triggered when the status of an SMS changes": "This event is triggered when the status of an SMS changes",
  "This field is required": "This field is required",
  "This group currently has :count students.": "This group currently has :count students.",
  "This group does not have any related quotes yet.": "This group does not have any related quotes yet.",
  "This invoice has been successfully paid. Thank you for your prompt payment.": "This invoice has been successfully paid. Thank you for your prompt payment.",
  "This invoice is already paid.": "This invoice is already paid.",
  "This is SandBox account": "This is SandBox account",
  "This is a Smart Field": "This is a Smart Field",
  "This is a group quote template. Individual student bookings will be created when students are added to this group.": "This is a group quote template. Individual student bookings will be created when students are added to this group.",
  "This is an application for our digital marketing diploma.": "This is an application for our digital marketing diploma.",
  "This memo will not show up for the student": "This memo will not show up for the student",
  "This month": "This month",
  "This program education does not have a program cohort.": "This program education does not have a program cohort.",
  "This restores the default sidebar and settings menu order and visibility for your account.": "This restores the default sidebar and settings menu order and visibility for your account.",
  "This status already has a date and cannot be modified.": "This status already has a date and cannot be modified.",
  "This status cannot be deleted because it is being used by other records.": "This status cannot be deleted because it is being used by other records.",
  "This template is not configured for bulk sending. Please enable \"Send to list\" option.": "This template is not configured for bulk sending. Please enable \"Send to list\" option.",
  "This year": "This year",
  "Thumb Image": "Thumb Image",
  "Thursday": "Thursday",
  "Time": "Time",
  "Time Slot": "Time Slot",
  "Time Slots": "Time Slots",
  "Time-of-Day Analysis": "Time-of-Day Analysis",
  "Timeline": "Timeline",
  "Timeslot": "Timeslot",
  "Timeslots": "Timeslots",
  "Timezone": "Timezone",
  "Title": "Title",
  "Title Text": "Title Text",
  "To": "To",
  "To Date": "To Date",
  "To Do": "To Do",
  "To Month/Year": "To Month/Year",
  "To Week": "To Week",
  "To manage all communication preferences, <a href=\":preferences\">click here</a>.": "To manage all communication preferences, <a href=\":preferences\">click here</a>.",
  "To unsubscribe from our emails, <a href=\":unsubscribe\">click here</a>.": "To unsubscribe from our emails, <a href=\":unsubscribe\">click here</a>.",
  "To-Do": "To-Do",
  "To:": "To:",
  "Today": "Today",
  "Today's Date": "Today's Date",
  "Toggle Custom Fields": "Toggle Custom Fields",
  "Toggle active status": "Toggle active status",
  "Toggle archive status": "Toggle archive status",
  "Toggle complete task": "Toggle complete task",
  "Toggle custom fields": "Toggle custom fields",
  "Toggle navigation": "Toggle navigation",
  "Toggle status": "Toggle status",
  "Token": "Token",
  "Tokens": "Tokens",
  "Tomorrow's date": "Tomorrow's date",
  "Total": "Total",
  "Total Amount": "Total Amount",
  "Total Applications": "Total Applications",
  "Total Calls": "Total Calls",
  "Total Characters": "Total Characters",
  "Total Clicks": "Total Clicks",
  "Total Credit": "Total Credit",
  "Total Credits": "Total Credits",
  "Total Due": "Total Due",
  "Total Estimate": "Total Estimate",
  "Total Invoices": "Total Invoices",
  "Total Leads": "Total Leads",
  "Total Payments": "Total Payments",
  "Total Price": "Total Price",
  "Total Refund": "Total Refund",
  "Total:": "Total:",
  "Tracking": "Tracking",
  "Training Place": "Training Place",
  "Training Type": "Training Type",
  "Transactable": "Transactable",
  "Transaction": "Transaction",
  "Transaction Date": "Transaction Date",
  "Transaction Key": "Transaction Key",
  "Transaction Type": "Transaction Type",
  "Transaction's Details": "Transaction's Details",
  "Transactions": "Transactions",
  "Transactions Imported Successfully!": "Transactions Imported Successfully!",
  "Transfer": "Transfer",
  "Transfer Credit": "Transfer Credit",
  "Transfer Options": "Transfer Options",
  "Transfer Sub-total": "Transfer Sub-total",
  "Transfer option": "Transfer option",
  "Transfer options": "Transfer options",
  "Transfers": "Transfers",
  "Transfers Total": "Transfers Total",
  "Transferts": "Transferts",
  "Translations": "Translations",
  "Transmitter Number": "Transmitter Number",
  "Transportation": "Transportation",
  "Trial period (Days)": "Trial period (Days)",
  "Trigger Engagement": "Trigger Engagement",
  "Trigger Events": "Trigger Events",
  "Trigger SalesAPE Engagement": "Trigger SalesAPE Engagement",
  "Try to change the filter": "Try to change the filter",
  "Try to change the title to find the item you are looking for.": "Try to change the title to find the item you are looking for.",
  "Try to change the token to find the item you are looking for.": "Try to change the token to find the item you are looking for.",
  "Tu": "Tu",
  "Tuck away under More": "Tuck away under More",
  "Tuesday": "Tuesday",
  "Tuition Fees": "Tuition Fees",
  "TwiMl App SID": "TwiMl App SID",
  "TwiMl App SID *": "TwiMl App SID *",
  "Twilio call number is not set, please set it in the plugin settings!": "Twilio call number is not set, please set it in the plugin settings!",
  "Twilio library not loaded. Please check the script inclusion.": "Twilio library not loaded. Please check the script inclusion.",
  "Two Factor Authentication": "Two Factor Authentication",
  "Type": "Type",
  "Type List": "Type List",
  "Type of document": "Type of document",
  "UID": "UID",
  "URL": "URL",
  "URL Parameters": "URL Parameters",
  "US States": "US States",
  "UTM Campaign": "UTM Campaign",
  "UTM Medium": "UTM Medium",
  "UTM Source": "UTM Source",
  "UTM Term": "UTM Term",
  "UTM campaign": "UTM campaign",
  "UTM content": "UTM content",
  "UTM medium": "UTM medium",
  "UTM source": "UTM source",
  "UTM term": "UTM term",
  "Unable to check job status. Please refresh the page.": "Unable to check job status. Please refresh the page.",
  "Unable to delete table view.": "Unable to delete table view.",
  "Unable to find a valid agent for this group booking.": "Unable to find a valid agent for this group booking.",
  "Unable to generate invoice for this booking.": "Unable to generate invoice for this booking.",
  "Unable to generate invoice for this group booking.": "Unable to generate invoice for this group booking.",
  "Unable to initialize Helcim checkout.": "Unable to initialize Helcim checkout.",
  "Unable to initialize Moneris checkout.": "Unable to initialize Moneris checkout.",
  "Unable to load email content.": "Unable to load email content.",
  "Unable to load table views.": "Unable to load table views.",
  "Unable to copy view link.": "Unable to copy view link.",
  "Unable to remove default view.": "Unable to remove default view.",
  "Unable to reorder bookmarks": "Unable to reorder bookmarks",
  "Unable to reset sidebar": "Unable to reset sidebar",
  "Unable to save sidebar preferences": "Unable to save sidebar preferences",
  "Unable to save table view.": "Unable to save table view.",
  "Unable to update bookmark": "Unable to update bookmark",
  "Unable to update default view.": "Unable to update default view.",
  "Unapplied": "Unapplied",
  "Unapprove": "Unapprove",
  "Unapproved": "Unapproved",
  "Uncheck All": "Uncheck All",
  "Undelivered": "Undelivered",
  "Under Review": "Under Review",
  "Unenroll from": "Unenroll from",
  "Unique Clicks": "Unique Clicks",
  "Unit Price": "Unit Price",
  "United States": "United States",
  "University": "University",
  "University Classes": "University Classes",
  "Unknown": "Unknown",
  "Unknown Group": "Unknown Group",
  "Unlock Requested": "Unlock Requested",
  "Unlock field": "Unlock field",
  "Unlock field  (Can be edited)": "Unlock field  (Can be edited)",
  "Unlocked": "Unlocked",
  "Unlocking request submission": "Unlocking request submission",
  "Unnamed accommodation": "Unnamed accommodation",
  "Unnamed transfer": "Unnamed transfer",
  "Unnamed variation": "Unnamed variation",
  "Unpin selected Records": "Unpin selected Records",
  "Unpublish": "Unpublish",
  "Unpublished": "Unpublished",
  "Unread": "Unread",
  "Unshare": "Unshare",
  "Unsubscribe Link": "Unsubscribe Link",
  "Unsubscribe Rate": "Unsubscribe Rate",
  "Unsubscribe Successful": "Unsubscribe Successful",
  "Untitled": "Untitled",
  "Upcoming": "Upcoming",
  "Update": "Update",
  "Update Agency": "Update Agency",
  "Update Agent": "Update Agent",
  "Update Application": "Update Application",
  "Update Application Status": "Update Application Status",
  "Update Automation Logs": "Update Automation Logs",
  "Update Campus": "Update Campus",
  "Update Cohort": "Update Cohort",
  "Update Cohorts": "Update Cohorts",
  "Update Course": "Update Course",
  "Update Course Cohorts": "Update Course Cohorts",
  "Update Custom Field": "Update Custom Field",
  "Update Date": "Update Date",
  "Update Document Builder": "Update Document Builder",
  "Update E-Mail Template": "Update E-Mail Template",
  "Update Educational Service": "Update Educational Service",
  "Update Grading": "Update Grading",
  "Update Grading Schema": "Update Grading Schema",
  "Update Instructor": "Update Instructor",
  "Update Lesson": "Update Lesson",
  "Update Lesson Cohorts": "Update Lesson Cohorts",
  "Update Lesson Course Cohorts": "Update Lesson Course Cohorts",
  "Update Lesson Program Cohorts": "Update Lesson Program Cohorts",
  "Update Meeting": "Update Meeting",
  "Update Module": "Update Module",
  "Update Plan": "Update Plan",
  "Update Program Cohort": "Update Program Cohort",
  "Update Program Cohorts": "Update Program Cohorts",
  "Update Recruiter Hub": "Update Recruiter Hub",
  "Update Role": "Update Role",
  "Update Semester": "Update Semester",
  "Update Service Category": "Update Service Category",
  "Update and close": "Update and close",
  "Update and create another": "Update and create another",
  "Update and share": "Update and share",
  "Update list": "Update list",
  "Update program": "Update program",
  "Update report": "Update report",
  "Updated": "Updated",
  "Updated Successfully!": "Updated Successfully!",
  "Updated at": "Updated at",
  "Updated successfully": "Updated successfully",
  "Upgrad": "Upgrad",
  "Upgrade": "Upgrade",
  "Upgrade school": "Upgrade school",
  "Upload": "Upload",
  "Upload Date": "Upload Date",
  "Upload HTML Theme": "Upload HTML Theme",
  "Upload Template": "Upload Template",
  "Upload Topol Theme": "Upload Topol Theme",
  "Upload Variations": "Upload Variations",
  "Upload the CSV file that contains the items to be imported. The next step will be to match the fields in the file with the fields available in HEM-SP.": "Upload the CSV file that contains the items to be imported. The next step will be to match the fields in the file with the fields available in HEM-SP.",
  "Uploaded": "Uploaded",
  "Uppercase": "Uppercase",
  "Use =, >, < , <=, >= to filter by amount": "Use =, >, < , <=, >= to filter by amount",
  "Use In Froms": "Use In Froms",
  "Use as a filter": "Use as a filter",
  "Use dates from cohorts": "Use dates from cohorts",
  "Use the school's default language": "Use the school's default language",
  "Use the secure checkout below to pay invoice #:invoice. Once payment is confirmed, this page will update automatically with your paid receipt.": "Use the secure checkout below to pay invoice #:invoice. Once payment is confirmed, this page will update automatically with your paid receipt.",
  "Use your mouse to sign your name": "Use your mouse to sign your name",
  "Used Internally": "Used Internally",
  "Used for Back ground": "Used for Back ground",
  "Used for Footer Link Color in applications": "Used for Footer Link Color in applications",
  "Used for Header Line Color in applications": "Used for Header Line Color in applications",
  "Used for buttons": "Used for buttons",
  "Used for calendar color events": "Used for calendar color events",
  "Used for links": "Used for links",
  "Used for steps in applications": "Used for steps in applications",
  "Used to make possible for peapole to find your site via search engines, Please use comma `,` to separate the words.": "Used to make possible for peapole to find your site via search engines, Please use comma `,` to separate the words.",
  "User": "User",
  "User Email": "User Email",
  "User Group ID": "User Group ID",
  "User ID": "User ID",
  "User Phone": "User Phone",
  "User Roles": "User Roles",
  "User created successfully": "User created successfully",
  "User has access to": "User has access to",
  "User menu": "User menu",
  "User's Details": "User's Details",
  "User's Invitation": "User's Invitation",
  "User's information": "User's information",
  "Username": "Username",
  "Users": "Users",
  "Usual First Name": "Usual First Name",
  "VAA": "VAA",
  "VAA Builder": "VAA Builder",
  "VAA Summary": "VAA Summary",
  "VAT Number": "VAT Number",
  "VIEW ALL": "VIEW ALL",
  "VIEW DETAILS": "VIEW DETAILS",
  "VOIP": "VOIP",
  "Valid Until": "Valid Until",
  "Validate email domain": "Validate email domain",
  "Validation": "Validation",
  "Validation Message": "Validation Message",
  "Validation Rule": "Validation Rule",
  "Value": "Value",
  "Variation": "Variation",
  "Variation Type": "Variation Type",
  "Variation Types": "Variation Types",
  "Variation is required.": "Variation is required.",
  "Variations": "Variations",
  "Vendor ID": "Vendor ID",
  "Venue": "Venue",
  "Verification Mailbox": "Verification Mailbox",
  "Version": "Version",
  "Versioned funding type templates and packaged starter imports.": "Versioned funding type templates and packaged starter imports.",
  "Video": "Video",
  "View": "View",
  "View API Key": "View API Key",
  "View Agency": "View Agency",
  "View Agent": "View Agent",
  "View Agents": "View Agents",
  "View Applicants": "View Applicants",
  "View Application": "View Application",
  "View Application PDF": "View Application PDF",
  "View Attendance": "View Attendance",
  "View Automations": "View Automations",
  "View Booking": "View Booking",
  "View Booking Details": "View Booking Details",
  "View Call Log": "View Call Log",
  "View Campus": "View Campus",
  "View Categories": "View Categories",
  "View Classroom": "View Classroom",
  "View Cohort": "View Cohort",
  "View Contacts": "View Contacts",
  "View Contract": "View Contract",
  "View Course": "View Course",
  "View Custom Fileds": "View Custom Fileds",
  "View Details": "View",
  "View Document": "View Document",
  "View Document Builder": "View Document Builder",
  "View E-Signatures": "View E-Signatures",
  "View File": "View File",
  "View Finances": "View Finances",
  "View Funding Case": "View Funding Case",
  "View Grade": "View Grade",
  "View Grades": "View Grades",
  "View Group Booking": "View Group Booking",
  "View Instructor": "View Instructor",
  "View Invoice": "View Invoice",
  "View Invoice Details": "View Invoice Details",
  "View Latest Group Booking": "View Latest Group Booking",
  "View Lesson": "View Lesson",
  "View List": "View List",
  "View Messages": "View Messages",
  "View More": "View More",
  "View NSF Payment": "View NSF Payment",
  "View Note": "View Note",
  "View Original Payment": "View Original Payment",
  "View PDF": "View PDF",
  "View Plugins": "View Plugins",
  "View Pricing": "View Pricing",
  "View Profile": "View Profile",
  "View Program": "View Program",
  "View Quotations": "View Quotations",
  "View Recruiters Hub": "View Recruiters Hub",
  "View Report": "View Report",
  "View Roles": "View Roles",
  "View SMS Conversations": "View SMS Conversations",
  "View Settings": "View Settings",
  "View Statuses": "View Statuses",
  "View Student": "View Student",
  "View Students": "View Students",
  "View Submission": "View Submission",
  "View Submission statuses": "View Submission statuses",
  "View Submissions": "View Submissions",
  "View Tasks": "View Tasks",
  "View Upgrades": "View Upgrades",
  "View User": "View User",
  "View Users": "View Users",
  "View Virtual Assistants": "View Virtual Assistants",
  "View actions": "View actions",
  "View email templates": "View email templates",
  "View email themes": "View email themes",
  "View fields": "View fields",
  "View invoice": "View invoice",
  "View mode": "View mode",
  "View name": "View name",
  "View link copied.": "View link copied.",
  "View name is required.": "View name is required.",
  "View sent emails": "View sent emails",
  "View the Invoice": "View the Invoice",
  "View&nbsp;Meeting": "View&nbsp;Meeting",
  "View&nbsp;Note": "View&nbsp;Note",
  "View&nbsp;SMS": "View&nbsp;SMS",
  "View&nbsp;Task": "View&nbsp;Task",
  "Virtual Assistance": "Virtual Assistance",
  "Void": "Void",
  "Void Contract": "Void Contract",
  "Void Invoice": "Void Invoice",
  "Voided": "Voided",
  "Vous avez un nouveau message !": "Vous avez un nouveau message !",
  "WHERE": "WHERE",
  "Waitlisted": "Waitlisted",
  "Warning: Selected cohorts do not have overlapping dates!": "Warning: Selected cohorts do not have overlapping dates!",
  "We": "We",
  "We can't find a user with that e-mail address.": "We can't find a user with that e-mail address.",
  "We could't add": "We could't add",
  "We will arrange the Accommodation": "We will arrange the Accommodation",
  "We will organise the transfe": "We will organise the transfe",
  "Webhook": "Webhook",
  "Website": "Website",
  "Wednesday": "Wednesday",
  "Week": "Week",
  "Week Ends at": "Week Ends at",
  "Week Starts at": "Week Starts at",
  "Week day": "Week day",
  "Week days": "Week days",
  "Weekdays": "Weekdays",
  "Weeks": "Weeks",
  "Weighting": "Weighting",
  "Welcome Back!": "Welcome Back!",
  "Welcome Email": "Welcome Email",
  "Welcome Message & Guideline": "Welcome Message & Guideline",
  "Welcome back!": "Welcome back!",
  "Welcome back! Enter your login details to continue with your application": "Welcome back! Enter your login details to continue with your application",
  "Welcome to the Cumberland College Application Portal! Fill in your details to create an account, you will be able to save your progress and complete your application in your own time.": "Welcome to the Cumberland College Application Portal! Fill in your details to create an account, you will be able to save your progress and complete your application in your own time.",
  "What do they think of you pursuing additional training?": "What do they think of you pursuing additional training?",
  "What is the title of your current job?": "What is the title of your current job?",
  "What level of schooling have you completed?": "What level of schooling have you completed?",
  "When do you want to start your new training?": "When do you want to start your new training?",
  "Which degree do you want to study?": "Which degree do you want to study?",
  "Which weeks would you like to book $title?": "Which weeks would you like to book $title?",
  "Which weeks would you like to book?": "Which weeks would you like to book?",
  "Who does the follow-up": "Who does the follow-up",
  "Why Us?": "Why Us?",
  "Widget Title": "Widget Title",
  "Widget added successfully.": "Widget added successfully.",
  "Widget removed successfully.": "Widget removed successfully.",
  "Widget updated successfully.": "Widget updated successfully.",
  "Width": "Width",
  "With": "With",
  "With Selected": "With Selected",
  "With selected": "With selected",
  "Withdrawn": "Withdrawn",
  "Withdrawn Date": "Withdrawn Date",
  "Withdrawn Students": "Withdrawn Students",
  "Withdrawn before start": "Withdrawn before start",
  "Withdrawn before start students": "Withdrawn before start students",
  "Withdrawn date": "Withdrawn date",
  "Word filename": "Word filename",
  "Words: %d": "Words: %d",
  "Workflow": "Workflow",
  "Would you like to book any optional Extra Choice Activities?": "Would you like to book any optional Extra Choice Activities?",
  "Wrapper": "Wrapper",
  "Wrapper Attributes": "Wrapper Attributes",
  "Wrapper Classes": "Wrapper Classes",
  "Wrong Number": "Wrong Number",
  "X Column (Rows)": "X Column (Rows)",
  "Y Column (Columns)": "Y Column (Columns)",
  "YES": "YES",
  "YOUR PRICE": "YOUR PRICE",
  "YOUR PRICE:": "YOUR PRICE:",
  "YOUR PROGRAM SUMMARY": "YOUR PROGRAM SUMMARY",
  "YYYY": "YYYY",
  "Year": "Year",
  "Yes": "Yes",
  "Yes, Delete": "Yes, Delete",
  "Yes, Restart": "Yes, Restart",
  "Yes, enable international calling code": "Yes, enable international calling code",
  "Yes/No": "Yes/No",
  "Yesterday": "Yesterday",
  "You Have a New Task Assigned!": "You Have a New Task Assigned!",
  "You are going to delete this file permanently": "You are going to delete this file permanently",
  "You are going to delete this file permanently!": "You are going to delete this file permanently!",
  "You are not authorized": "You are not authorized",
  "You are not authorized to delete this file": "You are not authorized to delete this file",
  "You aren't collecting tax": "You aren't collecting tax",
  "You can invite more agents to join your agency and give them the ability to submit students data": "You can invite more agents to join your agency and give them the ability to submit students data",
  "You can select multiple weeks": "You can select multiple weeks",
  "You can use ${students.first_name}, ${students.last_name}..., in your message and they will be replaced by the student's information.": "You can use ${students.first_name}, ${students.last_name}..., in your message and they will be replaced by the student's information.",
  "You can use merge tags to personalize your message": "You can use merge tags to personalize your message",
  "You didn't add any child yet": "You didn't add any child yet",
  "You do not have permission to delete email themes.": "You do not have permission to delete email themes.",
  "You do not have permission to edit timeline dates": "You do not have permission to edit timeline dates",
  "You don't have any actions yet!": "You don't have any actions yet!",
  "You don't have any campuses, Please add campus first": "You don't have any campuses, Please add campus first",
  "You don't have any campuses, Please add campuse first": "You don't have any campuses, Please add campuse first",
  "You don't have any campuses, please add a campus first": "You don't have any campuses, please add a campus first",
  "You don't have any course, Please add course first": "You don't have any course, Please add course first",
  "You don't have any courses for the selected program": "You don't have any courses for the selected program",
  "You don't have any courses or program, Please add one of them first": "You don't have any courses or program, Please add one of them first",
  "You don't have any courses, Please add course first": "You don't have any courses, Please add course first",
  "You don't have any document templates in this envelope": "You don't have any document templates in this envelope",
  "You don't have any signers in this envelope": "You don't have any signers in this envelope",
  "You don't have any synchronized accounts": "You don't have any synchronized accounts",
  "You have a new message!": "You have a new message!",
  "You have been successfully resubscribed to our email communications.": "You have been successfully resubscribed to our email communications.",
  "You have been successfully unsubscribed from email communications.": "You have been successfully unsubscribed from email communications.",
  "You have missing values in your rules": "You have missing values in your rules",
  "You have no active 3rd Party Integrations": "You have no active 3rd Party Integrations",
  "You may need to select different cohorts or create lessons separately.": "You may need to select different cohorts or create lessons separately.",
  "You've got a new message": "You've got a new message",
  "You've got a new message!": "You've got a new message!",
  "Your Application Form Is Now Open To Edit": "Your Application Form Is Now Open To Edit",
  "Your Digital Marketing Career Starts Here": "Your Digital Marketing Career Starts Here",
  "Your Email": "Your Email",
  "Your Email Template is Empty": "Your Email Template is Empty",
  "Your Invoice is ready.": "Your Invoice is ready.",
  "Your Invoice is ready. Please make a payment below": "Your Invoice is ready. Please make a payment below",
  "Your Online Application is ready!": "Your Online Application is ready!",
  "Your Password Reset Link": "Your Password Reset Link",
  "Your Quote": "Your Quote",
  "Your Session Expired": "Your Session Expired",
  "Your VAA Summary": "Your VAA Summary",
  "Your account has been activated successfully. You can log in now.": "Your account has been activated successfully. You can log in now.",
  "Your account has been created successfully, Please check your email address to activate your account": "Your account has been created successfully, Please check your email address to activate your account",
  "Your account has been created successfully, Please click on the below button to activate your account": "Your account has been created successfully, Please click on the below button to activate your account",
  "Your browser does not support the audio element.": "Your browser does not support the audio element.",
  "Your email integration needs to be reconnected before emails and meetings can continue syncing.": "Your email integration needs to be reconnected before emails and meetings can continue syncing.",
  "Your menu layout differs from the default.": "Your menu layout differs from the default.",
  "Your message": "Your message",
  "Your message to": "Your message to",
  "Your password changed successfully": "Your password changed successfully",
  "Your request has expired, Please request a new 222 link": "Your request has expired, Please request a new 222 link",
  "Your request has expired, Please request a new link": "Your request has expired, Please request a new link",
  "Your student status": "Your student status",
  "Zip Code": "Zip Code",
  "Zuko Tracking": "Zuko Tracking",
  "accepted": "accepted",
  "action": "action",
  "already added": "already added",
  "and": "and",
  "and upload it here to import your custom fields.": "and upload it here to import your custom fields.",
  "archived": "archived",
  "attendances": "attendances",
  "automaticlly synchronize the value with": "automaticlly synchronize the value with",
  "automaticlly synchronize the value with ": "automaticlly synchronize the value with ",
  "automation_batch_id": "automation_batch_id",
  "automation_id": "automation_id",
  "busy": "busy",
  "by": "by",
  "call": "call",
  "category": "category",
  "classrooms": "classrooms",
  "click": "click",
  "clicks": "clicks",
  "common.academicLabel.addCourseCohortDescription": "Choose a status and one or more course cohorts to add to this program enrollment.",
  "common.academicLabel.addCourseCohortLoadError": "Unable to load the add course cohort form. Please try again.",
  "common.academicLabel.addCourseCohortProgramCohortHint": "Active course cohorts for courses in this program are available, including cohorts not linked to program cohort :cohort.",
  "common.academicLabel.addCourseCohortProgramDescription": "Choose a status and one or more course cohorts to add to :program.",
  "common.academicLabel.addCourseCohortProgramCohortHint": "Only active course cohorts linked to program cohort :cohort are available.",
  "common.academicLabel.addCourseCohortRepeaterDescription": "Add one row per course cohort. Search to find a cohort, then choose its enrollment status.",
  "common.academicLabel.addCourseCohortRepeaterEmpty": "Add a course cohort row to get started.",
  "common.academicLabel.addCourseCohortRepeaterTitle": "Course cohort enrollments",
  "common.academicLabel.addCourseCohortRemoveRow": "Remove course cohort row",
  "common.academicLabel.addCourseCohortRow": "Add course cohort",
  "common.academicLabel.addCourseCohortRowLabel": "Course cohort :number",
  "common.academicLabel.addCourseCohortSearchPlaceholder": "Search course cohorts",
  "common.academicLabel.addCourseCohortLoadError": "Unable to load the add course cohort form. Please try again.",
  "common.academicLabel.addCourseCohortSaveError": "Unable to add course cohort. Please try again.",
  "common.academicLabel.addCourseCohortSaved": "Course cohort added successfully.",
  "common.academicLabel.addCourseCohortSearchHint": "Type to search by course, schedule, or cohort name. All active schedules for linked courses are listed.",
  "common.academicLabel.addCourseCohortSelectedCount": ":count selected",
  "common.academicLabel.addCourseCohortTitle": "Add Course Cohort",
  "common.academicLabel.lmsSyncCohortDescription": "This enrollment is linked to multiple cohorts. Choose which cohort to sync with the LMS.",
  "common.academicLabel.lmsSyncCohortEnrollSubmit": "Enroll in :lms",
  "common.academicLabel.lmsSyncCohortEnrollTitle": "Enroll in :lms",
  "common.academicLabel.lmsSyncCohortError": "Unable to sync with the LMS. Please try again.",
  "common.academicLabel.lmsSyncCohortFieldLabel": "Course cohort",
  "common.academicLabel.lmsSyncCohortPlaceholder": "Select a cohort",
  "common.academicLabel.lmsSyncCohortUnenrollSubmit": "Unenroll from :lms",
  "common.academicLabel.lmsSyncCohortUnenrollTitle": "Unenroll from :lms",
  "common.academicLabel.addEducationDescription": "Choose a program or course, campus, cohort, and status for this contact.",
  "common.academicLabel.addEducationTitle": "Add enrollment",
  "common.academicLabel.addFormLoadError": "Unable to load the enrollment form. Please try again.",
  "common.academicLabel.addSaveError": "Unable to save the enrollment. Please try again.",
  "common.academicLabel.addSaved": "Student enrolled successfully.",
  "common.academicLabel.bodyLoadError": "Unable to load course details. Please try again.",
  "common.academicLabel.bulkDeleteAction": "Delete selected",
  "common.academicLabel.bulkDeleteConfirm": "Remove the selected course enrollments (:count) from this program? This action cannot be undone.",
  "common.academicLabel.bulkDeleteError": "Unable to delete the selected courses. Please try again.",
  "common.academicLabel.bulkDeleteSuccess": "Selected courses deleted successfully.",
  "common.academicLabel.bulkDeleteTitle": "Delete selected courses?",
  "common.academicLabel.cohortLoadError": "Unable to load cohort options. Please try again.",
  "common.academicLabel.courseCohorts": "Course cohorts",
  "common.academicLabel.editEducationDescription": "Update intake, campus, cohort, status, and linked courses for this program enrollment.",
  "common.academicLabel.editEducationTitle": "Edit Education",
  "common.academicLabel.editFormLoadError": "Unable to load the education form. Please try again.",
  "common.academicLabel.editSaveError": "Unable to save education changes. Please try again.",
  "common.academicLabel.editSaved": "Education updated successfully.",
  "common.academicLabel.openCourseActions": "Open course actions",
  "common.academicLabel.openEducationActions": "Open education actions",
  "common.academicLabel.profileEmptyDescription": "This contact has no program or course enrollments yet.",
  "common.academicLabel.profileGradesEmpty": "No final grades recorded yet",
  "common.academicLabel.profileGradesEmptyDescription": "Final course grades will appear here once grade items are recorded for this student.",
  "common.academicLabel.searchProfileGrades": "Search by course, program, or instructor",
  "common.academicLabel.programCohort": "Program cohort",
  "common.academicLabel.programCourses": "Program courses",
  "common.academicLabel.programSubCohorts": "Program sub-cohorts",
  "common.academicLabel.searchProfileGrades": "Search by course, program, or instructor",
  "common.academicLabel.selectAllCourses": "Select all courses",
  "common.academicLabel.selectCourse": "Select :course",
  "common.academicLabel.selectedCoursesCount": ":count selected",
  "common.academicLabel.sortByCourseTitle": "Sort by course title",
  "common.academicLabel.status": "Status",
  "common.academicLabel.subCohortLoadError": "Unable to load sub-cohort options. Please try again.",
  "common.academicLabel.subCohortTitle": "Sub cohort",
  "common.academicLabel.transcriptsFormDescription": "Choose a Word transcript template to generate documents for all program and course enrollments.",
  "common.academicLabel.transcriptsFormLoadError": "Unable to load the transcript form. Please try again.",
  "common.academicLabel.transcriptsGenerateError": "Unable to generate transcripts. Please try again.",
  "common.accommodationLabel.back": "Back",
  "common.accommodationLabel.campuses": "Campuses",
  "common.accommodationLabel.campusesRequired": "Select at least one campus.",
  "common.accommodationLabel.contacts": "Contacts",
  "common.accommodationLabel.contactsHelper": "Assign one or more contacts to this accommodation.",
  "common.accommodationLabel.createAccommodation": "Create Accommodation",
  "common.accommodationLabel.createCampusLink": "Create campus",
  "common.accommodationLabel.createFailed": "Unable to create the accommodation. Check the highlighted fields and try again.",
  "common.accommodationLabel.createdSuccessfully": "Accommodation created successfully.",
  "common.accommodationLabel.customFieldRequired": "This field is required.",
  "common.accommodationLabel.customFieldsRequired": "Complete the required custom properties.",
  "common.accommodationLabel.description": "Description",
  "common.accommodationLabel.editAccommodationTitle": "Edit Accommodation",
  "common.accommodationLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.accommodationLabel.name": "Name",
  "common.accommodationLabel.nameRequired": "Enter a name.",
  "common.accommodationLabel.next": "Next",
  "common.accommodationLabel.noCampusesWarning": "Create a campus before adding accommodations.",
  "common.accommodationLabel.pageTitle": "Accommodations",
  "common.accommodationLabel.selectCampuses": "Select campuses",
  "common.accommodationLabel.selectContacts": "Select contacts",
  "common.accommodationLabel.stepAnnouncement": "Step :current of :total: :step",
  "common.accommodationLabel.stepCustomFields": "Custom Properties",
  "common.accommodationLabel.stepCustomFieldsHint": "Complete the accommodation custom properties.",
  "common.accommodationLabel.stepDetails": "Accommodation Details",
  "common.accommodationLabel.stepDetailsHint": "Add the accommodation name, campuses, contacts, and description.",
  "common.accommodationLabel.stepProgress": "Step :current of :total",
  "common.accommodationLabel.updateAccommodation": "Update Accommodation",
  "common.accommodationLabel.updateFailed": "Unable to update the accommodation. Check the highlighted fields and try again.",
  "common.accommodationLabel.updatedSuccessfully": "Accommodation updated successfully.",
  "common.accommodationLabel.wizardFooterAria": "Accommodation wizard actions",
  "common.accommodationLabel.wizardNavigation": "Accommodation wizard navigation",
  "common.accountLabel.accountCreated": "Account Created",
  "common.accountLabel.accountHistory": "Account History",
  "common.accountLabel.accountOverview": "Account Overview",
  "common.accountLabel.accountUpdated": "Account Updated",
  "common.accountLabel.accounting": "Accounting",
  "common.accountLabel.accountingDescription": "Classification and normal balance context for this account.",
  "common.accountLabel.accounts": "accounts",
  "common.accountLabel.accountsEmpty": "No accounts matched the current search or filters.",
  "common.accountLabel.actionFailed": "Unable to complete that action right now.",
  "common.accountLabel.actions": "Actions",
  "common.accountLabel.active": "Active",
  "common.accountLabel.activeStatus": "Active",
  "common.accountLabel.amount": "Amount",
  "common.accountLabel.back": "Back",
  "common.accountLabel.backToList": "Back to Accounts",
  "common.accountLabel.balanceSide": "Normal Balance",
  "common.accountLabel.category": "Category",
  "common.accountLabel.categoryRequired": "Category is required.",
  "common.accountLabel.code": "Code",
  "common.accountLabel.createAccount": "Create Account",
  "common.accountLabel.createFailed": "Unable to create account. Try again.",
  "common.accountLabel.createdAt": "Creation Date",
  "common.accountLabel.createdOn": "Created",
  "common.accountLabel.createdSuccessfully": "Account :title created successfully.",
  "common.accountLabel.credit": "Credit",
  "common.accountLabel.dates": "Dates",
  "common.accountLabel.debit": "Debit",
  "common.accountLabel.deleteAccount": "Delete",
  "common.accountLabel.deleteAccountConfirm": "Are you sure you want to delete this account?",
  "common.accountLabel.deleteAccountDetailConfirm": "Deleting this account will delete all the related data (Contacts, Subscriptions, Transactions).",
  "common.accountLabel.deletedSuccessfully": "Account deleted successfully.",
  "common.accountLabel.description": "Description",
  "common.accountLabel.details": "Account details",
  "common.accountLabel.detailsDescription": "Core chart-of-accounts information used by finance documents and payment coding.",
  "common.accountLabel.detailsField": "Details",
  "common.accountLabel.detailsTab": "Details",
  "common.accountLabel.editAccount": "Edit",
  "common.accountLabel.editAccountPageTitle": "Edit Account ? :title",
  "common.accountLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.accountLabel.historyAction": "Action",
  "common.accountLabel.historyDateTime": "Date/Time",
  "common.accountLabel.historyDetails": "Details",
  "common.accountLabel.historyTab": "History",
  "common.accountLabel.historyUser": "User",
  "common.accountLabel.id": "ID",
  "common.accountLabel.importAccounts": "Import Accounts",
  "common.accountLabel.importAll": "Import all accounts",
  "common.accountLabel.importClassification": "Classification",
  "common.accountLabel.importClassificationPlaceholder": "Select classification",
  "common.accountLabel.importCurrentBalance": "Current balance",
  "common.accountLabel.importDeselectAll": "Deselect all",
  "common.accountLabel.importFailed": "Unable to import accounts. Try again.",
  "common.accountLabel.importFilter": "Filter accounts",
  "common.accountLabel.importImporting": "Importing...",
  "common.accountLabel.importItemsSelected": ":count items selected",
  "common.accountLabel.importNoResultsDescription": "Try a different title or classification filter.",
  "common.accountLabel.importNoResultsTitle": "No results found",
  "common.accountLabel.importNoSelection": "Select at least one account to import.",
  "common.accountLabel.importPageTitle": "Import Accounts",
  "common.accountLabel.importSearchDescription": "Find accounts in your accounting integration by title or classification, then import them into HEM-SP.",
  "common.accountLabel.importSearchFailed": "Unable to search accounts. Try again.",
  "common.accountLabel.importSearchHelp": "Enter at least 4 characters to search by title, or choose a classification to filter.",
  "common.accountLabel.importSearchPlaceholder": "Search accounts by title",
  "common.accountLabel.importSearchRequired": "Enter a title or choose a classification before filtering.",
  "common.accountLabel.importSearchTitle": "Search accounting accounts",
  "common.accountLabel.importSearchTooShort": "Enter at least 4 characters to search by title.",
  "common.accountLabel.importSearching": "Searching...",
  "common.accountLabel.importSelectAll": "Select all accounts",
  "common.accountLabel.importSelectRow": "Select :name",
  "common.accountLabel.importSelected": "Import selected accounts",
  "common.accountLabel.importSuccess": "{1} :count account imported successfully.|[2,*] :count accounts imported successfully.",
  "common.accountLabel.importUnavailable": "Accounting integration is not available.",
  "common.accountLabel.inactiveStatus": "Inactive",
  "common.accountLabel.initialAccountSetup": "Initial account setup.",
  "common.accountLabel.initialSetup": "Initial account setup",
  "common.accountLabel.lastModification": "Last modification.",
  "common.accountLabel.linkedServices": "Linked Services",
  "common.accountLabel.linkedServicesCount": "Linked services",
  "common.accountLabel.linkedServicesEmptyDescription": "This account is not currently linked to any educational services.",
  "common.accountLabel.linkedServicesEmptyTitle": "No educational services found",
  "common.accountLabel.linkedServicesTitle": "Educational Services Using This Account",
  "common.accountLabel.next": "Next",
  "common.accountLabel.no": "No",
  "common.accountLabel.noHistory": "No account history found",
  "common.accountLabel.noHistoryDescription": "No audit-style timeline entries are available for this account.",
  "common.accountLabel.noServices": "No educational services found",
  "common.accountLabel.noServicesDescription": "This account is not currently linked to any educational services.",
  "common.accountLabel.normalBalance": "Normal balance",
  "common.accountLabel.normalBalanceCredit": "Credit (Cr)",
  "common.accountLabel.normalBalanceDebit": "Debit (Dr)",
  "common.accountLabel.overviewTab": "Overview",
  "common.accountLabel.pageTitle": "Chart of Accounts",
  "common.accountLabel.properties": "Properties",
  "common.accountLabel.propertiesDescription": "Additional accounting integration metadata stored on the account.",
  "common.accountLabel.quickBooksRef": "QuickBooks reference",
  "common.accountLabel.searchAccounts": "Search accounts by title, type, or category",
  "common.accountLabel.selectCategory": "Select category",
  "common.accountLabel.selectType": "Select type",
  "common.accountLabel.serviceAmount": "Amount",
  "common.accountLabel.serviceCode": "Code",
  "common.accountLabel.serviceName": "Service name",
  "common.accountLabel.serviceStatus": "Status",
  "common.accountLabel.servicesTab": "Services",
  "common.accountLabel.status": "Status",
  "common.accountLabel.stepAnnouncement": "Step :current of :total: :step",
  "common.accountLabel.stepDetails": "Account Details",
  "common.accountLabel.stepDetailsHint": "Configure the account title, type, category, and description.",
  "common.accountLabel.stepProgress": "Step :current of :total",
  "common.accountLabel.system": "System",
  "common.accountLabel.systemUser": "System",
  "common.accountLabel.title": "Title",
  "common.accountLabel.titleRequired": "Title is required.",
  "common.accountLabel.type": "Type",
  "common.accountLabel.typeDescription": "Type Description",
  "common.accountLabel.typeDescriptionAsset": "Asset accounts track resources owned by the institution.",
  "common.accountLabel.typeDescriptionBank": "Bank accounts track cash and bank balances.",
  "common.accountLabel.typeDescriptionDefault": "Account type information.",
  "common.accountLabel.typeDescriptionEquity": "Equity accounts track institutional ownership.",
  "common.accountLabel.typeDescriptionExpense": "Expense accounts track costs and expenditures.",
  "common.accountLabel.typeDescriptionIncome": "Income accounts track revenue and earnings.",
  "common.accountLabel.typeDescriptionLiability": "Liability accounts track obligations and debts.",
  "common.accountLabel.typeDescriptionRevenue": "Revenue accounts track income and earnings.",
  "common.accountLabel.typeRequired": "Type is required.",
  "common.accountLabel.updateAccount": "Update Account",
  "common.accountLabel.updateFailed": "Unable to update account. Try again.",
  "common.accountLabel.updatedAt": "Updated At",
  "common.accountLabel.updatedSuccessfully": "Account :title updated successfully.",
  "common.accountLabel.user": "User",
  "common.accountLabel.viewAccount": "View",
  "common.accountLabel.wizardFooterAria": "Account wizard actions",
  "common.accountLabel.wizardNavigation": "Account wizard navigation",
  "common.accountLabel.yes": "Yes",
  "common.actionLabel.title": "Action",
  "common.activeRunsLabel.title": "Active Runs",
  "common.activityTimelineLabel.automated": "Automated",
  "common.activityTimelineLabel.createdViaAi": "Created via AI",
  "common.activityTimelineLabel.sentViaAutomation": "Sent via Automation",
  "common.activityTimelineLabel.callPlaced": "Outgoing call",
  "common.activityTimelineLabel.callReceived": "Incoming call",
  "common.activityTimelineLabel.clearFilters": "Clear filters",
  "common.activityTimelineLabel.detailError": "Unable to load this activity.",
  "common.activityTimelineLabel.detailUnavailable": "No details are available for this activity.",
  "common.activityTimelineLabel.directionInbound": "Inbound",
  "common.activityTimelineLabel.directionInternal": "Internal",
  "common.activityTimelineLabel.directionOutbound": "Outbound",
  "common.activityTimelineLabel.emptyDescription": "No emails, messages, SMS, calls or meetings have been logged for this contact yet.",
  "common.activityTimelineLabel.emptyDescriptionWithTasks": "No emails, messages, SMS, calls, meetings or tasks have been logged for this contact yet.",
  "common.activityTimelineLabel.filterActor": "Actor",
  "common.activityTimelineLabel.filterByChannel": "Filter by :channel",
  "common.activityTimelineLabel.clearChannelFilter": "Clear :channel filter",
  "common.activityTimelineLabel.filterChannel": "Channel",
  "common.activityTimelineLabel.filterDateRange": "Date range",
  "common.activityTimelineLabel.filterDateRangePlaceholder": "Select a date range",
  "common.activityTimelineLabel.filterDirection": "Direction",
  "common.activityTimelineLabel.filters": "Activity filters",
  "common.activityTimelineLabel.groupByDay": "Group by day",
  "common.activityTimelineLabel.groupEventCount": ":count activities",
  "common.activityTimelineLabel.includeTasks": "Include tasks",
  "common.activityTimelineLabel.limitLabel": "Activities to load",
  "common.activityTimelineLabel.limitOption": "Latest :count",
  "common.activityTimelineLabel.noMatches": "No matching activity",
  "common.activityTimelineLabel.noMatchesDescription": "Try a different filter or clear the filters.",
  "common.activityTimelineLabel.openInChannel": "Open in :channel",
  "common.activityTimelineLabel.showingCount": "Showing :shown of :total activities",
  "common.activityTimelineLabel.smsReceived": "SMS received",
  "common.activityTimelineLabel.smsSent": "SMS sent",
  "common.activityTimelineLabel.summarizeWithAi": "Summarize with AI",
  "common.activityTimelineLabel.tab": "Activity",
  "common.activityTimelineLabel.title": "Activity Timeline",
  "common.activityTimelineLabel.resizeSplit": "Resize activity panel",
  "common.activityTimelineLabel.truncatedHint": "Older activity stays available in each channel tab.",
  "common.activityTimelineLabel.unknownActor": "Unknown",
  "common.activityTimelineLabel.viewCall": "View call",
  "common.activityTimelineLabel.viewEmail": "View email",
  "common.activityTimelineLabel.viewMeeting": "View meeting",
  "common.activityTimelineLabel.viewMessage": "View message",
  "common.activityTimelineLabel.viewSms": "View SMS",
  "common.adminAuditLabel.action": "Action",
  "common.adminAuditLabel.actionAiContentAccepted": "AI content accepted",
  "common.adminAuditLabel.actionAiContentGenerated": "AI content generated",
  "common.adminAuditLabel.actionAiContentRejected": "AI content rejected",
  "common.adminAuditLabel.actionAiConversationEscalated": "Conversation escalated",
  "common.adminAuditLabel.actionAiConversationReviewed": "Conversation reviewed",
  "common.adminAuditLabel.actionAiPersonaArchived": "Persona archived",
  "common.adminAuditLabel.actionAiPersonaCreated": "Persona created",
  "common.adminAuditLabel.actionAiPersonaPreviewTest": "Persona preview test",
  "common.adminAuditLabel.actionAiPersonaUpdated": "Persona updated",
  "common.adminAuditLabel.actionAiResourceApproved": "Resource approved",
  "common.adminAuditLabel.actionAiResourceArchived": "Resource archived",
  "common.adminAuditLabel.actionAiResourceConverted": "Resource converted",
  "common.adminAuditLabel.actionAiResourceIndexed": "Resource indexed",
  "common.adminAuditLabel.actionAiResourceUploaded": "Resource uploaded",
  "common.adminAuditLabel.actionAiResourceVersionUploaded": "Version uploaded",
  "common.adminAuditLabel.actionAutomationApprovalAccepted": "Approval accepted",
  "common.adminAuditLabel.actionAutomationApprovalRejected": "Approval rejected",
  "common.adminAuditLabel.actionAutomationCreated": "Automation created",
  "common.adminAuditLabel.actionAutomationDisabled": "Disabled",
  "common.adminAuditLabel.actionAutomationDraftSaved": "Draft saved",
  "common.adminAuditLabel.actionAutomationPublished": "Published",
  "common.adminAuditLabel.actionAutomationRunCancelled": "Run cancelled",
  "common.adminAuditLabel.actionAutomationRunResumed": "Run resumed",
  "common.adminAuditLabel.actionAutomationRunRetried": "Run retried",
  "common.adminAuditLabel.actor": "Actor",
  "common.adminAuditLabel.aiContentGenerated": "AI-generated node content was created.",
  "common.adminAuditLabel.aiConversationEscalated": "An AI conversation was escalated.",
  "common.adminAuditLabel.aiPersonaArchived": "AI persona \":name\" was archived.",
  "common.adminAuditLabel.aiPersonaCreated": "AI persona \":name\" was created.",
  "common.adminAuditLabel.aiPersonaPreviewTest": "Staff preview test was run for this AI persona.",
  "common.adminAuditLabel.aiPersonaUpdated": "AI persona \":name\" was updated.",
  "common.adminAuditLabel.aiProposalAccepted": "AI-generated graph proposal was accepted during creation.",
  "common.adminAuditLabel.aiResourceApproved": "Knowledge resource \":title\" was approved.",
  "common.adminAuditLabel.aiResourceArchived": "Knowledge resource \":title\" was archived.",
  "common.adminAuditLabel.aiResourceConverted": "Knowledge resource \":title\" was converted.",
  "common.adminAuditLabel.aiResourceIndexed": "Knowledge resource \":title\" was indexed (:count chunks).",
  "common.adminAuditLabel.aiResourceMarkdownSaved": "Markdown content was saved as a new version for knowledge resource \":title\".",
  "common.adminAuditLabel.aiResourceUploaded": "Knowledge resource \":title\" was uploaded.",
  "common.adminAuditLabel.aiResourceVersionUploaded": "A new version was uploaded for knowledge resource \":title\".",
  "common.adminAuditLabel.aiResourceVersionDeleted": "Version :number was deleted for knowledge resource \":title\".",
  "common.adminAuditLabel.automationCreated": "Automation \":title\" was created.",
  "common.adminAuditLabel.automationDisabled": "Automation \":title\" was disabled.",
  "common.adminAuditLabel.automationDraftSaved": "Draft saved for \":title\" (v:version).",
  "common.adminAuditLabel.automationPublished": "Automation \":title\" published as v:version.",
  "common.adminAuditLabel.automationRunOperation": "Runtime operation on run #:run.",
  "common.adminAuditLabel.description": "Important admin actions recorded for this record.",
  "common.adminAuditLabel.descriptionColumn": "Details",
  "common.adminAuditLabel.empty": "No audit entries yet.",
  "common.adminAuditLabel.loadFailed": "Unable to load audit history.",
  "common.adminAuditLabel.loading": "Loading audit history?",
  "common.adminAuditLabel.tab": "Audit",
  "common.adminAuditLabel.title": "Audit history",
  "common.adminAuditLabel.unavailable": "Audit history is not available.",
  "common.adminAuditLabel.unknownActor": "Unknown user",
  "common.adminAuditLabel.when": "When",
  "common.admissionsBriefLabel.briefDate": "Brief date",
  "common.admissionsBriefLabel.capacityCohort": "Cohort",
  "common.admissionsBriefLabel.capacityEnrolled": "Enrolled",
  "common.admissionsBriefLabel.capacityIntake": "Intake start",
  "common.admissionsBriefLabel.capacityLimit": "Capacity",
  "common.admissionsBriefLabel.capacityRowMeta": "Intake :intake ? :enrolled/:capacity enrolled ? :utilization utilization",
  "common.admissionsBriefLabel.capacitySectionDescription": "Upcoming cohorts at or above 80% of configured capacity.",
  "common.admissionsBriefLabel.capacityUtilization": "Utilization",
  "common.admissionsBriefLabel.disabledNotice": "The admissions daily brief is disabled in tenant settings (admissions_brief group).",
  "common.admissionsBriefLabel.disabledTitle": "Daily brief disabled",
  "common.admissionsBriefLabel.emailSubject": "Admissions Daily Brief ? :date",
  "common.admissionsBriefLabel.emailOpenDailyBrief": "Open Daily Brief",
  "common.admissionsBriefLabel.emptyState": "No brief has been generated yet. Enable the feature and run the scheduled admissions:daily-brief command.",
  "common.admissionsBriefLabel.emptyTitle": "No brief generated yet",
  "common.admissionsBriefLabel.followUpEmptyTitle": "No follow-up views available",
  "common.admissionsBriefLabel.metricsSectionDescription": "Counts from predefined admissions reports with links to AG Grid table views where available.",
  "common.admissionsBriefLabel.metricsSectionTitle": "Key metrics",
  "common.admissionsBriefLabel.categoryNeedsAttention": "Needs your attention",
  "common.admissionsBriefLabel.categoryActivity": "Yesterday / recent activity",
  "common.admissionsBriefLabel.categoryRisk": "Pipeline & capacity risks",
  "common.admissionsBriefLabel.categoryOperations": "Operations",
  "common.admissionsBriefLabel.categoryManagement": "Management metrics",
  "common.admissionsBriefLabel.categoryUnknown": "Other",
  "common.admissionsBriefLabel.openSavedView": "Open table view",
  "common.admissionsBriefLabel.openTableView": "Open table view",
  "common.admissionsBriefLabel.openTableViewForCount": "Open table view for :label (:count)",
  "common.admissionsBriefLabel.pageDescription": "Deterministic overnight summary built from predefined admissions reports and AG Grid saved-view links. Open from the AI Assistant drawer Daily Brief tab.",
  "common.admissionsBriefLabel.pageEyebrow": "Admissions digest",
  "common.admissionsBriefLabel.pageTitle": "Admissions Daily Brief",
  "common.admissionsBriefLabel.savedViewName": "Daily Brief ? :label",
  "common.admissionsBriefLabel.savedViewStalledName": "Daily Brief ? Stalled applications (:days days)",
  "common.admissionsBriefLabel.sectionCohortCapacityRisks": "Upcoming intake / cohort capacity risks",
  "common.admissionsBriefLabel.sectionMissingDocuments": "Applicants missing documents",
  "common.admissionsBriefLabel.sectionNewApplicantsYesterday": "New applicants yesterday",
  "common.admissionsBriefLabel.sectionApplicationsStartedYesterday": "Applications started yesterday",
  "common.admissionsBriefLabel.sectionApplicationsSubmittedYesterday": "Applications submitted yesterday",
  "common.admissionsBriefLabel.sectionDepositsReceivedYesterday": "Quote deposits received yesterday",
  "common.admissionsBriefLabel.metricDurationDays": ":value days",
  "common.admissionsBriefLabel.priorityLevelCritical": "Critical",
  "common.admissionsBriefLabel.priorityLevelHigh": "High priority",
  "common.admissionsBriefLabel.priorityLevelNormal": "Monitor",
  "common.admissionsBriefLabel.priorityLevelInformational": "For information",
  "common.admissionsBriefLabel.summaryLineWithPriority": ":label: :count (:priority)",
  "common.admissionsBriefLabel.summaryPriorityActionable": ":level: :message",
  "common.admissionsBriefLabel.priorityAwaitingReviewOldest": "Oldest waiting :oldest_days day(s) in its current review status",
  "common.admissionsBriefLabel.priorityUnassignedApplicants": ":count applicant(s) have no owner",
  "common.admissionsBriefLabel.priorityStalledApplications": ":count application(s) with no activity in :days days",
  "common.admissionsBriefLabel.priorityCohortCapacity": ":cohort is at :utilization% capacity (:remaining seat(s) left)",
  "common.admissionsBriefLabel.priorityFailedAiDeliveries": ":count AI follow-up delivery(ies) failed",
  "common.admissionsBriefLabel.actionReviewApplications": "Review applications",
  "common.admissionsBriefLabel.actionAssignOwners": "Assign owners",
  "common.admissionsBriefLabel.actionFollowUpStalled": "Follow up stalled",
  "common.admissionsBriefLabel.actionReviewCohorts": "Review cohorts",
  "common.admissionsBriefLabel.actionReviewFailedDeliveries": "Review failed deliveries",
  "common.admissionsBriefLabel.recommendedActionForCount": ":action: open table view for :label (:count)",
  "common.admissionsBriefLabel.actionsMenu": "Actions",
  "common.admissionsBriefLabel.actionsMenuFor": "Actions for :label",
  "common.admissionsBriefLabel.actionCreateList": "Create list",
  "common.admissionsBriefLabel.actionAssignOwner": "Assign to",
  "common.admissionsBriefLabel.actionCreateTasks": "Create follow-up tasks",
  "common.admissionsBriefLabel.actionSendMessage": "Send message",
  "common.admissionsBriefLabel.actionDialogDescription": "Applies to the :count applicant(s) currently in \u201c:section\u201d.",
  "common.admissionsBriefLabel.actionAssignEligible": ":eligible of :total applicant(s) have no owner and will be assigned. Applicants who already have an owner are left unchanged.",
  "common.admissionsBriefLabel.actionTooMany": "This block has :count applicants. Actions are limited to :max at a time, so narrow it down in the Applicants grid first.",
  "common.admissionsBriefLabel.actionListName": "List name",
  "common.admissionsBriefLabel.actionStaffMember": "Staff member",
  "common.admissionsBriefLabel.actionTaskTitle": "Task title",
  "common.admissionsBriefLabel.actionTaskDescription": "Description",
  "common.admissionsBriefLabel.actionTaskDescriptionHint": "Tokens such as the applicant's name are filled in separately for each task.",
  "common.admissionsBriefLabel.actionTaskDueDate": "Due date",
  "common.admissionsBriefLabel.actionTaskPriority": "Priority",
  "common.admissionsBriefLabel.actionTaskPriorityLow": "Low",
  "common.admissionsBriefLabel.actionTaskPriorityMedium": "Medium",
  "common.admissionsBriefLabel.actionTaskPriorityHigh": "High",
  "common.admissionsBriefLabel.actionTaskAssignee": "Assign tasks to",
  "common.admissionsBriefLabel.actionTaskAssigneeOwner": "Each applicant's owner (you, when there is none)",
  "common.admissionsBriefLabel.actionTaskAssigneeUser": "A specific staff member",
  "common.admissionsBriefLabel.actionChannel": "Channel",
  "common.admissionsBriefLabel.actionChannelEmail": "Email",
  "common.admissionsBriefLabel.actionChannelSms": "SMS",
  "common.admissionsBriefLabel.actionChannelWhatsapp": "WhatsApp",
  "common.admissionsBriefLabel.actionSendMessageHint": "Creates a static list of these applicants, then opens the message composer with that list selected.",
  "common.admissionsBriefLabel.actionConfirmCreateList": "Create list",
  "common.admissionsBriefLabel.actionConfirmAssign": "Assign",
  "common.admissionsBriefLabel.actionConfirmTasks": "Create tasks",
  "common.admissionsBriefLabel.actionConfirmSend": "Create list and continue",
  "common.admissionsBriefLabel.actionLoading": "Counting applicants\u2026",
  "common.admissionsBriefLabel.actionFailed": "The action could not be completed.",
  "common.admissionsBriefLabel.actionNotAvailable": "This action isn't available for this block.",
  "common.admissionsBriefLabel.actionPopulationUnavailable": "This block can't be matched to an exact set of applicants, so nothing was changed.",
  "common.admissionsBriefLabel.actionNothingToDo": "No applicants match this block right now.",
  "common.admissionsBriefLabel.actionNothingToAssign": "Every applicant in this block already has an owner.",
  "common.admissionsBriefLabel.actionInvalidStaff": "Choose an active staff member.",
  "common.admissionsBriefLabel.actionListCreated": "List \u201c:name\u201d created with :count applicant(s).",
  "common.admissionsBriefLabel.actionOpenList": "Open list",
  "common.admissionsBriefLabel.actionListDescription": "Created from the Daily Brief block \u201c:section\u201d on :date.",
  "common.admissionsBriefLabel.actionDefaultListName": ":section \u2014 :date",
  "common.admissionsBriefLabel.actionDefaultTaskTitle": "Follow up: :section",
  "common.admissionsBriefLabel.actionAssignQueued": "Assigning :count applicant(s) to :owner. This runs in the background.",
  "common.admissionsBriefLabel.actionAssignQueuedWithSkipped": "Assigning :count applicant(s) to :owner in the background. :skipped already had an owner and were left unchanged.",
  "common.admissionsBriefLabel.actionTasksQueued": "Creating :count follow-up task(s) in the background.",
  "common.admissionsBriefLabel.sectionNewLeadsYesterday": "New leads yesterday",
  "common.admissionsBriefLabel.sectionReadyForPayment": "Accepted / ready for payment without payment",
  "common.admissionsBriefLabel.sectionStalledApplications": "Stalled applications",
  "common.admissionsBriefLabel.sectionSubmittedAwaitingReview": "Submitted applications awaiting review",
  "common.admissionsBriefLabel.sectionStudentsWithoutCohort": "Students without cohort assignment",
  "common.admissionsBriefLabel.sectionUnassignedLeadsApplicants": "Unassigned applicants",
  "common.admissionsBriefLabel.sectionUnassignedApplicants": "Unassigned applicants",
  "common.admissionsBriefLabel.sectionUnavailable": "Data unavailable for this tenant or your permissions.",
  "common.admissionsBriefLabel.sectionUnknown": "Section",
  "common.admissionsBriefLabel.criteriaHelp": "How :label is counted",
  "common.admissionsBriefLabel.criteriaSubmittedAwaitingReview": "Applicants whose latest submission status is Submitted, Under review, or Resubmitted.",
  "common.admissionsBriefLabel.criteriaMissingDocuments": "Applicants who have a submission and have not uploaded any files. One uploaded file removes them from this count.",
  "common.admissionsBriefLabel.criteriaReadyForPayment": "Applicants whose latest submission status is Ready for payment and who have at least one enabled invoice that is still unpaid. The Accepted status is not included.",
  "common.admissionsBriefLabel.criteriaStalledApplications": "Applicants with no admissions activity for at least :days days, a submission status that can still stall, no program or course cohort, and a contact status that is still before enrollment.",
  "common.admissionsBriefLabel.criteriaUnassignedApplicants": "Applicants who have no owner.",
  "common.admissionsBriefLabel.criteriaNewApplicantsYesterday": "Applicants created on :date.",
  "common.admissionsBriefLabel.criteriaApplicationsStartedYesterday": "Applications created on :date whose progress is still below 100%.",
  "common.admissionsBriefLabel.criteriaApplicationsSubmittedYesterday": "Applications that reached 100% progress on :date.",
  "common.admissionsBriefLabel.criteriaDepositsReceivedYesterday": "Quote Builder payments recorded on :date that are the first payment to meet that quote's deposit.",
  "common.admissionsBriefLabel.criteriaCohortCapacityRisks": "Cohorts starting in the next 90 days that are at least 80% full.",
  "common.admissionsBriefLabel.criteriaAttendanceExceptionsToday": "Lessons dated today with absent, late, or unmarked attendance.",
  "common.admissionsBriefLabel.criteriaAiFollowUpOperations": "Open AI follow-up work: pending approvals, escalations, failed or policy-blocked deliveries, contacts at the attempt limit, and replies that are past due.",
  "common.admissionsBriefLabel.criteriaTeamOverdueTasks": "Tasks that are not complete and were due before today, counted for every assignee.",
  "common.admissionsBriefLabel.criteriaLessonsScheduleRisks": "Lessons scheduled for today.",
  "common.admissionsBriefLabel.criteriaStudentsWithoutCohort": "Contacts at the Student stage with no enrollment, or with an enrollment that is not assigned to a cohort.",
  "common.admissionsBriefLabel.criteriaManagementCollectionsSnapshot": "Payments collected from the first day of this month through today.",
  "common.admissionsBriefLabel.stalledThreshold": "Stalled threshold: :days days",
  "common.admissionsBriefLabel.summaryHeading": "Summary",
  "common.admissionsBriefLabel.summaryExpand": "Show summary",
  "common.admissionsBriefLabel.summaryCollapse": "Hide summary",
  "common.admissionsBriefLabel.summaryIntro": "Admissions daily brief for :date.",
  "common.admissionsBriefLabel.summaryLine": ":label: :count",
  "common.admissionsBriefLabel.summarySectionDescription": "Deterministic digest text generated from predefined report results.",
  "common.admissionsBriefLabel.unassignedBreakdown": ":leads unassigned leads, :applicants unassigned applicants",
  "common.admissionsBriefLabel.unreadCount": ":count unread brief(s)",
  "common.agencyLabel.actionFailed": "Unable to complete that action right now.",
  "common.agencyLabel.active": "Active",
  "common.agencyLabel.addAgent": "Add Agent",
  "common.agencyLabel.addAnotherAgent": "Add Another Agent",
  "common.agencyLabel.addCreditMemo": "Add Credit Memo",
  "common.agencyLabel.addEstimate": "Add Estimate",
  "common.agencyLabel.addInvoice": "Add Invoice",
  "common.agencyLabel.addPayment": "Add Payment",
  "common.agencyLabel.addRefund": "Add Refund",
  "common.agencyLabel.agencies": "agencies",
  "common.agencyLabel.agenciesEmpty": "No agencies matched the current search or filters.",
  "common.agencyLabel.agentCommission": "Agent Commission",
  "common.agencyLabel.agentEmailInvalid": "Enter a valid agent email address.",
  "common.agencyLabel.agentEmailRequired": "Agent email is required.",
  "common.agencyLabel.agentName": "Agent Name",
  "common.agencyLabel.agentNameRequired": "Agent name is required.",
  "common.agencyLabel.agentRequired": "Add at least one complete agent invitation.",
  "common.agencyLabel.agentRow": "Agent :number",
  "common.agencyLabel.agents": "Agents",
  "common.agencyLabel.agentsCount": "Agents",
  "common.agencyLabel.agentsEmpty": "No agents are linked to this agency.",
  "common.agencyLabel.agentsTab": "Agents",
  "common.agencyLabel.applicants": "applicants",
  "common.agencyLabel.applicantsEmpty": "No applicants are linked to this agency.",
  "common.agencyLabel.applicantsTab": "Applicants",
  "common.agencyLabel.application": "Application",
  "common.agencyLabel.applicationStatus": "Application Status",
  "common.agencyLabel.approved": "Approved",
  "common.agencyLabel.back": "Back",
  "common.agencyLabel.backToList": "Back to Agencies",
  "common.agencyLabel.city": "City",
  "common.agencyLabel.commercialSection": "Commercial details",
  "common.agencyLabel.commercialSectionDescription": "Commission settings and related record counts.",
  "common.agencyLabel.commissionRate": "Commission Rate",
  "common.agencyLabel.commissionRateInvalid": "Enter a whole-number commission rate from 0 to 100.",
  "common.agencyLabel.commissionType": "Commission Type",
  "common.agencyLabel.country": "Country",
  "common.agencyLabel.createAgency": "Create Agency",
  "common.agencyLabel.createFailed": "Unable to create the agency. Review the form and try again.",
  "common.agencyLabel.createSuccess": "Agency created successfully.",
  "common.agencyLabel.createdAt": "Creation Date",
  "common.agencyLabel.currentBalance": "Current Balance",
  "common.agencyLabel.deleteAgency": "Delete",
  "common.agencyLabel.deleteAgencyConfirm": "Are you sure you want to delete this agency?",
  "common.agencyLabel.deleteAgentConfirm": "Are you sure you want to delete this agent?",
  "common.agencyLabel.deleteApplicantConfirm": "Are you sure you want to delete this applicant?",
  "common.agencyLabel.deletedSuccessfully": "Agency deleted successfully.",
  "common.agencyLabel.description": "Description",
  "common.agencyLabel.editAgency": "Edit",
  "common.agencyLabel.editAgencyPage": "Edit Agency",
  "common.agencyLabel.email": "Email",
  "common.agencyLabel.emailInvalid": "Enter a valid email address.",
  "common.agencyLabel.emailRequired": "Email is required.",
  "common.agencyLabel.financeTab": "Finance",
  "common.agencyLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.agencyLabel.id": "ID",
  "common.agencyLabel.importAgency": "Import Agents & Agencies",
  "common.agencyLabel.invitationRequired": "Choose whether to send an invitation.",
  "common.agencyLabel.inviteAgents": "Invite Agents",
  "common.agencyLabel.inviteAgentsDescription": "Add one or more agents to this agency and choose whether each invite email should be sent.",
  "common.agencyLabel.inviteAgentsFailed": "Unable to invite agents right now.",
  "common.agencyLabel.inviteAgentsRequired": "Enter a name and email for every agent row before sending invitations.",
  "common.agencyLabel.invitedAgents": "Invited Agents",
  "common.agencyLabel.invitedAgentsEmpty": "No invited agents yet.",
  "common.agencyLabel.invitedAgentsHint": "Add the agency users who should be created when this agency is saved.",
  "common.agencyLabel.invitingAgents": "Inviting Agents",
  "common.agencyLabel.locationSection": "Location",
  "common.agencyLabel.locationSectionDescription": "Mailing and geographic information for this agency.",
  "common.agencyLabel.name": "Name",
  "common.agencyLabel.nameRequired": "Name is required.",
  "common.agencyLabel.next": "Next",
  "common.agencyLabel.no": "No",
  "common.agencyLabel.notApproved": "Not approved",
  "common.agencyLabel.overviewTab": "Overview",
  "common.agencyLabel.pageTitle": "Agencies",
  "common.agencyLabel.phoneNumber": "Phone Number",
  "common.agencyLabel.pinnedNotes": "Pinned Notes",
  "common.agencyLabel.profileSection": "Profile",
  "common.agencyLabel.profileSectionDescription": "Core agency contact and approval details.",
  "common.agencyLabel.progress": "Progress",
  "common.agencyLabel.refundedAmount": "Refunded: :amount",
  "common.agencyLabel.removeAgent": "Remove agent",
  "common.agencyLabel.removeInviteRow": "Remove agent row",
  "common.agencyLabel.searchAgencies": "Search agencies by name or email",
  "common.agencyLabel.searchAgents": "Search agents by name or email",
  "common.agencyLabel.searchApplicants": "Search applicants by name, email, or agent",
  "common.agencyLabel.searchTransactions": "Search agency transactions by UID",
  "common.agencyLabel.selectCommissionType": "Select a Commission Type",
  "common.agencyLabel.sendInvitation": "Send Invitation",
  "common.agencyLabel.stepAgents": "Agents",
  "common.agencyLabel.stepAgentsHint": "Invite the initial agents for this recruiter hub.",
  "common.agencyLabel.stepAnnouncement": ":step (:current of :total)",
  "common.agencyLabel.stepDetails": "Recruiter Hub Information",
  "common.agencyLabel.stepDetailsHint": "Name, contact details, location, commission settings, and description.",
  "common.agencyLabel.stepProgress": "Step :current of :total",
  "common.agencyLabel.students": "Students",
  "common.agencyLabel.studentsCount": "Students",
  "common.agencyLabel.totalCredits": "Total Credits",
  "common.agencyLabel.totalInvoices": "Total Invoices",
  "common.agencyLabel.totalPayments": "Total Payments",
  "common.agencyLabel.transactionsEmpty": "No finance transactions are linked to this agency.",
  "common.agencyLabel.updateAgency": "Update Agency",
  "common.agencyLabel.updateFailed": "Unable to update the agency. Review the form and try again.",
  "common.agencyLabel.updateSuccess": "Agency updated successfully.",
  "common.agencyLabel.viewAgency": "View",
  "common.agencyLabel.wizardFooterAria": "Agency wizard actions",
  "common.agencyLabel.wizardNavigation": "Agency wizard navigation",
  "common.agencyLabel.yes": "Yes",
  "common.agentLabel.actionFailed": "Unable to complete that action right now.",
  "common.agentLabel.activityTab": "Activity",
  "common.agentLabel.addCreditMemo": "Add Credit Memo",
  "common.agentLabel.addEstimate": "Add Estimate",
  "common.agentLabel.addGroup": "Add Group",
  "common.agentLabel.addInvoice": "Add Invoice",
  "common.agentLabel.addNote": "Add Note",
  "common.agentLabel.addPayment": "Add Payment",
  "common.agentLabel.addRefund": "Add Refund",
  "common.agentLabel.application": "Application",
  "common.agentLabel.assignToGroup": "Assign to group",
  "common.agentLabel.back": "Back",
  "common.agentLabel.backToList": "Back to Agents",
  "common.agentLabel.bookingGroups": "booking groups",
  "common.agentLabel.bookingGroupsEmpty": "No group bookings are linked to this agent.",
  "common.agentLabel.chooseBookingGroup": "Choose a booking group before continuing.",
  "common.agentLabel.commissionRate": "Commission Rate",
  "common.agentLabel.commissionRateInvalid": "Enter a whole-number commission rate from 0 to 100.",
  "common.agentLabel.commissionType": "Commission Type",
  "common.agentLabel.confirmBooking": "Confirm Booking",
  "common.agentLabel.createGroup": "Create group",
  "common.agentLabel.createGroupBooking": "Create Group Booking",
  "common.agentLabel.createGroupBookingDescription": "Add a booking group for this agent.",
  "common.agentLabel.createGroupBookingFailed": "Unable to create the booking group. Review the form and try again.",
  "common.agentLabel.createGroupBookingSuccess": "Booking group was created successfully!",
  "common.agentLabel.createdAt": "Creation Date",
  "common.agentLabel.currentBalance": "Current Balance",
  "common.agentLabel.customFieldRequired": ":field is required.",
  "common.agentLabel.deleteAgent": "Delete Agent",
  "common.agentLabel.deleteAgentConfirm": "Are you sure you want to delete this agent?",
  "common.agentLabel.deleteBookingGroupConfirm": "Are you sure you want to delete this booking group?",
  "common.agentLabel.deleteStudentConfirm": "Are you sure you want to delete this student?",
  "common.agentLabel.description": "Description",
  "common.agentLabel.detailsTab": "Details",
  "common.agentLabel.downloadQuote": "Download Quote",
  "common.agentLabel.editAgent": "Edit Agent",
  "common.agentLabel.editAgentPage": "Edit Agent ? :name",
  "common.agentLabel.email": "Email",
  "common.agentLabel.emailInvalid": "Enter a valid email address.",
  "common.agentLabel.emailRequired": "Email is required.",
  "common.agentLabel.emails": "Emails",
  "common.agentLabel.expectedStudents": "Expected amount of students",
  "common.agentLabel.financeTab": "Finance",
  "common.agentLabel.firstName": "First Name",
  "common.agentLabel.firstNameRequired": "First name is required.",
  "common.agentLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.agentLabel.generate": "Generate",
  "common.agentLabel.generateGroupBookings": "Generate group bookings",
  "common.agentLabel.generateGroupBookingsFailed": "Unable to generate group bookings. Review the form and try again.",
  "common.agentLabel.generateGroupBookingsLoadFailed": "Unable to load the generate group bookings form.",
  "common.agentLabel.generateGroupBookingsModalDescription": "Choose a quote builder and booking group to start generating bookings.",
  "common.agentLabel.generateInvoice": "Generate Invoice",
  "common.agentLabel.groupBookingNameRequired": "Enter a group name before continuing.",
  "common.agentLabel.groupBookingsTab": "Group bookings",
  "common.agentLabel.isAdmin": "Is Admin",
  "common.agentLabel.lastName": "Last Name",
  "common.agentLabel.lastNameRequired": "Last name is required.",
  "common.agentLabel.latestMeetings": "Latest meetings",
  "common.agentLabel.latestNotes": "Latest notes",
  "common.agentLabel.meeting": "Meeting",
  "common.agentLabel.meetings": "Meetings",
  "common.agentLabel.meetingsEmpty": "No meetings are linked to this agent.",
  "common.agentLabel.name": "Name",
  "common.agentLabel.next": "Next",
  "common.agentLabel.noBookingGroupsForGenerate": "Create a booking group before generating bookings.",
  "common.agentLabel.noQuoteBuildersForGenerate": "No quote builders are available.",
  "common.agentLabel.notes": "Notes",
  "common.agentLabel.notesEmpty": "No notes are linked to this agent.",
  "common.agentLabel.pageTitle": "Agents",
  "common.agentLabel.phoneNumber": "Phone Number",
  "common.agentLabel.quoteBuilder": "Quote builder",
  "common.agentLabel.quotes": "Quotes",
  "common.agentLabel.refundedAmount": "Refunded: :amount",
  "common.agentLabel.resubscribe": "Resubscribe",
  "common.agentLabel.role": "Role",
  "common.agentLabel.roleRequired": "Role is required.",
  "common.agentLabel.scheduleMeeting": "Schedule Meeting",
  "common.agentLabel.searchBookingGroups": "Search booking groups by name or description",
  "common.agentLabel.searchStudents": "Search students by name, email, or contact type",
  "common.agentLabel.searchTransactions": "Search agent transactions by UID",
  "common.agentLabel.sectionBasics": "Agent basics",
  "common.agentLabel.sectionBasicsDesc": "Contact, role, agency, and current status.",
  "common.agentLabel.sectionCommercial": "Commercial details",
  "common.agentLabel.sectionCommercialDesc": "Commission and portal administration settings.",
  "common.agentLabel.sectionCustomFields": "Additional fields",
  "common.agentLabel.sectionCustomFieldsDesc": "School-defined details for this agent.",
  "common.agentLabel.selectBookingGroup": "Select group",
  "common.agentLabel.selectCommissionType": "Select a Commission Type",
  "common.agentLabel.selectQuoteBuilder": "Select quote builder",
  "common.agentLabel.selectRole": "Select a Role",
  "common.agentLabel.sendEmail": "Send E-mail",
  "common.agentLabel.stage": "Contact Type",
  "common.agentLabel.stepAnnouncement": ":step (:current of :total)",
  "common.agentLabel.stepCustomFields": "Custom Properties",
  "common.agentLabel.stepCustomFieldsHint": "School-defined fields for this agent.",
  "common.agentLabel.stepInformation": "Agent Information",
  "common.agentLabel.stepInformationHint": "Name, contact details, role, commission settings, and admin access.",
  "common.agentLabel.stepProgress": "Step :current of :total",
  "common.agentLabel.students": "students",
  "common.agentLabel.studentsEmpty": "No students are linked to this agent.",
  "common.agentLabel.studentsTab": "Students",
  "common.agentLabel.submissionStatus": "Submission Status",
  "common.agentLabel.totalCredits": "Total Credits",
  "common.agentLabel.totalInvoices": "Total Invoices",
  "common.agentLabel.totalPayments": "Total Payments",
  "common.agentLabel.transactionsEmpty": "No finance transactions are linked to this agent.",
  "common.agentLabel.unnamedAgent": "Unnamed Agent",
  "common.agentLabel.untitledNote": "Untitled note",
  "common.agentLabel.updateAgent": "Update Agent",
  "common.agentLabel.updateFailed": "Unable to update the agent. Review the form and try again.",
  "common.agentLabel.updateSuccess": "Agent updated successfully.",
  "common.agentLabel.wizardFooterAria": "Agent wizard actions",
  "common.agentLabel.wizardNavigation": "Agent wizard navigation",
  "common.aiAgentLabel.activate": "Activate",
  "common.aiAgentLabel.activateMapping": "Activate",
  "common.aiAgentLabel.activeNo": "No",
  "common.aiAgentLabel.activeYes": "Yes",
  "common.aiAgentLabel.aiAgents": "AI Agent Personas",
  "common.aiAgentLabel.aiAgentsSectionNav": "AI Agents sections",
  "common.aiAgentLabel.aiAgentsEmpty": "No AI agent personas matched the current search or filters.",
  "common.aiAgentLabel.allowGeneralKnowledge": "Allow general knowledge",
  "common.aiAgentLabel.allowedTopics": "Allowed Topics",
  "common.aiAgentLabel.answerCitationWithUrl": ":label (:url)",
  "common.aiAgentLabel.answerCitationWithoutUrl": ":label",
  "common.aiAgentLabel.answerCitationsHeading": "Sources",
  "common.aiAgentLabel.answerTitle": "Answer",
  "common.aiAgentLabel.archive": "Archive",
  "common.aiAgentLabel.askError": "We could not process your question. Please try again.",
  "common.aiAgentLabel.attachKnowledge": "Attach knowledge",
  "common.aiAgentLabel.attachKnowledgeBaseDescription": "Attach a knowledge base so all approved or indexed documents inside it are used for answers.",
  "common.aiAgentLabel.attachKnowledgeBaseNoOptions": "No knowledge bases are available to attach. Create one under Resources, approve its documents, or detach an existing mapping from this persona.",
  "common.aiAgentLabel.attachKnowledgeBaseNotAllowed": "Only active knowledge bases with approved or indexed documents can be attached.",
  "common.aiAgentLabel.attachKnowledgeBasePendingLabel": ":name (no approved documents yet)",
  "common.aiAgentLabel.attachKnowledgeBaseReadyLabel": ":name (:count ready)",
  "common.aiAgentLabel.attachKnowledgeDescription": "Attach one or more knowledge bases (website, files, or articles) or standalone documents.",
  "common.aiAgentLabel.attachMultipleHelper": "Select one or more items to attach in a single save.",
  "common.aiAgentLabel.attachPreferredVersionsHelper": "Each selected document uses its preferred approved version.",
  "common.aiAgentLabel.attachResource": "Attach Resource",
  "common.aiAgentLabel.attachResourceDescription": "Attach an approved or indexed knowledge resource to this persona.",
  "common.aiAgentLabel.attachResourceNotAllowed": "Only approved or indexed resources can be attached.",
  "common.aiAgentLabel.attachVersionNotAllowed": "The selected version must be approved before it can be attached.",
  "common.aiAgentLabel.attachedKnowledge": "Name",
  "common.aiAgentLabel.attachedKnowledgeBase": "Knowledge Base",
  "common.aiAgentLabel.attachedResource": "Resource",
  "common.aiAgentLabel.attachmentScope": "Scope",
  "common.aiAgentLabel.attachmentType": "Type",
  "common.aiAgentLabel.attachmentTypeCollection": "Knowledge base",
  "common.aiAgentLabel.attachmentTypeDocument": "Document",
  "common.aiAgentLabel.audienceAgent": "Agent",
  "common.aiAgentLabel.audienceApplicant": "Applicant",
  "common.aiAgentLabel.audienceEnrolledStudent": "Enrolled student",
  "common.aiAgentLabel.audienceParent": "Parent",
  "common.aiAgentLabel.audienceProspectiveStudent": "Prospective student",
  "common.aiAgentLabel.audiencePublic": "Public",
  "common.aiAgentLabel.audienceStaff": "Staff",
  "common.aiAgentLabel.audienceType": "Audience Type",
  "common.aiAgentLabel.audienceTypeRequired": "An audience type is required.",
  "common.aiAgentLabel.avatar": "Avatar",
  "common.aiAgentLabel.avatarHelp": "Optional persona avatar image. Upload a square JPG, PNG, WebP, or GIF up to 2 MB.",
  "common.aiAgentLabel.back": "Back",
  "common.aiAgentLabel.backToList": "Back to list",
  "common.aiAgentLabel.blockedTopics": "Blocked Topics",
  "common.aiAgentLabel.cancel": "Cancel",
  "common.aiAgentLabel.channelRequired": "A channel is required.",
  "common.aiAgentLabel.chatProviderNotConfigured": "AI chat provider is not configured. Set OPENAI_API_KEY or AI_AGENT_CHAT_API_KEY to enable grounded answers.",
  "common.aiAgentLabel.collapseSectionNav": "Collapse section navigation",
  "common.aiAgentLabel.conversationLoggingUnavailable": "AI agent conversation logging is not available for this tenant.",
  "common.aiAgentLabel.conversationNotFound": "The selected AI agent conversation could not be found.",
  "common.aiAgentLabel.conversationPersonaMismatch": "This conversation does not belong to the selected persona.",
  "common.aiAgentLabel.conversationsCount": "Conversations",
  "common.aiAgentLabel.createAiAgent": "Create AI Agent",
  "common.aiAgentLabel.createFailed": "Could not create the AI agent persona.",
  "common.aiAgentLabel.createFromTemplate": "Create From Template",
  "common.aiAgentLabel.createPersonaDescription": "Configure how this AI agent persona responds, what it can access, and who it serves.",
  "common.aiAgentLabel.deactivate": "Deactivate",
  "common.aiAgentLabel.deactivateMapping": "Deactivate",
  "common.aiAgentLabel.defaultFallbackAnswer": "I do not have enough approved information to answer that question right now.",
  "common.aiAgentLabel.defaultHandoffAnswer": "I cannot help with that request. A team member will follow up with you.",
  "common.aiAgentLabel.delete": "Delete",
  "common.aiAgentLabel.deleteConfirm": "Deleting this AI agent persona cannot be undone.",
  "common.aiAgentLabel.description": "Description",
  "common.aiAgentLabel.detailTabsLabel": "Persona detail tabs",
  "common.aiAgentLabel.duplicate": "Duplicate",
  "common.aiAgentLabel.duplicateActivePersonaResource": "An active mapping already exists for this persona, resource, and version.",
  "common.aiAgentLabel.edit": "Edit",
  "common.aiAgentLabel.editPersona": "Edit :name",
  "common.aiAgentLabel.emptyAnswer": "No answer was returned.",
  "common.aiAgentLabel.escalationReasonBlockedTopic": "Blocked topic",
  "common.aiAgentLabel.escalationReasonLowConfidence": "Low confidence",
  "common.aiAgentLabel.escalationReasonPolicyEscalation": "Policy escalation",
  "common.aiAgentLabel.escalationReasonProviderUnavailable": "Provider unavailable",
  "common.aiAgentLabel.escalationReasonResourceGap": "Resource gap",
  "common.aiAgentLabel.expandSectionNav": "Expand section navigation",
  "common.aiAgentLabel.fallbackMessage": "Fallback Message",
  "common.aiAgentLabel.feedbackTargetRequired": "A conversation and message are required for feedback.",
  "common.aiAgentLabel.fixErrorsBeforeContinue": "Complete the required fields before continuing.",
  "common.aiAgentLabel.handoffHelpText": "We could not answer this confidently. A team member can follow up with you.",
  "common.aiAgentLabel.handoffMessage": "Handoff Message",
  "common.aiAgentLabel.isActive": "Active",
  "common.aiAgentLabel.knowledgeBaseDocuments": "Documents",
  "common.aiAgentLabel.knowledgeBaseDocumentsCount": ":count documents",
  "common.aiAgentLabel.knowledgeBasesCount": "Knowledge bases",
  "common.aiAgentLabel.language": "Language",
  "common.aiAgentLabel.languages": "Languages",
  "common.aiAgentLabel.languagesHelp": "Select every language this persona may reply in. The first language is the primary default when no student preference or detected language matches.",
  "common.aiAgentLabel.languageCatalan": "Catalan",
  "common.aiAgentLabel.languageEnglish": "English",
  "common.aiAgentLabel.languageFrench": "French",
  "common.aiAgentLabel.languageGreek": "Greek",
  "common.aiAgentLabel.languageItalian": "Italian",
  "common.aiAgentLabel.languagePortugueseBrazil": "Portuguese (Brazil)",
  "common.aiAgentLabel.languageSpanish": "Spanish",
  "common.aiAgentLabel.languageTurkish": "Turkish",
  "common.aiAgentLabel.loadingAnswer": "Finding an answer...",
  "common.aiAgentLabel.lowConfidenceThreshold": "Low confidence threshold",
  "common.aiAgentLabel.mappingActive": "Active mapping",
  "common.aiAgentLabel.mappingActiveDescription": "When enabled, this resource is included in the persona's knowledge retrieval.",
  "common.aiAgentLabel.messageNotFound": "The selected AI agent message could not be found.",
  "common.aiAgentLabel.mustUseResources": "Must use resources",
  "common.aiAgentLabel.name": "Name",
  "common.aiAgentLabel.nameRequired": "A persona name is required.",
  "common.aiAgentLabel.next": "Next",
  "common.aiAgentLabel.no": "No",
  "common.aiAgentLabel.notSet": "Not set",
  "common.aiAgentLabel.personaActivated": "AI agent persona activated.",
  "common.aiAgentLabel.personaArchived": "AI agent persona archived.",
  "common.aiAgentLabel.personaCreated": "AI agent persona created successfully.",
  "common.aiAgentLabel.personaDeactivated": "AI agent persona deactivated.",
  "common.aiAgentLabel.personaDeleted": "AI agent persona deleted.",
  "common.aiAgentLabel.personaDuplicated": "AI agent persona duplicated successfully.",
  "common.aiAgentLabel.personaKnowledgeAttached": "Knowledge attached to persona.",
  "common.aiAgentLabel.personaKnowledgeBaseAttached": "Knowledge base attached to persona.",
  "common.aiAgentLabel.personaKnowledgeBaseNotFound": "This persona is not linked to the selected knowledge base.",
  "common.aiAgentLabel.personaKnowledgeBaseRemoved": "Knowledge base mapping removed.",
  "common.aiAgentLabel.personaKnowledgeBaseUpdated": "Knowledge base mapping updated.",
  "common.aiAgentLabel.personaKnowledgeBasesDescription": "Attach a whole knowledge base to include every approved or indexed document it contains.",
  "common.aiAgentLabel.personaKnowledgeBasesEmpty": "No knowledge bases are attached to this persona yet.",
  "common.aiAgentLabel.personaKnowledgeBasesHeading": "Knowledge Bases",
  "common.aiAgentLabel.personaKnowledgeCount": "Items",
  "common.aiAgentLabel.personaKnowledgeEmpty": "No knowledge is attached to this persona yet.",
  "common.aiAgentLabel.personaKnowledgeUnifiedDescription": "Knowledge bases include every approved document inside them. Documents are pinned individually.",
  "common.aiAgentLabel.personaNotActive": "This AI agent persona is not active.",
  "common.aiAgentLabel.personaNotFound": "The selected AI agent persona could not be found.",
  "common.aiAgentLabel.personaNotVisibleForAudience": "This AI assistant is not available for your account.",
  "common.aiAgentLabel.personaNotVisibleForChannel": "This AI assistant is not available on this channel.",
  "common.aiAgentLabel.personaPublished": "AI agent persona published.",
  "common.aiAgentLabel.programScope": "Programs",
  "common.aiAgentLabel.programScopeAllPrograms": "All programs",
  "common.aiAgentLabel.programScopeHelp": "Optional. When set, this persona is used only for students linked to the selected program(s). Leave empty for a global fallback persona for the audience type.",
  "common.aiAgentLabel.personaResourceAttached": "Knowledge resource attached to persona.",
  "common.aiAgentLabel.personaResourceNotFound": "This persona is not linked to the selected resource.",
  "common.aiAgentLabel.personaResourceRemoved": "Persona resource mapping removed.",
  "common.aiAgentLabel.personaResourceUpdated": "Persona resource mapping updated.",
  "common.aiAgentLabel.personaResourcesDescription": "Indexed resources are preferred for student-facing answers. Approved resources can also be attached.",
  "common.aiAgentLabel.personaResourcesEmpty": "No knowledge resources are attached to this persona yet.",
  "common.aiAgentLabel.personaResourcesHeading": "Individual Resources",
  "common.aiAgentLabel.personaUnpublished": "AI agent persona unpublished.",
  "common.aiAgentLabel.personaUpdated": "AI agent persona updated successfully.",
  "common.aiAgentLabel.preferredVersion": "Preferred",
  "common.aiAgentLabel.priority": "Priority",
  "common.aiAgentLabel.publish": "Publish",
  "common.aiAgentLabel.questionPlaceholder": "Type your question here...",
  "common.aiAgentLabel.questionRequired": "A question is required.",
  "common.aiAgentLabel.questionTooLong": "Your question is too long. Please shorten it and try again.",
  "common.aiAgentLabel.relatedSources": "Related sources: :sources",
  "common.aiAgentLabel.removeKnowledgeBaseMapping": "Remove",
  "common.aiAgentLabel.removeKnowledgeBaseMappingConfirm": "Remove this knowledge base from the persona?",
  "common.aiAgentLabel.removeMapping": "Remove",
  "common.aiAgentLabel.removeMappingConfirm": "Remove this resource from the persona?",
  "common.aiAgentLabel.requestHandoff": "Request help from staff",
  "common.aiAgentLabel.requireHandoffWhenLowConfidence": "Require handoff when low confidence",
  "common.aiAgentLabel.resourceVersion": "Version",
  "common.aiAgentLabel.resourceVersionLabel": "Version :number",
  "common.aiAgentLabel.resourcesCount": "Resources",
  "common.aiAgentLabel.runTest": "Run test",
  "common.aiAgentLabel.savePersona": "Save Persona",
  "common.aiAgentLabel.saving": "Saving...",
  "common.aiAgentLabel.searchAiAgents": "Search AI agent personas by name, audience, language, or tone",
  "common.aiAgentLabel.searchPersonaKnowledge": "Search attached knowledge by name or status",
  "common.aiAgentLabel.searchPersonaKnowledgeBases": "Search attached knowledge bases by name or status",
  "common.aiAgentLabel.searchPersonaResources": "Search attached resources by title, category, or status",
  "common.aiAgentLabel.schoolFacts": "School facts",
  "common.aiAgentLabel.schoolFactsBuiltinHint": "The bundled student-support knowledge uses these. Fill in every required fact (*) before the assistant goes live. Click a token to copy it.",
  "common.aiAgentLabel.schoolFactsAllRequiredSet": "All required facts are set.",
  "common.aiAgentLabel.schoolFactsCopyToken": "Copy token",
  "common.aiAgentLabel.schoolFactsTokenCopied": "Copied",
  "common.aiAgentLabel.schoolFactsCopyFailed": "We couldn't copy the token. Select it and copy it manually.",
  "common.aiAgentLabel.schoolFactsNotUsed": "Not used yet",
  "common.aiAgentLabel.schoolFactsMissingCount": ":count required fact(s) still need a value.",
  "common.aiAgentLabel.schoolFactsFieldSaved": "Saved. AI answers use the new value right away.",
  "common.aiAgentLabel.schoolFactsAdoptionSection": "Import",
  "common.aiAgentLabel.schoolFactsAdoptionScanning": "Scanning knowledge files…",
  "common.aiAgentLabel.schoolFactsCustomSectionHint": "Create your own tokens for details the built-in list doesn't cover, like a parking policy or a scholarship deadline.",
  "common.aiAgentLabel.schoolFactsCustomEmptyTitle": "No custom variables yet",
  "common.aiAgentLabel.schoolFactsCustomDeleteConfirm": "Delete \":label\"? Answers from resources that contain :token will no longer have a value for it. This can't be undone.",
  "common.aiAgentLabel.schoolFactsCustomKeyHelp": "Optional. Leave blank to generate one from the name. Use lowercase letters, numbers, and underscores, starting with a letter.",
  "common.aiAgentLabel.schoolFactsCustomLabelPlaceholder": "e.g. Parking policy",
  "common.aiAgentLabel.schoolFactsCustomTokenPreview": "Your token:",
  "common.aiAgentLabel.schoolFactsAdoptionConfirm": "This copies the scanned values into school facts and creates new versions of the affected resources. Those versions need review before the assistant uses them.",
  "common.aiAgentLabel.schoolFactsCustomAdd": "Add variable",
  "common.aiAgentLabel.schoolFactsCustomCreateTitle": "Create knowledge variable",
  "common.aiAgentLabel.schoolFactsCustomCreated": "Variable created. Paste its token into your knowledge resources.",
  "common.aiAgentLabel.schoolFactsCustomDelete": "Delete variable",
  "common.aiAgentLabel.schoolFactsCustomDeleteFailed": "We could not delete that variable.",
  "common.aiAgentLabel.schoolFactsCustomDeleted": "Variable deleted.",
  "common.aiAgentLabel.schoolFactsCustomHint": "Name the detail you want to reuse. You'll get a token to paste into any knowledge resource.",
  "common.aiAgentLabel.schoolFactsCustomKey": "Token key",
  "common.aiAgentLabel.schoolFactsCustomKeyExists": "That key is already in use.",
  "common.aiAgentLabel.schoolFactsCustomKeyInvalid": "Use lowercase letters, numbers, and underscores; start with a letter.",
  "common.aiAgentLabel.schoolFactsCustomKeyReserved": "That key is reserved for a built-in school fact.",
  "common.aiAgentLabel.schoolFactsCustomLabel": "Display name",
  "common.aiAgentLabel.schoolFactsCustomSection": "Your variables",
  "common.aiAgentLabel.schoolFactsCustomSource": "Custom variable",
  "common.aiAgentLabel.schoolFactsDiscoveredSource": "Found in your resources — add a value",
  "common.aiAgentLabel.schoolFactsBuiltinSection": "Built-in school facts",
  "common.aiAgentLabel.schoolFactsToken": "Token",
  "common.aiAgentLabel.schoolFactsUnknownKey": "Unknown variable key.",
  "common.aiAgentLabel.schoolFactsAdoptionApply": "Import values",
  "common.aiAgentLabel.schoolFactsAdoptionApplyFailed": "We could not apply school fact adoption. Please try again.",
  "common.aiAgentLabel.schoolFactsAdoptionApplied": "Adopted :facts school fact(s) and created :resources updated resource version(s) for review.",
  "common.aiAgentLabel.schoolFactsAdoptionConflicts": "These facts have different values in different files. Fix them in the knowledge files, or set them on this page, then scan again:",
  "common.aiAgentLabel.schoolFactsAdoptionHint": "Copies values from hand-edited knowledge files into school facts and swaps them for tokens.",
  "common.aiAgentLabel.schoolFactsAdoptionNothingToDo": "Nothing to import. No edited student-support files were found.",
  "common.aiAgentLabel.schoolFactsAdoptionPreview": "Scan knowledge files",
  "common.aiAgentLabel.schoolFactsAdoptionPreviewFailed": "We couldn't scan your knowledge files. Please try again.",
  "common.aiAgentLabel.schoolFactsAdoptionTitle": "Import values from edited knowledge files",
  "common.aiAgentLabel.schoolFactsCompletenessHint": ":filled of :total required facts set",
  "common.aiAgentLabel.schoolFactsCompletenessTitle": "Go-live readiness",
  "common.aiAgentLabel.schoolFactsRequired": "Required",
  "common.aiAgentLabel.schoolFactsSaved": "School facts saved. Shared tokens update answers immediately — no resource re-approval needed.",
  "common.aiAgentLabel.schoolFactsShowResources": "Resources",
  "common.aiAgentLabel.schoolFactsSourceAutofill": "Autofilled from school settings",
  "common.aiAgentLabel.schoolFactsSourceEmpty": "Not set yet",
  "common.aiAgentLabel.schoolFactsSourceManual": "Edited by staff",
  "common.aiAgentLabel.schoolFactsUsedInResources": "Used in :count resource(s)",
  "common.aiAgentLabel.schoolFactsUsageLoadFailed": "Couldn't load the resources that use this token. Try again.",
  "common.aiAgentLabel.sectionAnswerPolicy": "Answer Policy",
  "common.aiAgentLabel.sectionAnswerPolicyDesc": "How it grounds answers, cites sources, and escalates.",
  "common.aiAgentLabel.sectionBasics": "Basics",
  "common.aiAgentLabel.sectionBasicsDesc": "Identity and how this persona presents itself.",
  "common.aiAgentLabel.sectionMessages": "System Prompt",
  "common.aiAgentLabel.sectionMessagesDesc": "The system prompt and the replies it falls back to.",
  "common.aiAgentLabel.sectionTopics": "Topics",
  "common.aiAgentLabel.sectionTopicsDesc": "Set optional allowed topics and hard-blocked topics. Leave Allowed empty for no topic restriction. Blocked always wins.",
  "common.aiAgentLabel.sendQuestion": "Send",
  "common.aiAgentLabel.sending": "Sending...",
  "common.aiAgentLabel.showSources": "Show sources",
  "common.aiAgentLabel.slug": "Slug",
  "common.aiAgentLabel.slugHelp": "Leave blank to generate automatically from the name.",
  "common.aiAgentLabel.sourcesTitle": "Sources",
  "common.aiAgentLabel.status": "Status",
  "common.aiAgentLabel.statusActive": "Active",
  "common.aiAgentLabel.statusArchived": "Archived",
  "common.aiAgentLabel.statusDraft": "Draft",
  "common.aiAgentLabel.statusInactive": "Inactive",
  "common.aiAgentLabel.statusRequired": "A status is required.",
  "common.aiAgentLabel.stepAnswerPolicy": "Answer policy",
  "common.aiAgentLabel.stepAnswerPolicyHint": "Set retrieval rules and escalation behavior.",
  "common.aiAgentLabel.stepBasics": "Basics",
  "common.aiAgentLabel.stepBasicsHint": "Name the persona and define who it serves.",
  "common.aiAgentLabel.stepMessages": "Messages",
  "common.aiAgentLabel.stepMessagesHint": "Configure prompts and fallback responses.",
  "common.aiAgentLabel.stepProgress": "Step :current of :total",
  "common.aiAgentLabel.stepReview": "Review",
  "common.aiAgentLabel.stepReviewHint": "Confirm settings before creating the persona.",
  "common.aiAgentLabel.stepTopics": "Topics",
  "common.aiAgentLabel.stepTopicsHint": "Control which subjects the persona may discuss.",
  "common.aiAgentLabel.studentContextRequired": "You must be signed in as a student to use this assistant.",
  "common.aiAgentLabel.studentDataAccess": "Student data access",
  "common.aiAgentLabel.studentDataAccessFull": "Full",
  "common.aiAgentLabel.studentDataAccessLimited": "Limited",
  "common.aiAgentLabel.studentDataAccessNone": "None",
  "common.aiAgentLabel.studentDataAccessReadOnly": "Read only",
  "common.aiAgentLabel.suggestedQuestionsTitle": "Suggested questions",
  "common.aiAgentLabel.systemPrompt": "System Prompt",
  "common.aiAgentLabel.tabAudit": "Audit history",
  "common.aiAgentLabel.tabKnowledge": "Knowledge",
  "common.aiAgentLabel.tabResources": "Resources",
  "common.aiAgentLabel.tabSettings": "Settings",
  "common.aiAgentLabel.tabTesting": "Testing",
  "common.aiAgentLabel.tabRolePlay": "Roleplay",
  "common.aiAgentLabel.rolePlayDescription": "Practice with this persona. Nothing is saved.",
  "common.aiAgentLabel.rolePlayTranscriptHeading": "Roleplay",
  "common.aiAgentLabel.rolePlayTranscriptEmptyHelp": "Ask a question and send it. Replies stay here so you can continue the conversation.",
  "common.aiAgentLabel.rolePlayYou": "You",
  "common.aiAgentLabel.rolePlayReset": "Reset Roleplay",
  "common.aiAgentLabel.rolePlaySend": "Send",
  "common.aiAgentLabel.rolePlayLatency": "Latency",
  "common.aiAgentLabel.rolePlayLatencyMs": ":ms ms",
  "common.aiAgentLabel.rolePlayAnswerMeta": "Answer meta",
  "common.aiAgentLabel.rolePlayChannel": "Channel",
  "common.aiAgentLabel.rolePlayChannelEmail": "Email",
  "common.aiAgentLabel.rolePlayChannelSms": "SMS",
  "common.aiAgentLabel.rolePlayChannelMessage": "Messages",
  "common.aiAgentLabel.rolePlayChannelVoice": "Voice",
  "common.aiAgentLabel.rolePlaySuggestedFollowUps": "Suggested follow-ups:",
  "common.aiAgentLabel.rolePlaySuggestedFollowUpsFill": "Send this follow-up",
  "common.aiAgentLabel.rolePlayComposerPlaceholder": "Write a message…",
  "common.aiAgentLabel.rolePlayComposerHint": "Enter to send. Shift+Enter for a new line. Context stays for this chat.",
  "common.aiAgentLabel.rolePlayContextToggle": "Context",
  "common.aiAgentLabel.rolePlayContextHint": "Choose a program and campus once. Scoped knowledge is included only when both match.",
  "common.aiAgentLabel.rolePlayContextDone": "Done",
  "common.aiAgentLabel.rolePlayContextProgram": "Program",
  "common.aiAgentLabel.rolePlayContextCampus": "Campus",
  "common.aiAgentLabel.rolePlayContextNone": "None",
  "common.aiAgentLabel.rolePlayContextExtra": "Extra fields",
  "common.aiAgentLabel.rolePlayContextExtraHint": "Optional key and value pairs sent with every message.",
  "common.aiAgentLabel.rolePlayContextApplied": ":count fields",
  "common.aiAgentLabel.rolePlayThinking": "Replying…",
  "common.aiAgentLabel.templateAfterHoursAdmissionsDescription": "Inbound-only admissions support for after-hours calls, with disclosure, consent, escalation, and on-call handoff guardrails.",
  "common.aiAgentLabel.templateAfterHoursAdmissionsFallback": "I do not have enough confirmed school information to answer that. I can help you reach the on-call admissions team.",
  "common.aiAgentLabel.templateAfterHoursAdmissionsHandoff": "I can help you reach the on-call admissions team. Please hold.",
  "common.aiAgentLabel.templateAfterHoursAdmissionsName": "After-hours Admissions",
  "common.aiAgentLabel.templateAutomationFollowUpDescription": "Automation follow-up for email, SMS, and portal messages. Signs and sends as the contact's assigned admissions owner.",
  "common.aiAgentLabel.templateAutomationFollowUpName": "Automation Follow-Up",
  "common.aiAgentLabel.templateCreated": "Persona created from template.",
  "common.aiAgentLabel.templateNotFound": "Persona template not found.",
  "common.aiAgentLabel.templatePromptMissing": "Persona template prompt file is missing.",
  "common.aiAgentLabel.templateUse": "Use template",
  "common.aiAgentLabel.templatesHint": "Start from a support or after-hours persona. Attach your school Knowledge Base, then enable AI Voice when needed.",
  "common.aiAgentLabel.templatesTitle": "Student support and after-hours templates",
  "common.aiAgentLabel.testAnswer": "Answer",
  "common.aiAgentLabel.testBlockedTopic": "Matched blocked topic",
  "common.aiAgentLabel.testBlockedTopicDecision": "Blocked-topic decision",
  "common.aiAgentLabel.testBlockedTopicDetected": "Blocked topic detected",
  "common.aiAgentLabel.testChannel": "Channel",
  "common.aiAgentLabel.testChannelStaffPreview": "Staff preview",
  "common.aiAgentLabel.testChannelStudentPortal": "Student portal",
  "common.aiAgentLabel.testCitationLabel": "Citation",
  "common.aiAgentLabel.testConfidence": "Confidence",
  "common.aiAgentLabel.testContentPreview": "Content preview",
  "common.aiAgentLabel.testDescription": "Ask a sample question to preview how this persona answers before you activate it.",
  "common.aiAgentLabel.testEscalationDecision": "Escalation decision",
  "common.aiAgentLabel.testEscalationReason": "Reason",
  "common.aiAgentLabel.testEscalationRequired": "Escalation required",
  "common.aiAgentLabel.testFailed": "Could not run the persona test.",
  "common.aiAgentLabel.testHeadingPath": "Heading",
  "common.aiAgentLabel.testLowConfidence": "Low confidence",
  "common.aiAgentLabel.testMatchedChunks": "Matched chunks",
  "common.aiAgentLabel.testMatchedChunksDescription": "Knowledge chunks retrieved for this preview question.",
  "common.aiAgentLabel.testMatchedChunksEmpty": "No chunks matched this question.",
  "common.aiAgentLabel.testPreviewNotice": "Preview tests do not create student conversations or message history. Results are for staff review only.",
  "common.aiAgentLabel.testQuestion": "Question",
  "common.aiAgentLabel.testQuestionPlaceholder": "Ask the persona a question your students might ask?",
  "common.aiAgentLabel.testRank": "Rank",
  "common.aiAgentLabel.testRelevanceScore": "Relevance",
  "common.aiAgentLabel.testResourceGap": "Resource gap",
  "common.aiAgentLabel.testResourceTitle": "Resource",
  "common.aiAgentLabel.testSourceUrl": "Source URL",
  "common.aiAgentLabel.testSources": "Source resources",
  "common.aiAgentLabel.testSourcesDescription": "Resources cited for the generated answer.",
  "common.aiAgentLabel.testSourcesEmpty": "No sources were returned for this test.",
  "common.aiAgentLabel.testUserContext": "Mock user context (optional)",
  "common.aiAgentLabel.testUserContextHelp": "Optional key/value fields merged into retrieval and answer context when you run the test.",
  "common.aiAgentLabel.testUserContextInvalid": "Mock user context must be valid JSON object.",
  "common.aiAgentLabel.testUserContextPlaceholder": "{ \"program\": \"Business Administration\", \"campus\": \"Main\" }",
  "common.aiAgentLabel.tone": "Tone",
  "common.aiAgentLabel.toneConversational": "Conversational",
  "common.aiAgentLabel.toneFormal": "Formal",
  "common.aiAgentLabel.toneFriendly": "Friendly",
  "common.aiAgentLabel.toneGuidanceConversational": "Write as if speaking directly with the student in a natural, easy-to-follow way. Keep sentences concise and engaging.",
  "common.aiAgentLabel.toneGuidanceDefault": "Write consistently in a :tone voice across word choice, warmth, and formality.",
  "common.aiAgentLabel.toneGuidanceFallback": "Write in a clear, helpful voice appropriate for a school assistant.",
  "common.aiAgentLabel.toneGuidanceFormal": "Use precise, structured language with a respectful and official tone. Avoid contractions and casual phrasing.",
  "common.aiAgentLabel.toneGuidanceFriendly": "Be warm, welcoming, and encouraging. Use plain language and a helpful, human voice.",
  "common.aiAgentLabel.toneGuidanceProfessional": "Be clear, respectful, and businesslike. Use complete sentences and avoid slang while remaining approachable.",
  "common.aiAgentLabel.toneGuidanceSupportive": "Be empathetic, reassuring, and patient. Acknowledge concerns and guide the student with encouragement.",
  "common.aiAgentLabel.toneProfessional": "Professional",
  "common.aiAgentLabel.toneSupportive": "Supportive",
  "common.aiAgentLabel.topicsHelp": "Add one topic per row. Use Add topic for more.",
  "common.aiAgentLabel.unpublish": "Unpublish",
  "common.aiAgentLabel.updateFailed": "Could not update the AI agent persona.",
  "common.aiAgentLabel.updatedAt": "Updated",
  "common.aiAgentLabel.viewKnowledgeBase": "View knowledge base",
  "common.aiAgentLabel.viewResource": "View Resource",
  "common.aiAgentLabel.voiceActionFailed": "Voice action failed.",
  "common.aiAgentLabel.voiceActiveProvider": "Active plugin",
  "common.aiAgentLabel.voiceAgentId": "Agent ID",
  "common.aiAgentLabel.voiceAutoSyncHint": "When on, prompt and related persona edits sync to the voice provider automatically.",
  "common.aiAgentLabel.voiceAutoSyncLabel": "Auto-sync prompt",
  "common.aiAgentLabel.voiceBindingHint": "",
  "common.aiAgentLabel.voiceBindingTitle": "AI Voice",
  "common.aiAgentLabel.voiceCallAction": "Start AI Voice Call",
  "common.aiAgentLabel.voiceCallBridgeRequired": "OpenAI Live needs a public bridge WebSocket URL before placing calls.",
  "common.aiAgentLabel.voiceCallConnecting": "Starting...",
  "common.aiAgentLabel.voiceCallContextNote": "Additional notes",
  "common.aiAgentLabel.voiceCallContextNotePlaceholder": "Optional extra context for the agent (reminders, talking points, etc.)",
  "common.aiAgentLabel.voiceCallInvoice": "Invoice",
  "common.aiAgentLabel.voiceCallInvoiceDue": "due :date",
  "common.aiAgentLabel.voiceCallApplicationForm": "Application form",
  "common.aiAgentLabel.voiceCallApplicationFormPlaceholder": "Select the application form to use",
  "common.aiAgentLabel.voiceCallNoApplicationForms": "No application forms are available.",
  "common.aiAgentLabel.voiceCallApplicationFormInvalid": "Choose a valid application form.",
  "common.aiAgentLabel.voiceCallInvoiceInvalid": "Choose an unpaid invoice that belongs to this student.",
  "common.aiAgentLabel.voiceCallInvoicePlaceholder": "Select the unpaid invoice to discuss",
  "common.aiAgentLabel.voiceCallNoUnpaidInvoices": "This student has no unpaid invoices, so an invoice reminder call cannot be started.",
  "common.aiAgentLabel.voiceCallOpeningAdmissionsPrograms": "I'm calling to help with any questions about our programs.",
  "common.aiAgentLabel.voiceCallOpeningApplicationStatus": "I'm calling with an update on your application.",
  "common.aiAgentLabel.voiceCallOpeningAppointments": "I'm calling to set up a time for you to meet with our admissions team.",
  "common.aiAgentLabel.voiceCallOpeningDormantReengagement": "I'm calling to see if you'd like a short conversation with our admissions team.",
  "common.aiAgentLabel.voiceCallOpeningEnrolledServices": "I'm calling to check in on how things are going with your studies.",
  "common.aiAgentLabel.voiceCallOpeningHowToApply": "I'm calling to help you with your application.",
  "common.aiAgentLabel.voiceCallOpeningInvoiceReminder": "I'm calling about your student account.",
  "common.aiAgentLabel.voiceCallGoalSurvey": "Walk them through a survey",
  "common.aiAgentLabel.voiceCallGoalHintSurvey": "The AI walks the contact through a form by phone and saves their answers.",
  "common.aiAgentLabel.voiceCallOpeningSurvey": "I'm calling to run a short survey.",
  "common.automationLabel.fieldAiVoiceSurveyForm": "Survey form",
  "common.automationLabel.fieldAiVoiceSurveyFormHelp": "When Call goal is Survey, the AI agent uses this form for voice questions and prefilled survey links.",
  "common.callLogLabel.viewCallLogShort": "Call log",
  "common.aiAgentLabel.voiceCallDescription": "Place an outbound AI phone call to :name using a voice-enabled persona.",
  "common.aiAgentLabel.voiceCallFailed": "Unable to start the AI voice call.",
  "common.aiAgentLabel.voiceCallFeatureDisabled": "AI voice calling is disabled for this school.",
  "common.aiAgentLabel.voiceCallFrom": "Call from",
  "common.aiAgentLabel.voiceCallGoal": "Call goal",
  "common.aiAgentLabel.voiceCallGoalAdmissionsPrograms": "Answer admissions & program questions",
  "common.aiAgentLabel.voiceCallGoalAfterHoursInbound": "Answer after-hours calls",
  "common.aiAgentLabel.voiceCallGoalApplicationStatus": "Update on application status",
  "common.aiAgentLabel.voiceCallGoalAppointments": "Book or confirm an appointment",
  "common.aiAgentLabel.voiceCallGoalCustom": "Write my own goal",
  "common.aiAgentLabel.voiceCallGoalDormantReengagement": "Re-engage a dormant lead",
  "common.aiAgentLabel.voiceCallGoalCustomField": "Describe the call goal",
  "common.aiAgentLabel.voiceCallGoalCustomPlaceholder": "Describe what the AI agent should accomplish on this call",
  "common.aiAgentLabel.voiceCallGoalEnrolledServices": "Support an enrolled student",
  "common.aiAgentLabel.voiceCallGoalHintAdmissionsPrograms": "The AI agent answers questions about programs, campuses, start dates and admission requirements, and can text or email the application link. Add what the student asked about in the context note.",
  "common.aiAgentLabel.voiceCallGoalHintAfterHoursInbound": "For inbound calls after hours: the AI agent identifies the caller, answers what it can, and books an appointment or takes a message.",
  "common.aiAgentLabel.voiceCallGoalHintApplicationStatus": "The AI agent explains where the student's application stands and what is still missing, and can send the portal link. It never promises an admission decision.",
  "common.aiAgentLabel.voiceCallGoalHintAppointments": "The AI agent offers to book or confirm an admissions phone call or campus tour when the student is ready.",
  "common.aiAgentLabel.voiceCallGoalHintCustom": "Write the goal yourself below: say what should be done by the end of the call. The AI agent still follows the school's standard call rules.",
  "common.aiAgentLabel.voiceCallGoalHintDormantReengagement": "The AI agent invites someone who has gone quiet to book a short admissions meeting. If they are not interested, it asks once why and stops.",
  "common.aiAgentLabel.voiceCallGoalHintEnrolledServices": "For enrolled students: the AI agent helps with campus services and schedules and says who to contact next. It cannot change grades, schedules or financial records.",
  "common.aiAgentLabel.voiceCallGoalHintHowToApply": "The AI agent explains how to apply and which documents are needed, and can text or email the application link. Best for students who have not applied yet.",
  "common.aiAgentLabel.voiceCallGoalHintInvoiceReminder": "The AI agent discusses one unpaid invoice (number, balance, due date) and agrees a payment next step. Pick the invoice below. No payment is taken on the call; the payment link is emailed afterwards.",
  "common.aiAgentLabel.voiceCallGoalHintParentGuardianPrivacy": "The AI agent speaks with a parent or guardian about admissions without sharing the student's private details.",
  "common.aiAgentLabel.voiceCallGoalHowToApply": "Guide them through applying",
  "common.aiAgentLabel.voiceCallGoalInvoiceReminder": "Remind about an unpaid invoice",
  "common.aiAgentLabel.voiceCallGoalParentGuardianPrivacy": "Talk with a parent or guardian",
  "common.aiAgentLabel.voiceCallGoalPlaceholder": "e.g. Book an admissions meeting as soon as possible, or ask them to complete their application",
  "common.aiAgentLabel.voiceCallGoalSelectPlaceholder": "Select a call goal",
  "common.aiAgentLabel.voiceCallLogPending": "AI voice call in progress?",
  "common.aiAgentLabel.voiceCallInboundPersonaForbidden": "The after-hours persona answers inbound calls only and cannot place outbound AI voice calls.",
  "common.aiAgentLabel.voiceCallNoAgent": "No voice agent is available. Enable AI Voice on a persona first.",
  "common.aiAgentLabel.voiceCallNoPersonas": "No active personas with AI Voice enabled. Enable AI Voice on a persona first.",
  "common.aiAgentLabel.voiceCallNoStudentPhone": "This contact has no valid phone number.",
  "common.aiAgentLabel.voiceCallNoUsablePersona": "No usable voice-call persona is available.",
  "common.aiAgentLabel.voiceCallPersona": "AI Persona",
  "common.aiAgentLabel.voiceCallProgramOnFile": "Program on file: :program",
  "common.aiAgentLabel.voiceCallCampusOnFile": "Campus: :campus",
  "common.aiAgentLabel.voiceCallPersonaPlaceholder": "Select a persona",
  "common.aiAgentLabel.voiceCallStaffPersonaForbidden": "Staff personas cannot be used for AI voice calls.",
  "common.aiAgentLabel.voiceCallStart": "Start call",
  "common.aiAgentLabel.navScheduledCalls": "Scheduled calls",
  "common.aiAgentLabel.scheduledCallsTitle": "Scheduled calls",
  "common.aiAgentLabel.scheduledCallsSearch": "Search by contact, phone, or call goal",
  "common.aiAgentLabel.scheduledCallsEmpty": "No scheduled calls match the current search or filters.",
  "common.aiAgentLabel.scheduledCallsContact": "Contact",
  "common.aiAgentLabel.scheduledCallsDialAt": "Call at",
  "common.aiAgentLabel.scheduledCallsStatus": "Status",
  "common.aiAgentLabel.scheduledCallsSource": "Source",
  "common.aiAgentLabel.scheduledCallsGoal": "Call goal",
  "common.aiAgentLabel.scheduledCallsInstructions": "Instructions",
  "common.aiAgentLabel.scheduledCallsPhone": "Phone",
  "common.aiAgentLabel.scheduledCallsQueued": "Queued",
  "common.aiAgentLabel.scheduledCallsDialing": "Dialing",
  "common.aiAgentLabel.scheduledCallsCompleted": "Completed",
  "common.aiAgentLabel.scheduledCallsFailed": "Failed",
  "common.aiAgentLabel.scheduledCallsReason": "Reason",
  "common.aiAgentLabel.scheduledCallsFailedUnknown": "The call could not be placed. No error was recorded.",
  "common.aiAgentLabel.scheduledCallsCancelled": "Cancelled",
  "common.aiAgentLabel.scheduledCallsSourceProfile": "Profile",
  "common.aiAgentLabel.scheduledCallsSourceAutomation": "Automation",
  "common.aiAgentLabel.scheduledCallsSourceCallback": "Voice callback",
  "common.aiAgentLabel.scheduledCallsSourceNoAnswer": "Missed call",
  "common.aiAgentLabel.scheduledCallsCancel": "Cancel call",
  "common.aiAgentLabel.scheduledCallsCancelConfirm": "Cancel this scheduled call? It will not be placed.",
  "common.aiAgentLabel.scheduledCallsCancelledToast": "Scheduled call cancelled.",
  "common.aiAgentLabel.scheduledCallsViewContact": "View contact",
  "common.aiAgentLabel.scheduledCallsReschedule": "Change time",
  "common.aiAgentLabel.scheduledCallsRescheduleTitle": "Change call time",
  "common.aiAgentLabel.scheduledCallsRescheduleDescription": "Choose a new date and time in the contact's timezone. Only queued calls change.",
  "common.aiAgentLabel.scheduledCallsRescheduleOne": "Move the call for :name. It is currently set for :when. The new time is in :timezone.",
  "common.aiAgentLabel.scheduledCallsRescheduleBulk": "This time applies to :count selected calls that are still queued. Each call uses that contact's timezone.",
  "common.aiAgentLabel.scheduledCallsRescheduleSave": "Save time",
  "common.aiAgentLabel.scheduledCallsRescheduleSaving": "Saving…",
  "common.aiAgentLabel.scheduledCallsRescheduled": "Call time updated to :when (:timezone).",
  "common.aiAgentLabel.scheduledCallsRescheduledMany": ":count call times updated to :when in each contact's timezone.",
  "common.aiAgentLabel.scheduledCallsRescheduleNone": "None of the selected calls can change time. Only queued calls can be moved.",
  "common.aiAgentLabel.scheduledCallsRescheduleSkipped": ":count selected calls were left unchanged because they are no longer queued.",
  "common.aiAgentLabel.scheduledCallsRescheduleSelectRows": "Select the calls on this page, then change their time.",
  "common.aiAgentLabel.voiceCallSchedule": "Schedule call",
  "common.aiAgentLabel.voiceCallScheduleInPast": "Choose a time in the future.",
  "common.aiAgentLabel.voiceCallScheduleRequired": "Choose a date and time.",
  "common.aiAgentLabel.voiceCallScheduleTooFar": "A call can be scheduled up to 14 days ahead.",
  "common.aiAgentLabel.voiceCallScheduled": "AI voice call scheduled for :when.",
  "common.aiAgentLabel.voiceCallScheduling": "Scheduling…",
  "common.aiAgentLabel.voiceCallDialDate": "Date",
  "common.aiAgentLabel.voiceCallDialTime": "Time",
  "common.aiAgentLabel.voiceCallWhen": "When",
  "common.aiAgentLabel.voiceCallWhenHelp": "Call now, or choose a date and time in the contact's timezone.",
  "common.aiAgentLabel.voiceCallWhenNow": "Call now",
  "common.aiAgentLabel.voiceCallWhenScheduled": "Schedule for later",
  "common.aiAgentLabel.voiceCallSurveyForm": "Survey form",
  "common.aiAgentLabel.voiceCallSurveyFormPlaceholder": "Select the survey form to use",
  "common.aiAgentLabel.voiceCallNoSurveyForms": "No survey forms are available.",
  "common.aiAgentLabel.voiceCallSurveyFormInvalid": "Choose a valid survey form.",
  "common.aiAgentLabel.voiceSurveyOptOutBlocked": "Student has opted out of this survey.",
  "common.aiAgentLabel.voiceCallStarted": "AI voice call started.",
  "common.aiAgentLabel.voiceCallStudentFallback": "this contact",
  "common.aiAgentLabel.voiceCallTo": "Call to",
  "common.aiAgentLabel.voiceCallToPlaceholder": "Select a phone number",
  "common.aiAgentLabel.voiceCallTranscriptHeading": ":provider call transcript",
  "common.aiAgentLabel.voiceEnable": "Enable AI Voice",
  "common.aiAgentLabel.voiceEnableFailed": "Unable to enable AI Voice for this persona.",
  "common.aiAgentLabel.voiceEnableHint": "Turn on AI Voice to link a phone agent to this persona. Prompt and Knowledge Base stay editable here.",
  "common.aiAgentLabel.voiceEnableSuccess": "Voice agent created and linked to this persona.",
  "common.aiAgentLabel.voiceForceSync": "Sync now",
  "common.aiAgentLabel.voiceNotEnabled": "Enable AI Voice on this persona first.",
  "common.aiAgentLabel.voiceOverrideHint": "Override the school Default Voice for this persona only. Choose Use school default to follow Plugins.",
  "common.aiAgentLabel.voiceOverrideLabel": "Voice",
  "common.aiAgentLabel.voicePreview": "Preview voice",
  "common.aiAgentLabel.voicePreviewFailed": "Could not generate a voice preview. Check the API key and voice id.",
  "common.aiAgentLabel.voicePreviewHint": "Plays a conversational sample with the OpenAI Live API key. Does not place a phone call.",
  "common.aiAgentLabel.voicePreviewMissingApiKey": "Add an OpenAI API key on the OpenAI Live plugin before previewing a voice.",
  "common.aiAgentLabel.voicePreviewPlaying": "Playing voice preview.",
  "common.aiAgentLabel.voicePreviewSampleText": "Hi, thanks for taking a moment. I wanted to walk you through what happens next, without rushing you. There's no pressure at all — we can go at your pace. I'll share a few details, pause if anything is unclear, and when you're ready, we can find a time that actually works for you. If you'd rather think it over, that's completely fine too.",
  "common.aiAgentLabel.voicePreviewSelectRequired": "Select a voice or set a school Default Voice in Plugins before previewing.",
  "common.aiAgentLabel.voicePreviewUnavailable": "Voice preview is only available when OpenAI Live is the active AI Voice provider.",
  "common.aiAgentLabel.voiceProvider": "Provider",
  "common.aiAgentLabel.voiceProviderMismatch": "This persona is still bound to :bound, but the active AI Voice plugin is :active. Reconnect to create a new agent on the active provider.",
  "common.aiAgentLabel.voiceProviderMismatchBadge": "Provider changed",
  "common.aiAgentLabel.voiceProviderNotConfigured": "Publish an AI Voice plugin with credentials before enabling voice.",
  "common.aiAgentLabel.voicePublishAiVoicePlugin": "Publish the AI-Voice Agent plugin before enabling voice.",
  "common.aiAgentLabel.voiceRetellPlatformKeyMissing": "AI-Voice Agent is not ready: platform voice service is not configured yet. Contact HEM-SP support.",
  "common.aiAgentLabel.voiceRetellPlatformKeyMissingLocal": "AI-Voice Agent is not ready: add RETELL_API_KEY to your .env file (Retell workspace API key), then run php artisan config:clear and reload this page.",
  "common.aiAgentLabel.voiceRetellFromNumberMissing": "AI-Voice Agent is not ready: set From Number on Plugins → AI-Voice Agent (E.164 outbound caller ID for this school).",
  "common.aiAgentLabel.voiceProviderDisplayRetell": "AI-Voice Agent",
  "common.aiAgentLabel.voiceProviderDisplayOpenailive": "OpenAI Live Voice",
  "common.aiAgentLabel.voiceProviderDisplayTwilioaivoice": "Twilio AI Voice",
  "common.aiAgentLabel.voiceReadOnlyHint": "You can view AI Voice settings but do not have permission to change them.",
  "common.aiAgentLabel.voiceCallerNameLabel": "Name the agent gives on calls",
  "common.aiAgentLabel.voiceCallerNamePlaceholder": "Sarah",
  "common.aiAgentLabel.voiceCallerNameHint": "A first name the agent introduces itself with. Leave empty and it names the school instead.",
  "common.aiAgentLabel.voiceCallerNameHintWithExample": "A first name the agent introduces itself with. Leave empty and it names the school instead. Outbound calls currently open with: \"{example}\"",
  "common.aiAgentLabel.voiceRealtimeModelHint": "OpenAI Live only. Leave on school default to use OPENAI_LIVE_REALTIME_MODEL from .env (gpt-live-1).",
  "common.aiAgentLabel.voiceRealtimeModelLabel": "Realtime model",
  "common.aiAgentLabel.voiceReconnect": "Reconnect to :provider",
  "common.aiAgentLabel.voiceReconnectHint": "Click Reconnect to create a new agent on the active AI Voice plugin. Sync stays blocked until you reconnect.",
  "common.aiAgentLabel.voiceReconnectSuccess": "Persona reconnected to the active AI Voice provider.",
  "common.aiAgentLabel.voiceSaveSettings": "Save voice settings",
  "common.aiAgentLabel.voiceSettingsSaveFailed": "Unable to save voice settings.",
  "common.aiAgentLabel.voiceSettingsSaved": "Voice settings saved and synced.",
  "common.aiAgentLabel.voiceStatusOff": "Off",
  "common.aiAgentLabel.voiceSyncError": "Sync error",
  "common.aiAgentLabel.voiceSyncFailed": "Unable to sync the persona to the voice provider.",
  "common.aiAgentLabel.voiceSyncNever": "Not synced",
  "common.aiAgentLabel.voiceSyncOk": "Synced",
  "common.aiAgentLabel.voiceSyncPending": "Syncing",
  "common.aiAgentLabel.voiceSyncSuccess": "Persona prompt synced to the voice provider.",
  "common.aiAgentLabel.voiceSyncedAt": "Last synced",
  "common.aiAgentLabel.voiceUseSchoolDefault": "Use school default",
  "common.aiAgentLabel.voiceUseSchoolDefaultHint": "Apply the AI Voice plugin Default Voice when enabling or syncing.",
  "common.aiAgentLabel.widgetDescription": "Ask questions based on approved school resources.",
  "common.aiAgentLabel.widgetTitle": "AI Assistant",
  "common.aiAgentLabel.wizardNavigation": "Wizard navigation",
  "common.aiAgentLabel.yes": "Yes",
  "common.aiAssistantLabel.academicPathAbsentCount": "Absent sessions",
  "common.aiAssistantLabel.academicPathCourseGrades": "Course grades",
  "common.aiAssistantLabel.academicPathCourseProgress": "Course completion",
  "common.aiAssistantLabel.academicPathExamDate": "Exam date",
  "common.aiAssistantLabel.academicPathExamExpires": "Invitation expires",
  "common.aiAssistantLabel.academicPathExamFailCount": ":count fail",
  "common.aiAssistantLabel.academicPathExamPassCount": ":count pass",
  "common.aiAssistantLabel.academicPathExamPendingCount": ":count pending",
  "common.aiAssistantLabel.academicPathExamTotal": ":count exams",
  "common.aiAssistantLabel.academicPathExamsRecent": "Recent exams",
  "common.aiAssistantLabel.academicPathGradeAverage": "Average",
  "common.aiAssistantLabel.academicPathGradeItemCount": ":count items",
  "common.aiAssistantLabel.academicPathGradeTotal": ":count grades",
  "common.aiAssistantLabel.academicPathGrades": "Grades and exams",
  "common.aiAssistantLabel.academicPathGradesRecent": "Recent grades",
  "common.aiAssistantLabel.academicPathLessons": "Lessons",
  "common.aiAssistantLabel.academicPathNoEnrollments": "No program, course, or cohort enrollments are recorded yet.",
  "common.aiAssistantLabel.academicPathProgramAverage": "Program average",
  "common.aiAssistantLabel.academicPathProgramGrades": "Program grades",
  "common.aiAssistantLabel.academicPathRecentLessons": "Recent",
  "common.aiAssistantLabel.academicPathTimeline": "Enrollment path",
  "common.aiAssistantLabel.academicPathTypeCohort": "Cohort",
  "common.aiAssistantLabel.academicPathTypeCourse": "Course",
  "common.aiAssistantLabel.academicPathTypeEntry": "Entry",
  "common.aiAssistantLabel.academicPathTypeProgram": "Program",
  "common.aiAssistantLabel.academicPathUpcomingLessons": "Upcoming",
  "common.aiAssistantLabel.accessDenied": "You do not have permission to use the AI assistant.",
  "common.aiAssistantLabel.opsCampusUnknown": "I could not find that campus. Check the campus name and try again.",
  "common.aiAssistantLabel.opsCampusForbidden": "You do not have access to that campus.",
  "common.aiAssistantLabel.opsClarifySchedule": "Which schedule should this cohort use? Reply with the schedule name (for example Day or Evening).",
  "common.aiAssistantLabel.opsSlotSchedule": "schedule",
  "common.aiAssistantLabel.opsSlotCampus": "campus",
  "common.aiAssistantLabel.opsSlotStartDate": "start date",
  "common.aiAssistantLabel.opsSlotEndDate": "end date",
  "common.aiAssistantLabel.opsClarifyEndDate": "What is the cohort end date?",
  "common.aiAssistantLabel.opsClarifyStartDate": "What is the cohort start date?",
  "common.aiAssistantLabel.opsClarifyCampus": "Which campus should this cohort be created at?",
  "common.aiAssistantLabel.opsClarifyMissingMultipleIntro": "I still need a few details. You can answer in one message:",
  "common.aiAssistantLabel.opsStudentListLabel": "Create student list",
  "common.aiAssistantLabel.opsStudentListDefaultName": "Students attending lessons",
  "common.aiAssistantLabel.opsStudentListFilteredDefaultName": "Student list",
  "common.aiAssistantLabel.opsStudentListName": "List name: :name",
  "common.aiAssistantLabel.opsStudentListStudents": "Students: :count",
  "common.aiAssistantLabel.opsStudentListLessons": "Matching lessons: :count",
  "common.aiAssistantLabel.opsStudentListMore": "… and :count more",
  "common.aiAssistantLabel.opsStudentListCapWarning": "Only the first :count students will be added to the list.",
  "common.aiAssistantLabel.opsStudentListLessonCapWarning": "More than :count lessons match. Narrow the period to include every student.",
  "common.aiAssistantLabel.opsStudentListNeedCriteria": "Tell me which lessons to use: a date or period, campus, program, instructor or classroom.",
  "common.aiAssistantLabel.opsStudentListAskCriteria": "Which students should I include? Name a campus, program, owner, submission status, email, or when they were created (for example, created this month). For lesson attendance, name a date or period, instructor, or classroom.",
  "common.aiAssistantLabel.opsStudentDateBasisClarify": "Do you mean created, updated, or enrolled :phrase? I'll keep the rest of this request: :request.",
  "common.aiAssistantLabel.opsStudentDateBasisCreated": "Created :phrase",
  "common.aiAssistantLabel.opsStudentDateBasisUpdated": "Updated :phrase",
  "common.aiAssistantLabel.opsStudentDateBasisEnrolled": "Enrolled :phrase",
  "common.aiAssistantLabel.opsStudentListNoLessons": "No lessons match those filters, so no list was created.",
  "common.aiAssistantLabel.opsStudentListNoStudents": "No enrolled students attend the matching lessons, so no list was created.",
  "common.aiAssistantLabel.opsStudentListNoMatchingFilters": "No contacts match those filters, so no list was created.",
  "common.aiAssistantLabel.opsStudentListStatusUnknown": "I couldn't find a :dimension status matching \":hint\".",
  "common.aiAssistantLabel.opsStudentListNoCohortStudents": "No enrolled students are in those cohorts, so no list was created.",
  "common.aiAssistantLabel.opsStudentListCohorts": "Cohorts: :count",
  "common.aiAssistantLabel.opsStudentListCohortCount": ":count cohorts",
  "common.aiAssistantLabel.opsEnrollStudentsInCohort": "Enroll students in cohort",
  "common.aiAssistantLabel.opsWithdrawStudentFromCohort": "Withdraw students from cohort",
  "common.aiAssistantLabel.opsUnenrollStudentFromCohort": "Delete enrollment",
  "common.aiAssistantLabel.opsUnenrollEnrollmentWarning": "This permanently deletes the enrollment and any linked course enrollments. History may remain in audit logs.",
  "common.aiAssistantLabel.opsEnrollmentNotMember": "That student is not enrolled in the cohort you named, so there is nothing to withdraw.",
  "common.aiAssistantLabel.opsEnrollmentBatchCap": "I can enroll or withdraw at most 100 students in one batch. Narrow the filter or split the request.",
  "common.aiAssistantLabel.opsStudentListNoPermission": "You do not have permission to create lists.",
  "common.aiAssistantLabel.opsStudentListOwnerUnknown": "I couldn't find an active staff user matching \":hint\" for contact owner.",
  "common.aiAssistantLabel.opsStudentListOwnerUnknownFallback": "that name",
  "common.aiAssistantLabel.opsStudentListCreated": "Created the list [**:name**](:url) with :count students.",
  "common.aiAssistantLabel.opsEnrollAutomationLabel": "Enroll students in automation",
  "common.aiAssistantLabel.opsEnrollAutomationCardIntro": "On Confirm I will:",
  "common.aiAssistantLabel.opsEnrollAutomationTriggerLine": "Draft an automation with the **List Membership Event** trigger watching this list (review in Automation Studio before publishing).",
  "common.aiAssistantLabel.opsEnrollAutomationTriggerShort": "List Membership Event",
  "common.aiAssistantLabel.opsEnrollAutomationNoPermission": "You need permission to create lists and draft automations.",
  "common.aiAssistantLabel.opsEnrollAutomationDefaultListName": "Automation enrollment list",
  "common.aiAssistantLabel.opsEnrollAutomationDraftTitle": "List follow-up — :list",
  "common.aiAssistantLabel.opsEnrollAutomationDraftFallbackTitle": "List membership automation",
  "common.aiAssistantLabel.opsEnrollAutomationReuseListLine": "Use the marketing list you just created (no duplicate list).",
  "common.aiAssistantLabel.opsEnrollAutomationCompletedExistingList": "Using marketing list [**:name**](:url) with **:count** students.",
  "common.aiAssistantLabel.opsEnrollAutomationCompletedList": "Created marketing list [**:name**](:url) with **:count** students.",
  "common.aiAssistantLabel.opsEnrollAutomationCompletedDraft": "Draft automation [**:title**](:url) uses the **List Membership Event** trigger with that list in **Watched lists**. Publish from Automation Studio when ready.",
  "common.aiAssistantLabel.opsEnrollAutomationListOnly": "Created list [**:name**](:url) with :count students, but the automation draft failed: :error",
  "common.aiAssistantLabel.opsEnrollAutomationFailed": "Could not create the list or automation draft.",
  "common.aiAssistantLabel.opsCohortCreateCompleted": "Created :count cohort(s).",
  "common.aiAssistantLabel.opsCohortUpdateCompleted": "Updated cohort :cohort.",
  "common.aiAssistantLabel.opsCohortUpdateCompletedPlain": "Updated cohort :title.",
  "common.aiAssistantLabel.openCohort": "Open cohort",
  "common.aiAssistantLabel.opsFollowUpCourseCohorts": "Show course cohorts",
  "common.aiAssistantLabel.opsListFollowUpEnrollAutomationPrompt": "Enroll the marketing list :list from this conversation in a published List Membership automation. Ask me to choose the automation if I did not name one.",
  "common.aiAssistantLabel.opsListFollowUpDraftEmailPrompt": "I want to draft a follow-up email for contacts on the marketing list :list from this conversation. Do not write the email yet — ask me what the message should accomplish, the tone, and any must-include points first.",
  "common.aiAssistantLabel.opsListFollowUpDraftEmailExecutionPrompt": "Draft a follow-up email for :audience. Apply every School training rule (language, tone, naming, formatting). Output a reusable template with subject and body — do not send automatically. Staff already answered the brief questions — do not ask clarifying questions again; output send-ready Subject and body now.",
  "common.aiAssistantLabel.opsListFollowUpDraftEmailClarify": "Before I draft the list email, tell me:\n1. What should this message accomplish?\n2. What tone should it use (formal, friendly, urgent, etc.)?\n3. Any must-include details, dates, or links?",
  "common.aiAssistantLabel.opsListFollowUpDraftSmsPrompt": "I want to draft a follow-up SMS for contacts on the marketing list :list from this conversation. Do not write the SMS yet — ask me the purpose, tone, and key details to include first.",
  "common.aiAssistantLabel.opsListFollowUpDraftSmsExecutionPrompt": "Draft a short SMS for :audience. Keep it concise for multi-contact SMS outreach — do not send automatically.",
  "common.aiAssistantLabel.opsListFollowUpDraftSmsClarify": "Before I draft the list SMS, tell me:\n1. What is the main purpose of this text?\n2. What tone should it use?\n3. Any must-include details (deadline, link, call to action)?",
  "common.aiAssistantLabel.opsListFollowUpSendEmailTemplate": "Send email template",
  "common.aiAssistantLabel.opsListFollowUpSendEmailTemplatePrompt": "I want to send a published Send-to-list email template to the marketing list :list from this conversation. Do not send or draft yet — ask me which template to use (name or topic) and anything to customize first.",
  "common.aiAssistantLabel.opsListFollowUpSendEmailTemplateExecutionPrompt": "Send a published Send-to-list email template to the marketing list :list from this conversation. Ask me to pick the template when several match. Prepare the list send for my confirmation before anything is queued.",
  "common.aiAssistantLabel.opsListFollowUpSendEmailTemplateClarify": "Before I prepare the list send, tell me:\n1. Which published Send-to-list template should I use (exact name or topic)?\n2. Anything to customize (subject prefix, timing note, or special instructions)?",
  "common.aiAssistantLabel.actionAddDashboardWidget": "Add dashboard widget",
  "common.aiAssistantLabel.actionAddStudentNote": "Add note to student profile",
  "common.aiAssistantLabel.actionAddStudentNoteClarify": "I need a profile note draft in this conversation before I can propose adding a note. Draft the note first, then choose Create.",
  "common.aiAssistantLabel.actionAssignOwnerClarify": "Which staff member should be assigned as owner? Name an active admissions user on this profile.",
  "common.aiAssistantLabel.actionAssignStudentOwner": "Assign admissions owner",
  "common.aiAssistantLabel.actionAssignee": "Assignee: :name",
  "common.aiAssistantLabel.actionBulkNotSupported": "Bulk assistant actions are not available yet. Open a single student or applicant profile for one contact, or ask me to create a saved view to review the list first.",
  "common.aiAssistantLabel.actionCancelled": "Action cancelled",
  "common.aiAssistantLabel.actionRefused": "Action could not be completed",
  "common.aiAssistantLabel.actionCompleted": "Action completed",
  "common.aiAssistantLabel.actionCompletedMeeting": "Meeting scheduled: :title",
  "common.aiAssistantLabel.actionCompletedNote": "Note created: :title",
  "common.aiAssistantLabel.actionCompletedNoteReference": "Note #:id",
  "common.aiAssistantLabel.actionCompletedNotification": "Team notification sent",
  "common.aiAssistantLabel.actionCompletedTask": "Task created: :title",
  "common.aiAssistantLabel.actionCompletedTaskReference": "Task #:id",
  "common.aiAssistantLabel.actionCreateModelRecord": "Create record",
  "common.aiAssistantLabel.actionCreateModelRecordFor": "Create :model",
  "common.aiAssistantLabel.actionCreateStaffTask": "Create staff task",
  "common.aiAssistantLabel.actionCompleteStaffTasks": "Mark tasks complete",
  "common.aiAssistantLabel.actionUpdateStaffTasks": "Update tasks",
  "common.aiAssistantLabel.actionExecutedUpdateStaffTasks": "Done! Updated :count tasks (:changes).",
  "common.aiAssistantLabel.actionExecutedUpdateStaffTasksGenericChanges": "fields updated",
  "common.aiAssistantLabel.updateStaffTasksCountLine": "Tasks to update: :count",
  "common.aiAssistantLabel.updateStaffTasksChangesLine": "Changes: :changes",
  "common.aiAssistantLabel.updateStaffTasksProposalTitle": "Update :count tasks",
  "common.aiAssistantLabel.updateStaffTasksNoPriorList": "I can bulk-edit tasks after you ask to show a task list in this chat (for example, \"Show my overdue tasks\"). Which tasks should I update?",
  "common.aiAssistantLabel.updateStaffTasksMissingFields": "Tell me what to change — for example status (complete, pending, in progress), priority (high, medium, low), or due date (tomorrow, next week, 2026-10-15).",
  "common.aiAssistantLabel.updateStaffTasksNoMatchingTasks": "I could not match that task name to the list I just showed. Try the exact title, task #123, or say \"all of them\".",
  "common.aiAssistantLabel.actionExecutedCompleteStaffTasks": "Done! Marked :count tasks complete.",
  "common.aiAssistantLabel.completeStaffTasksCountLine": "Tasks to mark complete: :count",
  "common.aiAssistantLabel.completeStaffTasksScopeLine": "From your recent list: :scope",
  "common.aiAssistantLabel.completeStaffTasksMoreLine": "…and :count more",
  "common.aiAssistantLabel.completeStaffTasksNoPriorList": "I can mark tasks complete after you ask to show a task list in this chat (for example, \"Show my overdue tasks\"). Which tasks should I complete?",
  "common.aiAssistantLabel.completeStaffTasksNoneFound": "There are no open tasks left to complete for that list.",
  "common.aiAssistantLabel.completeStaffTasksPermissionDenied": "You do not have permission to edit tasks.",
  "common.aiAssistantLabel.completeStaffTasksProposalTitle": "Mark :count tasks complete",
  "common.aiAssistantLabel.completeStaffTasksTooMany": "That would complete more than :max tasks at once. Narrow the list or complete tasks from the Tasks page.",
  "common.aiAssistantLabel.completeStaffTasksCapNoticeLine": ":matched tasks matched this request. This proposal marks the first :count complete (limit :max per confirmation). Run again to complete more.",
  "common.aiAssistantLabel.completeStaffTasksExecuteFailed": "I could not complete those tasks. Try a smaller batch or use the Tasks page.",
  "common.aiAssistantLabel.actionQueuedCompleteStaffTasks": "Queued :count tasks to mark complete. They will update shortly.",
  "common.aiAssistantLabel.completeStaffTasksUnsupportedScope": "I can only bulk-complete tasks from a personal task list I just showed you (overdue, due this week, follow-ups, or stuck tasks).",
  "common.aiAssistantLabel.workQueueScopeTasksOverdue": "Overdue tasks assigned to you",
  "common.aiAssistantLabel.workQueueScopeTasksHighPriorityThisWeek": "High-priority tasks due this week",
  "common.aiAssistantLabel.workQueueScopeTasksOpenFollowUp": "Open follow-up tasks",
  "common.aiAssistantLabel.workQueueScopeTasksKanbanStuck": "Stuck tasks on your board",
  "common.aiAssistantLabel.workQueueScopeTasksDueToday": "Tasks due today",
  "common.aiAssistantLabel.workQueueScopeTasksDueThisWeek": "Tasks due this week",
  "common.aiAssistantLabel.workQueueScopeTasksOverdueThisWeek": "Overdue tasks due this week assigned to you",
  "common.aiAssistantLabel.workQueueScopeTitleContainsSuffix": " with title starting with \":phrase\"",
  "common.aiAssistantLabel.workQueueScopePrioritySuffix": " (:priority priority)",
  "common.aiAssistantLabel.actionDueDate": "Due date: :date",
  "common.aiAssistantLabel.actionDueDateLabel": "Due date",
  "common.aiAssistantLabel.actionDurationLabel": "Duration",
  "common.aiAssistantLabel.actionEmailPreview": "Body preview: :preview",
  "common.aiAssistantLabel.actionEmailSimpleTextTip": "Tip: To use a branded layout on future assistant sends, create a non-list template in Communications ? Templates, add [AI-ASSISTANT-AGENT] in Build, turn on Use by AI Assistant, and publish.",
  "common.aiAssistantLabel.actionEmailTemplateLabel": "Email template",
  "common.aiAssistantLabel.actionExecutedAssignOwner": "Done ! :owner is now assigned as owner on this contact.",
  "common.aiAssistantLabel.actionExecutedCreateModelRecord": "Done ! the :model :name has been created.",
  "common.aiAssistantLabel.actionBulkCreateModelRecords": "Bulk create records",
  "common.aiAssistantLabel.actionBulkCreateModelRecordsFor": "Create :count :model records",
  "common.aiAssistantLabel.actionBulkCreateProposalAnswer": "I prepared **:count :model** records from **:file** (:skipped rows skipped). Review the rows below and confirm to create them. Nothing has been saved yet.",
  "common.aiAssistantLabel.actionBulkCreateNoneCreated": "No records were created. :reason",
  "common.aiAssistantLabel.actionBulkSourceFileLine": "Source: :file",
  "common.aiAssistantLabel.actionBulkRecordsLine": "Records to create: :count",
  "common.aiAssistantLabel.actionBulkRowWithCoursesLine": ":name — Courses: :courses",
  "common.aiAssistantLabel.actionBulkCoursesResult": ":count courses linked (:created new)",
  "common.aiAssistantLabel.actionBulkCoursesNotCreated": "not created (no course create permission): :courses",
  "common.aiAssistantLabel.actionBulkMoreRecordsLine": "…and :count more",
  "common.aiAssistantLabel.actionBulkSkippedLine": "Rows skipped: :count",
  "common.aiAssistantLabel.actionExecutedBulkCreateModelRecords": "Done ! created :created of :total :model records.",
  "common.aiAssistantLabel.actionExecutedBulkCreateFailuresIntro": "These rows were not created:",
  "common.aiAssistantLabel.actionExecutedDashboardWidget": "Done ! the widget \":name\" has been added to the dashboard.",
  "common.aiAssistantLabel.actionExecutedGeneric": "Done ! the staff action has been completed.",
  "common.aiAssistantLabel.actionExecutedSendChatMessage": "Done ! the portal chat message has been sent.",
  "common.aiAssistantLabel.actionExecutedSendSms": "Done ! the SMS has been sent.",
  "common.aiAssistantLabel.actionExecutedSendEmail": "Done ! the email \":subject\" has been queued for sending.",
  "common.aiAssistantLabel.actionExecutedSendListEmail": "Done ! list email queued for **:list** (:count recipients).",
  "common.aiAssistantLabel.actionExecutedSendListEmailGeneric": "Done ! the list email campaign has been queued.",
  "common.aiAssistantLabel.actionExecutedSendPortalMessage": "Done ! the portal message \":subject\" has been sent.",
  "common.aiAssistantLabel.actionExecutedSendPortalMessageGeneric": "Done ! the portal message has been sent.",
  "common.aiAssistantLabel.actionExecutedTask": "Done ! the task :title has been created.",
  "common.aiAssistantLabel.actionExecutedUpdateModelRecord": "Done ! the :model :name has been updated.",
  "common.aiAssistantLabel.actionMeetingTypeLabel": "Meeting type",
  "common.aiAssistantLabel.actionMeetingTypeRequired": "No meeting types are configured. Add meeting types under Settings ? Calendar before scheduling meetings from the assistant.",
  "common.aiAssistantLabel.actionNotifyAdmissions": "Notify admissions",
  "common.aiAssistantLabel.actionNotifyAdvisor": "Notify assigned advisor",
  "common.aiAssistantLabel.actionNotifyFinance": "Notify finance",
  "common.aiAssistantLabel.actionOpenCreatedModelRecord": "Open :name",
  "common.aiAssistantLabel.actionOpenModelRecordGeneric": "Open record",
  "common.aiAssistantLabel.actionOwnerAssignee": "Owner: :name",
  "common.aiAssistantLabel.actionPermissionRequired": "You need assistant write-action permission to confirm this proposal.",
  "common.aiAssistantLabel.actionPriority": "Priority: :priority",
  "common.aiAssistantLabel.actionRecipientTeam": "Recipient team: :team",
  "common.aiAssistantLabel.actionRecipientTeamLabel": "Recipient team",
  "common.aiAssistantLabel.actionConfirmCallScriptNoWrite": "This call script is ready to use. There is no send or confirm step — use **Edit** or **Enhance** if you want to change it, then dial using the talking points.",
  "common.aiAssistantLabel.actionExecutedStartAiVoiceCall": "Started an AI Voice call to :student.",
  "common.aiAssistantLabel.actionExecutedStartAiVoiceCallGeneric": "Started an AI Voice call.",
  "common.aiAssistantLabel.actionStartAiVoiceCall": "Start AI Voice call",
  "common.aiAssistantLabel.actionCreateStudentInvoice": "Create invoice",
  "common.aiAssistantLabel.actionExecutedCreateStudentInvoice": "Done ! created invoice #:uid for :name (:total).",
  "common.aiAssistantLabel.invoiceModelLabel": "Invoice",
  "common.aiAssistantLabel.invoiceProposalAnswer": "I prepared an **invoice** for **:name** from the attached document. Totals are recalculated from the lines. Review the details below and confirm to create it. Nothing has been saved yet.",
  "common.aiAssistantLabel.invoicePermissionDenied": "You do not have permission to create invoices for this contact.",
  "common.aiAssistantLabel.invoiceAttachmentRequired": "Attach the invoice (PDF or image) to your message and ask again, for example: \"create this invoice\".",
  "common.aiAssistantLabel.invoiceExtractionFailed": "I couldn't read invoice details from **:file**. Create the invoice from the student's Finance tab instead.",
  "common.aiAssistantLabel.invoiceCancelled": "OK, I won't create that invoice.",
  "common.aiAssistantLabel.invoiceRefuseMultiple": "This document contains more than one invoice. I can only create one invoice at a time — upload each invoice separately.",
  "common.aiAssistantLabel.invoiceRefuseVendorBill": "This document looks like a bill sent to the school, not an invoice to a student, so I won't create a student invoice from it.",
  "common.aiAssistantLabel.invoiceRefuseCurrency": "This invoice is in :currency but the school bills in :school. I won't convert currencies — create it from the Finance tab if needed.",
  "common.aiAssistantLabel.invoiceRefuseNoLines": "I couldn't find any line items in this document, so I can't create an invoice from it.",
  "common.aiAssistantLabel.invoiceAllLinesSkipped": "Every line was skipped, so there is nothing to invoice.",
  "common.aiAssistantLabel.invoiceStudentNotFound": "I couldn't find that student, or you don't have access to their profile.",
  "common.aiAssistantLabel.invoiceStudentRequired": "I couldn't match the bill-to name **:name** to a student. Open the student's profile and ask again.",
  "common.aiAssistantLabel.invoiceAskStudent": "Which student should this invoice be for? The document is billed to **:name**.",
  "common.aiAssistantLabel.invoiceAskStudentMismatch": "The document is billed to **:bill_to**, but you're on **:student**'s profile.",
  "common.aiAssistantLabel.invoiceOptionBillStudent": "Bill :name",
  "common.aiAssistantLabel.invoiceAskLowConfidence": "Some line items in **:file** were hard to read. Please check them:\n\n:lines",
  "common.aiAssistantLabel.invoiceOptionLinesCorrect": "These lines are correct — continue",
  "common.aiAssistantLabel.invoiceAskLineService": "Line :number (**:description**, :amount) doesn't exactly match a product/service. Which one should I use?",
  "common.aiAssistantLabel.invoiceAskLineServiceNoMatch": "Line :number (**:description**, :amount) doesn't match any product/service. Add it under Finance settings first, or skip this line.",
  "common.aiAssistantLabel.invoiceAskFractionalQuantity": "Line :number (**:description**) has quantity :quantity, but invoice quantities are whole numbers.",
  "common.aiAssistantLabel.invoiceOptionBillOnce": "Bill it as 1 × :amount",
  "common.aiAssistantLabel.invoiceOptionSkipLine": "Skip this line",
  "common.aiAssistantLabel.invoiceOptionStop": "Stop — don't create the invoice",
  "common.aiAssistantLabel.invoiceAskIssueDate": "I'm not sure about the invoice date (printed as **:raw**). Which date is it?",
  "common.aiAssistantLabel.invoiceAskDueDate": "I'm not sure about the due date (printed as **:raw**). Which due date should I use?",
  "common.aiAssistantLabel.invoiceOptionTerm": ":term — due :date",
  "common.aiAssistantLabel.invoiceDueOnReceipt": "Due on receipt",
  "common.aiAssistantLabel.invoiceNoDueDate": "No due date",
  "common.aiAssistantLabel.invoiceTodayMarker": "(today)",
  "common.aiAssistantLabel.invoiceAskTotalsMismatch": "The document's pre-tax total is **:pdf**, but the lines add up to **:lines**. The invoice total is always calculated from the lines.",
  "common.aiAssistantLabel.invoiceOptionUseLineTotals": "Use the line totals (:total)",
  "common.aiAssistantLabel.invoiceAskDuplicate": "This student already has invoice **#:uid** (:total, dated :date) that looks like the same document.",
  "common.aiAssistantLabel.invoiceOptionCreateAnyway": "Create it anyway",
  "common.aiAssistantLabel.invoiceReplyHint": "Reply with the number, or **cancel**.",
  "common.aiAssistantLabel.invoiceReplyWithNumber": "Please reply with one of the numbers below.",
  "common.aiAssistantLabel.invoiceSummaryStudent": "Student: :name",
  "common.aiAssistantLabel.invoiceSummaryDates": "Invoice date: :issued · Due: :due",
  "common.aiAssistantLabel.invoiceSummaryLine": ":number. :service:description — :quantity × :rate = :amount",
  "common.aiAssistantLabel.invoiceTaxableMarker": "(taxable)",
  "common.aiAssistantLabel.invoiceSummaryTotal": "Invoice total: :total",
  "common.aiAssistantLabel.invoiceTaxWarning": "Tax is not added: the document shows :tax tax, but invoices save the pre-tax total, the same as the Finance tab. Taxable lines are marked.",
  "common.aiAssistantLabel.invoiceTotalDiffersFromPdf": "The document total (:pdf) differs from the calculated total (:total).",
  "common.aiAssistantLabel.invoiceSummarySource": "Source: :file (document no. :number) — the file itself is not stored.",
  "common.aiAssistantLabel.invoiceDuplicateWarningLine": "Possible duplicate of invoice #:uid.",
  "common.aiAssistantLabel.invoiceSideEffectsNote": "Saving runs invoice automations and syncs to accounting when an accounting integration is active.",
  "common.aiAssistantLabel.invoiceNoLines": "The invoice has no lines.",
  "common.aiAssistantLabel.invoiceTooManyLines": "An invoice can have at most :max lines.",
  "common.aiAssistantLabel.invoiceServiceNotFound": "A product/service on this invoice no longer exists.",
  "common.aiAssistantLabel.invoiceInvalidQuantity": "Invoice quantities must be whole numbers of 1 or more.",
  "common.aiAssistantLabel.invoiceInvalidRate": "Each invoice line needs a rate.",
  "common.aiAssistantLabel.invoiceInvalidDate": "The invoice date is missing or invalid.",
  "common.aiAssistantLabel.invoiceInvalidDueDate": "The due date is invalid or before the invoice date.",
  "common.aiAssistantLabel.invoiceSaveFailed": "I couldn't save the invoice. Please create it from the Finance tab.",
  "common.aiAssistantLabel.actionCreateListStudentInvoices": "Create invoices for list",
  "common.aiAssistantLabel.actionExecutedCreateListStudentInvoices": "Done! Created :count invoices for the students on **:list** (:total in total).",
  "common.aiAssistantLabel.invoiceListModelLabel": "List",
  "common.aiAssistantLabel.invoiceListProposalAnswer": "I prepared **:count invoices** — one copy of the attached invoice for each student on **:list**. Totals are recalculated from the lines. Review the details below and confirm to create them. Nothing has been saved yet.",
  "common.aiAssistantLabel.invoiceListRequired": "To create this invoice for every student on a list, open that marketing list with **Use page context** turned on, attach the invoice, and ask again.",
  "common.aiAssistantLabel.invoiceListEmpty": "The list **:list** has no students, so there is nobody to invoice.",
  "common.aiAssistantLabel.invoiceListTooLarge": "The list **:list** has :count students. I can create invoices for at most :max students at a time — split the list first.",
  "common.aiAssistantLabel.invoiceListMoreStudents": "and :count more",
  "common.aiAssistantLabel.invoiceAskListDuplicates": ":count student(s) on this list already have an invoice that looks like this one: :names.",
  "common.aiAssistantLabel.invoiceOptionSkipListDuplicates": "Skip those :skip and invoice the other :count",
  "common.aiAssistantLabel.invoiceOptionCreateForEveryone": "Create it for all :count students anyway",
  "common.aiAssistantLabel.invoiceOptionStopList": "Stop — don't create the invoices",
  "common.aiAssistantLabel.invoiceSummaryListStudents": "Students (:count on :list): :names",
  "common.aiAssistantLabel.invoiceSummaryListTotal": "Total per invoice: :total · :count invoices = :grand",
  "common.aiAssistantLabel.invoiceListSkippedDuplicatesLine": ":count student(s) skipped because they already have a matching invoice.",
  "common.aiAssistantLabel.invoiceListIncludedDuplicatesLine": ":count student(s) already have a matching invoice and will get another one.",
  "common.aiAssistantLabel.invoiceListExcludedLine": ":count list member(s) left out because you can't view their profile.",
  "common.aiAssistantLabel.invoiceListPartialFailure": "Couldn't create :count invoice(s): :names. Create those from the Finance tab.",
  "common.aiAssistantLabel.actionStartAiVoiceCallGoalCustom": "Follow the staff call script in the context note for this outreach.",
  "common.aiAssistantLabel.actionStartAiVoiceCallNoPersona": "No AI Voice persona is enabled for this school. Enable AI Voice on a student-facing persona first.",
  "common.aiAssistantLabel.actionStartAiVoiceCallPersona": "Persona: :name",
  "common.aiAssistantLabel.actionStartAiVoiceCallPhone": "Call: :phone",
  "common.aiAssistantLabel.actionStartAiVoiceCallUnavailable": "AI Voice is not available for this school. Use the call script and dial manually.",
  "common.automationLabel.fieldAiVoiceOnMachine": "Leave voicemail on machine",
  "common.automationLabel.fieldAiVoiceOnMachineHelp": "When a machine answers, instruct the bridge to leave a short voicemail.",
  "common.automationLabel.fieldAiVoiceVoicemailInstructions": "Voicemail guidance",
  "common.automationLabel.fieldAiVoiceVoicemailInstructionsHelp": "Brief guidance for the persona to speak as the voicemail (merge tags supported).",
  "common.aiAssistantLabel.actionRequiresConfirmation": "Action requires confirmation",
  "common.aiAssistantLabel.actionConfirmationPreviewSample": "Sample contacts",
  "common.aiAssistantLabel.actionNothingPending": "There is no pending action to confirm or cancel.",
  "common.aiAssistantLabel.actionConfirmOrCancel": "Please confirm or cancel the pending action.",
  "common.aiAssistantLabel.clarifyMissingSlot": "Which :slot?",
  "common.aiAssistantLabel.clarifyOptionsIntro": "Which :slot do you mean? Choose one:",
  "common.aiAssistantLabel.clarifyOptionsNarrowHint": "Too many results — add more detail to narrow it down.",
  "common.aiAssistantLabel.actionRequiresStudentContext": "Open a student or applicant profile first so I know which contact this action applies to.",
  "common.aiAssistantLabel.actionListHandoffRequiresContacts": "I found the marketing list from this conversation, but it has no contacts I can attach a staff task to. Add contacts to the list, or open one applicant from the list and ask again.",
  "common.aiAssistantLabel.actionScheduleMeeting": "Schedule meeting",
  "common.aiAssistantLabel.actionScheduledAtLabel": "Scheduled for",
  "common.aiAssistantLabel.actionSendChatClarify": "I need a portal chat message draft in this conversation before I can propose sending it. Draft the chat message first, then choose Send.",
  "common.aiAssistantLabel.actionSendChatClarifyWrongChannel": "That draft is for a different channel. Use Send on the matching draft card, or draft a portal chat message first.",
  "common.aiAssistantLabel.actionSendEmailClarify": "I need a correspondence draft in this conversation before I can propose sending email. Draft the message first, then choose Send.",
  "common.aiAssistantLabel.actionSendEmailNoAiTemplate": "No email template is enabled for the AI Assistant. Edit a published template in Communications ? Templates and turn on Use by AI Assistant.",
  "common.aiAssistantLabel.actionSendEmailNoAiTemplateWithPlaceholder": "No AI Assistant email template includes the [AI-ASSISTANT-AGENT] placeholder. Add it to the template body in Build, then enable Use by AI Assistant.",
  "common.aiAssistantLabel.actionSendEmailTemplateBodyEmpty": "The AI Assistant email template body is empty. Open Build and save template content with the [AI-ASSISTANT-AGENT] placeholder.",
  "common.aiAssistantLabel.actionSendEmailTemplateMissingPlaceholder": "The AI Assistant email template must include [AI-ASSISTANT-AGENT] in its body where the draft content should appear.",
  "common.aiAssistantLabel.actionSendEmailTemplateUnavailable": "The selected email template is unavailable for the AI Assistant. It must be published and have Use by AI Assistant enabled.",
  "common.aiAssistantLabel.actionSendPortalMessageClarify": "I need a portal message draft in this conversation before I can propose sending it. Draft the message first, then choose Send.",
  "common.aiAssistantLabel.actionSendPortalMessageClarifyWrongChannel": "That draft is for a different channel. Use Send on the matching draft card, or draft a portal message first.",
  "common.aiAssistantLabel.actionSendSmsClarify": "I need an SMS draft in this conversation before I can propose sending it. Draft the SMS first, then choose Send.",
  "common.aiAssistantLabel.actionSendSmsClarifyWrongChannel": "That draft is for a different channel. Use Send on the matching draft card, or draft an SMS first.",
  "common.aiAssistantLabel.actionSendSmsNoPhone": "This contact does not have a valid mobile or phone number for SMS.",
  "common.aiAssistantLabel.actionSendSmsNotSupported": "Confirmed SMS send from the assistant is not available yet. Copy the SMS draft and send through the product SMS workflow.",
  "common.aiAssistantLabel.actionSendSmsUnavailable": "SMS is not enabled for this school or your account cannot send SMS. Use the product SMS workflow instead.",
  "common.aiAssistantLabel.actionSendStudentChatMessage": "Send chat message to contact",
  "common.aiAssistantLabel.actionSendStudentEmail": "Send email to contact",
  "common.aiAssistantLabel.actionSendListEmail": "Send email to marketing list",
  "common.aiAssistantLabel.actionSendEmailRequiresList": "Create a marketing list from these report results first, then use Send on the email draft to queue a list campaign.",
  "common.aiAssistantLabel.actionSendListAudienceLine": "Audience: :list (:count contacts)",
  "common.aiAssistantLabel.actionExecutedSendListEmail": "Done ? list email queued for **:list** (:count recipients).",
  "common.aiAssistantLabel.actionExecutedSendListEmailGeneric": "Done ? the list email campaign has been queued.",
  "common.aiAssistantLabel.actionExecutedSendListEmailLanguages": "Each contact gets their own language: :languages.",
  "common.aiAssistantLabel.correspondenceFollowUpSendEmailToList": "Propose sending the email draft you wrote above to the marketing list from this conversation. Use the subject and body from that draft and prepare the list send action for my confirmation.",
  "common.aiAssistantLabel.actionSendStudentPortalMessage": "Send portal message to contact",
  "common.aiAssistantLabel.actionSendStudentSms": "Send SMS to contact",
  "common.aiAssistantLabel.actionSmsPreview": "Message: :preview",
  "common.aiAssistantLabel.actionSmsRecipientLine": "To: :phone",
  "common.aiAssistantLabel.actionStaffTeamAssignee": "Assigned to staff team: :team (all members)",
  "common.aiAssistantLabel.actionTaskStatus": "Status: :status",
  "common.aiAssistantLabel.actionTeamUnavailable": "No active :team team with recipients is configured. Ask an administrator to set up the team before proposing this notification.",
  "common.aiAssistantLabel.actionUpdateModelRecord": "Update record",
  "common.aiAssistantLabel.actionUpdateModelRecordFor": "Update :model",
  "common.aiAssistantLabel.actions": "Actions",
  "common.aiAssistantLabel.askPlaceholder": "Ask the assistant anything?",
  "common.aiAssistantLabel.attachFile": "Attach file",
  "common.aiAssistantLabel.attachmentFileTooLarge": "Each attachment must be 10 MB or less.",
  "common.aiAssistantLabel.attachmentNotFound": "One or more attachments expired or were removed. Upload them again.",
  "common.aiAssistantLabel.attachmentRemoveFailed": "Could not remove the attachment.",
  "common.aiAssistantLabel.attachmentsDisabled": "Attachments are not enabled for the AI assistant.",
  "common.aiAssistantLabel.attachmentTooManyFiles": "You can attach up to 5 files per message.",
  "common.aiAssistantLabel.attachmentTotalTooLarge": "Attachments must total 25 MB or less.",
  "common.aiAssistantLabel.attachmentUnsupportedType": "That file type is not supported. Use PDF, Word, text, markdown, CSV, Excel, or image files.",
  "common.aiAssistantLabel.attachmentUploadFailed": "Could not upload the attachment.",
  "common.aiAssistantLabel.attachmentsHelper": "PDF, Word, text, markdown, or images. Max 5 files; 10 MB each; 25 MB total.",
  "common.aiAssistantLabel.automationDraft": "Automation draft",
  "common.aiAssistantLabel.beta": "Beta",
  "common.aiAssistantLabel.blockedTopicMessage": "I can't help with that request here.",
  "common.aiAssistantLabel.blockedTopicResponseNote": "The assistant blocked this request before it could be answered.",
  "common.aiAssistantLabel.branchFailed": "Unable to branch this conversation.",
  "common.aiAssistantLabel.branchMessage": "Branch from here",
  "common.aiAssistantLabel.branchTitle": "Branch ? :title",
  "common.aiAssistantLabel.branchTitleWithMessage": "Branch ? :message",
  "common.aiAssistantLabel.cancelAction": "Cancel",
  "common.aiAssistantLabel.cancelActionPrompt": "Cancel",
  "common.aiAssistantLabel.chatActions": "Chat actions",
  "common.aiAssistantLabel.closeAssistant": "Close AI Assistant",
  "common.aiAssistantLabel.collapseDrawer": "Restore assistant width",
  "common.aiAssistantLabel.communicationsDigestEmailPermissionDenied": "Your role does not include permission to view this student's emails. Ask an administrator if you need email history on student profiles.",
  "common.aiAssistantLabel.communicationsDigestNoEmails": "There are no stored emails for this student in HEM-SP, so there is nothing to digest yet.",
  "common.aiAssistantLabel.communicationsDigestProviderUnavailable": "I loaded this student's email history, but the AI assistant cannot generate a digest right now because the answer provider is not configured.",
  "common.aiAssistantLabel.conditions": "Conditions",
  "common.aiAssistantLabel.confirmAction": "Confirm",
  "common.aiAssistantLabel.confirmActionPrompt": "Confirm",
  "common.aiAssistantLabel.contactSupportTeam": "Email the support team",
  "common.aiAssistantLabel.contextEntityId": "ID :id",
  "common.aiAssistantLabel.contextEntityTypeAiAgent": "AI Agent",
  "common.aiAssistantLabel.contextEntityTypeAiResource": "Resource",
  "common.aiAssistantLabel.contextEntityTypeCohort": "Cohort",
  "common.aiAssistantLabel.contextEntityTypeCourse": "Course",
  "common.aiAssistantLabel.contextEntityTypeProgram": "Program",
  "common.aiAssistantLabel.contextEntityTypeStudent": "Student",
  "common.aiAssistantLabel.contextPageAiAgent": "AI Agent",
  "common.aiAssistantLabel.contextPageAiResource": "Knowledge Resource",
  "common.aiAssistantLabel.contextPageCohort": "Cohort Details",
  "common.aiAssistantLabel.contextPageCourse": "Course Details",
  "common.aiAssistantLabel.contextPageProgram": "Program Details",
  "common.aiAssistantLabel.contextPageStudent": "Student Profile",
  "common.aiAssistantLabel.conversationTranscriptAssistantLabel": "Assistant",
  "common.aiAssistantLabel.conversationTranscriptUserLabel": "User",
  "common.aiAssistantLabel.copyMessage": "Copy message",
  "common.aiAssistantLabel.correspondenceDraftActionCompleted": "Next step selected. Review the assistant follow-up above.",
  "common.aiAssistantLabel.correspondenceDraftActionDeclined": "Draft dismissed.",
  "common.aiAssistantLabel.correspondenceDraftChannelCall": "Phone call script",
  "common.aiAssistantLabel.correspondenceDraftChannelChat": "Portal chat message",
  "common.aiAssistantLabel.correspondenceDraftChannelEmail": "Email",
  "common.aiAssistantLabel.correspondenceDraftChannelLabel": "Channel",
  "common.aiAssistantLabel.correspondenceDraftLanguageLabel": "Draft language",
  "common.aiAssistantLabel.correspondenceDraftChannelMessage": "Portal message (Messages tab)",
  "common.aiAssistantLabel.correspondenceDraftChannelNote": "Profile note",
  "common.aiAssistantLabel.correspondenceDraftChannelSms": "SMS",
  "common.aiAssistantLabel.correspondenceDraftReady": "Draft ready",
  "common.aiAssistantLabel.correspondenceDraftReadyCall": "Call script ready",
  "common.aiAssistantLabel.correspondenceDraftTitleCall": "Call script draft",
  "common.aiAssistantLabel.correspondenceDraftTitleChat": "Chat message draft",
  "common.aiAssistantLabel.correspondenceDraftTitleEmail": "Email draft",
  "common.aiAssistantLabel.correspondenceDraftTitleMessage": "Message draft",
  "common.aiAssistantLabel.correspondenceDraftTitleNote": "Profile note draft",
  "common.aiAssistantLabel.correspondenceDraftTitleSms": "SMS draft",
  "common.aiAssistantLabel.correspondenceFollowUpCreate": "Create",
  "common.aiAssistantLabel.correspondenceFollowUpCreateNote": "Propose adding the profile note draft you wrote above to this student. Use the title and note body from that draft and prepare the add-note action for my confirmation.",
  "common.aiAssistantLabel.correspondenceFollowUpDecline": "Decline",
  "common.aiAssistantLabel.correspondenceFollowUpDeclinePrompt": "Decline this draft. Dismiss it and do not send, edit, or enhance it further.",
  "common.aiAssistantLabel.correspondenceFollowUpEdit": "Edit",
  "common.aiAssistantLabel.correspondenceFollowUpEditNotePrompt": "Show the note draft you wrote above again as editable sections with headings **Title** and **Note**. After the sections, ask me which section I want to change and what to change. Do not output the full combined draft yet.",
  "common.aiAssistantLabel.correspondenceFollowUpEditPrompt": "Show the draft you wrote above again as editable sections with headings (Subject, Greeting, Body, Closing, and Signature where applicable). After the sections, ask me which section I want to change and what to change. Do not output the full combined draft yet.",
  "common.aiAssistantLabel.correspondenceFollowUpEnhance": "Enhance",
  "common.aiAssistantLabel.correspondenceFollowUpEnhanceNotePrompt": "Enhance the profile note draft you wrote above. Apply every School training rule from the knowledge sources. Improve clarity while keeping the same intent and internal staff tone. Show the full revised note with **Title** and **Note** fields.",
  "common.aiAssistantLabel.correspondenceFollowUpEnhancePrompt": "Enhance the draft you wrote above. Apply every School training rule from the knowledge sources (naming, tone, formatting, and content). Improve clarity while keeping the same intent ? do not override school training rules for generic professionalism. Show the full revised draft.",
  "common.aiAssistantLabel.correspondenceFollowUpStartAiVoice": "Start AI Voice call",
  "common.aiAssistantLabel.correspondenceFollowUpStartAiVoicePrompt": "Propose starting an AI Voice call to this contact using the call script you wrote above as the call context. Prepare the start-call action for my confirmation.",
  "common.aiAssistantLabel.correspondenceFollowUpSend": "Send",
  "common.aiAssistantLabel.correspondenceFollowUpSendChat": "Propose sending the portal chat message draft you wrote above to this contact. Use the message body from that draft and prepare the send action for my confirmation.",
  "common.aiAssistantLabel.correspondenceFollowUpSendEmail": "Propose sending the email draft you wrote above to this contact. Use the subject and body from that draft and prepare the send action for my confirmation.",
  "common.aiAssistantLabel.correspondenceFollowUpSendMessage": "Propose sending the portal message draft you wrote above to this contact. Use the subject and body from that draft and prepare the send action for my confirmation.",
  "common.aiAssistantLabel.correspondenceFollowUpSendSms": "Help me send the SMS draft you wrote above through the normal HEM-SP SMS workflow. Show the message text from that draft and what I should review before sending. Do not send automatically.",
  "common.aiAssistantLabel.currentContext": "Current context",
  "common.aiAssistantLabel.dashboardWidgetAddFailed": "Unable to add the dashboard widget.",
  "common.aiAssistantLabel.dashboardWidgetAskDashboard": "Open the dashboard you want to customize, or tell me which personal or staff-team dashboard to use.",
  "common.aiAssistantLabel.dashboardWidgetAskReport": "Tell me which permitted report or widget library item to add. Use an existing report name, report ID, or create a tenant report first.",
  "common.aiAssistantLabel.dashboardWidgetCustomizeDenied": "You do not have permission to customize dashboards.",
  "common.aiAssistantLabel.dashboardWidgetDashboardUnavailable": "That dashboard was not found or you cannot edit it.",
  "common.aiAssistantLabel.dashboardWidgetForbiddenInput": "Raw SQL, custom chart config, and arbitrary widget settings are not allowed.",
  "common.aiAssistantLabel.dashboardWidgetReportLine": "Report: :report",
  "common.aiAssistantLabel.dashboardWidgetReportUnavailable": "That report is unavailable or you do not have permission to use it on a dashboard.",
  "common.aiAssistantLabel.dashboardWidgetTargetLine": "Dashboard: :dashboard",
  "common.aiAssistantLabel.dashboardWidgetVizLine": "Visualization: :viz",
  "common.aiAssistantLabel.defaultStaffPersonaDescription": "Default AI assistant for staff in the admin portal.",
  "common.aiAssistantLabel.defaultStaffPersonaName": "Staff Assistant",
  "common.aiAssistantLabel.defaultStaffPersonaSystemPrompt": "You are a helpful staff assistant for this school. Answer using approved knowledge resources when available, be concise and professional, and escalate when you are unsure.",
  "common.aiAssistantLabel.deleteChat": "Delete chat",
  "common.aiAssistantLabel.deleteChatConfirm": "Deleting this chat cannot be undone.",
  "common.aiAssistantLabel.drawerTabs": "Assistant sections",
  "common.aiAssistantLabel.drawerToolbar": "Assistant toolbar",
  "common.aiAssistantLabel.error": "Something went wrong. Please try again.",
  "common.aiAssistantLabel.expandDrawer": "Expand assistant to 75% of screen",
  "common.aiAssistantLabel.feedbackAssistantMessageRequired": "Feedback can only be sent for assistant responses.",
  "common.aiAssistantLabel.feedbackCommentLabel": "Your message (optional)",
  "common.aiAssistantLabel.feedbackCommentPlaceholder": "Tell us what went wrong or what you expected?",
  "common.aiAssistantLabel.feedbackCopyForAgent": "Copy Feedback",
  "common.aiAssistantLabel.feedbackCopiedForAgent": "Feedback copied to clipboard",
  "common.aiAssistantLabel.feedbackCopyFailed": "Unable to copy debug details right now.",
  "common.aiAssistantLabel.feedbackConversationModalCloseLabel": "Close conversation feedback dialog",
  "common.aiAssistantLabel.feedbackConversationModalDescription": "Share this full conversation with the AI support team. School, user, and page details are included automatically.",
  "common.aiAssistantLabel.feedbackConversationModalTitle": "Send conversation feedback",
  "common.aiAssistantLabel.feedbackConversationRequired": "Start a conversation before sending feedback.",
  "common.aiAssistantLabel.feedbackModalCloseLabel": "Close feedback dialog",
  "common.aiAssistantLabel.feedbackModalDescription": "Share this response with the AI support team. School, user, and page details are included automatically.",
  "common.aiAssistantLabel.feedbackModalTitle": "Send feedback to AI support",
  "common.aiAssistantLabel.feedbackSend": "Send to support",
  "common.aiAssistantLabel.feedbackSendFailed": "Unable to send feedback right now.",
  "common.aiAssistantLabel.feedbackSent": "Feedback sent to the AI support team.",
  "common.aiAssistantLabel.followUpSuggestions": "Suggested next steps",
  "common.aiAssistantLabel.followUpSuggestionUnavailable": "That suggestion is no longer available. Refresh the conversation and try again.",
  "common.aiAssistantLabel.followUpSuggestionStateChanged": "The underlying record changed since this suggestion was shown. Review the latest context and try again.",
  "common.aiAssistantLabel.suggestionOpenStudentProfile": "Open student profile",
  "common.aiAssistantLabel.suggestionOpenStudentFinanceTab": "Open Finance tab",
  "common.aiAssistantLabel.suggestionDraftStudentFollowUpEmail": "Draft follow-up email",
  "common.aiAssistantLabel.suggestionDraftApplicantFollowUpEmail": "Draft applicant follow-up email",
  "common.aiAssistantLabel.suggestionDraftPaymentReminderEmail": "Draft payment reminder",
  "common.aiAssistantLabel.suggestionScheduleStudentMeeting": "Schedule meeting",
  "common.aiAssistantLabel.suggestionScheduleApplicantMeeting": "Schedule applicant meeting",
  "common.aiAssistantLabel.suggestionBreakdownUnpaidByProgram": "Break down unpaid by program",
  "common.aiAssistantLabel.groundingHandoffAfterClarify": "I still need a bit more detail to answer safely. Please contact your school's AI support team or try rephrasing with the student name, report, or date range you mean.",
  "common.aiAssistantLabel.groundingLowConfidenceClarify": "I found some context but I'm not confident enough to answer. Which student, report, or time period should I use?",
  "common.aiAssistantLabel.generalReferenceLocalTimeAnswer": "The local time in :place is :datetime :abbrev (:timezone). This is based on the server clock at the moment of your question, not a live external time service.",
  "common.aiAssistantLabel.groundingResourceGapClarify": "I don't have enough school data or page context to answer that yet. What student, report, or topic should I focus on?",
  "common.aiAssistantLabel.groundingStudentSearchChoicePrompt": "Look up :name (contact #:id)",
  "common.aiAssistantLabel.groundingStudentSearchMultipleMatches": "I found :count contacts matching \":search\". Which one did you mean?",
  "common.aiAssistantLabel.groundingStudentSearchZeroMatches": "I couldn't find a contact matching \":search\". Can you share the full name, email, or student number?",
  "common.aiAssistantLabel.history": "History",
  "common.aiAssistantLabel.historyRefreshFailed": "Unable to load chat history. Please try again.",
  "common.aiAssistantLabel.invalidConversationResponse": "The server returned an invalid conversation response.",
  "common.aiAssistantLabel.marketingListCreated": "List created",
  "common.aiAssistantLabel.messageActions": "Message actions",
  "common.aiAssistantLabel.messageRequired": "Please enter a message.",
  "common.aiAssistantLabel.modelWriteAccommodationLabel": "Accommodation",
  "common.aiAssistantLabel.modelWriteAlreadyCollected": "Already collected:",
  "common.aiAssistantLabel.modelWriteBulkCampusNotFound": "Campus \":campus\" was not found.",
  "common.aiAssistantLabel.modelWriteBulkChatSource": "the list in this chat",
  "common.aiAssistantLabel.modelWriteBulkSampleSource": "generated sample records (example.com emails)",
  "common.aiAssistantLabel.modelWriteBulkCancelled": "OK, I won't create records from **:file**.",
  "common.aiAssistantLabel.modelWriteBulkDuplicateInFile": "Duplicate of row :row in this file.",
  "common.aiAssistantLabel.modelWriteBulkMissingColumns": "I couldn't find a column for :fields in **:file**. Columns found: :columns. Rename the column headers and attach the file again.",
  "common.aiAssistantLabel.modelWriteBulkMissingValue": ":field is empty.",
  "common.aiAssistantLabel.modelWriteBulkModelRequired": "I found :count rows in **:file**. Which kind of records should I create from it? (:models)",
  "common.aiAssistantLabel.modelWriteBulkNoValidRows": "None of the :count rows in **:file** can be created:",
  "common.aiAssistantLabel.modelWriteBulkRetrySharedFieldsHint": "Reply with the campus (or other shared value) to use for every row — for example: **Montreal Campus**.",
  "common.aiAssistantLabel.modelWriteBulkRowLine": "Row :row (:name): :reason",
  "common.aiAssistantLabel.modelWriteBulkSharedFieldsIntro": "I found :count :model rows in **:file**. Before I prepare them, tell me which value to use for every row:",
  "common.aiAssistantLabel.modelWriteBulkTooManyRows": "A bulk create can include at most :max rows. Split the file and try again.",
  "common.aiAssistantLabel.modelWriteBulkTruncated": "Only the first :max of :total rows were read. Split larger files.",
  "common.aiAssistantLabel.modelWriteCampusLabel": "Campus",
  "common.aiAssistantLabel.modelWriteCampusRequired": "A campus is required. Name the campus or confirm the default campus for this tenant.",
  "common.aiAssistantLabel.modelWriteCourseLabel": "Course",
  "common.aiAssistantLabel.modelWriteCreateVerb": "create",
  "common.aiAssistantLabel.modelWriteMissingIntro": "To :verb this :model, I still need:",
  "common.aiAssistantLabel.modelWriteNoFieldsToUpdate": "Tell me which fields to change (for example first name, email, or phone).",
  "common.aiAssistantLabel.modelWritePermissionDenied": "You do not have permission to create or edit this record.",
  "common.aiAssistantLabel.modelWriteUnsupportedFinanceRecord": "I can't create or edit :record records from chat — nothing has been saved. Use the Finance tab on the student profile instead. I can still summarize the attached document or draft a message about it.",
  "common.aiAssistantLabel.modelWriteProgramLabel": "Program",
  "common.aiAssistantLabel.modelWriteProgramCodeExists": "Program code :code already exists.",
  "common.aiAssistantLabel.modelWriteRecordRequired": "Which :model should I update? Open the profile or name the record.",
  "common.aiAssistantLabel.modelWriteStudentLabel": "Student / contact",
  "common.aiAssistantLabel.modelWriteUpdateVerb": "update",
  "common.aiAssistantLabel.navLabel": "AI-Assistant",
  "common.aiAssistantLabel.newChat": "New Chat",
  "common.aiAssistantLabel.noConversations": "No conversations yet",
  "common.aiAssistantLabel.noMatchingSessions": "No matching sessions",
  "common.aiAssistantLabel.noPageContext": "No page context detected.",
  "common.aiAssistantLabel.pageContextHelpBody": "When on, the assistant uses this page and open record. Turn the switch off next to your message to ask about someone or something else, or name them in your message.",
  "common.aiAssistantLabel.pageContextHelpTitle": "About page context",
  "common.aiAssistantLabel.noStaffPersonaConfigured": "No active staff AI persona is configured. Create an active AI Agent persona with audience type Staff.",
  "common.aiAssistantLabel.openAssistant": "Open AI Assistant",
  "common.aiAssistantLabel.openAutomationDraft": "Open Draft",
  "common.aiAssistantLabel.openList": "Open List",
  "common.aiAssistantLabel.openModelRecord": "Open :model",
  "common.aiAssistantLabel.openSavedView": "Open View",
  "common.aiAssistantLabel.openSource": "Open source",
  "common.aiAssistantLabel.promptsTabContextHint": "Risk and operations prompts tailored to this page ? select one to start a chat.",
  "common.aiAssistantLabel.promptsTabGenericHint": "Browse school-wide risk reports and saved views. Open a student profile for contact-specific follow-ups.",
  "common.aiAssistantLabel.renameChat": "Rename",
  "common.aiAssistantLabel.reportArtifactActionsLabel": "Save these results",
  "common.aiAssistantLabel.reportArtifactCorrespondenceInternalSignalExclusion": "Never mention staff-internal risk signals in the contact-facing draft ? especially unassigned admissions owner, missing admissions representative, or similar CRM/ownership wording. Write only about the contact-facing blockers shown in the report's risk signals (for example, only payment for a finance report); do not add blockers that are not in the results.",
  "common.aiAssistantLabel.reportArtifactCorrespondenceMergeTokens": "Output a reusable bulk-send template: do not use individual contact names from the results table. Use HEM-SP merge tags instead ? ${students.first_name} for the greeting and ${students.last_name} or ${students.fullName} when needed. Email sign-off: after the closing line, write exactly these four lines and nothing else (no school name, no ${user.name}, no ${students.email}): ${students.owner_first_name} ${students.owner_last_name} / ${students.owner_position} / ${students.owner_email} / ${students.owner_phone} (each on its own line). Write the literal token strings; do not substitute sample names.",
  "common.aiAssistantLabel.reportArtifactCorrespondenceSmsMergeTokens": "Output a reusable bulk-send template: do not use individual contact names from the results table. Use HEM-SP merge tags instead: ${students.first_name} for the greeting. Sign off with ${user.name} only. Write the literal token strings; do not substitute sample names.",
  "common.aiAssistantLabel.reportArtifactCreateList": "Create List",
  "common.aiAssistantLabel.reportArtifactCreateListHint": "Marketing list in Lists with these contacts for email or SMS",
  "common.aiAssistantLabel.reportArtifactCreateListGridHint": "Marketing list with the contacts in this grid view for email or SMS",
  "common.aiAssistantLabel.reportArtifactCreateReport": "Create Report",
  "common.aiAssistantLabel.reportArtifactCreateReportHint": "Saved report in Reports with matching filters",
  "common.aiAssistantLabel.reportArtifactAddDashboardWidget": "Add to dashboard",
  "common.aiAssistantLabel.reportArtifactAddDashboardWidgetHint": "Pin this report as a widget on your open dashboard (confirm to apply)",
  "common.aiAssistantLabel.reportArtifactCreateSavedView": "Create View",
  "common.aiAssistantLabel.reportArtifactCreateSavedViewHint": "Reusable grid filter in Views on Applicants or Students",
  "common.aiAssistantLabel.reportArtifactDraftChat": "Draft Chat",
  "common.aiAssistantLabel.reportArtifactDraftChatHint": "Draft a portal chat message for contacts in these results",
  "common.aiAssistantLabel.reportArtifactDraftChatPrompt": "Draft a short portal chat message for :audience from the results table above. Ground the message in the report filters and risk signals shown. Follow brief message drafting rules ? do not send automatically.",
  "common.aiAssistantLabel.reportArtifactDraftEmail": "Draft Email",
  "common.aiAssistantLabel.reportArtifactDraftEmailHint": "Draft reusable email copy for contacts in these results",
  "common.aiAssistantLabel.reportArtifactLessonDraftEmailPrompt": "Draft a follow-up email for :audience from the lesson results table above. Base it on the lesson dates, times, courses, and classrooms shown (for example a schedule reminder or lesson update). Apply every School training rule (language, tone, naming, formatting). Output a reusable template with subject and body; do not send automatically.",
  "common.aiAssistantLabel.reportArtifactLessonDraftSmsPrompt": "Draft a short SMS for :audience from the lesson results table above. Base it on the lesson dates, times, courses, and classrooms shown (for example a schedule reminder). Keep it concise for multi-contact SMS outreach; do not send automatically.",
  "common.aiAssistantLabel.reportArtifactDraftEmailPrompt": "Draft a follow-up email for :audience from the results table above. Ground the copy in the report filters and risk signals shown. Apply every School training rule (language, tone, naming, formatting). Output a reusable template with subject and body ? do not send automatically.",
  "common.aiAssistantLabel.reportArtifactDraftSms": "Draft SMS",
  "common.aiAssistantLabel.reportArtifactDraftSmsHint": "Draft a short SMS for contacts in these results",
  "common.aiAssistantLabel.reportArtifactDraftSmsPrompt": "Draft a short SMS for :audience from the results table above. Ground the message in the report filters and risk signals shown. Keep it concise for multi-contact SMS outreach ? do not send automatically.",
  "common.aiAssistantLabel.reportArtifactEnrollAutomation": "Enroll in Automation",
  "common.aiAssistantLabel.reportArtifactEnrollAutomationHint": "Create a marketing list and run a List Membership Event automation",
  "common.aiAssistantLabel.reportArtifactEnrollAutomationPrompt": "Create a marketing list from :audience in the results table above, then attach a List Membership Event automation to enroll contacts when they join the list. Ask me to choose the automation if I did not name one.",
  "common.aiAssistantLabel.actionEnrollListInAutomation": "Enroll marketing list in automation",
  "common.aiAssistantLabel.actionEnrollListAutomationRequiresReport": "Run a people-list report first, then use Enroll in Automation on those results.",
  "common.aiAssistantLabel.actionEnrollListAutomationListPermission": "You do not have permission to create marketing lists. Ask an administrator for list create access.",
  "common.aiAssistantLabel.actionEnrollListAutomationListUnavailable": "The marketing list for this enrollment could not be found.",
  "common.aiAssistantLabel.actionEnrollListAutomationEmptyList": "The marketing list has no contacts to enroll.",
  "common.aiAssistantLabel.actionEnrollListAutomationTooManyContacts": "This population has :count contacts. Enroll at most :max contacts at once from the assistant.",
  "common.aiAssistantLabel.actionEnrollListAutomationAllFailed": "No contacts could be enrolled in that automation. Check audience scope and active runs, then try again.",
  "common.aiAssistantLabel.actionEnrollListAutomationListReady": "Marketing list **:list** is ready with **:count** contacts.",
  "common.aiAssistantLabel.actionEnrollListAutomationChooseListMembership": "Which published automation uses the **List Membership Event** trigger for this list?",
  "common.aiAssistantLabel.actionEnrollListAutomationChooseAutomation": "Which published automation should enroll this population?",
  "common.aiAssistantLabel.actionEnrollListAutomationDraftIntent": "List Membership Event automation when students join the marketing list :list. Attach this list in Automation Studio and add follow-up actions for new list members.",
  "common.aiAssistantLabel.actionEnrollListAutomationDraftFailed": "The marketing list was created, but I could not draft a List Membership Event automation. Open Automation Studio, create a workflow with the List Membership Event trigger, attach the new list, and publish.",
  "common.aiAssistantLabel.actionEnrollListAutomationChooseAutomationOverflow": ":count published automations are available; only the first 12 are listed here.",
  "common.aiAssistantLabel.actionEnrollListAutomationChooseAutomationHint": "Reply with the list number or the automation title.",
  "common.aiAssistantLabel.actionExecutedEnrollListInAutomation": "Created list **:list** and enrolled :count contacts in **:automation**.",
  "common.aiAssistantLabel.reportArtifactExportCsv": "Export CSV",
  "common.aiAssistantLabel.reportArtifactExportCsvHint": "Download the table rows as a CSV file",
  "common.aiAssistantLabel.reportArtifactExportPdf": "Export PDF",
  "common.aiAssistantLabel.reportArtifactExportPdfHint": "Download the table and chart as a PDF",
  "common.aiAssistantLabel.reportArtifactShowChart": "Show chart",
  "common.aiAssistantLabel.reportArtifactShowChartHint": "Chart the report breakdown from the current table",
  "common.aiAssistantLabel.reportExportCsvFailed": "Unable to export CSV.",
  "common.aiAssistantLabel.reportExportPdfFailed": "Unable to export PDF.",
  "common.aiAssistantLabel.reportExportPdfQueued": "Preparing your PDF. This may take a moment for large reports.",
  "common.aiAssistantLabel.reportExportPdfNotFound": "PDF export not found or no longer available.",
  "common.aiAssistantLabel.reportPreviewContactName": "Contact",
  "common.aiAssistantLabel.reportPreviewRiskType": "Risk type",
  "common.aiAssistantLabel.reportFunnelStageLabel": "Stage",
  "common.aiAssistantLabel.reportFunnelFromNewPct": "From new",
  "common.aiAssistantLabel.reportFunnelFromPrevPct": "From previous",
  "common.aiAssistantLabel.reportResult": "Report results",
  "common.aiAssistantLabel.reportRowActionsAriaLabel": "Report row actions",
  "common.aiAssistantLabel.reportRowCreateView": "Create a View",
  "common.aiAssistantLabel.reportRowCreateList": "Create a List",
  "common.aiAssistantLabel.sisLookupCriteriaAttendance": "Attendance",
  "common.aiAssistantLabel.sisLookupCriteriaMissingAttendance": "Missing attendance",
  "common.aiAssistantLabel.sisLookupCriteriaPeriod": "Period",
  "common.aiAssistantLabel.sisLookupCriteriaSearch": "Search",
  "common.aiAssistantLabel.sisLookupDeleteCohort": "Delete cohort",
  "common.aiAssistantLabel.sisLookupMissingAttendance": "Missing attendance",
  "common.aiAssistantLabel.sisLookupOpenClassOperations": "Open in Class Operations",
  "common.aiAssistantLabel.sisLookupMoreAvailable": "More records are available. Show more puts the next page in the message box.",
  "common.aiAssistantLabel.sisLookupShowingOfTotal": "Showing :shown of :total matching records",
  "common.aiAssistantLabel.sisLookupResult": "Lookup results",
  "common.aiAssistantLabel.sisLookupShowMore": "Show more",
  "common.aiAssistantLabel.sisLookupUpdateCohort": "Update cohort",
  "common.aiAssistantLabel.sisLookupCriteriaOwner": "Owner",
  "common.aiAssistantLabel.sisLookupCreateStudentList": "Create a list",
  "common.aiAssistantLabel.sisLookupEnrollStudentsInAutomation": "Enroll in an automation",
  "common.aiAssistantLabel.resizeDrawer": "Resize assistant panel",
  "common.aiAssistantLabel.riskAssignOwnerError": "Unable to assign owner.",
  "common.aiAssistantLabel.riskAssignOwnerOptionsError": "Unable to load owner options.",
  "common.aiAssistantLabel.riskAssignOwnerOptionsLoading": "Loading owners?",
  "common.aiAssistantLabel.riskAssignOwnerPickerAssign": "Assign owner",
  "common.aiAssistantLabel.riskAssignOwnerPickerDescription": "Select an owner for :student. This updates the contact profile directly.",
  "common.aiAssistantLabel.riskAssignOwnerPickerLabel": "Owner",
  "common.aiAssistantLabel.riskAssignOwnerPickerPlaceholder": "Select an owner",
  "common.aiAssistantLabel.riskAssignOwnerPickerTitle": "Assign owner",
  "common.aiAssistantLabel.riskAssignOwnerSuccess": "Owner assigned to :owner.",
  "common.aiAssistantLabel.riskFollowUpConfirmDescription": "You are about to :action for :student regarding :risk. Continue?",
  "common.aiAssistantLabel.riskFollowUpConfirmStudentFallback": "this contact",
  "common.aiAssistantLabel.riskFollowUpConfirmTitle": "Confirm follow-up action",
  "common.aiAssistantLabel.riskListEmpty": "No active risk signals found for this context.",
  "common.aiAssistantLabel.riskListFilterAll": "All dimensions",
  "common.aiAssistantLabel.riskListLoadError": "Could not load the risk list. Try again or ask in chat.",
  "common.aiAssistantLabel.riskListLoading": "Loading risk contacts?",
  "common.aiAssistantLabel.riskListTitle": "Contacts at risk on this page",
  "common.aiAssistantLabel.riskListTruncated": "Showing the first matches. Ask in chat for a full report or saved view.",
  "common.aiAssistantLabel.riskProfileNoRisk": "No active risk signals for this contact.",
  "common.aiAssistantLabel.riskProfileSuggestionsHint": "Suggested actions based on active risk signals ? select one to start a chat.",
  "common.aiAssistantLabel.riskProfileTabHint": "Active risk signals and follow-up actions. Select an action to ask the assistant.",
  "common.aiAssistantLabel.riskProfileTitle": "This contact is at risk",
  "common.aiAssistantLabel.riskReportDateRangeAll": "All contacts (no contact creation-date filter)",
  "common.aiAssistantLabel.rows": ":count rows",
  "common.aiAssistantLabel.savedViewCreated": "View created",
  "common.aiAssistantLabel.savedViewTableApplicants": "Applicants",
  "common.aiAssistantLabel.savedViewTableCourses": "Courses",
  "common.aiAssistantLabel.savedViewTablePrograms": "Programs",
  "common.aiAssistantLabel.savedViewTableStudents": "Students",
  "common.aiAssistantLabel.searchSessions": "Search sessions...",
  "common.aiAssistantLabel.send": "Send",
  "common.aiAssistantLabel.sendFeedback": "Send feedback",
  "common.aiAssistantLabel.sessionsMenu": "Chat sessions",
  "common.aiAssistantLabel.sessionsMenuHint": "Start a new chat or pick up where you left off.",
  "common.aiAssistantLabel.showSuggestions": "Show suggested prompts",
  "common.aiAssistantLabel.sources": "Sources",
  "common.aiAssistantLabel.staffUserUnavailable": "Unable to link this chat to your staff account.",
  "common.aiAssistantLabel.staticListContactCount": ":count contacts",
  "common.aiAssistantLabel.staticListCreated": "List created",
  "common.aiAssistantLabel.studentAcademicPathResult": "Academic path",
  "common.aiAssistantLabel.studentDashboardAcademic": "Academic",
  "common.aiAssistantLabel.studentDashboardAttendance": "Attendance",
  "common.aiAssistantLabel.studentDashboardAttendanceRate": "Attendance rate",
  "common.aiAssistantLabel.studentDashboardBalanceDue": "Balance due",
  "common.aiAssistantLabel.studentDashboardCompliance": "Compliance",
  "common.aiAssistantLabel.studentDashboardComplianceComplete": "Complete",
  "common.aiAssistantLabel.studentDashboardComplianceMissing": "Missing",
  "common.aiAssistantLabel.studentDashboardComplianceUnknown": "Unknown",
  "common.aiAssistantLabel.studentDashboardCurrentBalance": "Current balance",
  "common.aiAssistantLabel.studentDashboardEnrollments": "Enrollments",
  "common.aiAssistantLabel.studentDashboardExportPdf": "Export PDF",
  "common.aiAssistantLabel.studentDashboardExportPdfFailed": "Unable to export PDF.",
  "common.aiAssistantLabel.studentDashboardExportPdfLoading": "Exporting PDF?",
  "common.aiAssistantLabel.studentDashboardFinance": "Finance",
  "common.aiAssistantLabel.studentDashboardFinanceBreakdown": "By service category",
  "common.aiAssistantLabel.studentDashboardGrades": "Grades",
  "common.aiAssistantLabel.studentDashboardInCredit": "In credit",
  "common.aiAssistantLabel.studentDashboardLastAttendance": "Last attendance",
  "common.aiAssistantLabel.studentDashboardLastPayment": "Last payment",
  "common.aiAssistantLabel.studentDashboardMilestones": "Milestones",
  "common.aiAssistantLabel.studentDashboardOpenInvoices": "Open invoices",
  "common.aiAssistantLabel.studentDashboardOpenProfile": "Open profile",
  "common.aiAssistantLabel.studentDashboardPresentCount": "Present sessions",
  "common.aiAssistantLabel.studentDashboardRecentTransaction": "Recent transaction",
  "common.aiAssistantLabel.studentDashboardResult": "Student summary",
  "common.aiAssistantLabel.studentFinanceSummaryResult": "Finance summary",
  "common.aiAssistantLabel.studentFinanceSummaryUnavailable": "Finance details are unavailable for this contact.",
  "common.aiAssistantLabel.supportRequestBlockedTopicLabel": "Blocked topic:",
  "common.aiAssistantLabel.supportRequestCommentLabel": "Additional feedback:",
  "common.aiAssistantLabel.supportRequestConversationFullLabel": "Full conversation",
  "common.aiAssistantLabel.supportRequestConversationLabel": "Conversation:",
  "common.aiAssistantLabel.supportRequestConversationTranscriptLabel": "Conversation transcript:",
  "common.aiAssistantLabel.supportRequestContextEnabledLabel": "Page context enabled",
  "common.aiAssistantLabel.supportRequestDebugDetailsLabel": "Debug details (for AI coding agent):",
  "common.aiAssistantLabel.supportRequestDebugMessageArtifactsLabel": "Assistant message artifacts:",
  "common.aiAssistantLabel.supportRequestDebugPageContextLabel": "Page context:",
  "common.aiAssistantLabel.supportRequestDebugTriageHint": "Triage: paste the section above into `php artisan ai-assistant:parse-support-request` (see docs/staff-assistant-support-request-triage.md).",
  "common.aiAssistantLabel.supportRequestIntro": "Please help with this AI Assistant request.",
  "common.aiAssistantLabel.supportRequestMessageLabel": "Message",
  "common.aiAssistantLabel.supportRequestPageUrlLabel": "Page URL:",
  "common.aiAssistantLabel.supportRequestPromptLabel": "Prompt:",
  "common.aiAssistantLabel.supportRequestResponseLabel": "Assistant response:",
  "common.aiAssistantLabel.supportRequestSchoolLabel": "School:",
  "common.aiAssistantLabel.supportRequestSubject": "AI Assistant support request",
  "common.aiAssistantLabel.supportRequestUserLabel": "User:",
  "common.aiAssistantLabel.tabChat": "Chat",
  "common.aiAssistantLabel.tabDailyBrief": "Daily Brief",
  "common.aiAssistantLabel.tabPrompts": "Risk Management",
  "common.aiAssistantLabel.tenantReportCreated": "Report created",
  "common.aiAssistantLabel.thinking": "Thinking...",
  "common.aiAssistantLabel.streamProgressConnecting": "Connecting...",
  "common.aiAssistantLabel.streamProgressOrchestrating": "Understanding your request...",
  "common.aiAssistantLabel.streamProgressRunningTools": "Running :tool...",
  "common.aiAssistantLabel.streamProgressRetrieving": "Searching the knowledge base...",
  "common.aiAssistantLabel.streamProgressGenerating": "Drafting a response...",
  "common.aiAssistantLabel.streamProgressFormatting": "Preparing results...",
  "common.aiAssistantLabel.streamProgressSaving": "Saving your conversation...",
  "common.aiAssistantLabel.stopGenerating": "Stop generating",
  "common.aiAssistantLabel.regenerateMessage": "Regenerate",
  "common.aiAssistantLabel.removeAttachment": "Remove attachment",
  "common.aiAssistantLabel.editMessage": "Edit message",
  "common.aiAssistantLabel.cancelEditMessage": "Cancel edit",
  "common.aiAssistantLabel.saveAndResendMessage": "Save & resend",
  "common.aiAssistantLabel.editingMessageHint": "Editing a previous message will start a new branch from that point.",
  "common.aiAssistantLabel.scrollToBottom": "Scroll to bottom",
  "common.aiAssistantLabel.slashCommandsHeading": "Commands",
  "common.aiAssistantLabel.mentionsHeading": "Mention a record",
  "common.aiAssistantLabel.mentionsSearching": "Searching…",
  "common.aiAssistantLabel.mentionsNoResults": "No matching records",
  "common.aiAssistantLabel.mentionTypeCampuses": "Campuses",
  "common.aiAssistantLabel.mentionTypePrograms": "Programs",
  "common.aiAssistantLabel.mentionTypeCourses": "Courses",
  "common.aiAssistantLabel.mentionTypeCohorts": "Cohorts",
  "common.aiAssistantLabel.mentionTypeClassrooms": "Classrooms",
  "common.aiAssistantLabel.mentionTypeInstructors": "Instructors",
  "common.aiAssistantLabel.mentionTypeUsers": "Users",
  "common.aiAssistantLabel.mentionTypeSchedules": "Schedules",
  "common.aiAssistantLabel.mentionTypeStudents": "Students",
  "common.aiAssistantLabel.mentionTypeGrades": "Grades",
  "common.aiAssistantLabel.slashCommandHelpLabel": "Help",
  "common.aiAssistantLabel.slashCommandHelpDescription": "See what the assistant can do",
  "common.aiAssistantLabel.slashCommandReportsLabel": "Reports",
  "common.aiAssistantLabel.slashCommandReportsDescription": "Show useful admissions reports",
  "common.aiAssistantLabel.slashCommandRiskLabel": "Risk",
  "common.aiAssistantLabel.slashCommandRiskDescription": "Find applicants at risk",
  "common.aiAssistantLabel.slashCommandBreakdownLabel": "Breakdown",
  "common.aiAssistantLabel.slashCommandBreakdownDescription": "Break down the current list by a column",
  "common.aiAssistantLabel.slashCommandStudentSummaryLabel": "Summary",
  "common.aiAssistantLabel.slashCommandStudentSummaryDescription": "Summarize this contact's profile",
  "common.aiAssistantLabel.slashCommandStudentFinanceLabel": "Finance",
  "common.aiAssistantLabel.slashCommandStudentFinanceDescription": "Summarize balances, invoices, and payments",
  "common.aiAssistantLabel.slashCommandStudentCommunicationsLabel": "Communications",
  "common.aiAssistantLabel.slashCommandStudentCommunicationsDescription": "Digest recent emails, SMS, messages, and calls",
  "common.aiAssistantLabel.slashCommandStudentAttentionLabel": "Attention",
  "common.aiAssistantLabel.slashCommandStudentAttentionDescription": "Documents and payments that need attention",
  "common.aiAssistantLabel.slashCommandStudentDocumentsLabel": "Documents",
  "common.aiAssistantLabel.slashCommandStudentDocumentsDescription": "Missing or outstanding documents",
  "common.aiAssistantLabel.slashCommandStudentActivityTimelineLabel": "Timeline",
  "common.aiAssistantLabel.slashCommandStudentActivityTimelineDescription": "Summarize activity across channels",
  "common.aiAssistantLabel.slashCommandDraftEmailLabel": "Email",
  "common.aiAssistantLabel.slashCommandDraftEmailDescription": "Draft an email to this contact",
  "common.aiAssistantLabel.slashCommandDraftNoteLabel": "Note",
  "common.aiAssistantLabel.slashCommandDraftNoteDescription": "Draft a follow-up note for this contact",
  "common.aiAssistantLabel.slashCommandScheduleMeetingLabel": "Meeting",
  "common.aiAssistantLabel.slashCommandScheduleMeetingDescription": "Schedule a meeting with this contact",
  "common.aiAssistantLabel.slashCommandNewApplicantLabel": "New applicant",
  "common.aiAssistantLabel.slashCommandNewApplicantDescription": "Create an applicant from chat",
  "common.aiAssistantLabel.slashCommandNewProgramLabel": "New program",
  "common.aiAssistantLabel.slashCommandNewProgramDescription": "Create a program from chat",
  "common.aiAssistantLabel.slashCommandListFollowUpLabel": "Follow-up",
  "common.aiAssistantLabel.slashCommandListFollowUpDescription": "Find contacts on this list who need follow-up",
  "common.aiAssistantLabel.slashCommandFinanceRecentPaymentsLabel": "Payments",
  "common.aiAssistantLabel.slashCommandFinanceRecentPaymentsDescription": "Summarize recent payment activity",
  "common.aiAssistantLabel.slashCommandFinanceCollectionsCompareLabel": "Compare collections",
  "common.aiAssistantLabel.slashCommandFinanceCollectionsCompareDescription": "Collections this month vs last month",
  "common.aiAssistantLabel.slashCommandListOwnerWorkloadLabel": "Workload",
  "common.aiAssistantLabel.slashCommandListOwnerWorkloadDescription": "Chart owner workload on this list",
  "common.aiAssistantLabel.slashCommandApplicantsOwnerWorkloadLabel": "Workload",
  "common.aiAssistantLabel.slashCommandApplicantsOwnerWorkloadDescription": "Owner workload for applicants on this grid",
  "common.aiAssistantLabel.slashCommandUnpaidInvoicesLabel": "Unpaid invoices",
  "common.aiAssistantLabel.slashCommandUnpaidInvoicesDescription": "Show students with unpaid invoices",
  "common.aiAssistantLabel.slashCommandOverdueTasksLabel": "Overdue tasks",
  "common.aiAssistantLabel.slashCommandOverdueTasksDescription": "Show your overdue tasks",
  "common.aiAssistantLabel.slashCommandMeetingsTodayLabel": "Today",
  "common.aiAssistantLabel.slashCommandMeetingsTodayDescription": "Extensive summary of today's tasks and meetings",
  "common.aiAssistantLabel.copyCode": "Copy code",
  "common.aiAssistantLabel.copiedCode": "Copied",
  "common.aiAssistantLabel.openAssistantShortcut": "Open AI Assistant (Ctrl+Shift+A)",
  "common.aiAssistantLabel.title": "AI Assistant",
  "common.aiAssistantLabel.toolResult": "Tool result",
  "common.aiAssistantLabel.trainAssistant": "Guide your AI assistant",
  "common.aiAssistantLabel.trainingBestPracticeDirect": "Write clear directives — use \"Do not\", \"Always\", \"Prefer\", or \"Never\" rather than vague notes like \"be better\".",
  "common.aiAssistantLabel.trainingBestPracticeEnhance": "Use Enhance rule — type a rough note first, then click Enhance rule to rewrite it into a clear, structured instruction before you save.",
  "common.aiAssistantLabel.trainingBestPracticeImmediate": "No manual indexing — after you save, the rule is approved and indexed automatically for retrieval.",
  "common.aiAssistantLabel.trainingBestPracticeManage": "Review or edit anytime under Marketing > AI Agents > Resources > Staff AI Assistant > School training rules.",
  "common.aiAssistantLabel.trainingBestPracticeOneRule": "One topic per save — add separate rules for email tone, reports, risk wording, and so on instead of one long paragraph.",
  "common.aiAssistantLabel.trainingBestPracticePrecedence": "School rules win — when a custom rule conflicts with generic assistant guidance, follow the school rule.",
  "common.aiAssistantLabel.trainingBestPracticeScope": "Rules apply to every assistant request for your team — summaries, lookups, risk follow-ups, and drafts — not only emails, and not only the conversation where you save them.",
  "common.aiAssistantLabel.trainingBestPracticeSpecific": "Be specific — say when the rule applies and what to do (for example: \"When drafting student emails\").",
  "common.aiAssistantLabel.trainingBestPracticesTitle": "Best practices",
  "common.aiAssistantLabel.trainingExample1": "When drafting emails to students, use first name only — do not use full legal name in the greeting or body.",
  "common.aiAssistantLabel.trainingExample2": "When summarizing finance status, always show balance and last payment date; do not guess amounts that are not in the data.",
  "common.aiAssistantLabel.trainingExample3": "For correspondence drafts, keep tone professional and concise; avoid exclamation marks and marketing hype.",
  "common.aiAssistantLabel.trainingExamplesTitle": "Examples",
  "common.aiAssistantLabel.trainingModalCloseLabel": "Close training dialog",
  "common.aiAssistantLabel.trainingModalDescription": "Add a custom instruction for your school. Saved rules are stored in your knowledge base and apply to every assistant request — summaries, lookups, risk follow-ups, and drafts — not only emails.",
  "common.aiAssistantLabel.trainingModalTitle": "Guide your AI assistant",
  "common.aiAssistantLabel.trainingModalWorkflowTitle": "How to start",
  "common.aiAssistantLabel.trainingRuleEnhance": "Enhance rule",
  "common.aiAssistantLabel.trainingRuleEnhanceFailed": "Unable to enhance the training rule right now.",
  "common.aiAssistantLabel.trainingRuleEnhanceHelp": "Type a rough idea in the box, then click Enhance rule to polish it into a clear instruction you can review and save.",
  "common.aiAssistantLabel.trainingRuleEnhanceUnavailable": "AI rule enhancement is not configured for this school.",
  "common.aiAssistantLabel.trainingRuleIndexFailed": "The rule was saved but could not be indexed for the assistant. Try again or index it under Marketing > AI Agents > Resources.",
  "common.aiAssistantLabel.trainingRuleLabel": "Your rule",
  "common.aiAssistantLabel.trainingRulePlaceholder": "When drafting emails to applicants, use first name only and do not include internal CRM notes in the message.",
  "common.aiAssistantLabel.trainingRuleRequired": "Enter an instruction for the assistant.",
  "common.aiAssistantLabel.trainingRuleSave": "Save to knowledge base",
  "common.aiAssistantLabel.trainingRuleSaveFailed": "Unable to save the training rule right now.",
  "common.aiAssistantLabel.trainingRuleSaved": "Training rule saved for this school.",
  "common.aiAssistantLabel.trigger": "Trigger",
  "common.aiAssistantLabel.truncated": "The table shows a preview only. Export PDF or CSV to download all matching results.",
  "common.aiAssistantLabel.truncatedCsvOnly": "The table shows a preview only. Export CSV to download all matching results.",
  "common.aiAssistantLabel.truncatedShowingOf": "Showing :shown of :total in the table. Export PDF or CSV to download all results.",
  "common.aiAssistantLabel.truncatedShowingOfCsvOnly": "Showing :shown of :total in the table. Export CSV to download all results.",
  "common.aiAssistantLabel.unableToStartConversation": "Unable to start a conversation.",
  "common.aiAssistantLabel.conversationMemoryIncompatible": "This conversation uses an unsupported memory format (schema v:version). Start a new conversation to continue.",
  "common.aiAssistantLabel.streamingNotAvailable": "Streaming is not available yet.",
  "common.aiAssistantLabel.untitledChat": "Untitled chat",
  "common.aiAssistantLabel.viewList": "Open List",
  "common.aiAssistantLabel.viewMarketingList": "View marketing list",
  "common.aiAssistantLabel.viewTenantReport": "Open Report",
  "common.aiAssistantReviewLabel.auditToolExecution": "Tool execution",
  "common.aiAssistantReviewLabel.auditWriteCancel": "Write action cancelled",
  "common.aiAssistantReviewLabel.auditWriteConfirm": "Write action confirmed",
  "common.aiAssistantReviewLabel.auditWritePropose": "Write action proposed",
  "common.aiAssistantReviewLabel.backToConversations": "Back to conversations",
  "common.aiAssistantReviewLabel.columnActionType": "Action type",
  "common.aiAssistantReviewLabel.columnAssignedTo": "Assigned to",
  "common.aiAssistantReviewLabel.columnChannel": "Channel",
  "common.aiAssistantReviewLabel.columnConfidence": "Confidence",
  "common.aiAssistantReviewLabel.columnConversation": "Conversation",
  "common.aiAssistantReviewLabel.columnCreatedAt": "Creation Date",
  "common.aiAssistantReviewLabel.columnLastMessageAt": "Last message",
  "common.aiAssistantReviewLabel.columnMessages": "Messages",
  "common.aiAssistantReviewLabel.columnOutcome": "Outcome",
  "common.aiAssistantReviewLabel.columnPermission": "Permission",
  "common.aiAssistantReviewLabel.columnPersona": "Persona",
  "common.aiAssistantReviewLabel.columnQuestion": "Question",
  "common.aiAssistantReviewLabel.columnReplyLanguage": "Reply Language",
  "common.aiAssistantReviewLabel.columnResult": "Result",
  "common.aiAssistantReviewLabel.columnStaffUser": "Staff user",
  "common.aiAssistantReviewLabel.columnStatus": "Status",
  "common.aiAssistantReviewLabel.columnSuggestedResource": "Suggested resource",
  "common.aiAssistantReviewLabel.columnTitle": "Title",
  "common.aiAssistantReviewLabel.columnTool": "Tool",
  "common.aiAssistantReviewLabel.columnTopic": "Topic",
  "common.aiAssistantReviewLabel.conversationsTitle": "Staff Assistant Conversations",
  "common.aiAssistantReviewLabel.emptyConversations": "No staff assistant conversations matched the current search or filters.",
  "common.aiAssistantReviewLabel.emptyKnowledgeSuggestions": "No suggested knowledge updates matched the current search or filters.",
  "common.aiAssistantReviewLabel.emptyLowConfidence": "No low-confidence assistant answers matched the current search or filters.",
  "common.aiAssistantReviewLabel.emptyMessages": "No messages in this conversation",
  "common.aiAssistantReviewLabel.emptyMessagesDescription": "This conversation does not contain any stored messages yet.",
  "common.aiAssistantReviewLabel.emptyResourceGaps": "No resource gaps matched the current search or filters.",
  "common.aiAssistantReviewLabel.emptyToolAudit": "No assistant tool executions matched the current search or filters.",
  "common.aiAssistantReviewLabel.escalationRequired": "Escalation required",
  "common.aiAssistantReviewLabel.gapStatusDismissed": "Dismissed",
  "common.aiAssistantReviewLabel.gapStatusInReview": "In review",
  "common.aiAssistantReviewLabel.gapStatusOpen": "Open",
  "common.aiAssistantReviewLabel.gapStatusResolved": "Resolved",
  "common.aiAssistantReviewLabel.knowledgeSuggestionsTitle": "Suggested Knowledge Updates",
  "common.aiAssistantReviewLabel.lowConfidenceTitle": "Low-Confidence Answers",
  "common.aiAssistantReviewLabel.messageTimeline": "Message timeline",
  "common.aiAssistantReviewLabel.outcomeActionProposal": "Action proposal",
  "common.aiAssistantReviewLabel.outcomeAutomationDraft": "Automation draft",
  "common.aiAssistantReviewLabel.outcomeClarify": "Clarification",
  "common.aiAssistantReviewLabel.outcomeLookup": "Lookup",
  "common.aiAssistantReviewLabel.outcomeLowConfidence": "Low confidence",
  "common.aiAssistantReviewLabel.outcomeRag": "Knowledge answer",
  "common.aiAssistantReviewLabel.outcomeReport": "Report",
  "common.aiAssistantReviewLabel.outcomeResourceGap": "Resource gap",
  "common.aiAssistantReviewLabel.outcomeSavedView": "Saved view",
  "common.aiAssistantReviewLabel.permissionDenied": "Denied",
  "common.aiAssistantReviewLabel.permissionGranted": "Granted",
  "common.aiAssistantReviewLabel.resourceGapUpdated": "Resource gap status updated.",
  "common.aiAssistantReviewLabel.resourceGapsTitle": "Resource Gap Queue",
  "common.aiAssistantReviewLabel.resultCancelled": "Cancelled",
  "common.aiAssistantReviewLabel.resultConfirmed": "Confirmed",
  "common.aiAssistantReviewLabel.resultDenied": "Denied",
  "common.aiAssistantReviewLabel.resultFailure": "Failure",
  "common.aiAssistantReviewLabel.resultProposed": "Proposed",
  "common.aiAssistantReviewLabel.resultSuccess": "Success",
  "common.aiAssistantReviewLabel.roleAssistant": "Assistant",
  "common.aiAssistantReviewLabel.roleUser": "Staff user",
  "common.aiAssistantReviewLabel.searchConversations": "Search conversations by title, persona, or staff user",
  "common.aiAssistantReviewLabel.searchKnowledgeSuggestions": "Search suggested knowledge updates by title, question, or persona",
  "common.aiAssistantReviewLabel.searchLowConfidence": "Search low-confidence answers by question, persona, or staff user",
  "common.aiAssistantReviewLabel.searchResourceGaps": "Search resource gaps by topic, question, or persona",
  "common.aiAssistantReviewLabel.searchToolAudit": "Search tool audit by tool, action, persona, or staff user",
  "common.aiAssistantReviewLabel.sourcesCount": ":count knowledge sources retrieved",
  "common.aiAssistantReviewLabel.timingsChunkCount": "Context chunks",
  "common.aiAssistantReviewLabel.timingsLlmMs": "LLM",
  "common.aiAssistantReviewLabel.timingsOrchestrationMs": "Orchestration",
  "common.aiAssistantReviewLabel.timingsPromptCharsEst": "Prompt size (est. chars)",
  "common.aiAssistantReviewLabel.timingsRetrievalMs": "Retrieval",
  "common.aiAssistantReviewLabel.timingsToolMs": "Tools",
  "common.aiAssistantReviewLabel.timingsSectionTitle": "Turn performance",
  "common.aiAssistantReviewLabel.timingsTotalMs": "Total",
  "common.aiAssistantReviewLabel.statusActive": "Active",
  "common.aiAssistantReviewLabel.statusClosed": "Closed",
  "common.aiAssistantReviewLabel.statusEscalated": "Escalated",
  "common.aiAssistantReviewLabel.toolAuditTitle": "Assistant Tool Audit",
  "common.aiAssistantReviewLabel.toolUsed": "Tool",
  "common.aiAssistantReviewLabel.topicAdmissions": "Admissions",
  "common.aiAssistantReviewLabel.topicDeadline": "Deadline",
  "common.aiAssistantReviewLabel.topicDocuments": "Documents",
  "common.aiAssistantReviewLabel.topicGeneral": "General",
  "common.aiAssistantReviewLabel.topicHousing": "Housing",
  "common.aiAssistantReviewLabel.topicPayment": "Payment",
  "common.aiAssistantReviewLabel.topicRefund": "Refund",
  "common.aiAssistantReviewLabel.topicTuition": "Tuition",
  "common.aiAssistantReviewLabel.topicVisa": "Visa",
  "common.aiAssistantReviewLabel.viewConversation": "View conversation",
  "common.aiAssistantReviewLabel.viewPersona": "View persona",
  "common.aiKnowledgeBaseLabel.add": "Add",
  "common.aiKnowledgeBaseLabel.addExcludePath": "Add excluded URL",
  "common.aiKnowledgeBaseLabel.addKnowledgeBase": "Add Knowledge Base",
  "common.aiKnowledgeBaseLabel.addText": "Add Text",
  "common.aiKnowledgeBaseLabel.addTextDescription": "Add articles manually",
  "common.aiKnowledgeBaseLabel.addWebPages": "Add Web Pages",
  "common.aiKnowledgeBaseLabel.addWebPagesDescription": "Crawl and sync your website",
  "common.aiKnowledgeBaseLabel.approveAllDocuments": "Approve and index all pending documents",
  "common.aiKnowledgeBaseLabel.approveAllDocumentsConfirm": "Approve and index :count document(s) for AI retrieval?",
  "common.aiKnowledgeBaseLabel.approveAllDocumentsCount": "Approve and index all (:count)",
  "common.aiKnowledgeBaseLabel.back": "Back",
  "common.aiKnowledgeBaseLabel.cancel": "Cancel",
  "common.aiKnowledgeBaseLabel.cannotSyncArchived": "Archived knowledge bases cannot be re-synced.",
  "common.aiKnowledgeBaseLabel.crawlActiveHint": "Website crawl is in progress. New pages appear here as documents when crawling finishes.",
  "common.aiKnowledgeBaseLabel.crawlAlreadyRunning": "A website crawl is already queued or running for this knowledge base.",
  "common.aiKnowledgeBaseLabel.crawlEmptyPageContent": "Crawled page had no usable content.",
  "common.aiKnowledgeBaseLabel.crawlError": "Crawl error",
  "common.aiKnowledgeBaseLabel.crawlFailedSummaryMany": ":count website crawls failed. Open each document for details.",
  "common.aiKnowledgeBaseLabel.crawlFailedSummaryOne": "One website crawl failed. Open the document for details.",
  "common.aiKnowledgeBaseLabel.crawlInvalidSeedResource": "This resource is not a website crawl seed.",
  "common.aiKnowledgeBaseLabel.crawlJobFailed": "The website crawl job failed before it could finish.",
  "common.aiKnowledgeBaseLabel.crawlMaxPages": "Up to :count pages",
  "common.aiKnowledgeBaseLabel.crawlMissingKnowledgeBase": "Website crawl seed is not linked to a knowledge base.",
  "common.aiKnowledgeBaseLabel.crawlPendingHint": "Website crawl is queued. Full-site indexing ships in KB-3.",
  "common.aiKnowledgeBaseLabel.crawlProgress": "Import progress",
  "common.aiKnowledgeBaseLabel.crawlProgressCount": ":current / :max pages",
  "common.aiKnowledgeBaseLabel.crawlProgressDetail": ":imported imported ? :explored explored / :max",
  "common.aiKnowledgeBaseLabel.crawlStalled": "The website crawl stopped making progress and was marked as failed. You can queue it again.",
  "common.aiKnowledgeBaseLabel.crawlStatus": "Crawl status",
  "common.aiKnowledgeBaseLabel.crawlStatusCompleted": "Crawl completed",
  "common.aiKnowledgeBaseLabel.crawlStatusFailed": "Crawl failed",
  "common.aiKnowledgeBaseLabel.crawlStatusPending": "Pending crawl",
  "common.aiKnowledgeBaseLabel.crawlStatusQueued": "Queued",
  "common.aiKnowledgeBaseLabel.crawlStatusRunning": "Crawling",
  "common.aiKnowledgeBaseLabel.crawlStatusUnsupported": "This website source cannot be re-synced in its current state.",
  "common.aiKnowledgeBaseLabel.createdSuccess": "Knowledge base created.",
  "common.aiKnowledgeBaseLabel.defaultMaxPagesHint": "Default limit is 500 pages per website.",
  "common.aiKnowledgeBaseLabel.editKnowledgeBase": "Edit knowledge base",
  "common.aiKnowledgeBaseLabel.updatedSuccess": "Knowledge base updated.",
  "common.aiKnowledgeBaseLabel.cannotEditArchived": "Archived knowledge bases cannot be edited. Publish the knowledge base first.",
  "common.aiKnowledgeBaseLabel.backToKnowledgeBase": "Back to knowledge base",
  "common.aiKnowledgeBaseLabel.saveChanges": "Save changes",
  "common.aiKnowledgeBaseLabel.deleteKnowledgeBase": "Delete",
  "common.aiKnowledgeBaseLabel.deleteKnowledgeBaseConfirm": "This permanently deletes the knowledge base, all of its documents, and removes it from every AI agent persona. This cannot be undone.",
  "common.aiKnowledgeBaseLabel.deletedDuringCrawl": "Knowledge base was deleted.",
  "common.aiKnowledgeBaseLabel.deletedSuccess": "Knowledge base deleted.",
  "common.aiKnowledgeBaseLabel.description": "Description",
  "common.aiKnowledgeBaseLabel.descriptionPlaceholder": "Optional summary of what this knowledge base covers.",
  "common.aiKnowledgeBaseLabel.detailDescription": "Review knowledge base settings and the documents synced into this collection.",
  "common.aiKnowledgeBaseLabel.documentExcludeCount": ":count excluded",
  "common.aiKnowledgeBaseLabel.documentRemove": "Remove",
  "common.aiKnowledgeBaseLabel.documentRemoveAria": "Remove :title",
  "common.aiKnowledgeBaseLabel.documents": "Documents",
  "common.aiKnowledgeBaseLabel.downloadDocumentsZip": "Download as ZIP",
  "common.aiKnowledgeBaseLabel.downloadDocumentsZipEmpty": "No downloadable files were found for this knowledge base.",
  "common.aiKnowledgeBaseLabel.documentsEmpty": "No documents yet",
  "common.aiKnowledgeBaseLabel.documentsEmptyAction": "Add a source",
  "common.aiKnowledgeBaseLabel.documentsEmptyDescription": "Start with a website crawl, upload files, or paste a text article for this collection.",
  "common.aiKnowledgeBaseLabel.documentPersonaViaKnowledgeBase": "via knowledge base",
  "common.aiKnowledgeBaseLabel.documentsIndexedCount": ":count already indexed",
  "common.aiKnowledgeBaseLabel.documentsSelectionHint": "Select rows for bulk approve or index, or use the quick actions above.",
  "common.aiKnowledgeBaseLabel.documentsTabCountMany": ":count documents",
  "common.aiKnowledgeBaseLabel.documentsTabCountOne": "1 document",
  "common.aiKnowledgeBaseLabel.documentsTabCountZero": "No documents",
  "common.aiKnowledgeBaseLabel.documentsTabDescription": "Review each source document, its indexing status, and website crawl progress.",
  "common.aiKnowledgeBaseLabel.documentsWorkflowDescription": "Crawled pages are saved as drafts. Approve them, then index them to build searchable chunks. Finally, attach this knowledge base to an AI persona.",
  "common.aiKnowledgeBaseLabel.documentsWorkflowHeading": "Prepare documents for AI retrieval",
  "common.aiKnowledgeBaseLabel.excludePath": "Excluded URL or path",
  "common.aiKnowledgeBaseLabel.excludePathNumber": "Exclude :number",
  "common.aiKnowledgeBaseLabel.excludePathPlaceholder": "https://www.example.edu/blog/*",
  "common.aiKnowledgeBaseLabel.excludePaths": "Excluded URLs",
  "common.aiKnowledgeBaseLabel.excludePathsEmpty": "No excluded URLs yet. Add path prefixes the crawler should skip.",
  "common.aiKnowledgeBaseLabel.excludePathsHint": "Skip top-level sections by path or full URL (for example /blog/* or https://www.example.edu/news/*). Path segments like /admin are also supported.",
  "common.aiKnowledgeBaseLabel.fileRequired": "Select a file to upload.",
  "common.aiKnowledgeBaseLabel.fileSourceDefaultTitle": "Uploaded file",
  "common.aiKnowledgeBaseLabel.formErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.aiKnowledgeBaseLabel.indexAllDocuments": "Index all approved documents",
  "common.aiKnowledgeBaseLabel.indexAllDocumentsConfirm": "Index :count approved document(s) and generate embeddings for AI retrieval?",
  "common.aiKnowledgeBaseLabel.indexAllDocumentsCount": "Index all approved (:count)",
  "common.aiKnowledgeBaseLabel.knowledgeBases": "Knowledge Bases",
  "common.aiKnowledgeBaseLabel.knowledgeBasesEmpty": "No knowledge bases yet.",
  "common.aiKnowledgeBaseLabel.knowledgeBasesTabDescription": "Organize documents, web pages, and text articles into collections for persona knowledge mapping.",
  "common.aiKnowledgeBaseLabel.language": "Language",
  "common.aiKnowledgeBaseLabel.lastSyncedAt": "Last synced",
  "common.aiKnowledgeBaseLabel.maxPages": "Max pages",
  "common.aiKnowledgeBaseLabel.name": "Knowledge Base Name",
  "common.aiKnowledgeBaseLabel.namePlaceholder": "Enter a name",
  "common.aiKnowledgeBaseLabel.nameRequired": "Knowledge base name is required.",
  "common.aiKnowledgeBaseLabel.next": "Next",
  "common.aiKnowledgeBaseLabel.noWebSourcesToSync": "This knowledge base has no website sources to sync.",
  "common.aiKnowledgeBaseLabel.pagesCreated": ":count pages imported",
  "common.aiKnowledgeBaseLabel.pagesFailed": ":count failed",
  "common.aiKnowledgeBaseLabel.pagesRefreshed": ":count pages refreshed",
  "common.aiKnowledgeBaseLabel.pagesRefreshedLabel": "Pages refreshed",
  "common.aiKnowledgeBaseLabel.pagesSkipped": ":count skipped",
  "common.aiKnowledgeBaseLabel.recrawlFailed": "Unable to queue website sync right now.",
  "common.aiKnowledgeBaseLabel.recrawlNewPages": "Crawl new pages",
  "common.aiKnowledgeBaseLabel.recrawlQueued": "Website sync queued.",
  "common.aiKnowledgeBaseLabel.removeExcludePath": "Remove excluded URL",
  "common.aiKnowledgeBaseLabel.resourcesCount": "Documents",
  "common.aiKnowledgeBaseLabel.resyncExistingPages": "Re-sync existing pages",
  "common.aiKnowledgeBaseLabel.save": "Save",
  "common.aiKnowledgeBaseLabel.saveFailed": "Unable to save the knowledge base.",
  "common.aiKnowledgeBaseLabel.saving": "Saving...",
  "common.aiKnowledgeBaseLabel.sectionMetadata": "Metadata",
  "common.aiKnowledgeBaseLabel.sectionMetadataDesc": "Name, description, status, and default language for this knowledge base.",
  "common.aiKnowledgeBaseLabel.sectionAccess": "Visibility & access",
  "common.aiKnowledgeBaseLabel.sectionAccessDesc": "Who can retrieve this knowledge. Public/Internal reach student-facing and staff personas; Staff personas only and Private never reach students. Private also needs Allowed roles or users.",
  "common.aiKnowledgeBaseLabel.sectionIndexing": "Indexing",
  "common.aiKnowledgeBaseLabel.sectionIndexingDesc": "Document indexing status for this collection and whether approved documents index automatically.",
  "common.aiKnowledgeBaseLabel.sectionSummary": "Summary",
  "common.aiKnowledgeBaseLabel.sectionSummaryDesc": "Collection type, document count, and last update time.",
  "common.aiKnowledgeBaseLabel.visibilityHelp": "Who can retrieve this knowledge when an AI persona answers. Student-facing personas only use Public or Internal. Staff personas only and Private never reach students or parents.",
  "common.aiKnowledgeBaseLabel.accessRoles": "Allowed roles",
  "common.aiKnowledgeBaseLabel.accessRolesHelp": "Required when Visibility is Private. Staff with these roles can retrieve this knowledge.",
  "common.aiKnowledgeBaseLabel.accessRolesStaffOnlyHelp": "Used only when Visibility is Private.",
  "common.aiKnowledgeBaseLabel.accessUsers": "Allowed users",
  "common.aiKnowledgeBaseLabel.accessUsersHelp": "Required when Visibility is Private (unless roles are set). These staff users can retrieve this knowledge.",
  "common.aiKnowledgeBaseLabel.accessPrograms": "Program scope",
  "common.aiKnowledgeBaseLabel.accessProgramsHelp": "When set, student-facing retrieval requires the student to match one of these programs.",
  "common.aiKnowledgeBaseLabel.accessCampuses": "Campus scope",
  "common.aiKnowledgeBaseLabel.accessCampusesHelp": "When set, student-facing retrieval requires the student to match one of these campuses.",
  "common.aiKnowledgeBaseLabel.accessNone": "None",
  "common.aiKnowledgeBaseLabel.accessAllPrograms": "All programs",
  "common.aiKnowledgeBaseLabel.accessAllCampuses": "All campuses",
  "common.aiKnowledgeBaseLabel.inheritToResources": "Apply access to member documents",
  "common.aiKnowledgeBaseLabel.inheritToResourcesHelp": "When on, member documents inherit this ACL unless a document sets its own override.",
  "common.aiKnowledgeBaseLabel.autoIndexOnApprove": "Auto-index on approve",
  "common.aiKnowledgeBaseLabel.autoIndexOnApproveHelp": "When enabled, newly approved documents in this knowledge base are queued for indexing automatically.",
  "common.aiKnowledgeBaseLabel.needsReviewCount": "Needs review",
  "common.aiKnowledgeBaseLabel.readyToIndexCount": "Ready to index",
  "common.aiKnowledgeBaseLabel.indexedCount": "Indexed",
  "common.aiKnowledgeBaseLabel.failedCount": "Failed",
  "common.aiKnowledgeBaseLabel.personas": "Personas",
  "common.aiKnowledgeBaseLabel.personaRemoved": "Persona removed from knowledge base.",
  "common.aiKnowledgeBaseLabel.removePersona": "Remove",
  "common.aiKnowledgeBaseLabel.removePersonaConfirm": "Remove this persona from the knowledge base?",
  "common.aiKnowledgeBaseLabel.assignedPersonasEmpty": "No personas attached",
  "common.aiKnowledgeBaseLabel.assignedPersonasEmptyDesc": "Use Actions → Attach to Persona, or attach this knowledge base from a persona Resources tab. Attached personas appear here with priority and version mode.",
  "common.aiKnowledgeBaseLabel.versionMode": "Version mode",
  "common.aiKnowledgeBaseLabel.versionModeLatest": "Latest approved",
  "common.aiKnowledgeBaseLabel.versionModePinned": "Pinned versions",
  "common.aiKnowledgeBaseLabel.archiveKnowledgeBase": "Archive knowledge base",
  "common.aiKnowledgeBaseLabel.archiveKnowledgeBaseConfirm": "Archive this knowledge base? It will be deactivated on all attached personas until you publish it again.",
  "common.aiKnowledgeBaseLabel.publishKnowledgeBase": "Publish knowledge base",
  "common.aiKnowledgeBaseLabel.reindexAllApproved": "Reindex approved documents",
  "common.aiKnowledgeBaseLabel.reindexAllApprovedConfirm": "Queue indexing for :count approved document(s)?",
  "common.aiKnowledgeBaseLabel.reindexNothingReady": "No approved documents are ready to index.",
  "common.aiKnowledgeBaseLabel.reindexQueued": "Indexing queued for approved documents.",
  "common.aiKnowledgeBaseLabel.approvedVersion": "Approved version",
  "common.aiKnowledgeBaseLabel.approvedAt": "Approved at",
  "common.aiKnowledgeBaseLabel.versionNumber": "v:number",
  "common.aiKnowledgeBaseLabel.accessInherited": "Access source",
  "common.aiKnowledgeBaseLabel.accessInheritedYes": "Inherited from knowledge base",
  "common.aiKnowledgeBaseLabel.accessInheritedNo": "Document override",
  "common.aiKnowledgeBaseLabel.accessInheritedHelp": "Member documents inherit the parent knowledge base ACL unless they store their own access override.",
  "common.aiKnowledgeBaseLabel.seedUrl": "Website URL",
  "common.aiKnowledgeBaseLabel.seedUrlInvalid": "Enter a valid website URL.",
  "common.aiKnowledgeBaseLabel.seedUrlPlaceholder": "https://www.example.edu",
  "common.aiKnowledgeBaseLabel.showDocuments": "Documents in this knowledge base",
  "common.aiKnowledgeBaseLabel.skipBlogAndNews": "Skip blog and news",
  "common.aiKnowledgeBaseLabel.sourceTypeFile": "File",
  "common.aiKnowledgeBaseLabel.sourceTypeInvalid": "Invalid document source type.",
  "common.aiKnowledgeBaseLabel.sourceTypeText": "Text article",
  "common.aiKnowledgeBaseLabel.sourceTypeWeb": "Website",
  "common.aiKnowledgeBaseLabel.sourceUrl": "Source URL",
  "common.aiKnowledgeBaseLabel.sourcesRequired": "Add at least one document before saving.",
  "common.aiKnowledgeBaseLabel.statusActive": "Active",
  "common.aiKnowledgeBaseLabel.statusArchived": "Archived",
  "common.aiKnowledgeBaseLabel.stepDetails": "Details",
  "common.aiKnowledgeBaseLabel.stepDetailsHint": "Name this knowledge base, add an optional description, and attach documents.",
  "common.aiKnowledgeBaseLabel.stepProgress": "Step :current of :total",
  "common.aiKnowledgeBaseLabel.stepReview": "Review",
  "common.aiKnowledgeBaseLabel.stepReviewHint": "Confirm the knowledge base details and sources before saving.",
  "common.aiKnowledgeBaseLabel.stepSources": "Documents",
  "common.aiKnowledgeBaseLabel.stepSourcesHint": "Add website pages, uploaded files, or text articles to this collection.",
  "common.aiKnowledgeBaseLabel.stepSourcesHintEdit": "Add website pages, uploaded files, or text articles to this collection.",
  "common.aiKnowledgeBaseLabel.textArticleTitle": "Article title",
  "common.aiKnowledgeBaseLabel.textBody": "Article content",
  "common.aiKnowledgeBaseLabel.textBodyRequired": "Article content is required.",
  "common.aiKnowledgeBaseLabel.textBodyTooLong": "Article content is too long.",
  "common.aiKnowledgeBaseLabel.textSourceDefaultTitle": "Text article",
  "common.aiKnowledgeBaseLabel.uploadFiles": "Upload Files",
  "common.aiKnowledgeBaseLabel.uploadFilesDescription": "PDF, Word, Markdown, or text (max :maxMb MB)",
  "common.aiKnowledgeBaseLabel.viewResource": "Open document",
  "common.aiKnowledgeBaseLabel.viewResourceFor": "Open document: :title",
  "common.aiKnowledgeBaseLabel.websiteSourceTitle": "Website ? :host",
  "common.aiKnowledgeBaseLabel.websiteSyncDescription": "Queue a new crawl for additional pages, or re-sync existing crawled documents with the live website.",
  "common.aiKnowledgeBaseLabel.websiteSyncHeading": "Website sync",
  "common.aiKnowledgeBaseLabel.wizardNavigation": "Knowledge base wizard navigation",
  "common.aiResourceLabel.activeNo": "No",
  "common.aiResourceLabel.activeYes": "Yes",
  "common.aiResourceLabel.approve": "Approve and Index",
  "common.aiResourceLabel.approveRequiresMarkdown": "A Markdown version must exist before this resource can be approved.",
  "common.aiResourceLabel.approvedAt": "Approved",
  "common.aiResourceLabel.archive": "Archive",
  "common.aiResourceLabel.assignedPersonas": "Assigned Personas",
  "common.aiResourceLabel.assignedPersonasCount": "Assigned Personas",
  "common.aiResourceLabel.assignedPersonasEmpty": "No personas are assigned to this resource yet.",
  "common.aiResourceLabel.assignedPersonasEmptyDesc": "Use Actions → Attach to Persona, attach this resource from a persona Resources tab, or attach a knowledge base that contains this document. Assigned personas appear here with priority and mapped version.",
  "common.aiResourceLabel.personaViaKnowledgeBaseScope": "Included via :knowledgeBase",
  "common.aiResourceLabel.searchPersonas": "Search personas",
  "common.aiResourceLabel.attachPersonaNoOptions": "No personas are available to attach. Create a persona first, or choose a different resource.",
  "common.aiResourceLabel.attachPersonaNotAllowed": "This resource must be approved or indexed before it can be attached to a persona.",
  "common.aiResourceLabel.attachVoiceOnlyResourceNotAllowed": "Voice call basics cannot be attached to a persona or knowledge base. The voice path loads it automatically.",
  "common.aiResourceLabel.attachToPersona": "Attach to Persona",
  "common.aiResourceLabel.attachToPersonaDescription": "Attach this approved or indexed knowledge resource to an AI persona.",
  "common.aiResourceLabel.resourcePersonaAttached": "Knowledge resource attached to persona.",
  "common.aiResourceLabel.back": "Back",
  "common.aiResourceLabel.backToList": "Back to list",
  "common.aiResourceLabel.bulkActionFailed": "Unable to complete that bulk action right now.",
  "common.aiResourceLabel.bulkActionNoneProcessed": "No selected knowledge resources could be updated.",
  "common.aiResourceLabel.bulkActionPartial": ":processed updated, :skipped skipped, :failed failed.",
  "common.aiResourceLabel.bulkApprovedSuccess": ":count knowledge resource(s) approved.",
  "common.aiResourceLabel.bulkArchivedSuccess": ":count knowledge resource(s) archived.",
  "common.aiResourceLabel.bulkConvertedSuccess": ":count knowledge resource(s) converted to Markdown.",
  "common.aiResourceLabel.bulkIndexedSuccess": ":count knowledge resource(s) indexed.",
  "common.aiResourceLabel.bulkResetBundledKnowledgeSuccess": "Reset :count Student Support resource(s) to the bundled default.",
  "common.aiResourceLabel.bulkUpdatedFromSystemBundleSuccess": ":count bundled resource(s) updated from the system bundle.",
  "common.aiResourceLabel.cancel": "Cancel",
  "common.aiResourceLabel.cannotApproveArchived": "Archived resources cannot be approved.",
  "common.aiResourceLabel.cannotConvertArchived": "Archived resources cannot be converted.",
  "common.aiResourceLabel.cannotConvertWhileConverting": "This resource is already being converted.",
  "common.aiResourceLabel.cannotIndexArchived": "Archived resources cannot be indexed.",
  "common.aiResourceLabel.cannotIndexWhileIndexing": "This resource is already being indexed.",
  "common.aiResourceLabel.cannotUploadVersionArchived": "Archived resources cannot receive new versions.",
  "common.aiResourceLabel.category": "Category",
  "common.aiResourceLabel.categoryRequired": "Category is required.",
  "common.aiResourceLabel.selectCategory": "Select category",
  "common.aiResourceLabel.categoryStudentServices": "Student Services",
  "common.aiResourceLabel.categoryTraining": "Training / Procedures",
  "common.aiResourceLabel.categoryKnowledgeBase": "Knowledge Base",
  "common.aiResourceLabel.categoryStaffAssistant": "Staff Assistant",
  "common.aiResourceLabel.categoryStudentSupport": "Student Support",
  "common.aiResourceLabel.categoryUncategorized": "Uncategorized",
  "common.aiResourceLabel.chunkCount": "Chunks",
  "common.aiResourceLabel.contentEdit": "Edit",
  "common.aiResourceLabel.contentIndexDrift": "This file no longer matches the knowledge the assistant is using.",
  "common.aiResourceLabel.contentIndexDriftHelp": "The Content tab is showing the indexed document (including tuition and payment answers) until the stored file is restored.",
  "common.aiResourceLabel.contentViewToggleLabel": "Markdown content view",
  "common.aiResourceLabel.conversionCompleted": "Markdown conversion completed. The resource is ready for review.",
  "common.aiResourceLabel.conversionEmptyMarkdown": "The converter returned empty Markdown content.",
  "common.aiResourceLabel.conversionError": "Conversion Error",
  "common.aiResourceLabel.conversionInProgress": "Conversion is in progress.",
  "common.aiResourceLabel.conversionMarkdownAlreadyAvailable": "Markdown is already available for this resource.",
  "common.aiResourceLabel.conversionMarkdownStoreFailed": "Unable to store the converted Markdown file.",
  "common.aiResourceLabel.conversionPdfOnly": "Only PDF resources can be converted to Markdown.",
  "common.aiResourceLabel.conversionStatus": "Conversion Status",
  "common.aiResourceLabel.conversionStatusCompleted": "Completed",
  "common.aiResourceLabel.conversionStatusConverting": "Converting",
  "common.aiResourceLabel.conversionStatusFailed": "Failed",
  "common.aiResourceLabel.conversionStatusPending": "Pending",
  "common.aiResourceLabel.conversionUnsupportedType": "This resource type cannot be converted to Markdown.",
  "common.aiResourceLabel.convertToMarkdown": "Convert to Markdown",
  "common.aiResourceLabel.downloadFile": "Download file",
  "common.aiResourceLabel.downloadFileUnavailable": "This document has no file available to download.",
  "common.aiResourceLabel.detailDescription": "Review metadata, Markdown content, versions, and persona assignments for this knowledge resource.",
  "common.aiResourceLabel.detailTabsLabel": "Knowledge resource detail tabs",
  "common.aiResourceLabel.fileRequired": "Source file is required.",
  "common.aiResourceLabel.fixErrorsBeforeContinue": "Complete the required fields before continuing.",
  "common.aiResourceLabel.hasMarkdown": "Markdown",
  "common.aiResourceLabel.hasMarkdownNo": "Not available",
  "common.aiResourceLabel.hasMarkdownYes": "Available",
  "common.aiResourceLabel.indexRequiresApproval": "This resource must be approved before it can be indexed.",
  "common.aiResourceLabel.indexBlockedByFileDrift": "Re-index is blocked because the stored file no longer matches the indexed knowledge. Restore the file from the index first, or upload and approve a new version.",
  "common.aiResourceLabel.indexRequiresMarkdown": "A Markdown version must exist before this resource can be indexed.",
  "common.aiResourceLabel.indexResource": "Index Resource",
  "common.aiResourceLabel.reindexResource": "Re-index",
  "common.aiResourceLabel.indexingInProgress": "Indexing is in progress.",
  "common.aiResourceLabel.indexingReadyForPersonas": "Indexed resources are ready to attach to personas.",
  "common.aiResourceLabel.indexingSection": "Indexing",
  "common.aiResourceLabel.indexingStatus": "Indexing Status",
  "common.aiResourceLabel.isActive": "Active",
  "common.aiResourceLabel.knowledgeResources": "AI Knowledge Resources",
  "common.aiResourceLabel.knowledgeResourcesEmpty": "No knowledge resources matched the current search or filters.",
  "common.aiResourceLabel.knowledgeResourcesSections": "Knowledge resources sections",
  "common.aiResourceLabel.language": "Language",
  "common.aiResourceLabel.languageCatalan": "Catalan",
  "common.aiResourceLabel.languageEnglish": "English",
  "common.aiResourceLabel.languageFrench": "French",
  "common.aiResourceLabel.languageGreek": "Greek",
  "common.aiResourceLabel.languageItalian": "Italian",
  "common.aiResourceLabel.languagePortugueseBrazil": "Portuguese (Brazil)",
  "common.aiResourceLabel.languageSpanish": "Spanish",
  "common.aiResourceLabel.languageTurkish": "Turkish",
  "common.aiResourceLabel.markdownContentRequired": "Markdown content is required.",
  "common.aiResourceLabel.markdownContentTooLong": "Markdown content is too long.",
  "common.aiResourceLabel.markdownEditHelp": "Saving creates a new version. Approve and index the resource before it is used in assistant search.",
  "common.aiResourceLabel.markdownEditNotAllowed": "This resource cannot be edited here. Bundled system rules must be updated from the system bundle.",
  "common.aiResourceLabel.markdownEditTrainingRulesHelp": "Saving creates a new version, approves it, and re-indexes these school training rules for the staff assistant.",
  "common.aiResourceLabel.markdownEditorPlaceholder": "Write Markdown content for this knowledge resource?",
  "common.aiResourceLabel.markdownPreview": "Markdown Preview",
  "common.aiResourceLabel.markdownVersionSaveFailed": "Unable to save the Markdown content right now.",
  "common.aiResourceLabel.markdownVersionSaved": "Markdown saved as a new resource version.",
  "common.aiResourceLabel.metadata": "Metadata",
  "common.aiResourceLabel.next": "Next",
  "common.aiResourceLabel.noMarkdownPreview": "No Markdown preview is available yet for this resource.",
  "common.aiResourceLabel.notSet": "Not set",
  "common.aiResourceLabel.mergedCatalogNotApplicable": "Not applicable",
  "common.aiResourceLabel.personaName": "Persona",
  "common.aiResourceLabel.priority": "Priority",
  "common.aiResourceLabel.reseedSystemGlossary": "Update From System Bundle",
  "common.aiResourceLabel.reseedSystemGlossaryConfirm": "Replace this resource with the latest bundled Staff AI Assistant glossary, re-chunk, and re-index it. Persona assignments are preserved.",
  "common.aiResourceLabel.reseedSystemGlossaryFailed": "Unable to reseed the system glossary. Check that the bundled markdown file is present.",
  "common.aiResourceLabel.reseedSystemGlossarySuccess": "System glossary reseeded and indexed with :count chunks.",
  "common.aiResourceLabel.resetBundledKnowledge": "Reset to default",
  "common.aiResourceLabel.resetBundledKnowledgeConfirm": "Replace this Student Support resource with the product default markdown. Your edits to this file will be discarded. Persona assignments are preserved.",
  "common.aiResourceLabel.resetBundledKnowledgeFailed": "Unable to reset this resource to the bundled default.",
  "common.aiResourceLabel.resetBundledKnowledgeSuccess": "Resource reset to the bundled default.",
  "common.aiResourceLabel.resourceApproved": "Knowledge resource approved.",
  "common.aiResourceLabel.resourceArchived": "Knowledge resource archived.",
  "common.aiResourceLabel.resourcePublished": "Knowledge resource published.",
  "common.aiResourceLabel.resourceCreated": "Knowledge resource uploaded successfully.",
  "common.aiResourceLabel.resourceFiles": "Resource Files",
  "common.aiResourceLabel.resourceFilesEmpty": "No resource files matched the current search or filters.",
  "common.aiResourceLabel.resourceFilesTabDescription": "Standalone PDF, Word, and Markdown resources that can be attached directly to personas.",
  "common.aiResourceLabel.resourceIndexed": "Knowledge resource indexed with :count chunks.",
  "common.aiResourceLabel.resourceNotFound": "Knowledge resource was not found.",
  "common.aiResourceLabel.resourceType": "Resource Type",
  "common.aiResourceLabel.resourceTypeDocx": "Word Document",
  "common.aiResourceLabel.resourceTypeMarkdown": "Markdown",
  "common.aiResourceLabel.resourceTypePdf": "PDF",
  "common.aiResourceLabel.resourceTypeText": "Text",
  "common.aiResourceLabel.resourceTypeUrl": "URL",
  "common.aiResourceLabel.saveMarkdownVersion": "Save as New Version",
  "common.aiResourceLabel.searchKnowledgeBases": "Search knowledge bases by name",
  "common.aiResourceLabel.searchKnowledgeResources": "Search knowledge resources by title, category, language, type, or uploader",
  "common.aiResourceLabel.sectionIndexing": "Indexing",
  "common.aiResourceLabel.sectionIndexingDesc": "Search indexing status, chunk count, and related counts.",
  "common.aiResourceLabel.sectionMetadata": "Metadata",
  "common.aiResourceLabel.sectionMetadataDesc": "Classification, source file, and upload details for this resource.",
  "common.aiResourceLabel.sourceFile": "Source File",
  "common.aiResourceLabel.sourceFileMissing": "The uploaded source file could not be found.",
  "common.aiResourceLabel.sourceFileName": "File Name",
  "common.aiResourceLabel.status": "Status",
  "common.aiResourceLabel.statusApproved": "Approved",
  "common.aiResourceLabel.statusArchived": "Archived",
  "common.aiResourceLabel.statusConversionFailed": "Conversion Failed",
  "common.aiResourceLabel.statusConverting": "Converting",
  "common.aiResourceLabel.statusIndexed": "Indexed",
  "common.aiResourceLabel.statusIndexing": "Indexing",
  "common.aiResourceLabel.statusNeedsReview": "Needs Review",
  "common.aiResourceLabel.statusUploaded": "Uploaded",
  "common.aiResourceLabel.stepDetailsHint": "Enter the title, category, and language, then upload the source file.",
  "common.aiResourceLabel.stepMetadata": "Resource details",
  "common.aiResourceLabel.stepMetadataHint": "Enter the title, category, and language for this knowledge resource.",
  "common.aiResourceLabel.stepProgress": "Step :current of :total",
  "common.aiResourceLabel.stepReview": "Review",
  "common.aiResourceLabel.stepReviewHint": "Confirm the details before uploading.",
  "common.aiResourceLabel.stepUpload": "Upload file",
  "common.aiResourceLabel.stepUploadHint": "Select a PDF, Word, or Markdown source file to ingest.",
  "common.aiResourceLabel.submitNewVersion": "Upload Version",
  "common.aiResourceLabel.submitUpload": "Upload Resource",
  "common.aiResourceLabel.syncBundledKnowledge": "Sync system knowledge",
  "common.aiResourceLabel.syncBundledKnowledgeConfirm": "Check bundled Staff AI Assistant knowledge files, seed or refresh any missing or outdated system resources, and index them automatically. Active staff personas are updated automatically.",
  "common.aiResourceLabel.syncBundledKnowledgeFailed": "Unable to sync bundled knowledge resources. Check that bundled markdown files are present.",
  "common.aiResourceLabel.syncBundledKnowledgeIndexFailed": "Synced bundled knowledge resources, but :count could not be indexed.",
  "common.aiResourceLabel.syncBundledKnowledgePartial": "Synced :seeded bundled knowledge resource(s) and indexed :indexed. :failed could not be synced and :index_failed could not be indexed.",
  "common.aiResourceLabel.syncBundledKnowledgePending": "Sync system knowledge (:count new)",
  "common.aiResourceLabel.syncBundledKnowledgeSuccess": "Synced :count bundled knowledge resource(s) and indexed :indexed.",
  "common.aiResourceLabel.systemGlossaryBadge": "System glossary",
  "common.aiResourceLabel.tabAudit": "Audit history",
  "common.aiResourceLabel.tabContent": "Content",
  "common.aiResourceLabel.tabSchoolFacts": "School facts",
  "common.aiResourceLabel.schoolFactsTabTitle": "School facts in this resource",
  "common.aiResourceLabel.schoolFactsTabHint": "Tokens found in the latest content. Set a value here and every resource that uses the token updates.",
  "common.aiResourceLabel.schoolFactsTabMissing": ":count token(s) have no value yet. The AI can't use them until they're set.",
  "common.aiResourceLabel.schoolFactsTabManageAll": "Manage all school facts",
  "common.aiResourceLabel.schoolFactsTabEmpty": "No school fact tokens in this resource",
  "common.aiResourceLabel.schoolFactsTabEmptyHint": "Add a token like ${school.main_phone} to the content, then set its value here.",
  "common.aiResourceLabel.schoolFactsTabUnregistered": ":count token(s) aren't in School facts yet. Use Actions → Scan file for tokens to add them.",
  "common.aiResourceLabel.schoolFactsScan": "Scan file for tokens",
  "common.aiResourceLabel.schoolFactsScanning": "Scanning…",
  "common.aiResourceLabel.schoolFactsScanNone": "No ${school.…} tokens found in this file.",
  "common.aiResourceLabel.schoolFactsScanUpToDate": "Found :found token(s). All are already in School facts.",
  "common.aiResourceLabel.schoolFactsScanCreated": "Found :found token(s). Added :created new empty school fact(s).",
  "common.aiResourceLabel.schoolFactsScanFailed": "Couldn't scan this file. Try again.",
  "common.aiResourceLabel.tabContentDesc": "Converted Markdown preview for the latest version of this resource.",
  "common.aiResourceLabel.tabContentEditableDesc": "Edit Markdown for this resource. Saving creates a new version that you can approve and index.",
  "common.aiResourceLabel.tabPersonas": "Personas",
  "common.aiResourceLabel.tabSettings": "Settings",
  "common.aiResourceLabel.tabVersions": "Versions",
  "common.aiResourceLabel.title": "Title",
  "common.aiResourceLabel.titleRequired": "Title is required.",
  "common.aiResourceLabel.updatedAt": "Updated",
  "common.aiResourceLabel.uploadAcceptedTypes": "PDF, Word (.doc, .docx), or Markdown (.md, .txt) files up to :size MB.",
  "common.aiResourceLabel.uploadFailed": "Unable to upload the resource. Check the fields and try again.",
  "common.aiResourceLabel.uploadInvalidFile": "The uploaded file is invalid.",
  "common.aiResourceLabel.uploadInvalidFileType": "Upload a PDF, Word document, or Markdown file.",
  "common.aiResourceLabel.uploadNewVersion": "Upload New Version",
  "common.aiResourceLabel.uploadNewVersionComingSoon": "Uploading a new version for :title is not available yet on this page.",
  "common.aiResourceLabel.uploadNewVersionDescription": "Upload a replacement source file for :title. After upload, convert (if needed), approve, and re-index the resource before it is used in search.",
  "common.aiResourceLabel.uploadPdfOnly": "PDF files only, up to :size MB.",
  "common.aiResourceLabel.uploadResource": "Upload Resource",
  "common.aiResourceLabel.uploadResourceComingSoon": "Resource upload is not available yet on this page.",
  "common.aiResourceLabel.uploadResourceDescription": "Upload a PDF knowledge resource for AI agent personas.",
  "common.aiResourceLabel.uploadedAt": "Uploaded",
  "common.aiResourceLabel.uploadedBy": "Uploaded By",
  "common.aiResourceLabel.uploading": "Uploading...",
  "common.aiResourceLabel.versionCount": "Versions",
  "common.aiResourceLabel.versionNumber": "Version",
  "common.aiResourceLabel.versionUploaded": "New resource version uploaded successfully.",
  "common.aiResourceLabel.versions": "Versions",
  "common.aiResourceLabel.versionsEmpty": "No versions have been recorded for this resource yet.",
  "common.aiResourceLabel.deleteVersion": "Delete version",
  "common.aiResourceLabel.deleteVersionConfirm": "Delete version :number? This draft will be removed permanently.",
  "common.aiResourceLabel.deleteVersionApprovedConfirm": "Delete approved version :number? Persona mappings will move to another version when possible. Search uses remaining approved content.",
  "common.aiResourceLabel.versionDeleted": "Version :number was deleted.",
  "common.aiResourceLabel.cannotDeleteOnlyVersion": "You cannot delete the only version of this resource.",
  "common.aiResourceLabel.cannotDeleteVersionArchived": "You cannot delete versions on an archived resource.",
  "common.aiResourceLabel.cannotDeleteVersionConverting": "Wait until conversion finishes before deleting this version.",
  "common.aiResourceLabel.cannotDeleteVersionInUse": "This version is pinned on a persona and no other markdown version is available to switch to.",
  "common.aiResourceLabel.cannotDeleteVersionMismatch": "This version does not belong to the resource.",
  "common.aiResourceLabel.view": "View",
  "common.aiResourceLabel.viewParsedContent": "View parsed content",
  "common.aiResourceLabel.parsedContentPreviewFailed": "Unable to load parsed content right now.",
  "common.aiResourceLabel.viewPersona": "View Persona",
  "common.aiResourceLabel.visibility": "Visibility",
  "common.aiResourceLabel.voiceCallGoals": "Voice call goals",
  "common.aiResourceLabel.voiceCallGoalsHelp": "When this resource is used on an AI voice call, boost it for the selected call goals. Chat retrieval is unchanged.",
  "common.aiResourceLabel.visibilityInternal": "Internal — school audiences",
  "common.aiResourceLabel.visibilityInternalDesc": "Same retrieval as Public today (student-facing + staff). Prefer for handbooks and school policies you do not treat as marketing content.",
  "common.aiResourceLabel.visibilityPrivate": "Private — selected staff",
  "common.aiResourceLabel.visibilityPrivateDesc": "Staff personas only, and only for roles or users listed below. Empty allowlists mean nothing is retrieved.",
  "common.aiResourceLabel.visibilityPublic": "Public — students & staff",
  "common.aiResourceLabel.visibilityPublicDesc": "Usable by student portals, applicants, parents, and staff assistants. Prefer for FAQs and public policy content.",
  "common.aiResourceLabel.visibilityStaff": "Staff personas only",
  "common.aiResourceLabel.visibilityStaffDesc": "Only staff AI assistants can retrieve this. Never returned to students, parents, or public channels.",
  "common.aiResourceLabel.wizardNavigation": "Wizard navigation",
  "common.aiResourceLabel.you": "You",
  "common.aiResourceLabel.bulkDeletedSuccess" : "Successfully deleted :count resources.",
  "common.aiRiskFollowUpAction.academicExamFailure.callRecoveryPlan": "Call about exam recovery plan",
  "common.aiRiskFollowUpAction.academicExamFailure.emailRecoverySteps": "Email recovery steps",
  "common.aiRiskFollowUpAction.academicExamFailure.scheduleRecoverySession": "Schedule recovery session",
  "common.aiRiskFollowUpAction.academicExamFailure.trackRemediationDeadline": "Track remediation deadline",
  "common.aiRiskFollowUpAction.academicFailingGrades.callDiscussFailingCourses": "Call about failing courses",
  "common.aiRiskFollowUpAction.academicFailingGrades.emailInterventionResources": "Email intervention resources",
  "common.aiRiskFollowUpAction.academicFailingGrades.notifyInstructorCoordination": "Coordinate with instructors",
  "common.aiRiskFollowUpAction.academicFailingGrades.scheduleSupportMeeting": "Schedule intervention meeting",
  "common.aiRiskFollowUpAction.academicFailingGrades.trackIntervention": "Track grade intervention",
  "common.aiRiskFollowUpAction.academicLowPerformance.callDiscussStruggles": "Call to discuss struggles",
  "common.aiRiskFollowUpAction.academicLowPerformance.emailTutoringResources": "Email tutoring resources",
  "common.aiRiskFollowUpAction.academicLowPerformance.notifyInstructorCoordination": "Coordinate with instructors",
  "common.aiRiskFollowUpAction.academicLowPerformance.scheduleSupportMeeting": "Schedule academic support meeting",
  "common.aiRiskFollowUpAction.academicLowPerformance.trackIntervention": "Track intervention",
  "common.aiRiskFollowUpAction.academicNoCohort.callProgramIntent": "Call about program intent",
  "common.aiRiskFollowUpAction.academicNoCohort.coordinatePlacement": "Coordinate cohort placement",
  "common.aiRiskFollowUpAction.academicNoCohort.emailPlacementTimeline": "Email placement timeline",
  "common.aiRiskFollowUpAction.academicNoCohort.notifyAcademicsScheduling": "Notify academics / scheduling",
  "common.aiRiskFollowUpAction.admissionsInactivity.portalNudge": "Portal nudge message",
  "common.aiRiskFollowUpAction.admissionsInactivity.reengagementCall": "Re-engagement call",
  "common.aiRiskFollowUpAction.admissionsInactivity.reengagementEmail": "Re-engagement email",
  "common.aiRiskFollowUpAction.admissionsInactivity.secondAttemptTask": "Plan second attempt",
  "common.aiRiskFollowUpAction.admissionsInactivity.stillInterestedSms": "SMS ? still interested?",
  "common.aiRiskFollowUpAction.admissionsIncomplete.callWalkthrough": "Call to walk through steps",
  "common.aiRiskFollowUpAction.admissionsIncomplete.emailIncompleteSections": "Email incomplete sections",
  "common.aiRiskFollowUpAction.admissionsIncomplete.portalChatHelp": "Portal chat help",
  "common.aiRiskFollowUpAction.admissionsIncomplete.scheduleSecondFollowUp": "Schedule second follow-up",
  "common.aiRiskFollowUpAction.admissionsIncomplete.smsReminder": "SMS completion reminder",
  "common.aiRiskFollowUpAction.admissionsMissingDocuments.callAboutRequirements": "Call about document requirements",
  "common.aiRiskFollowUpAction.admissionsMissingDocuments.chatConfirmReceipt": "Chat to confirm receipt",
  "common.aiRiskFollowUpAction.admissionsMissingDocuments.emailMissingDocList": "Email missing document list",
  "common.aiRiskFollowUpAction.admissionsMissingDocuments.smsDocReminder": "SMS document reminder",
  "common.aiRiskFollowUpAction.admissionsMissingDocuments.trackCollectionDeadline": "Track document deadline",
  "common.aiRiskFollowUpAction.admissionsNoOwner.assignOwner": "Assign admissions owner",
  "common.aiRiskFollowUpAction.admissionsNoOwner.draftAdmissionsAssignmentTask": "Draft admissions assignment task",
  "common.aiRiskFollowUpAction.admissionsPaymentBlocker.callPaymentPlan": "Call about payment plan",
  "common.aiRiskFollowUpAction.admissionsPaymentBlocker.chatPaymentIntent": "Chat about payment intent",
  "common.aiRiskFollowUpAction.admissionsPaymentBlocker.emailPaymentLink": "Email payment link",
  "common.aiRiskFollowUpAction.admissionsPaymentBlocker.followUpIfUnpaid": "Follow up if still unpaid",
  "common.aiRiskFollowUpAction.admissionsPaymentBlocker.smsPaymentReminder": "SMS payment reminder",
  "common.aiRiskFollowUpAction.admissionsStalled.callAboutStall": "Call about stalled application",
  "common.aiRiskFollowUpAction.admissionsStalled.emailApplicationSteps": "Email application steps",
  "common.aiRiskFollowUpAction.admissionsStalled.logFollowUpTask": "Log follow-up task",
  "common.aiRiskFollowUpAction.admissionsStalled.portalChat": "Portal chat message",
  "common.aiRiskFollowUpAction.admissionsStalled.reviewSubmissionStatus": "Review submission status",
  "common.aiRiskFollowUpAction.admissionsStalled.smsReminder": "SMS reminder to continue",
  "common.aiRiskFollowUpAction.attendanceBelowThreshold.callAttendancePattern": "Call about attendance pattern",
  "common.aiRiskFollowUpAction.attendanceBelowThreshold.emailAttendanceSummary": "Email attendance summary",
  "common.aiRiskFollowUpAction.attendanceBelowThreshold.monitorNextSessions": "Monitor next sessions",
  "common.aiRiskFollowUpAction.attendanceBelowThreshold.quickCheckInChat": "Quick check-in chat",
  "common.aiRiskFollowUpAction.attendanceBelowThreshold.scheduleAdvisorMeeting": "Schedule advisor meeting",
  "common.aiRiskFollowUpAction.attendanceChronicAbsence.emailSupportOptions": "Email support options",
  "common.aiRiskFollowUpAction.attendanceChronicAbsence.escalationTimeline": "Set escalation timeline",
  "common.aiRiskFollowUpAction.attendanceChronicAbsence.notifyAdvisorAlert": "Alert advisor team",
  "common.aiRiskFollowUpAction.attendanceChronicAbsence.scheduleMeeting": "Schedule support meeting",
  "common.aiRiskFollowUpAction.attendanceChronicAbsence.urgentWelfareCall": "Urgent welfare call",
  "common.aiRiskFollowUpAction.attendanceEarlyWithdrawal.emailOptions": "Email continuation options",
  "common.aiRiskFollowUpAction.attendanceEarlyWithdrawal.retentionCall": "Retention call",
  "common.aiRiskFollowUpAction.attendanceEarlyWithdrawal.retentionFollowUp": "Retention follow-up task",
  "common.aiRiskFollowUpAction.attendanceEarlyWithdrawal.scheduleContinuationMeeting": "Schedule continuation meeting",
  "common.aiRiskFollowUpAction.financeNsf.callNsfReplacement": "Call about NSF replacement payment",
  "common.aiRiskFollowUpAction.financeNsf.emailNsfSummary": "Email NSF summary",
  "common.aiRiskFollowUpAction.financeNsf.notifyFinanceReview": "Request finance review",
  "common.aiRiskFollowUpAction.financeNsf.trackReplacementPayment": "Track replacement payment",
  "common.aiRiskFollowUpAction.financeOverdue.callOverdueBalance": "Call about overdue balance",
  "common.aiRiskFollowUpAction.financeOverdue.draftFinanceEscalationTask": "Escalate to finance team",
  "common.aiRiskFollowUpAction.financeOverdue.emailOverdueNotice": "Email overdue notice",
  "common.aiRiskFollowUpAction.financeOverdue.paymentPlanFollowUp": "Payment plan follow-up",
  "common.aiRiskFollowUpAction.financeOverdue.smsUrgentReminder": "SMS urgent reminder",
  "common.aiRiskFollowUpAction.financePaymentDueSoon.callLargeBalance": "Call about large balance",
  "common.aiRiskFollowUpAction.financePaymentDueSoon.chatConfirmPlan": "Chat to confirm payment plan",
  "common.aiRiskFollowUpAction.financePaymentDueSoon.emailUpcomingDue": "Email upcoming due dates",
  "common.aiRiskFollowUpAction.financePaymentDueSoon.smsDueReminder": "SMS due-date reminder",
  "common.aiRiskFollowUpAction.financeUnpaid.callPaymentTiming": "Call about payment timing",
  "common.aiRiskFollowUpAction.financeUnpaid.emailInvoiceSummary": "Email invoice summary",
  "common.aiRiskFollowUpAction.financeUnpaid.logPromisedPayment": "Log promised payment date",
  "common.aiRiskFollowUpAction.financeUnpaid.smsPaymentReminder": "SMS payment reminder",
  "common.aiRiskFollowUpAction.generic.callFollowUp": "Call follow-up",
  "common.aiRiskFollowUpAction.generic.emailFollowUp": "Email follow-up",
  "common.aiRiskFollowUpAction.generic.logFollowUpTask": "Log follow-up task",
  "common.aiRiskFollowUpAction.lifecycleDisengaged.logContactAttempts": "Log contact attempts",
  "common.aiRiskFollowUpAction.lifecycleDisengaged.personalizedEmail": "Personalized re-engagement email",
  "common.aiRiskFollowUpAction.lifecycleDisengaged.portalMessage": "Portal message",
  "common.aiRiskFollowUpAction.lifecycleDisengaged.reconnectSms": "Reconnect SMS",
  "common.aiRiskFollowUpAction.lifecycleDisengaged.reengagementCall": "Re-engagement call",
  "common.aiRiskFollowUpAction.lifecycleNoActivity.checkInCall": "Post-start check-in call",
  "common.aiRiskFollowUpAction.lifecycleNoActivity.portalEngagementChat": "Portal engagement chat",
  "common.aiRiskFollowUpAction.lifecycleNoActivity.secondAttemptTask": "Plan second attempt",
  "common.aiRiskFollowUpAction.lifecycleNoActivity.smsCheckIn": "SMS check-in",
  "common.aiRiskFollowUpAction.lifecycleNoActivity.welcomeBackEmail": "Welcome-back email",
  "common.aiRiskFollowUpAction.lifecycleWithdrawn.callWithdrawalReason": "Call about withdrawal reason",
  "common.aiRiskFollowUpAction.lifecycleWithdrawn.documentOutcome": "Document withdrawal outcome",
  "common.aiRiskFollowUpAction.lifecycleWithdrawn.emailClosureInfo": "Email closure information",
  "common.aiRiskFollowUpAction.lifecycleWithdrawn.scheduleReengagementMeeting": "Schedule re-engagement meeting",
  "common.aiRiskFollowUpChannel.createStaffTask": "Create staff task",
  "common.aiRiskFollowUpChannel.makePhoneCall": "Make a phone call",
  "common.aiRiskFollowUpChannel.notifyTeam": "Notify team",
  "common.aiRiskFollowUpChannel.reviewSubmissionStatus": "Review submission status",
  "common.aiRiskFollowUpChannel.scheduleMeeting": "Schedule meeting",
  "common.aiRiskFollowUpChannel.sendChatMessage": "Send chat message",
  "common.aiRiskFollowUpChannel.sendEmail": "Send email",
  "common.aiRiskFollowUpChannel.sendSms": "Send SMS",
  "common.aiRiskFollowUpChatDraft.academicExamFailure.callRecovery": "Prepare a call script for :student about exam failure and recovery plan (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.academicExamFailure.emailSteps": "Draft an email for :student with exam recovery steps and resources (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.academicExamFailure.trackRemediation": "Propose a staff task to track exam remediation deadline for :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.academicFailingGrades.callFailing": "Prepare a call script for :student about failing courses and intervention (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.academicFailingGrades.emailResources": "Draft an email for :student with intervention and tutoring resources for failing grades (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.academicFailingGrades.notifyInstructors": "Propose notifying instructors or advisors about failing grades for :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.academicFailingGrades.scheduleSupport": "Propose scheduling an academic intervention meeting for :student with failing grades (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.academicFailingGrades.trackIntervention": "Propose a staff task to track grade intervention for :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.academicLowPerformance.callStruggles": "Prepare a call script for :student to discuss academic struggles and resources (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.academicLowPerformance.emailResources": "Draft an email for :student with tutoring and academic support resources (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.academicLowPerformance.notifyInstructors": "Propose coordinating with instructors or advisors about low performance for :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.academicLowPerformance.scheduleSupport": "Draft a meeting agenda and propose scheduling academic support for :student with low performance (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.academicLowPerformance.trackIntervention": "Propose a staff task to track academic intervention for :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.academicNoCohort.callIntent": "Prepare a call script for :student to clarify program intent and placement needs (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.academicNoCohort.coordinatePlacement": "Propose a staff task to coordinate cohort placement for :student without a cohort (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.academicNoCohort.emailTimeline": "Draft an email for :student about cohort placement timeline (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.academicNoCohort.notifyAcademics": "Propose notifying academics or scheduling team about cohort placement needed for :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.admissionsInactivity.reengagementCall": "Prepare a re-engagement call script for inactive applicant :student regarding :risk. Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.admissionsInactivity.reengagementEmail": "Draft a friendly re-engagement email for :student with application progress summary (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.admissionsInactivity.secondAttempt": "Propose a staff task for a second re-engagement attempt with :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.admissionsInactivity.stillInterestedSms": "Draft a short SMS for :student asking if they are still interested in proceeding (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.admissionsIncomplete.callWalkthrough": "Prepare a phone call script to walk :student through remaining application steps for :risk. Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.admissionsIncomplete.emailSections": "Draft a follow-up email for :student listing incomplete application sections for :risk. Evidence: :evidence. Include a portal link to continue ? do not send automatically.",
  "common.aiRiskFollowUpChatDraft.admissionsIncomplete.scheduleFollowUp": "Propose a staff task to schedule a second follow-up if :student does not complete the application (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.admissionsMissingDocuments.callRequirements": "Prepare a call script for :student explaining missing document requirements for :risk. Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.admissionsMissingDocuments.emailList": "Draft an email for :student listing required missing documents for :risk. Use student_lookup document checklist evidence: :evidence. Do not send automatically.",
  "common.aiRiskFollowUpChatDraft.admissionsMissingDocuments.smsReminder": "Draft a short SMS for :student reminding them about missing documents for :risk. Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.admissionsMissingDocuments.trackDeadline": "Propose a staff task to track the document collection deadline for :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.admissionsNoOwner.assignOwner": "Propose assigning an admissions owner for :student. No owner is assigned (:evidence). Use the assign_owner_unassigned_lead playbook with propose_action so I can confirm before creating the task.",
  "common.aiRiskFollowUpChatDraft.admissionsNoOwner.draftAdmissionsAssignmentTask": "Profile risk follow-up for :student ? active signal admissions_no_owner (:evidence). Use staff-assistant-contact-risk-follow-up-actions and staff-assistant-safe-actions from the knowledge base. Propose the appropriate confirmed write action for admissions ownership assignment so I can review before saving.",
  "common.aiRiskFollowUpChatDraft.admissionsPaymentBlocker.callPlan": "Prepare a call script for :student to discuss payment plan or blockers for :risk. Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.admissionsPaymentBlocker.emailLink": "Draft an email for :student with payment link and context for the application payment blocker (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.admissionsPaymentBlocker.followUpUnpaid": "Propose a staff task to follow up if :student remains unpaid after the agreed date (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.admissionsPaymentBlocker.smsReminder": "Draft a payment reminder SMS for :student regarding :risk. Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.admissionsStalled.logFollowUpTask": "Propose a staff task to log the stalled-application follow-up for :student regarding :risk. Evidence: :evidence. Use propose_action so I can confirm before the task is created.",
  "common.aiRiskFollowUpChatDraft.attendanceBelowThreshold.callPattern": "Prepare a call script for :student to discuss attendance pattern below threshold (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.attendanceBelowThreshold.emailSummary": "Draft an email for :student summarizing attendance and expectations (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.attendanceBelowThreshold.monitorSessions": "Propose a staff task to monitor :student's next sessions after attendance risk (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.attendanceChronicAbsence.emailSupport": "Draft an email for :student documenting attendance support options (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.attendanceChronicAbsence.escalationTask": "Propose a staff task with escalation timeline for :student's chronic absence (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.attendanceChronicAbsence.notifyAdvisor": "Propose notifying the advisor or instructor team about chronic absence for :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.attendanceChronicAbsence.urgentCall": "Prepare an urgent welfare and attendance outreach call script for :student (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.attendanceEarlyWithdrawal.emailOptions": "Draft an email for :student outlining continuation vs withdrawal options (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.attendanceEarlyWithdrawal.retentionCall": "Prepare a retention call script for :student who may withdraw early (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.attendanceEarlyWithdrawal.retentionFollowUp": "Propose a retention follow-up task for :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.createStaffTask": "Propose a staff task to follow up with :student about :risk. Use this evidence: :evidence. Use propose_action so I can confirm before the task is created.",
  "common.aiRiskFollowUpChatDraft.financeNsf.callReplacement": "Prepare a call script for :student to explain NSF and arrange replacement payment (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.financeNsf.emailSummary": "Draft an email for :student with written NSF summary and payment instructions (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.financeNsf.notifyFinance": "Propose finance team review for repeated NSF on :student (:risk). Evidence: :evidence. Use propose_action with notify_finance for confirmation.",
  "common.aiRiskFollowUpChatDraft.financeNsf.trackReplacement": "Propose a staff task to track replacement payment for :student after NSF (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.financeOverdue.callBalance": "Prepare a call script for :student to discuss overdue balance (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.financeOverdue.draftFinanceEscalationTask": "Profile risk follow-up for :student ? active signal finance_overdue (:evidence). Use staff-assistant-contact-risk-follow-up-actions and staff-assistant-safe-actions from the knowledge base. Propose a staff task for the Finance team to review overdue balance escalation so I can review before saving.",
  "common.aiRiskFollowUpChatDraft.financeOverdue.emailNotice": "Draft a formal overdue notice email for :student with amounts (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.financeOverdue.paymentPlanFollowUp": "Propose a staff task to follow up on a payment plan for :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.financeOverdue.smsUrgent": "Draft an urgent payment reminder SMS for :student regarding overdue balance (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.financePaymentDueSoon.callLargeBalance": "Prepare a call script for :student about a large upcoming balance or first-time payer (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.financePaymentDueSoon.emailUpcoming": "Draft an email for :student about upcoming payment due dates (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.financePaymentDueSoon.smsDue": "Draft a due-date reminder SMS for :student (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.financeUnpaid.callTiming": "Prepare a call script for :student to discuss payment timing for unpaid invoices (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.financeUnpaid.emailSummary": "Draft an email for :student summarizing open invoices and payment link for unpaid balance (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.financeUnpaid.logPromisedPayment": "Profile risk follow-up for :student ? active signal finance_unpaid (:evidence). Use staff-assistant-contact-risk-follow-up-actions and staff-assistant-safe-actions from the knowledge base. Propose add_student_note with playbook note_promised_payment_date (is_pinned true) to log the promised payment date so I can review before saving.",
  "common.aiRiskFollowUpChatDraft.financeUnpaid.smsReminder": "Draft a payment reminder SMS for :student regarding unpaid balance (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.lifecycleDisengaged.logAttempts": "Propose a staff task to log contact attempts for re-engaging :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.lifecycleDisengaged.personalizedEmail": "Draft a personalized re-engagement email for :student (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.lifecycleDisengaged.reconnectSms": "Draft a brief reconnect SMS for disengaged student :student (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.lifecycleDisengaged.reengagementCall": "Prepare a re-engagement call script for disengaged student :student (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.lifecycleNoActivity.checkInCall": "Prepare a check-in call script for :student with no activity after start (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.lifecycleNoActivity.secondAttempt": "Propose a staff task for a second check-in attempt with :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.lifecycleNoActivity.smsCheckIn": "Draft a short check-in SMS for :student with no recent activity (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.lifecycleNoActivity.welcomeBackEmail": "Draft a welcome-back or getting-started help email for :student (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.lifecycleWithdrawn.callReason": "Prepare a call script for withdrawn student :student to understand withdrawal reason (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.lifecycleWithdrawn.documentOutcome": "Propose a staff task to document withdrawal outcome for :student (:risk). Evidence: :evidence. Use propose_action for confirmation.",
  "common.aiRiskFollowUpChatDraft.lifecycleWithdrawn.emailClosure": "Draft an email for withdrawn student :student with closure or re-enrollment information (:risk). Evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.makePhoneCall": "Prepare a phone call script for :student regarding :risk. Use this evidence: :evidence. Include talking points and questions to unblock progress.",
  "common.aiRiskFollowUpChatDraft.reviewSubmissionStatus": "For :student, review whether submission status aligns with enrollment reality for :risk. Use this evidence: :evidence. Summarize what to check on the submissions tab and recommend a staff task only if status sync is needed.",
  "common.aiRiskFollowUpChatDraft.scheduleMeeting": "Propose scheduling a calendar meeting with :student regarding :risk using schedule_meeting. Subject should reflect the risk context. Default to +3 days at 9:00 AM when no date is given. Use this evidence: :evidence.",
  "common.aiRiskFollowUpChatDraft.sendChatMessage": "Draft a portal chat message for :student regarding :risk. Use this evidence: :evidence. Output the message text for staff review.",
  "common.aiRiskFollowUpChatDraft.sendEmail": "Draft a follow-up email for :student regarding :risk. Use this evidence: :evidence. Output a ready-to-send email draft for staff review ? do not send automatically.",
  "common.aiRiskFollowUpChatDraft.sendSms": "Draft a short SMS follow-up for :student regarding :risk. Use this evidence: :evidence. Output the SMS text for staff review ? do not send automatically.",
  "common.aiRiskPromptCategoryLabel.academicRisk": "Academic risk",
  "common.aiRiskPromptCategoryLabel.admissionsRisk": "Admissions risk",
  "common.aiRiskPromptCategoryLabel.attendanceRisk": "Attendance risk",
  "common.aiRiskPromptCategoryLabel.engagementRisk": "Engagement & lifecycle risk",
  "common.aiRiskPromptCategoryLabel.financeRisk": "Finance risk",
  "common.aiRiskPromptCategoryLabel.profileRisk": "Student profile risk",
  "common.aiRiskPromptCategoryLabel.riskReports": "Risk definitions & reports",
  "common.aiRiskPromptLabel.academicBehindProgress": "Who may be behind on academic progress?",
  "common.aiRiskPromptLabel.academicExamFailures": "Which students failed an exam recently?",
  "common.aiRiskPromptLabel.academicFailingGrades": "Who has failing grades?",
  "common.aiRiskPromptLabel.academicLowGrades": "Which students have low average grades?",
  "common.aiRiskPromptLabel.academicPathRiskSummary": "Summarize academic risk on this student's path",
  "common.aiRiskPromptLabel.academicStudentsWithoutCohort": "Which students are not assigned to a cohort?",
  "common.aiRiskPromptLabel.admissionsAtRiskApplicants": "Which applicants are at admissions risk?",
  "common.aiRiskPromptLabel.admissionsInactiveApplicants": "Which applicants have been inactive on their application?",
  "common.aiRiskPromptLabel.admissionsIncompleteApplications": "Who has incomplete applications?",
  "common.aiRiskPromptLabel.admissionsMissingDocuments": "Which applicants are missing required documents?",
  "common.aiRiskPromptLabel.admissionsReadyForPayment": "Which applicants are ready for payment but not paid?",
  "common.aiRiskPromptLabel.admissionsStalledApplications": "Show stalled applications",
  "common.aiRiskPromptLabel.admissionsUnassignedOwners": "Which applicants have no assigned owner?",
  "common.aiRiskPromptLabel.attendanceChartByCohort": "Chart attendance risk by cohort",
  "common.aiRiskPromptLabel.attendanceChronicAbsence": "Who has chronic absenteeism?",
  "common.aiRiskPromptLabel.attendanceEarlyWithdrawal": "Show students who withdrew after only a few sessions",
  "common.aiRiskPromptLabel.attendanceIssuesThisWeek": "Identify attendance risk issues",
  "common.aiRiskPromptLabel.attendanceRiskByCohort": "Which cohorts have the most attendance risk?",
  "common.aiRiskPromptLabel.attendanceStudentProfile": "What is this student's attendance risk?",
  "common.aiRiskPromptLabel.engagementDisengagedContacts": "Which contacts look disengaged or dormant?",
  "common.aiRiskPromptLabel.engagementNoActivityAfterStart": "Who has no activity after they started?",
  "common.aiRiskPromptLabel.engagementWhoNeedsFollowUp": "Which contacts look disengaged and need follow-up?",
  "common.aiRiskPromptLabel.engagementWithdrawnStudents": "Show withdrawn students",
  "common.aiRiskPromptLabel.financeChartUnpaidByProgram": "Chart unpaid students by program",
  "common.aiRiskPromptLabel.financeNsfPayments": "Who has recent NSF or bounced payments?",
  "common.aiRiskPromptLabel.financeOverdueBalances": "Who has overdue balances?",
  "common.aiRiskPromptLabel.financePaymentsDueSoon": "Which contacts have payments due soon?",
  "common.aiRiskPromptLabel.financeUnpaidApplicants": "Which applicants have unpaid balances?",
  "common.aiRiskPromptLabel.financeUnpaidStudents": "Show students with unpaid invoices",
  "common.aiRiskPromptLabel.profileDocumentsPayments": "What documents or payments still need attention?",
  "common.aiRiskPromptLabel.profileExplainRiskSignals": "Explain the active risk signals for this contact",
  "common.aiRiskPromptLabel.profileFollowUpNote": "Draft a follow-up note based on active risk signals",
  "common.aiRiskPromptLabel.profileRiskSummary": "Summarize risk signals for this student",
  "common.aiRiskPromptLabel.reportsCompareRiskDimensions": "Compare admissions, finance, attendance, and academic risk",
  "common.aiRiskPromptLabel.reportsDefineAdmissionsRisk": "What counts as admissions risk for applicants?",
  "common.aiRiskPromptLabel.reportsDefineAttendanceRisk": "What does attendance risk mean in HEM-SP?",
  "common.aiRiskPromptLabel.reportsDefineFinanceRisk": "How is finance risk defined for students and applicants?",
  "common.aiRiskPromptLabel.reportsExplainThresholds": "What risk thresholds does our school use?",
  "common.aiRiskSignalEvidence.academicExamFailure": ":count failed exam result(s).",
  "common.aiRiskSignalEvidence.academicFailingGrades": ":count grade(s) below the academic threshold.",
  "common.aiRiskSignalEvidence.academicLowPerformance": "Average grade :percent% (threshold: :threshold%).",
  "common.aiRiskSignalEvidence.academicNoCohort": "No program or course cohort assignment found.",
  "common.aiRiskSignalEvidence.admissionsInactivity": "No submission activity since :lastActivity (threshold: :days days).",
  "common.aiRiskSignalEvidence.admissionsIncomplete": "Application progress is :progress% (complete threshold: :threshold%).",
  "common.aiRiskSignalEvidence.admissionsMissingDocuments": ":count required document(s) still missing.",
  "common.aiRiskSignalEvidence.admissionsNoOwner": "No owner is assigned on this contact.",
  "common.aiRiskSignalEvidence.admissionsPaymentBlocker": "Submission is at :status and awaiting payment.",
  "common.aiRiskSignalEvidence.admissionsStalled": "Submission status :status with no activity since :lastActivity (threshold: :days days).",
  "common.aiRiskSignalEvidence.attendanceBelowThreshold": "Average attendance :percent% (threshold: :threshold%).",
  "common.aiRiskSignalEvidence.attendanceChronicAbsence": ":count absent record(s) (threshold: :threshold).",
  "common.aiRiskSignalEvidence.attendanceEarlyWithdrawal": "Withdrawn with only :count attendance record(s).",
  "common.aiRiskSignalEvidence.financeNsf": ":count NSF payment(s) in the last 12 months.",
  "common.aiRiskSignalEvidence.financeOverdue": ":count overdue unpaid invoice(s).",
  "common.aiRiskSignalEvidence.financePaymentDueSoon": ":count invoice(s) due within :days days.",
  "common.aiRiskSignalEvidence.financeUnpaid": ":count open unpaid invoice(s).",
  "common.aiRiskSignalEvidence.lifecycleDisengaged": "Contact lifecycle status is :status.",
  "common.aiRiskSignalEvidence.lifecycleNoActivity": "No activity since :lastActivity (threshold: :days days).",
  "common.aiRiskSignalEvidence.lifecycleWithdrawn": "Contact lifecycle status is :status.",
  "common.aiRiskSignalEvidence.notSet": "not set",
  "common.aiRiskSignalFollowUp.academicExamFailure": "For this student, what exam failures apply and what support follow-up should we provide?",
  "common.aiRiskSignalFollowUp.academicFailingGrades": "For this student, which courses are failing and what intervention follow-up should I coordinate?",
  "common.aiRiskSignalFollowUp.academicLowPerformance": "For this student with low grades, what academic support and follow-up activities should we offer?",
  "common.aiRiskSignalFollowUp.academicNoCohort": "For this student without a cohort assignment, what placement follow-up is needed and who should act?",
  "common.aiRiskSignalFollowUp.admissionsInactivity": "For this inactive applicant, how should I re-engage them ? what call, email, or message should I send?",
  "common.aiRiskSignalFollowUp.admissionsIncomplete": "For this student, what application steps are still incomplete and how should I help them finish?",
  "common.aiRiskSignalFollowUp.admissionsMissingDocuments": "For this student, which required documents are still missing and how should I follow up to collect them?",
  "common.aiRiskSignalFollowUp.admissionsNoOwner": "For this applicant, no owner is assigned ? who should own follow-up and what should they do next for this student?",
  "common.aiRiskSignalFollowUp.admissionsPaymentBlocker": "For this student, payment is blocking their application ? what balance or step should I follow up on?",
  "common.aiRiskSignalFollowUp.admissionsStalled": "For this student, what is stalling their application and what specific follow-up should I take today?",
  "common.aiRiskSignalFollowUp.attendanceBelowThreshold": "For this student, summarize their attendance risk and recommend concrete follow-up activities.",
  "common.aiRiskSignalFollowUp.attendanceChronicAbsence": "For this student with chronic absence, what outreach or support follow-up should I take?",
  "common.aiRiskSignalFollowUp.attendanceEarlyWithdrawal": "This student may be withdrawing early ? what check-in or retention follow-up should I do?",
  "common.aiRiskSignalFollowUp.financeNsf": "For this student, explain their recent NSF or bounced payment and what follow-up is needed with them.",
  "common.aiRiskSignalFollowUp.financeOverdue": "For this student, what overdue balances do they have and what payment follow-up steps should I take?",
  "common.aiRiskSignalFollowUp.financePaymentDueSoon": "For this student, which payments are due soon and how should I remind or support them?",
  "common.aiRiskSignalFollowUp.financeUnpaid": "For this student, summarize their unpaid invoices and recommend the payment follow-up I should take today.",
  "common.aiRiskSignalFollowUp.generic": "For this student and this risk signal, what follow-up activities should I take?",
  "common.aiRiskSignalFollowUp.lifecycleDisengaged": "For this disengaged student, what re-engagement follow-up should I take to reconnect them?",
  "common.aiRiskSignalFollowUp.lifecycleNoActivity": "For this student with no recent activity after starting, how should I check in with them?",
  "common.aiRiskSignalFollowUp.lifecycleWithdrawn": "For this withdrawn student, what appropriate follow-up or re-engagement should I consider?",
  "common.aiRiskSignalFollowUpChip.academicExamFailure": "Support after exam failure",
  "common.aiRiskSignalFollowUpChip.academicFailingGrades": "Intervene on failing grades",
  "common.aiRiskSignalFollowUpChip.academicLowPerformance": "Plan academic support",
  "common.aiRiskSignalFollowUpChip.academicNoCohort": "Assign cohort placement",
  "common.aiRiskSignalFollowUpChip.admissionsInactivity": "Re-engage inactive applicant",
  "common.aiRiskSignalFollowUpChip.admissionsIncomplete": "Help complete application",
  "common.aiRiskSignalFollowUpChip.admissionsMissingDocuments": "Follow up on missing documents",
  "common.aiRiskSignalFollowUpChip.admissionsNoOwner": "Assign owner and follow up",
  "common.aiRiskSignalFollowUpChip.admissionsPaymentBlocker": "Follow up on payment blocker",
  "common.aiRiskSignalFollowUpChip.admissionsStalled": "Follow up on stalled application",
  "common.aiRiskSignalFollowUpChip.attendanceBelowThreshold": "Review attendance and follow up",
  "common.aiRiskSignalFollowUpChip.attendanceChronicAbsence": "Follow up on chronic absence",
  "common.aiRiskSignalFollowUpChip.attendanceEarlyWithdrawal": "Check in ? may withdraw early",
  "common.aiRiskSignalFollowUpChip.financeNsf": "Follow up on NSF payment",
  "common.aiRiskSignalFollowUpChip.financeOverdue": "Follow up on overdue balance",
  "common.aiRiskSignalFollowUpChip.financePaymentDueSoon": "Remind about payment due soon",
  "common.aiRiskSignalFollowUpChip.financeUnpaid": "Follow up on unpaid balance",
  "common.aiRiskSignalFollowUpChip.generic": "Suggest follow-up for this student",
  "common.aiRiskSignalFollowUpChip.lifecycleDisengaged": "Re-engage disengaged student",
  "common.aiRiskSignalFollowUpChip.lifecycleNoActivity": "Check in ? no recent activity",
  "common.aiRiskSignalFollowUpChip.lifecycleWithdrawn": "Follow up withdrawn student",
  "common.aiRiskSignalLabel.academicExamFailure": "Exam failure",
  "common.aiRiskSignalLabel.academicFailingGrades": "Failing grades",
  "common.aiRiskSignalLabel.academicLowPerformance": "Low academic performance",
  "common.aiRiskSignalLabel.academicNoCohort": "No cohort assignment",
  "common.aiRiskSignalLabel.admissionsInactivity": "Inactive on application",
  "common.aiRiskSignalLabel.admissionsIncomplete": "Incomplete application",
  "common.aiRiskSignalLabel.admissionsMissingDocuments": "Missing required documents",
  "common.aiRiskSignalLabel.admissionsNoOwner": "No assigned owner",
  "common.aiRiskSignalLabel.admissionsPaymentBlocker": "Ready for payment",
  "common.aiRiskSignalLabel.admissionsStalled": "Stalled application",
  "common.aiRiskSignalLabel.attendanceBelowThreshold": "Low attendance",
  "common.aiRiskSignalLabel.attendanceChronicAbsence": "Chronic absence",
  "common.aiRiskSignalLabel.attendanceEarlyWithdrawal": "Early withdrawal",
  "common.aiRiskSignalLabel.financeNsf": "NSF payment",
  "common.aiRiskSignalLabel.financeOverdue": "Overdue balance",
  "common.aiRiskSignalLabel.financePaymentDueSoon": "Payment due soon",
  "common.aiRiskSignalLabel.financeUnpaid": "Unpaid balance",
  "common.aiRiskSignalLabel.lifecycleDisengaged": "Disengaged",
  "common.aiRiskSignalLabel.lifecycleNoActivity": "No recent activity",
  "common.aiRiskSignalLabel.lifecycleWithdrawn": "Withdrawn",
  "common.aiSuggestionApplicantNextMeetingLabel.applicantNextMeeting": "When is this applicant's next meeting?",
  "common.aiSuggestionApplicantUpcomingMeetingsLabel.applicantUpcomingMeetings": "List this applicant's upcoming meetings",
  "common.aiSuggestionBreakdownActiveStudentsByCohortLabel.breakdownActiveStudentsByCohort": "Break down active students by cohort",
  "common.aiSuggestionBreakdownApplicantsByProgramLabel.breakdownApplicantsByProgram": "Chart applicants on this page by program",
  "common.aiSuggestionBreakdownApplicantsByRequestTypeLabel.breakdownApplicantsByRequestType": "Break down applicants by request type",
  "common.aiSuggestionBreakdownApplicantsBySubmissionStatusLabel.breakdownApplicantsBySubmissionStatus": "Break down applicants by submission status",
  "common.aiSuggestionBreakdownIndexByAnyColumnLabel.breakdownIndexByAnyColumn": "Break down this page by any column (report, list, or chart)",
  "common.aiSuggestionBreakdownLessonsByInstructorLabel.breakdownLessonsByInstructor": "Chart upcoming lessons by instructor",
  "common.aiSuggestionBreakdownStudentsByContactStatusLabel.breakdownStudentsByContactStatus": "Break down students by contact status",
  "common.aiSuggestionBreakdownStudentsByProgramLabel.breakdownStudentsByProgram": "Chart students on this page by program",
  "common.aiSuggestionBreakdownSubmissionsByStatusLabel.breakdownSubmissionsByStatus": "Break down submissions by status",
  "common.aiSuggestionBreakdownUnpaidStudentsByProgramLabel.breakdownUnpaidStudentsByProgram": "Chart unpaid students by program",
  "common.aiSuggestionChartListByCampusLabel.chartListByCampus": "Show a campus breakdown chart for this list",
  "common.aiSuggestionChartListByContactStatusLabel.chartListByContactStatus": "Break down this list by contact status",
  "common.aiSuggestionChartListByMonthLabel.chartListByMonth": "Plot contacts on this list by month",
  "common.aiSuggestionChartListByProgramLabel.chartListByProgram": "Create a chart breaking down this list by program",
  "common.aiSuggestionChartListOwnerWorkloadLabel.chartListOwnerWorkload": "Chart owner workload for contacts on this list",
  "common.aiSuggestionCheckTriggerConditionsActionsLabel.checkTriggerConditionsActions": "Check what conditions or actions are available for this trigger",
  "common.aiSuggestionCreateApplicantLabel.createApplicant": "Create a new applicant",
  "common.aiSuggestionCreateApplicantLabel.createApplicantOnPage": "Create a new applicant at this campus",
  "common.aiSuggestionCreateCourseLabel.createCourse": "Create a new course",
  "common.aiSuggestionCreateCourseLabel.createCourseOnPage": "Create a course at this campus",
  "common.aiSuggestionCreateIncompleteApplicationsViewLabel.createIncompleteApplicationsView": "Create a saved view for incomplete applications",
  "common.aiSuggestionCreateOverdueBalancesViewLabel.createOverdueBalancesView": "Create a saved view for overdue balances",
  "common.aiSuggestionCreateProgramLabel.createProgram": "Create a new program",
  "common.aiSuggestionCreateProgramLabel.createProgramOnPage": "Create a program at this campus",
  "common.aiSuggestionCreateStudentsSavedViewLabel.createStudentsSavedView": "Create a saved view for students I should review",
  "common.aiSuggestionCreateSubmittedApplicationsViewLabel.createSubmittedApplicationsView": "Create a saved view for submitted applications waiting for review",
  "common.aiSuggestionCreateTaskOrMeetingFromPageLabel.createTaskOrMeetingFromPage": "How do I create a task or meeting from this page?",
  "common.aiSuggestionDraftAdmissionsFollowUpAutomationLabel.draftAdmissionsFollowUpAutomation": "Draft an admissions follow-up automation",
  "common.aiSuggestionDraftAdmissionsInstructionsLabel.draftAdmissionsInstructions": "Draft admissions instructions for this persona",
  "common.aiSuggestionDraftApplicantChatInvoiceLabel.draftApplicantChatInvoice": "Chat the last invoice details to this applicant",
  "common.aiSuggestionDraftApplicantChatProgramLabel.draftApplicantChatProgram": "Draft a chat message to explain the program",
  "common.aiSuggestionDraftApplicantFollowUpEmailLabel.draftApplicantFollowUpEmail": "Draft an email to this applicant",
  "common.aiSuggestionDraftApplicantIncompleteAutomationLabel.draftApplicantIncompleteAutomation": "Draft an automation for applicants who have not completed their application",
  "common.aiSuggestionDraftAttendanceFollowUpAutomationLabel.draftAttendanceFollowUpAutomation": "Draft an attendance follow-up automation",
  "common.aiSuggestionDraftCohortStartAutomationLabel.draftCohortStartAutomation": "Draft an automation for students before cohort start",
  "common.aiSuggestionDraftListFollowUpAutomationLabel.draftListFollowUpAutomation": "Draft a follow-up automation for this list",
  "common.aiSuggestionDraftOverdueTasksAutomationLabel.draftOverdueTasksAutomation": "Draft an automation to follow up on overdue tasks",
  "common.aiSuggestionDraftPaymentReminderAutomationLabel.draftPaymentReminderAutomation": "Draft a payment reminder automation",
  "common.aiSuggestionDraftStudentChatInvoiceLabel.draftStudentChatInvoice": "Chat the last invoice details to this student",
  "common.aiSuggestionDraftStudentChatProgramLabel.draftStudentChatProgram": "Draft a chat message to explain the program",
  "common.aiSuggestionDraftStudentEngagementAutomationLabel.draftStudentEngagementAutomation": "Draft an automation for students who need a check-in",
  "common.aiSuggestionDraftStudentFollowUpEmailLabel.draftStudentFollowUpEmail": "Draft an email to this student",
  "common.aiSuggestionDraftStudentFollowUpNoteLabel.draftStudentFollowUpNote": "Create a note for this student summarizing what admissions should pay attention to",
  "common.aiSuggestionDraftSubmittedApplicationsAutomationLabel.draftSubmittedApplicationsAutomation": "Draft an automation for submitted applications",
  "common.aiSuggestionEmailEveryoneOnListLabel.emailEveryoneOnList": "How do I email or message everyone on this list?",
  "common.aiSuggestionExplainCreateSavedViewLabel.explainCreateSavedView": "Explain how to create a saved view",
  "common.aiSuggestionExplainMeetingStatusesLabel.explainMeetingStatuses": "Explain meeting statuses (Scheduled, Held, Not held)",
  "common.aiSuggestionExplainMeetingVsStaffTaskLabel.explainMeetingVsStaffTask": "What's the difference between a calendar meeting and a staff task?",
  "common.aiSuggestionExplainMeetingsCalendarVsTasksPageLabel.explainMeetingsCalendarVsTasksPage": "What's the difference between this meetings calendar and the tasks calendar?",
  "common.aiSuggestionExplainPersonaStudentAnswersLabel.explainPersonaStudentAnswers": "Explain how this persona should answer students",
  "common.aiSuggestionExplainSubmissionVsContactStatusLabel.explainSubmissionVsContactStatus": "Explain the difference between submission status and contact status",
  "common.aiSuggestionExplainTaskTypesPrioritiesLabel.explainTaskTypesPriorities": "Explain task types, priorities, and due dates",
  "common.aiSuggestionExplainTaskVsMeetingLabel.explainTaskVsMeeting": "What's the difference between a task and a calendar meeting?",
  "common.aiSuggestionExplainTasksCalendarAndBoardLabel.explainTasksCalendarAndBoard": "Explain the calendar and board views on this page",
  "common.aiSuggestionExplainThisAutomationLabel.explainThisAutomation": "Explain what this automation does",
  "common.aiSuggestionFindCohortsStartingSoonLabel.findCohortsStartingSoon": "Find cohorts starting soon",
  "common.aiSuggestionFilterMeetingsByStaffLabel.filterMeetingsByStaff": "How do I filter meetings by staff user on this calendar?",
  "common.aiSuggestionFilterTasksOnCalendarLabel.filterTasksOnCalendar": "How do I filter tasks by due date, type, or priority?",
  "common.aiSuggestionHighPriorityTasksDueThisWeekLabel.highPriorityTasksDueThisWeek": "Which high-priority tasks are due this week?",
  "common.aiSuggestionHelpDraftAutomationIdeaLabel.helpDraftAutomationIdea": "Help me draft an automation idea",
  "common.aiSuggestionIdentifyAttendanceIssuesLabel.identifyAttendanceIssues": "Identify attendance issues",
  "common.aiSuggestionLabel.capabilitiesAiAgentAdmin": "Explain how this persona should answer, suggest knowledge resources, draft admissions instructions, and review blocked topics.",
  "common.aiSuggestionLabel.capabilitiesApplicantProfile": "Draft and send emails, SMS, or portal chat messages, create contact lists and reports, save views from results, suggest automations, add tasks or notes, and search for at-risk applicants ? type what you need in the chat box below.",
  "common.aiSuggestionLabel.capabilitiesApplicantProfileAcademic": "Summarize intended program or cohort, explain enrollment path, and draft emails about academic placement or next steps.",
  "common.aiSuggestionLabel.capabilitiesApplicantProfileApplication": "Summarize application progress, explain submission status, list missing steps, draft application follow-up emails, and create review automations.",
  "common.aiSuggestionLabel.capabilitiesApplicantProfileBasic": "Summarize this applicant, explain status fields, draft follow-up emails, add tasks or notes, and check admissions risk signals.",
  "common.aiSuggestionLabel.capabilitiesApplicantProfileCorrespondence": "Draft or send emails and SMS to this applicant, summarize recent messages, and add follow-up tasks from the conversation.",
  "common.aiSuggestionLabel.capabilitiesApplicantProfileDocuments": "Identify missing or expired documents, summarize document status, and draft document request emails.",
  "common.aiSuggestionLabel.capabilitiesApplicantProfileFinance": "Summarize deposits and unpaid balances, explain invoice status, draft payment reminder emails, and add finance follow-up tasks.",
  "common.aiSuggestionLabel.capabilitiesApplicantProfileHistory": "Summarize recent changes, explain timeline events, and draft follow-up notes for admissions staff.",
  "common.aiSuggestionLabel.capabilitiesApplicantProfileMeetings": "Check when their next meeting is scheduled, list upcoming or past calendar meetings, and schedule a new meeting with date, time, and duration.",
  "common.aiSuggestionLabel.capabilitiesApplicantProfileNotes": "Draft internal notes for admissions, summarize prior notes, and propose next-step tasks from the note context.",
  "common.aiSuggestionLabel.capabilitiesApplicantProfileRecords": "List uploaded files, highlight missing uploads, and draft emails requesting documents or signatures.",
  "common.aiSuggestionLabel.capabilitiesApplicantProfileTasks": "Create admissions tasks, assign owners, set due dates, and summarize what still needs follow-up on this applicant.",
  "common.aiSuggestionLabel.capabilitiesApplicantsIndex": "Break down applicants by program or status, chart this page, create saved views for follow-up cohorts, create new applicants (campus defaults from page context when enabled), list at-risk applicants, and draft admissions automations.",
  "common.aiSuggestionLabel.capabilitiesAutomationStudio": "Explain what this automation does, suggest graph improvements, and check which conditions or actions are available for the trigger.",
  "common.aiSuggestionLabel.capabilitiesCampusProfile": "Create applicants, programs, and courses for this campus (campus is pre-filled from page context), summarize linked catalog items, and draft pre-start automations.",
  "common.aiSuggestionLabel.capabilitiesCatalog": "Create programs and courses (campus defaults from the open page when context is enabled), summarize cohorts, list students in a cohort, find cohorts starting soon, and draft pre-start or attendance automations.",
  "common.aiSuggestionLabel.capabilitiesContactList": "Summarize contacts on this list, chart by status, program, or campus, identify who needs follow-up, and draft list-based automations.",
  "common.aiSuggestionLabel.capabilitiesContext": "Draft emails, build reports and charts, create saved views and lists, suggest automations, and run follow-up actions ? type what you need in the chat box below.",
  "common.aiSuggestionLabel.capabilitiesFinanceTransactions": "Find unpaid or overdue balances, summarize recent payments, chart unpaid students by program, and draft payment reminder automations.",
  "common.aiSuggestionLabel.capabilitiesGeneric": "Ask about reports, saved views, automations, student lookups, and admissions workflows ? type what you need in the chat box below.",
  "common.aiSuggestionMeetingsNeedStatusUpdateLabel.meetingsNeedStatusUpdate": "Which meetings this week still need a Held or Not held status?",
  "common.aiSuggestionMeetingsOnCalendarTodayLabel.meetingsOnCalendarToday": "What meetings are on my calendar today?",
  "common.aiSuggestionExtensiveTodaySummaryLabel.extensiveTodaySummary": "Give me an extensive summary of my tasks and meetings for today.",
  "common.aiSuggestionExtensiveTodaySummaryLabel.summaryChip": "Extensive summary for today (tasks and meetings)",
  "common.aiSuggestionLabel.capabilitiesMeetingsCalendar": "Summarize meetings this week, review Held/Not held status gaps, filter by staff user, reschedule from the grid, and explain how calendar meetings differ from staff tasks.",
  "common.aiSuggestionLabel.capabilitiesScheduling": "Show lessons this week, chart lessons by instructor, identify attendance issues, and draft attendance follow-up automations.",
  "common.aiSuggestionLabel.capabilitiesTasksMultiView": "Find overdue or high-priority tasks, summarize open follow-up work, draft overdue-task automations, and explain calendar vs board views.",
  "common.aiSuggestionLabel.capabilitiesTasksMultiViewCalendar": "Review today's tasks and meetings, summarize the week on the calendar, filter by due date or priority, and open items to edit or jump to the contact profile.",
  "common.aiSuggestionLabel.capabilitiesTasksMultiViewKanban": "Find overdue or stuck tasks, summarize the board by priority, drag tasks across columns, and draft follow-up automations.",
  "common.aiSuggestionLabel.capabilitiesStudentProfile": "Draft and send emails, SMS, or portal chat messages, create contact lists and reports, save views from results, suggest automations, add tasks or notes, and review risk signals ? type what you need in the chat box below.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileAcademic": "Summarize enrollments and academic path, explain cohort placement, chart progress, and draft academic follow-up emails.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileApplication": "Summarize application and enrollment history, explain submission status, and draft status update emails.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileAttendance": "Summarize attendance patterns, flag missed sessions, chart attendance issues, and draft attendance follow-up emails or tasks.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileBasic": "Summarize this student, explain lifecycle status, draft check-in emails, add tasks or notes, and review active risk signals.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileCorrespondence": "Draft or send emails and SMS, summarize recent threads, and turn replies into tasks or notes.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileDocuments": "Identify missing or expired documents, summarize compliance status, and draft document request emails.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileExams": "Summarize exam results, highlight failures or missing attempts, and draft remediation or scheduling follow-ups.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileFinance": "Summarize invoices and balances, list unpaid items, draft payment reminders, and chart outstanding amounts.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileFunding": "Summarize funding case status, explain outstanding funding steps, and draft follow-up tasks or emails.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileGrades": "Summarize grades and progress, identify low or failing results, and draft academic support emails or escalation tasks.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileHistory": "Summarize profile changes and timeline activity, and draft internal follow-up notes for staff.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileMeetings": "Check when their next meeting is scheduled, list upcoming or past calendar meetings, and schedule a new meeting with date, time, and duration.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileNotes": "Draft internal notes, summarize prior notes, and propose follow-up actions from recent activity.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileRecords": "List files on record, find missing uploads, and draft requests for outstanding documents.",
  "common.aiSuggestionLabel.capabilitiesStudentProfileTasks": "Create staff tasks for this student, assign teams, set priorities, and summarize open work.",
  "common.aiSuggestionLabel.capabilitiesStudentsList": "Summarize students who need follow-up, break down this list by status or program, save views for outreach, and chart engagement or finance risk.",
  "common.aiSuggestionLabel.capabilitiesSubmissionsIndex": "Explain submission vs contact status, show incomplete submissions, create review queues as saved views, and draft automations for submitted applications.",
  "common.aiSuggestionLabel.capabilitiesTitle": "You can also ask me to",
  "common.aiSuggestionLabel.capabilitiesTitleContext": "On this :tab view, you can also ask me to",
  "common.aiSuggestionLabel.nextPrompts": "More prompts",
  "common.aiSuggestionLabel.pageContextAiAgents": "AI Agents admin",
  "common.aiSuggestionLabel.pageContextApplicantProfile": "applicant profile",
  "common.aiSuggestionLabel.pageContextApplicants": "Applicants list",
  "common.aiSuggestionLabel.pageContextAutomationStudio": "Automation Studio",
  "common.aiSuggestionLabel.pageContextCampusProfile": "campus page",
  "common.aiSuggestionLabel.pageContextCatalog": "Programs and cohorts page",
  "common.aiSuggestionLabel.pageContextContactList": "contact list",
  "common.aiSuggestionLabel.pageContextFinance": "Transactions page",
  "common.aiSuggestionLabel.pageContextMeetingsCalendar": "Meetings calendar",
  "common.aiSuggestionLabel.pageContextScheduling": "Scheduling page",
  "common.aiSuggestionLabel.pageContextStudentProfile": "student profile",
  "common.aiSuggestionLabel.pageContextStudentsList": "Students list",
  "common.aiSuggestionLabel.pageContextSubmissions": "Applications page",
  "common.aiSuggestionLabel.pageContextTasksMultiView": "Tasks calendar",
  "common.aiSuggestionLabel.previousPrompts": "Previous prompts",
  "common.aiSuggestionLabel.profileTabAcademic": "Academic",
  "common.aiSuggestionLabel.profileTabApplication": "Form Submissions",
  "common.aiSuggestionLabel.profileTabAttendance": "Attendance",
  "common.aiSuggestionLabel.profileTabCalls": "Calls",
  "common.aiSuggestionLabel.profileTabContracts": "Contracts",
  "common.aiSuggestionLabel.profileTabDocuments": "Documents",
  "common.aiSuggestionLabel.profileTabEmails": "Emails",
  "common.aiSuggestionLabel.profileTabExams": "Exams",
  "common.aiSuggestionLabel.profileTabFiles": "Files",
  "common.aiSuggestionLabel.profileTabFinance": "Finance",
  "common.aiSuggestionLabel.profileTabFunding": "Funding Case",
  "common.aiSuggestionLabel.profileTabGrades": "Grades",
  "common.aiSuggestionLabel.profileTabHistory": "History",
  "common.aiSuggestionLabel.profileTabMeetings": "Meetings",
  "common.aiSuggestionLabel.profileTabMessages": "Messages",
  "common.aiSuggestionLabel.profileTabNotes": "Notes",
  "common.aiSuggestionLabel.profileTabProfile": "Basic Info",
  "common.aiSuggestionLabel.profileTabSms": "SMS",
  "common.aiSuggestionLabel.profileTabTasks": "Tasks",
  "common.aiSuggestionLabel.promptPageIndicator": ":current of :total",
  "common.aiSuggestionLabel.suggestedPrompts": "Suggested prompts",
  "common.aiSuggestionLabel.suggestedPromptsApplicantProfileHint": "Starter ideas for this applicant ? use the arrows for more.",
  "common.aiSuggestionLabel.suggestedPromptsContextHint": "Based on the page you are viewing ? pick one to start.",
  "common.aiSuggestionLabel.suggestedPromptsGenericHint": "Pick a report or saved-view prompt to get started.",
  "common.aiSuggestionLabel.suggestedPromptsStudentProfileHint": "Starter ideas for this student ? use the arrows for more.",
  "common.aiSuggestionReviewPersonaBlockedTopicsLabel.reviewPersonaBlockedTopics": "Review this persona's blocked topics and handoff behavior",
  "common.aiSuggestionRescheduleMeetingOnCalendarLabel.rescheduleMeetingOnCalendar": "How do I reschedule a meeting by dragging on this calendar?",
  "common.aiSuggestionScheduleApplicantMeetingLabel.scheduleApplicantMeeting": "Schedule a meeting with this applicant",
  "common.aiSuggestionScheduleMeetingFromCalendarLabel.scheduleMeetingFromCalendar": "How do I schedule a meeting on this calendar?",
  "common.aiSuggestionScheduleStudentMeetingLabel.scheduleStudentMeeting": "Schedule a meeting with this student",
  "common.aiSuggestionShowApplicantsSubmittedThisMonthLabel.showApplicantsSubmittedThisMonth": "Show applicants submitted this month",
  "common.aiSuggestionShowIncompleteSubmissionsLabel.showIncompleteSubmissions": "Show incomplete submissions for this application",
  "common.aiSuggestionShowOverdueTasksLabel.showOverdueTasks": "Show my overdue tasks",
  "common.aiSuggestionShowLessonsThisWeekLabel.showLessonsThisWeek": "Show lessons scheduled this week",
  "common.aiSuggestionShowStudentLessonsAttendanceLabel.showStudentLessonsAttendance": "Show this student's upcoming lessons and attendance status",
  "common.aiSuggestionShowStudentsEnrolledInCohortLabel.showStudentsEnrolledInCohort": "Show students enrolled in this cohort",
  "common.aiSuggestionShowStudentsEnrolledThisMonthLabel.showStudentsEnrolledThisMonth": "Show students enrolled this month",
  "common.aiSuggestionShowStudentsUnpaidInvoicesLabel.showStudentsUnpaidInvoices": "Show students with unpaid invoices",
  "common.aiSuggestionShowUsefulAdmissionsReportsLabel.showUsefulAdmissionsReports": "Show me useful admissions reports",
  "common.aiSuggestionStudentDocumentsPaymentsAttentionLabel.studentDocumentsPaymentsAttention": "What documents or payments need attention for this student?",
  "common.aiSuggestionStudentDocumentsAttentionLabel.studentDocumentsAttention": "What documents need attention for this student?",
  "common.aiSuggestionApplicantDocumentsAttentionLabel.applicantDocumentsAttention": "What documents need attention for this applicant?",
  "common.aiSuggestionSummarizeStudentActivityTimelineLabel.summarizeStudentActivityTimeline": "Summarize this student's activity timeline.",
  "common.aiSuggestionSummarizeApplicantActivityTimelineLabel.summarizeApplicantActivityTimeline": "Summarize this applicant's activity timeline.",
  "common.aiSuggestionStudentLastPaymentLabel.studentLastPayment": "What was the last payment for this student?",
  "common.aiSuggestionStudentNextMeetingLabel.studentNextMeeting": "When is this student's next meeting?",
  "common.aiSuggestionStudentUpcomingMeetingsLabel.studentUpcomingMeetings": "List this student's upcoming meetings",
  "common.aiSuggestionStuckKanbanTasksLabel.stuckKanbanTasks": "Which tasks on my Kanban board are stuck in the same column?",
  "common.aiSuggestionSuggestAutomationImprovementsLabel.suggestAutomationImprovements": "Suggest improvements for this automation",
  "common.aiSuggestionSuggestKnowledgeResourcesLabel.suggestKnowledgeResources": "Suggest knowledge resources for this persona",
  "common.aiSuggestionSummarizeActiveCohortsLabel.summarizeActiveCohorts": "Summarize active cohorts for this program",
  "common.aiSuggestionSummarizeApplicantFollowUpLabel.summarizeApplicantFollowUp": "Summarize applicants who need follow-up",
  "common.aiSuggestionSummarizeApplicantLabel.summarizeApplicant": "Summarize this applicant",
  "common.aiSuggestionSummarizeApplicantMeetingsLabel.summarizeApplicantMeetings": "Summarize this applicant's recent meetings",
  "common.aiSuggestionSummarizeActivityTimelineLabel.actionAddNote": "Create a note",
  "common.aiSuggestionSummarizeActivityTimelineLabel.actionDraftEmail": "Draft an email",
  "common.aiSuggestionSummarizeActivityTimelineLabel.actionReviewRisk": "Review risk follow-up",
  "common.aiSuggestionSummarizeActivityTimelineLabel.promptAddNote": "Create a note for :student summarizing their recent activity timeline for the team. Do not save the note until I confirm Create.",
  "common.aiSuggestionSummarizeActivityTimelineLabel.promptDraftEmail": "Draft an email to :student addressing the open items from their recent activity timeline. Do not send until I confirm Send.",
  "common.aiSuggestionSummarizeActivityTimelineLabel.promptReviewRisk": "What follow-up should I take for :student regarding their recent activity and active risk signals?",
  "common.aiSuggestionSummarizeActivityTimelineLabel.summarizeActivityTimeline": "Summarize this student's activity timeline.\n\nStudent: :student\nActivities loaded: :eventCount (limit :limit)\n\nUse the student_lookup activity_timeline_summary data (`digest_timeline` across emails, messages, SMS, calls, and meetings with full message bodies where loaded). Cover every item in `digest_timeline` for the loaded window. Provide **Activity summary**, **Open follow-ups**, and **Suggested next steps** (2-3 concrete actions). When `truncated` is true, note that older activity remains in each channel tab.",
  "common.aiSuggestionSummarizeCallLogLabel.actionAddNote": "Create a note",
  "common.aiSuggestionSummarizeCallLogLabel.actionAddSpecialNote": "Create a note",
  "common.aiSuggestionSummarizeCallLogLabel.actionDraftEmail": "Draft an email",
  "common.aiSuggestionSummarizeCallLogLabel.actionDraftSms": "Draft an SMS",
  "common.aiSuggestionSummarizeCallLogLabel.actionProposeCallback": "Propose call-back task",
  "common.aiSuggestionSummarizeCallLogLabel.actionReviewRisk": "Review risk follow-up",
  "common.aiSuggestionSummarizeCallLogLabel.actionScheduleMeeting": "Schedule a meeting",
  "common.aiSuggestionSummarizeCallLogLabel.promptAddNote": "Create a note for :student summarizing call log ID :callLogId (:direction, :status on :dateTime). Include program interest, counselor handoff, deferred questions, and any requested callback window from the transcript. Do not save the note until I confirm Create.",
  "common.aiSuggestionSummarizeCallLogLabel.promptAddSpecialNote": "Create a note for :student from call log ID :callLogId (:direction, :status on :dateTime). Capture the special note request from the transcript verbatim in meaning (for example who to remind, callback window like Monday before noon, counselor name). Do not save the note until I confirm Create.",
  "common.aiSuggestionSummarizeCallLogLabel.promptDraftEmail": "Draft an email to :student about call log ID :callLogId (:direction, :status on :dateTime). Use the call transcript/notes ? cover program interest, deferred answers (such as start dates), and next admissions steps. Do not send until I confirm Send.",
  "common.aiSuggestionSummarizeCallLogLabel.promptDraftSms": "Draft an SMS to :student about call log ID :callLogId (:direction, :status on :dateTime). Keep it brief and grounded in the call transcript.",
  "common.aiSuggestionSummarizeCallLogLabel.promptProposeCallback": "Propose a task for staff to call :student back about call log ID :callLogId (:direction, :status on :dateTime). Use any callback window requested in the call transcript (for example Monday before noon) and include the counselor handoff if named.",
  "common.aiSuggestionSummarizeCallLogLabel.promptReviewRisk": "What follow-up should I take for :student regarding call log ID :callLogId and their active risk signals?",
  "common.aiSuggestionSummarizeCallLogLabel.promptScheduleMeeting": "Schedule a meeting with :student based on call log ID :callLogId (:direction, :status on :dateTime). Assign the meeting to the contact owner unless another staff member is named in this request. Ground the subject and purpose in the call transcript (program interest, counselor handoff).",
  "common.aiSuggestionSummarizeCallLogLabel.summarizeCallLog": "Summarize this phone call for :student.\n\nDate/time: :dateTime\nDirection: :direction\nStatus: :status\nCall log ID: :callLogId\n\nUse the student_lookup communications data for this call (full transcript in content). Follow the Single call log summary rules: **Call summary**, **Open follow-ups**, and **Suggested next steps** (2-3 concrete actions). Prioritize scheduling a meeting and any special note requests from the transcript, then callbacks and deferred answers.",
  "common.aiSuggestionSummarizeContactsOnListLabel.summarizeContactsOnList": "Summarize the contacts on this list",
  "common.aiSuggestionSummarizeInstructorWorkloadLabel.summarizeInstructorWorkload": "Summarize instructor workload",
  "common.aiSuggestionSummarizeMessageThreadLabel.actionAddNote": "Create a note",
  "common.aiSuggestionSummarizeMessageThreadLabel.actionCheckInMessage": "Draft check-in message",
  "common.aiSuggestionSummarizeMessageThreadLabel.actionDraftEmail": "Draft an email",
  "common.aiSuggestionSummarizeMessageThreadLabel.actionDraftReply": "Draft a reply",
  "common.aiSuggestionSummarizeMeetingsThisWeekLabel.summarizeMeetingsThisWeek": "Summarize my meetings scheduled this week on this calendar",
  "common.aiSuggestionSummarizeOpenFollowUpTasksLabel.summarizeOpenFollowUpTasks": "Summarize my open follow-up tasks",
  "common.aiSuggestionSummarizeKanbanBoardByPriorityLabel.summarizeKanbanBoardByPriority": "Summarize my Kanban board by priority",
  "common.aiSuggestionSummarizeMessageThreadLabel.actionProposeTask": "Propose follow-up task",
  "common.aiSuggestionSummarizeMessageThreadLabel.actionReviewRisk": "Review risk follow-up",
  "common.aiSuggestionSummarizeMessageThreadLabel.promptAddNote": "Create a note for :student summarizing message thread ID :threadId (subject: :subject). Include key points and recommended next steps for the team. Do not save the note until I confirm Create.",
  "common.aiSuggestionSummarizeMessageThreadLabel.promptCheckInMessage": "Draft a check-in message to :student about message thread ID :threadId (subject: :subject) since we are awaiting a reply.",
  "common.aiSuggestionSummarizeMessageThreadLabel.promptDraftEmail": "Draft an email to :student about message thread ID :threadId (subject: :subject). Reference the key points from that thread. Do not send until I confirm Send.",
  "common.aiSuggestionSummarizeMessageThreadLabel.promptDraftReply": "Draft a reply in message thread ID :threadId for :student about \":subject\". Use the thread communications data and keep the tone professional and concise.",
  "common.aiSuggestionSummarizeMessageThreadLabel.promptProposeTaskInbound": "Propose a task for staff to respond to :student's inbound message in thread ID :threadId (subject: :subject).",
  "common.aiSuggestionSummarizeMessageThreadLabel.promptReviewRisk": "What follow-up should I take for :student regarding message thread ID :threadId and their active risk signals?",
  "common.aiSuggestionSummarizeMessageThreadLabel.summarizeMessageThread": "Summarize this message thread for :student.\n\nSubject: :subject\nMessage thread ID: :threadId\n\nUse the student_lookup communications data for this thread. Provide a concise summary of the conversation, key requests, outstanding questions, and end with a short **Suggested next steps** section listing 2-3 concrete follow-up actions.",
  "common.aiSuggestionSummarizeRecentPaymentActivityLabel.summarizeRecentPaymentActivity": "Summarize recent payment activity",
  "common.aiSuggestionShowAgingReceivablesLabel.showAgingReceivables": "Show aging receivables",
  "common.aiSuggestionShowCollectionsCompareLabel.showCollectionsCompare": "Show collections this month vs last month",
  "common.aiSuggestionShowApplicantsOwnerWorkloadLabel.showApplicantsOwnerWorkload": "Show owner workload for these applicants",
  "common.aiSuggestionSummarizeStudentAcademicPathLabel.summarizeStudentAcademicPath": "Summarize this student's academic path",
  "common.aiSuggestionSummarizeStudentApplicationEnrollmentLabel.summarizeStudentApplicationEnrollment": "Summarize this student's application and enrollment status",
  "common.aiSuggestionSummarizeStudentCallsLabel.summarizeStudentCalls": "Digest this student's phone calls",
  "common.aiSuggestionSummarizeStudentCommunicationsLabel.summarizeStudentCommunications": "Digest this student's communications",
  "common.aiSuggestionSummarizeStudentDashboardLabel.summarizeStudentDashboard": "Summarize this student",
  "common.aiSuggestionSummarizeStudentEmailsLabel.summarizeStudentEmails": "Digest this student's emails",
  "common.aiSuggestionSummarizeStudentFinanceLabel.summarizeStudentFinance": "Summarize this student's finance",
  "common.aiSuggestionSummarizeTasksMeetingsThisWeekLabel.summarizeTasksMeetingsThisWeek": "Summarize this week's tasks and meetings on the calendar",
  "common.aiSuggestionTasksAndMeetingsTodayLabel.tasksAndMeetingsToday": "What tasks and meetings do I have today on this calendar?",
  "common.aiSuggestionSummarizeStudentMeetingsLabel.summarizeStudentMeetings": "Summarize this student's recent meetings",
  "common.aiSuggestionSummarizeStudentMessagesLabel.summarizeStudentMessages": "Digest this student's messages",
  "common.aiSuggestionSummarizeStudentNotesLabel.summarizeStudentNotes": "Summarize this student's notes",
  "common.aiSuggestionSummarizeStudentSmsLabel.summarizeStudentSms": "Digest this student's SMS",
  "common.aiSuggestionSummarizeStudentsNeedFollowUpLabel.summarizeStudentsNeedFollowUp": "Summarize students who need follow-up",
  "common.aiSuggestionWhatCanYouHelpWithLabel.whatCanYouHelpWith": "What can you help me with?",
  "common.aiSuggestionWhoNeedsFollowUpOnListLabel.whoNeedsFollowUpOnList": "Which contacts on this list need follow-up?",
  "common.aiTextAssist.actions.generate.description": "Generate text based on the context.",
  "common.aiTextAssist.actions.generate.title": "Generate",
  "common.aiTextAssist.actions.improve.description": "Improve the existing text using the surrounding context.",
  "common.aiTextAssist.actions.improve.requiresText": "Requires text in this field.",
  "common.aiTextAssist.actions.improve.title": "Improve",
  "common.aiTextAssist.actions.label": "Actions",
  "common.aiTextAssist.actions.rewrite.description": "Rewrite the existing text while keeping the meaning.",
  "common.aiTextAssist.actions.rewrite.requiresText": "Requires text in this field.",
  "common.aiTextAssist.actions.rewrite.title": "Rewrite",
  "common.aiTextAssist.automationPrompts.complete": "Continue the existing text naturally. Return only the continuation, not the text that is already written. Keep it to one short phrase or sentence.",
  "common.aiTextAssist.automationPrompts.generate": "Generate new copy based on this automation node and its context.",
  "common.aiTextAssist.automationPrompts.improve": "Improve the existing copy for clarity, tone, and completeness.",
  "common.aiTextAssist.automationPrompts.lengthLong": "Use 3-6 sentences.",
  "common.aiTextAssist.automationPrompts.lengthMedium": "Use 2-4 sentences.",
  "common.aiTextAssist.automationPrompts.lengthShort": "Keep it to 1-2 sentences.",
  "common.aiTextAssist.automationPrompts.rewrite": "Rewrite the existing copy with different wording while keeping the meaning.",
  "common.aiTextAssist.automationPrompts.translate": "Translate the supplied source text accurately. Return only the translated text with no explanations or quotes.",
  "common.aiTextAssist.context.applicationFollowUp": "We wanted to follow up about your application.",
  "common.aiTextAssist.context.event": "Trigger: :event.",
  "common.aiTextAssist.context.field": "Field: :field.",
  "common.aiTextAssist.context.nodeTitle": "Automation step: :title.",
  "common.aiTextAssist.context.paymentFollowUp": "This is a quick note about your payment.",
  "common.aiTextAssist.emptySuggestion": "The AI provider did not return any suggested content.",
  "common.aiTextAssist.failed": "Unable to generate AI text for this field.",
  "common.aiTextAssist.generatedClosing": "Please reply if you have any questions.",
  "common.aiTextAssist.generatedContextLine": "Use this context: :context.",
  "common.aiTextAssist.generating": "Generating...",
  "common.aiTextAssist.improvedLead": "Here is a clearer version:",
  "common.aiTextAssist.intros.emailBody": "Hello,\n\nWe wanted to follow up with a quick update.",
  "common.aiTextAssist.intros.emailSubject": "Follow-up from your school",
  "common.aiTextAssist.intros.generic": "Draft message",
  "common.aiTextAssist.intros.sms": "Hi ? quick update from your school.",
  "common.aiTextAssist.intros.smsName": "SMS template",
  "common.aiTextAssist.invalidAction": "The selected AI action is not supported.",
  "common.aiTextAssist.invalidPurpose": "AI text assist is missing a valid purpose.",
  "common.aiTextAssist.languageInstruction": "Write in :language.",
  "common.aiTextAssist.length.label": "Length",
  "common.aiTextAssist.length.long": "Long (3?6 sentences)",
  "common.aiTextAssist.length.longLabel": "Long",
  "common.aiTextAssist.length.medium": "Medium (2?4 sentences)",
  "common.aiTextAssist.length.mediumLabel": "Medium",
  "common.aiTextAssist.length.short": "Short (1?2 sentences)",
  "common.aiTextAssist.length.shortLabel": "Short",
  "common.aiTextAssist.loading": "Loading...",
  "common.aiTextAssist.longTextForField": "Suggested content for :field.",
  "common.aiTextAssist.modalDescription": "Generate, improve, or rewrite content with AI.",
  "common.aiTextAssist.modalFieldDescription": "Generate, improve, or rewrite :field with AI.",
  "common.aiTextAssist.preview.back": "Start over",
  "common.aiTextAssist.preview.current": "Current text",
  "common.aiTextAssist.preview.improve": "Improve",
  "common.aiTextAssist.preview.label": "Suggested text",
  "common.aiTextAssist.preview.regenerate": "Regenerate",
  "common.aiTextAssist.preview.use": "Use this text",
  "common.aiTextAssist.programDetails.campusLine": "This program is offered at :campuses.",
  "common.aiTextAssist.programDetails.closing": "Contact admissions to learn more about enrollment, schedules, and next steps.",
  "common.aiTextAssist.programDetails.codeLine": "Program code: :code.",
  "common.aiTextAssist.programDetails.coursesHeading": "Program courses",
  "common.aiTextAssist.programDetails.coursesLine": "Students will explore: :courses.",
  "common.aiTextAssist.programDetails.improveClosing": "Our admissions team can help you choose the right start date and answer any questions about the program.",
  "common.aiTextAssist.programDetails.improveLead": "Program overview:",
  "common.aiTextAssist.programDetails.intro": "Discover :title ? a program designed to help students build skills and reach their goals.",
  "common.aiTextAssist.programDetails.introGeneric": "Discover a program designed to help students build skills and reach their goals.",
  "common.aiTextAssist.programDetails.rewriteCampusLine": "Students can study at :campuses.",
  "common.aiTextAssist.programDetails.rewriteClosing": "Reach out to admissions to discuss start dates, requirements, and the best path for your goals.",
  "common.aiTextAssist.programDetails.rewriteCoursesLine": "Key courses include: :courses.",
  "common.aiTextAssist.programDetails.rewriteIntro": ":title prepares students with practical skills, guided learning, and career-focused outcomes.",
  "common.aiTextAssist.programDetails.rewriteIntroGeneric": "This program prepares students with practical skills, guided learning, and career-focused outcomes.",
  "common.aiTextAssist.requiresFieldValue": "Add text to this field before using that action.",
  "common.aiTextAssist.rewriteLead": "Here is another way to say it:",
  "common.aiTextAssist.shortTextForField": "Suggested :field",
  "common.aiTextAssist.staffTeamDetails.closing": "Use this team to coordinate responsibilities, handoffs, and internal communication.",
  "common.aiTextAssist.staffTeamDetails.improveClosing": "This description helps staff understand the team role and how to collaborate effectively.",
  "common.aiTextAssist.staffTeamDetails.improveLead": "Team overview:",
  "common.aiTextAssist.staffTeamDetails.intro": "The :name team supports day-to-day school operations and staff collaboration.",
  "common.aiTextAssist.staffTeamDetails.introGeneric": "This team supports day-to-day school operations and staff collaboration.",
  "common.aiTextAssist.staffTeamDetails.membersLine": "Current members include: :members.",
  "common.aiTextAssist.staffTeamDetails.rewriteClosing": "Members can rely on this team for aligned workflows and clear ownership.",
  "common.aiTextAssist.staffTeamDetails.rewriteIntro": "The :name team coordinates internal work, shared priorities, and staff support.",
  "common.aiTextAssist.staffTeamDetails.rewriteIntroGeneric": "This team coordinates internal work, shared priorities, and staff support.",
  "common.aiTextAssist.staffTeamDetails.rewriteMembersLine": "Team members: :members.",
  "common.aiTextAssist.staffTeamDetails.statusLine": "Team status: :status.",
  "common.aiTextAssist.subjects.finishApplication": "Finish your application",
  "common.aiTextAssist.subjects.friendlyReminder": "Friendly reminder from your school",
  "common.aiTextAssist.subjects.fromFieldLabel": "Update for :field",
  "common.aiTextAssist.subjects.paymentReminder": "Payment reminder",
  "common.aiTextAssist.subjects.rewriteApplicationWaiting": "Your application is waiting",
  "common.aiTextAssist.subjects.welcome": "Welcome to our school",
  "common.aiTextAssist.title": "AI Text Assist",
  "common.aiTextAssist.translationNotInTargetLanguage": "The AI response was not written in :language. Try again or translate manually.",
  "common.aiTextAssist.translationPrompts.outputOnly": "Return only the translated text. Do not explain, refuse, or add commentary.",
  "common.aiTextAssist.translationPrompts.plainTextOnly": "Return plain text only.",
  "common.aiTextAssist.translationPrompts.preserveHtml": "Preserve existing HTML tags and structure. Translate visible text only.",
  "common.aiTextAssist.translationPrompts.sourceLanguage": "Translate from :language.",
  "common.aiTextAssist.translationPrompts.sourceText": "Source text: :text",
  "common.aiTextAssist.translationPrompts.workingText": "Current draft: :text",
  "common.aiTextAssist.triggerLabel": "Open AI text assist",
  "common.aiTextAssist.unauthorized": "You do not have permission to use AI text assist for this field.",
  "common.aiTextAssist.unavailable": "AI text assist is not available right now.",
  "common.allContactLabel.aiLeadPriority": "AI Lead Priority",
  "common.allContactLabel.aiLeadPriorityHot": "Hot",
  "common.allContactLabel.aiLeadPriorityWarm": "Warm",
  "common.allContactLabel.aiLeadPriorityCold": "Cold",
  "common.allContactLabel.contacts": "contacts",
  "common.allContactLabel.contactsEmpty": "No contacts matched the current search or filters.",
  "common.allContactLabel.searchContacts": "Search contacts by name, email, agent, agency, or application",
  "common.analyticsLabel.description": "Monitor workflow performance, failures, and outcomes.",
  "common.analyticsLabel.title": "Analytics",
  "common.apiKeyLabel.actionFailed": "Unable to complete that action right now.",
  "common.apiKeyLabel.active": "Active",
  "common.apiKeyLabel.activeKey": "Active API Key",
  "common.apiKeyLabel.copiedSuccessfully": "API key copied.",
  "common.apiKeyLabel.copyFailed": "Unable to copy the API key.",
  "common.apiKeyLabel.copyKey": "Copy API key",
  "common.apiKeyLabel.createdAt": "Creation Date",
  "common.apiKeyLabel.deactivateConfirm": "Deactivate the active API key?",
  "common.apiKeyLabel.deactivateKey": "Deactivate API Key",
  "common.apiKeyLabel.deactivatedSuccessfully": "API key deactivated successfully.",
  "common.apiKeyLabel.details": "API Key Details",
  "common.apiKeyLabel.generateConfirm": "Generate a new API key for this school?",
  "common.apiKeyLabel.generateKey": "Generate API Key",
  "common.apiKeyLabel.generatedSuccessfully": "API key generated successfully.",
  "common.apiKeyLabel.hideKey": "Hide API key",
  "common.apiKeyLabel.inactive": "Inactive",
  "common.apiKeyLabel.lastUpdate": "Last Update",
  "common.apiKeyLabel.lastUpdateNever": "Last Update: Never",
  "common.apiKeyLabel.lastUpdateWithValue": "Last Update: :value",
  "common.apiKeyLabel.never": "Never",
  "common.apiKeyLabel.noActiveKey": "There is no active API key.",
  "common.apiKeyLabel.notGenerated": "Not Generated",
  "common.apiKeyLabel.pageTitle": "API Key",
  "common.apiKeyLabel.renewConfirm": "Renewing the API key will deactivate the current key and generate a new one.",
  "common.apiKeyLabel.renewKey": "Renew API Key",
  "common.apiKeyLabel.settings": "Settings",
  "common.apiKeyLabel.showKey": "Show API key",
  "common.apiKeyLabel.status": "Status",
  "common.apiKeyLabel.updatedAt": "Updated",
  "common.applicationBuilderLabel.consentFieldHelperHint": "This field writes to the contact communication preferences used by automations and the Communication Preferences tab.",
  "common.applicationLabel.actionFailed": "Unable to complete that action right now.",
  "common.applicationLabel.activity": "Activity",
  "common.applicationLabel.addUrlParameter": "Add URL Parameter",
  "common.applicationLabel.agencyApplicationOptions": "Agency application options",
  "common.applicationLabel.agencyApplicationOptionsHint": "Control how agents can resubmit this agency application.",
  "common.applicationLabel.applicationOptions": "Application options",
  "common.applicationLabel.applicationOptionsHint": "Control visibility, login requirements, review flow, agent access, and locked submission behavior.",
  "common.applicationLabel.applications": "Application Forms",
  "common.applicationLabel.backToList": "Back to Applications",
  "common.applicationLabel.buildApplication": "Build",
  "common.applicationLabel.campuses": "Campuses",
  "common.applicationLabel.campusesRequired": "At least one campus is required.",
  "common.applicationLabel.cloneApplication": "Clone",
  "common.applicationLabel.createAgencyApplication": "Create Agency Application",
  "common.applicationLabel.createApplication": "Create Application",
  "common.applicationLabel.createFailed": "Unable to create the application. Review the form and try again.",
  "common.applicationLabel.createFormApplication": "Create Form Application",
  "common.applicationLabel.createdAt": "Creation Date",
  "common.applicationLabel.customCss": "Custom CSS",
  "common.applicationLabel.customJs": "Custom JavaScript",
  "common.applicationLabel.customJsHelper": "You can use jQuery.",
  "common.applicationLabel.customizationUnavailable": "Select a layout before editing customization fields.",
  "common.applicationLabel.deleteApplication": "Delete",
  "common.applicationLabel.deleteApplicationConfirm": "Are you sure you want to delete this application form?",
  "common.applicationLabel.deletedSuccessfully": "Application form deleted successfully.",
  "common.applicationLabel.description": "Description",
  "common.applicationLabel.descriptionRequired": "Description is required.",
  "common.applicationLabel.details": "Application Details",
  "common.applicationLabel.detailsDescription": "Core application form settings and publication state.",
  "common.applicationLabel.detailsTab": "Details",
  "common.applicationLabel.disableResubmission": "Disable application resubmission",
  "common.applicationLabel.disableResubmissionHint": "Prevent agencies from resubmitting this application after it has been submitted.",
  "common.applicationLabel.domainSubdomain": "Domain/Subdomain",
  "common.applicationLabel.editAgencyApplication": "Edit Agency Application",
  "common.applicationLabel.editApplication": "Edit Application",
  "common.applicationLabel.editFormApplication": "Edit Form Application",
  "common.applicationLabel.educationalService": "Educational Service",
  "common.applicationLabel.educationalServices": "Educational Services",
  "common.applicationLabel.enableForAgents": "Enable Application for Agents",
  "common.applicationLabel.enableMultipleSubmissions": "Enable multiple application submissions",
  "common.applicationLabel.enableReviewPage": "Enable review page",
  "common.applicationLabel.fieldKey": "Key",
  "common.applicationLabel.fieldRequired": ":field is required.",
  "common.applicationLabel.fields": "Fields",
  "common.applicationLabel.fieldsCount": ":count fields",
  "common.applicationLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.applicationLabel.formStructure": "Form Structure",
  "common.applicationLabel.formStructureDescription": "Sections, fields, campuses, and submission rules for this form.",
  "common.applicationLabel.invoiceRequired": "Registration invoice is required.",
  "common.applicationLabel.invoices": "Invoices",
  "common.applicationLabel.keyRequired": "Select a key.",
  "common.applicationLabel.languageCss": "CSS",
  "common.applicationLabel.languageJavascript": "JavaScript",
  "common.applicationLabel.layout": "Layout",
  "common.applicationLabel.layoutRequired": "Layout is required.",
  "common.applicationLabel.lockSubmission": "Lock submission after submit",
  "common.applicationLabel.no": "No",
  "common.applicationLabel.noCampusesWarning": "You do not have any campuses available. Add a campus before creating the application.",
  "common.applicationLabel.noFields": "This section does not have any fields yet.",
  "common.applicationLabel.noLogin": "Disable account creation",
  "common.applicationLabel.noLoginHint": "Applicants can submit without an account, but they cannot save and resume later.",
  "common.applicationLabel.noSections": "No sections found",
  "common.applicationLabel.noSectionsDescription": "Sections added in the application builder will appear here.",
  "common.applicationLabel.noThemeCustomization": "This layout does not expose theme customization fields.",
  "common.applicationLabel.oneTimeSubmission": "One-Time Submission",
  "common.applicationLabel.optional": "Optional",
  "common.applicationLabel.pageTitle": "Application Forms",
  "common.applicationLabel.parameterValue": "Value",
  "common.applicationLabel.private": "Private",
  "common.applicationLabel.public": "Public",
  "common.applicationLabel.publicApplication": "Public Application",
  "common.applicationLabel.publicApplicationHint": "This application will be visible to the public.",
  "common.applicationLabel.publishApplication": "Publish",
  "common.applicationLabel.published": "Published",
  "common.applicationLabel.registrationInvoice": "Registration Invoice",
  "common.applicationLabel.requestEdit": "Request Edit",
  "common.applicationLabel.requestEditHint": "Allow users to request edits when the application is locked.",
  "common.applicationLabel.required": "Required",
  "common.applicationLabel.requiresLogin": "Requires Login",
  "common.applicationLabel.sections": "Sections",
  "common.applicationLabel.sectionsTab": "Sections",
  "common.applicationLabel.selectField": "Select field",
  "common.applicationLabel.selectFieldOrCustomKey": "Select field or type custom key",
  "common.applicationLabel.selectPlaceholder": "Select...",
  "common.applicationLabel.showApplicationIn": "Show Application In",
  "common.applicationLabel.showApplicationInRequired": "Select where the agency application should appear.",
  "common.applicationLabel.showReviewStep": "Show review step",
  "common.applicationLabel.slug": "Slug",
  "common.applicationLabel.status": "Status",
  "common.applicationLabel.statusUpdated": "Application status updated successfully.",
  "common.applicationLabel.stepAgencyApplicationHint": "Title, agency placement, campuses, resubmission behavior, and description.",
  "common.applicationLabel.stepAnnouncement": ":step (:current of :total)",
  "common.applicationLabel.stepApplication": "Application",
  "common.applicationLabel.stepApplicationHint": "Title, layout, campuses, registration invoice, and public access settings.",
  "common.applicationLabel.stepCustomization": "Customization",
  "common.applicationLabel.stepCustomizationHint": "Theme options, custom CSS, and custom JavaScript.",
  "common.applicationLabel.submitButtonLabel": "Submit button label",
  "common.applicationLabel.submitButtonLabelHint": "Shown on the final step of the applicant portal form. Leave blank to use the default label.",
  "common.applicationLabel.stepDomain": "Domain",
  "common.applicationLabel.stepDomainHint": "Optional domain or subdomain routing and URL parameters.",
  "common.applicationLabel.stepFormApplicationHint": "Title, layout, campuses, and description for the standalone form.",
  "common.applicationLabel.stepProgress": "Step :current of :total",
  "common.applicationLabel.submissions": "Submissions",
  "common.applicationLabel.title": "Title",
  "common.applicationLabel.titleRequired": "Title is required.",
  "common.applicationLabel.type": "Type",
  "common.applicationLabel.unnamedField": "Unnamed field",
  "common.applicationLabel.unpublishApplication": "Unpublish",
  "common.applicationLabel.unpublished": "Unpublished",
  "common.applicationLabel.updateFailed": "Unable to update the application. Review the form and try again.",
  "common.applicationLabel.updatedAt": "Updated At",
  "common.applicationLabel.urlParameterRow": "URL parameter :number",
  "common.applicationLabel.urlParameters": "URL Parameters",
  "common.applicationLabel.urlParametersEmpty": "No URL parameters have been added.",
  "common.applicationLabel.urlParametersHint": "Map optional URL parameters to custom fields or custom keys (e.g. lang).",
  "common.applicationLabel.urlParametersInvalid": "Complete each URL parameter key and value.",
  "common.applicationLabel.valueRequired": "Enter a value.",
  "common.applicationLabel.visibility": "Visibility",
  "common.applicationLabel.wizardFooterAria": "Application wizard actions",
  "common.applicationLabel.wizardNavigation": "Application wizard navigation",
  "common.applicationLabel.yes": "Yes",
  "common.apply": "Apply",
  "common.attendanceLabel.absence": "Absence",
  "common.attendanceLabel.addAttendanceDescription": "Create an attendance record for a student, course, instructor, and lesson date.",
  "common.attendanceLabel.addNew": "Add New",
  "common.attendanceLabel.addNewFilters": "Add New Filters",
  "common.attendanceLabel.alreadyExistsForLesson": "Attendance already exists for this student and lesson.",
  "common.attendanceLabel.applyFilters": "Apply Filters",
  "common.attendanceLabel.arrivalTime": "Arrival Time",
  "common.attendanceLabel.attendancePercentage": "Attendance Percentage",
  "common.attendanceLabel.attendances": "attendances",
  "common.attendanceLabel.attendancesEmpty": "No attendance records matched the current search or filters.",
  "common.attendanceLabel.attendedTime": "Attended Time",
  "common.attendanceLabel.back": "BACK",
  "common.attendanceLabel.bulkActionFailed": "Unable to complete that bulk action right now.",
  "common.attendanceLabel.connected": "Connected",
  "common.attendanceLabel.connectionDuration": "Connection duration",
  "common.attendanceLabel.connectionLate": "Connection Late",
  "common.attendanceLabel.course": "Course",
  "common.attendanceLabel.courseCohort": "Course Cohort",
  "common.attendanceLabel.createFailed": "Unable to create attendance right now.",
  "common.attendanceLabel.createdSuccessfully": "Attendance created successfully.",
  "common.attendanceLabel.dailyAttendanceRegister": "Daily Attendance Register",
  "common.attendanceLabel.date": "Date",
  "common.attendanceLabel.deleteAttendances": "Delete",
  "common.attendanceLabel.deleteAttendancesConfirm": "Are you sure you want to delete the selected attendance records?",
  "common.attendanceLabel.deleteFilter": "Delete Filter",
  "common.attendanceLabel.deletedSuccessfully": "Attendance records deleted successfully.",
  "common.attendanceLabel.departureTime": "Departure Time",
  "common.attendanceLabel.disconnected": "Disconnected",
  "common.attendanceLabel.disconnectionEarly": "Disconnection Early",
  "common.attendanceLabel.editAttendance": "Edit",
  "common.attendanceLabel.editAttendanceDescription": "Update the attendance status, times, and notes.",
  "common.attendanceLabel.email": "Email",
  "common.attendanceLabel.filterDeleteFailed": "Unable to delete the filter.",
  "common.attendanceLabel.filterDeleted": "Filter deleted.",
  "common.attendanceLabel.filterTitle": "Title",
  "common.attendanceLabel.filterTitlePlaceholder": "Enter a filter title",
  "common.attendanceLabel.id": "ID",
  "common.attendanceLabel.instructor": "Instructor",
  "common.attendanceLabel.noReportData": "There is no data to show.",
  "common.attendanceLabel.noResultsFound": "No Results Found",
  "common.attendanceLabel.noStatus": "No Status",
  "common.attendanceLabel.note": "Note",
  "common.attendanceLabel.pageTitle": "Attendance",
  "common.attendanceLabel.previousFilter": "Previous Filter",
  "common.attendanceLabel.program": "Program",
  "common.attendanceLabel.report": "Report",
  "common.attendanceLabel.reportFilters": "Attendance report filters",
  "common.attendanceLabel.reportFiltersDescription": "Select a saved filter or create a new filter for a course cohort.",
  "common.attendanceLabel.reportLoadFailed": "Unable to load the attendance report.",
  "common.attendanceLabel.requiredField": "This field is required.",
  "common.attendanceLabel.saveAndApplyFilters": "Save & Apply Filters",
  "common.attendanceLabel.scrollLeft": "Scroll report left",
  "common.attendanceLabel.scrollRight": "Scroll report right",
  "common.attendanceLabel.searchAttendances": "Search attendance by student, email, course, program, or instructor",
  "common.attendanceLabel.searchStudent": "Search for a student",
  "common.attendanceLabel.selectCourse": "Select a Course",
  "common.attendanceLabel.selectCourseCohort": "Select Course Cohort",
  "common.attendanceLabel.selectInstructor": "Select an Instructor",
  "common.attendanceLabel.selectPreviousFilter": "Select Previous Filter",
  "common.attendanceLabel.selectStartDate": "Select a Lesson Date",
  "common.attendanceLabel.selectStatus": "Select a Status",
  "common.attendanceLabel.selectStudent": "Select a Student",
  "common.attendanceLabel.startDate": "Lesson Date",
  "common.attendanceLabel.status": "Status",
  "common.attendanceLabel.student": "Student",
  "common.attendanceLabel.table": "Table",
  "common.attendanceLabel.updateFailed": "Unable to update attendance right now.",
  "common.attendanceLabel.updatedSuccessfully": "Attendance updated successfully.",
  "common.auditLogLabel.action": "Action",
  "common.auditLogLabel.actorEmail": "Actor email",
  "common.auditLogLabel.actorType": "Actor type",
  "common.auditLogLabel.alertIntegrityFailed": "Audit integrity verification failed",
  "common.auditLogLabel.alertIntegrityFailedDetail": "Source :source ? :failed hash failures, :broken broken chain links",
  "common.auditLogLabel.alertTriggered": "Audit alert triggered: :rule",
  "common.auditLogLabel.alertTriggeredDetail": "Rule :rule matched :count events for action :action in :window minutes",
  "common.auditLogLabel.auditLogs": "audit logs",
  "common.auditLogLabel.auditLogsEmpty": "No audit logs matched the current search or filters.",
  "common.auditLogLabel.category": "Category",
  "common.auditLogLabel.closeDetail": "Close audit log detail",
  "common.auditLogLabel.complianceActionFailed": "Compliance action failed",
  "common.auditLogLabel.complianceActions": "Evidence actions",
  "common.auditLogLabel.complianceActionsHint": "Generate a ZIP evidence package (CSV event extracts) or a student-scoped privacy CSV report, then download it here.",
  "common.auditLogLabel.complianceAlerts": "Alerts",
  "common.auditLogLabel.complianceAlertsClear": "No open alerts",
  "common.auditLogLabel.complianceAlertsOpen": ":count open",
  "common.auditLogLabel.complianceArchiveDays": "Archive days",
  "common.auditLogLabel.complianceControlMapping": "Compliance control mapping",
  "common.auditLogLabel.complianceControlMappingHint": "How HEM-SP audit capabilities map to common compliance control references.",
  "common.auditLogLabel.complianceDownloadConsentCsv": "Download consent CSV",
  "common.auditLogLabel.complianceDownloadCsvNamed": "Download :name",
  "common.auditLogLabel.complianceDownloadEvidenceZip": "Download evidence ZIP",
  "common.auditLogLabel.complianceDownloadNotFound": "The generated file was not found or is not available for download.",
  "common.auditLogLabel.complianceDownloadPrivacyCsv": "Download privacy CSV",
  "common.auditLogLabel.complianceDownloadResult": "Download file",
  "common.auditLogLabel.complianceDownloadsReady": "Ready to download ? :kind",
  "common.auditLogLabel.complianceEventCount": "Events",
  "common.auditLogLabel.complianceGenerateEvidence": "Generate 7-day evidence package",
  "common.auditLogLabel.complianceGeneratePrivacy": "Privacy report",
  "common.auditLogLabel.complianceGuideActionsBody": "Create downloadable evidence packages or privacy extracts for auditors and subject-access requests.",
  "common.auditLogLabel.complianceGuideActionsTitle": "Evidence actions",
  "common.auditLogLabel.complianceGuideAlertsBody": "Triggered compliance or security alert rules that need staff attention.",
  "common.auditLogLabel.complianceGuideAlertsTitle": "Recent alerts",
  "common.auditLogLabel.complianceGuideControlsBody": "Mapped compliance controls and the latest integrity manifests used to prove audit trail health.",
  "common.auditLogLabel.complianceGuideControlsTitle": "Controls & manifests",
  "common.auditLogLabel.complianceGuideRetentionBody": "Hot, warm, and archive windows that control how long each audit source stays queryable.",
  "common.auditLogLabel.complianceGuideRetentionTitle": "Retention policies",
  "common.auditLogLabel.complianceGuideStatusBody": "Quick health indicators for legal hold, hash integrity, alerts, and whether purge is allowed.",
  "common.auditLogLabel.complianceGuideStatusTitle": "Status overview",
  "common.auditLogLabel.complianceGuideTitle": "What each section means",
  "common.auditLogLabel.complianceGuideVolumeBody": "Approximate record counts across entity, admin, assistant, and signature audit stores.",
  "common.auditLogLabel.complianceGuideVolumeTitle": "Store volume",
  "common.auditLogLabel.complianceHotDays": "Hot days",
  "common.auditLogLabel.complianceHowToStep1": "Scan the status tiles for legal hold, integrity hashing, open alerts, and retention mode.",
  "common.auditLogLabel.complianceHowToStep2": "Review store volume so you know which audit sources contain the most recent activity.",
  "common.auditLogLabel.complianceHowToStep3": "Generate a 7-day evidence package or a student privacy report, then download the file from this page.",
  "common.auditLogLabel.complianceHowToStep4": "Check retention policies, recent alerts, control mapping, and integrity manifests before an audit or investigation.",
  "common.auditLogLabel.complianceHowToTitle": "Suggested workflow",
  "common.auditLogLabel.complianceIntegrity": "Integrity",
  "common.auditLogLabel.complianceIntegrityPending": "Upgrade pending",
  "common.auditLogLabel.complianceIntegrityReady": "Hash columns ready",
  "common.auditLogLabel.complianceIntroBody": "Use this tab to monitor audit readiness, export evidence for auditors or privacy requests, and confirm retention and integrity controls are healthy for your school.",
  "common.auditLogLabel.complianceIntroTitle": "How to use Compliance",
  "common.auditLogLabel.complianceLatestManifests": "Latest integrity manifests",
  "common.auditLogLabel.complianceLatestManifestsHint": "Recent signed integrity manifests used to verify audit log continuity.",
  "common.auditLogLabel.complianceLegalHold": "Legal hold",
  "common.auditLogLabel.complianceLegalHoldOff": "Inactive",
  "common.auditLogLabel.complianceLegalHoldOn": "Active",
  "common.auditLogLabel.complianceNoAlerts": "No recent alerts.",
  "common.auditLogLabel.complianceNoAlertsHint": "When monitoring rules fire, matched alerts will list here for follow-up.",
  "common.auditLogLabel.complianceNoControls": "No control mapping configured.",
  "common.auditLogLabel.complianceNoControlsHint": "Control labels come from audit compliance configuration for this school.",
  "common.auditLogLabel.complianceNoPolicies": "No retention policies configured yet.",
  "common.auditLogLabel.complianceNoPoliciesHint": "Retention classes appear here after tenant audit retention settings are available.",
  "common.auditLogLabel.compliancePermissionDenied": "You do not have permission to run this compliance action.",
  "common.auditLogLabel.complianceRateLimited": "Too many requests. Wait a moment and try again.",
  "common.auditLogLabel.complianceRecentAlerts": "Recent alerts",
  "common.auditLogLabel.complianceRecentAlertsHint": "Latest alert evaluations from compliance and security monitoring rules.",
  "common.auditLogLabel.complianceResultPath": "Saved path",
  "common.auditLogLabel.complianceRetention": "Retention",
  "common.auditLogLabel.complianceRetentionArchiveOnly": "Archive only (no purge)",
  "common.auditLogLabel.complianceRetentionPolicies": "Retention policies",
  "common.auditLogLabel.complianceRetentionPoliciesHint": "How long records stay hot (fully searchable), warm, and archive-eligible by source.",
  "common.auditLogLabel.complianceRetentionPurgeOn": "Archive + purge enabled",
  "common.auditLogLabel.complianceStatusAlertsHint": "Open alert rules that matched recent audit activity.",
  "common.auditLogLabel.complianceStatusIntegrityHint": "Shows whether integrity hash columns are ready for chaining.",
  "common.auditLogLabel.complianceStatusLegalHoldHint": "When active, audit purge is blocked for legal preservation.",
  "common.auditLogLabel.complianceStatusRetentionHint": "Current lifecycle mode for archiving and optional purge.",
  "common.auditLogLabel.complianceStoreCounts": "Store volume",
  "common.auditLogLabel.complianceStoreCountsHint": "Current volume of events available in each audit store for this school.",
  "common.auditLogLabel.complianceStudentId": "Student ID",
  "common.auditLogLabel.complianceStudentIdPlaceholder": "e.g. 1234",
  "common.auditLogLabel.complianceWarmDays": "Warm days",
  "common.auditLogLabel.complianceWorking": "Working...",
  "common.auditLogLabel.correlationId": "Correlation ID",
  "common.auditLogLabel.deletedSuffix": "(deleted)",
  "common.auditLogLabel.detailTitle": "Audit log detail",
  "common.auditLogLabel.details": "Details",
  "common.auditLogLabel.evidencePackageReady": "Evidence package generated",
  "common.auditLogLabel.exportRecorded": "Audit log export generated",
  "common.auditLogLabel.field": "Field",
  "common.auditLogLabel.fieldChanges": "Field changes",
  "common.auditLogLabel.id": "ID",
  "common.auditLogLabel.ipAddress": "IP Address",
  "common.auditLogLabel.legalHoldActivate": "Activate legal hold",
  "common.auditLogLabel.legalHoldActivateHint": "Provide a reason for preservation. Retention purge will stay blocked until the hold is released.",
  "common.auditLogLabel.legalHoldActivateTitle": "Activate legal hold",
  "common.auditLogLabel.legalHoldActivated": "Legal hold activated",
  "common.auditLogLabel.legalHoldActiveReason": "Active reason",
  "common.auditLogLabel.legalHoldEndsAt": "Ends at (optional)",
  "common.auditLogLabel.legalHoldEndsAtHint": "Leave blank for an open-ended hold that must be released manually.",
  "common.auditLogLabel.legalHoldEndsAtInvalid": "Enter a valid end date and time.",
  "common.auditLogLabel.legalHoldInactiveHint": "No legal hold is active. Activate one when auditors or counsel require preservation.",
  "common.auditLogLabel.legalHoldManageHint": "While a legal hold is active, retention archive and purge are blocked for this school.",
  "common.auditLogLabel.legalHoldManageTitle": "Legal hold",
  "common.auditLogLabel.legalHoldNotActive": "No active legal hold was found to release.",
  "common.auditLogLabel.legalHoldReason": "Reason",
  "common.auditLogLabel.legalHoldReasonHint": "Use a clear case or ticket reference staff can audit later.",
  "common.auditLogLabel.legalHoldReasonPlaceholder": "e.g. Litigation hold ? case 2026-041",
  "common.auditLogLabel.legalHoldReasonRequired": "A reason is required to activate a legal hold.",
  "common.auditLogLabel.legalHoldReasonTooLong": "Keep the reason under 2000 characters.",
  "common.auditLogLabel.legalHoldRelease": "Release legal hold",
  "common.auditLogLabel.legalHoldReleaseConfirm": "Retention lifecycle can archive or purge again after release (when purge is enabled).",
  "common.auditLogLabel.legalHoldReleaseTitle": "Release legal hold?",
  "common.auditLogLabel.legalHoldReleased": "Legal hold released",
  "common.auditLogLabel.legalHoldStartedAt": "Started",
  "common.auditLogLabel.newData": "New Data",
  "common.auditLogLabel.noFieldChanges": "No field-level changes recorded",
  "common.auditLogLabel.noRelatedEvents": "No related events found for this correlation or subject.",
  "common.auditLogLabel.objectType": "Object Type",
  "common.auditLogLabel.oldData": "Old Data",
  "common.auditLogLabel.openDetail": "Open audit log detail",
  "common.auditLogLabel.operation": "Operation",
  "common.auditLogLabel.outcome": "Outcome",
  "common.auditLogLabel.pageTitle": "Audit Logs",
  "common.auditLogLabel.privacyReportReady": "Privacy report generated",
  "common.auditLogLabel.privacyStudentIdRequired": "A valid student ID is required",
  "common.auditLogLabel.relatedEvents": "Related events",
  "common.auditLogLabel.relatedEventsError": "Could not load related events.",
  "common.auditLogLabel.relatedEventsLoading": "Loading related events?",
  "common.auditLogLabel.restoreFailed": "Could not restore the record.",
  "common.auditLogLabel.restoreNotFound": "The subject record was not found.",
  "common.auditLogLabel.restoreNotTrashed": "This record is not soft-deleted.",
  "common.auditLogLabel.restoreSubject": "Restore record",
  "common.auditLogLabel.restoreSubjectHint": "This subject is soft-deleted. Restore it to make it active again.",
  "common.auditLogLabel.restoreSubjectRequired": "Subject type and ID are required to restore.",
  "common.auditLogLabel.restoreSuccess": "Restored :label",
  "common.auditLogLabel.restoreSuccessGeneric": "Record restored",
  "common.auditLogLabel.restoreTypeUnsupported": "This record type cannot be restored from the audit hub.",
  "common.auditLogLabel.restoringSubject": "Restoring...",
  "common.auditLogLabel.route": "Route",
  "common.auditLogLabel.searchAuditLogs": "Search audit logs by user, action, object type, or IP",
  "common.auditLogLabel.securityAiWriteAction": "AI assistant write action",
  "common.auditLogLabel.securityAttendanceAfterLock": "Attendance changed after lesson ended",
  "common.auditLogLabel.securityBankDetailChange": "Bank detail field changed",
  "common.auditLogLabel.securityBulkExport": "Bulk contact/student export generated",
  "common.auditLogLabel.securityCommunicationConsentDenied": "Communication consent denied",
  "common.auditLogLabel.securityCommunicationConsentDoiConfirmed": "Marketing email consent confirmed (double opt-in)",
  "common.auditLogLabel.securityCommunicationConsentGranted": "Communication consent granted",
  "common.auditLogLabel.securityCommunicationConsentWithdrawn": "Communication consent withdrawn",
  "common.auditLogLabel.securityCommunicationPreferenceUpdated": "Communication preference updated",
  "common.auditLogLabel.securityCommunicationSendSuppressed": "Outbound communication suppressed by eligibility",
  "common.auditLogLabel.securityDocumentAccess": "Student document accessed",
  "common.auditLogLabel.securityDocumentView": "Sensitive file viewed",
  "common.auditLogLabel.securityEvidencePackage": "Audit evidence package generated",
  "common.auditLogLabel.securityGradeAfterPublish": "Grade changed after publish",
  "common.auditLogLabel.securityHighValueRefund": "High-value refund recorded",
  "common.auditLogLabel.securityImpersonationEnd": "Student impersonation ended",
  "common.auditLogLabel.securityImpersonationStart": "Student impersonation started",
  "common.auditLogLabel.securityLegalHoldActivated": "Audit legal hold activated",
  "common.auditLogLabel.securityLegalHoldReleased": "Audit legal hold released",
  "common.auditLogLabel.securityLoginFailed": "Login failed",
  "common.auditLogLabel.securityLoginSuccess": "Login succeeded",
  "common.auditLogLabel.securityLogout": "Logout",
  "common.auditLogLabel.securityPasswordReset": "Password reset completed",
  "common.auditLogLabel.securityPrivacyReport": "Privacy subject audit report generated",
  "common.auditLogLabel.securityRetentionApplied": "Audit retention lifecycle applied",
  "common.auditLogLabel.securityRoleCreated": "Role created with permissions",
  "common.auditLogLabel.securityRoleUpdated": "Role permissions updated",
  "common.auditLogLabel.securitySignedAgreementDownload": "Signed agreement downloaded",
  "common.auditLogLabel.securitySubjectRestored": "Soft-deleted record restored from audit hub",
  "common.auditLogLabel.securityTenantAccess": "Staff accessed school tenant",
  "common.auditLogLabel.securityUserRolesUpdated": "User role assignments updated",
  "common.auditLogLabel.sourceAdmin": "Admin events",
  "common.auditLogLabel.sourceAssistant": "AI assistant",
  "common.auditLogLabel.sourceCompliance": "Compliance",
  "common.auditLogLabel.sourceEntity": "Entity changes",
  "common.auditLogLabel.sourceFilter": "Audit log source",
  "common.auditLogLabel.sourceGenerative": "Generative AI",
  "common.auditLogLabel.sourceSignature": "Signatures",
  "common.auditLogLabel.subjectDeletedBadge": "Deleted",
  "common.auditLogLabel.summary": "Summary",
  "common.auditLogLabel.time": "Time",
  "common.auditLogLabel.user": "User",
  "common.auditLogLabel.viewDetails": "View details",
  "common.authLabel.aiEnhancedPortal": "AI-Enhanced Portal",
  "common.authLabel.aiEnhancedPortalDescription": "Smart assistance guides you through applications, documents & enrollment ? automatically.",
  "common.authLabel.aiHintTopicAndMore": "And more",
  "common.authLabel.aiHintTopicApplications": "Applications",
  "common.authLabel.aiHintTopicEnrollment": "Enrollment",
  "common.authLabel.aiHintTopicFinance": "Finance",
  "common.authLabel.aiPoweredPlatform": "AI-Powered Platform",
  "common.callCenterLabel.campaignMemberReady": "A contact is ready in :name.",
  "common.callCenterLabel.campaignMemberReadyOpen": "Open campaign",
  "common.callCenterLabel.campaignMemberReadyPlain": "A contact is ready in a campaign.",
  "common.callCenterLabel.campaignMemberReadyTitle": "Campaign",
  "common.callCenterLabel.campaignMemberUpdated": "Campaign member updated",
  "common.authLabel.aiPoweredShort": "AI-Powered",
  "common.authLabel.allRightsReserved": "All Rights Reserved",
  "common.authLabel.applyNow": "Apply Now",
  "common.authLabel.backToSignIn": "Back to Sign In",
  "common.authLabel.confirmPassword": "Confirm Password",
  "common.authLabel.emailAddress": "Email Address",
  "common.authLabel.emailPlaceholder": "name@school.edu",
  "common.workstationLabel.createdDate": "Created Date",
  "common.authLabel.featureAnalytics": "Real-time Analytics",
  "common.authLabel.featureEnrollmentAssistant": "AI Enrollment Assistant",
  "common.authLabel.featureSmartAutofill": "Smart Form Autofill",
  "common.authLabel.footerRights": "HEM Student Portal",
  "common.authLabel.forgotPassword": "Forgot password?",
  "common.authLabel.forgotPasswordSubtitle": "Enter your email and we'll send you a reset link.",
  "common.authLabel.helpCenter": "Help Center",
  "common.authLabel.heroDescription": "Smarter SIS and Admissions Management For Your School ? from application to enrollment, powered by AI.",
  "common.authLabel.heroDescriptionMobile": "Smarter SIS and Admissions Management For Your School, powered by AI.",
  "common.authLabel.heroTitle": "Student Portal",
  "common.authLabel.noAccount": "Don't have an account?",
  "common.authLabel.password": "Password",
  "common.authLabel.passwordPlaceholder": "*************",
  "common.authLabel.passwordRequirements": "At least one letter, uppercase, number, symbol and a minimum of 8 characters",
  "common.authLabel.privacyPolicy": "Privacy Policy",
  "common.authLabel.rememberMe": "Remember me",
  "common.authLabel.resetPasswordButton": "Reset Password",
  "common.authLabel.resetPasswordSubtitle": "Choose a new password for your account.",
  "common.authLabel.resetPasswordTitle": "Reset Password",
  "common.authLabel.sendResetLink": "Send Password Reset Link",
  "common.authLabel.signInButton": "Sign In to HEM-SP",
  "common.authLabel.signInEmailError": "Check your email and password, or activate your account using the link in your welcome email.",
  "common.authLabel.signInSubtitle": "Access your HEM Student Portal account",
  "common.authLabel.signInTitle": "Sign In",
  "common.authLabel.studentPortal": "Student Portal",
  "common.authLabel.termsOfService": "Terms of Service",
  "common.authLabel.welcomeTo": "Welcome to",
  "common.automationHealthLabel.title": "Automation Health",
  "common.automationLabel.academicEvents": "Academic Events",
  "common.automationLabel.acceptAiDraft": "Accept draft",
  "common.automationLabel.acceptAiProposal": "Use this proposal",
  "common.automationLabel.actionAddNoteToStudentProfile": "Add Note to Student Profile",
  "common.automationLabel.actionAddNoteToStudentProfileDescription": "Add a note to the student profile summarizing the AI agent interaction.",
  "common.automationLabel.actionCreateNote": "Create Note",
  "common.automationLabel.actionCreateNoteDescription": "Create a note on the contact profile. Staff can pin it so it stays at the top.",
  "common.automationLabel.actionApprovalDefaultMessage": "Review and approve before the automation runs \":action\".",
  "common.automationLabel.actionApprovalDefaultTitle": "Approve action: :action",
  "common.automationLabel.actionApprovalRules": "Action Approval Gate",
  "common.automationLabel.actionApprovalRulesHint": "When enabled, every action, phone call, and AI agent step pauses for staff approval before it runs. Existing Approval nodes in the graph are respected and will not double-gate.",
  "common.automationLabel.actionCreateStaffFollowUpTask": "Create Staff Follow-Up Task",
  "common.automationLabel.actionCreateStaffFollowUpTaskDescription": "Create a staff follow-up task from the AI agent interaction context.",
  "common.automationLabel.actionCreateStaffFollowUpTaskFromMessageDescription": "Create a staff follow-up task from the direct message context.",
  "common.automationLabel.actionCreateSupportTicket": "Create Support Ticket",
  "common.automationLabel.actionCreateSupportTicketDescription": "Create a support follow-up task for staff review of the AI agent interaction.",
  "common.automationLabel.actionNodes": "Action Nodes",
  "common.automationLabel.actionNotAllowedForTrigger": "This action is not allowed for the selected trigger.",
  "common.automationLabel.actionNotifyAdmissions": "Notify Admissions",
  "common.automationLabel.actionNotifyAdmissionsDescription": "Notify the admissions team about the AI agent interaction.",
  "common.automationLabel.actionNotifyNoteTaggedUsers": "Notify Tagged Users",
  "common.automationLabel.actionNotifyNoteTaggedUsersDescription": "Send an email, SMS, or application notification to each staff member @mentioned in the note.",
  "common.automationLabel.eventNoteCreated": "Note Created",
  "common.automationLabel.eventNoteCreatedDescription": "Runs when a note is added to a contact profile.",
  "common.automationLabel.actionNotifyAssignedAdvisor": "Notify Assigned Advisor",
  "common.automationLabel.actionNotifyAssignedAdvisorDescription": "Notify the student's assigned advisor about the AI agent interaction.",
  "common.automationLabel.actionNotifyAssignedAdvisorFromMessageDescription": "Notify the student's assigned advisor about the direct message.",
  "common.automationLabel.actionNotifyFinance": "Notify Finance",
  "common.automationLabel.actionNotifyFinanceDescription": "Notify the finance team about the AI agent interaction.",
  "common.automationLabel.actionNotifyStudentServices": "Notify Student Services",
  "common.automationLabel.actionNotifyStudentServicesDescription": "Notify the student services team about the AI agent interaction.",
  "common.automationLabel.actionRequestNewKnowledgeResource": "Request New Knowledge Resource",
  "common.automationLabel.actionRequestNewKnowledgeResourceDescription": "Queue a knowledge resource request based on the unanswered AI agent question.",
  "common.automationLabel.actionSendAiAgentFollowUpEmail": "Send AI Agent Follow-Up Email",
  "common.automationLabel.actionSendAiAgentFollowUpEmailDescription": "Send a follow-up email to the student using the AI agent conversation context.",
  "common.automationLabel.actionSendConversationTranscriptToStaff": "Send Conversation Transcript to Staff",
  "common.automationLabel.actionSendConversationTranscriptToStaffDescription": "Email the AI agent conversation transcript to selected staff recipients.",
  "common.automationLabel.actionSendDirectMessageToStaff": "Send Direct Message to Staff",
  "common.automationLabel.actionSendDirectMessageToStaffDescription": "Send a direct message to a staff user from the student in the automation context.",
  "common.automationLabel.actionSendDirectMessageToStudent": "Send Direct Message to Student",
  "common.automationLabel.actionSendDirectMessageToStudentDescription": "Send a direct portal message to the student from a staff user.",
  "common.automationLabel.actionType": "Action Type",
  "common.automationLabel.actionsMenu": "Actions",
  "common.automationLabel.activeRuns": "Active Runs",
  "common.automationLabel.addAction": "Add Action",
  "common.automationLabel.addAiAgent": "Add AI Agent",
  "common.automationLabel.addApproval": "Add Approval",
  "common.automationLabel.addCondition": "Add Condition",
  "common.automationLabel.addConnection": "Add Connection",
  "common.automationLabel.addExit": "Add Exit",
  "common.automationLabel.addGoal": "Add Goal",
  "common.automationLabel.addPhoneCall": "Add Phone Call",
  "common.automationLabel.addTrigger": "Add Trigger",
  "common.automationLabel.addWait": "Add Wait",
  "common.automationLabel.admissionsMeetingBookedDescription": "Triggered when a prospect confirms an admissions meeting via a public booking link.",
  "common.automationLabel.agent": "Agent",
  "common.automationLabel.agentEvents": "Agent Events",
  "common.automationLabel.agentOwnedOnly": "Agent-Owned Contacts Only",
  "common.automationLabel.aiActions": "AI Actions",
  "common.automationLabel.aiAgentAnswerProvidedDescription": "This event is triggered when the AI agent provides an answer to a student question.",
  "common.automationLabel.aiAgentBlockedTopicDetectedDescription": "This event is triggered when the AI agent detects a blocked or restricted topic in a student question.",
  "common.automationLabel.aiAgentConversationStartedDescription": "This event is triggered when a student starts a new AI agent conversation.",
  "common.automationLabel.aiAgentEscalationRequestedDescription": "This event is triggered when the AI agent determines that escalation to staff is required.",
  "common.automationLabel.aiAgentLowConfidenceAnswerDescription": "This event is triggered when the AI agent provides an answer below the configured confidence threshold.",
  "common.automationLabel.aiAgentQuestionAskedDescription": "This event is triggered when a student asks a question in an AI agent conversation.",
  "common.automationLabel.aiAgentResourceGapDetectedDescription": "This event is triggered when the AI agent cannot find sufficient knowledge resources to answer a question.",
  "common.automationLabel.aiAgentStudentHandoffRequestedDescription": "This event is triggered when a student explicitly requests to speak with a staff member.",
  "common.automationLabel.aiApprovalRecommended": "This template uses AI-generated outbound messages. Approval is recommended before sending.",
  "common.automationLabel.aiApprovalRules": "AI Approval Rules",
  "common.automationLabel.aiApprovalRulesDisabledHint": "AI message approval toggles are unavailable while AI Mode is disabled.",
  "common.automationLabel.approvalAndSafety": "Approval & safety",
  "common.automationLabel.approvalAndSafetySectionHint": "Independent of AI mode. Require staff sign-off before actions, phone calls, or AI agent steps run.",
  "common.automationLabel.aiModeAndMessaging": "AI mode & messaging",
  "common.automationLabel.aiModeAndMessagingHint": "Control how AI drafts or sends messages and which AI-generated channels require staff review.",
  "common.automationLabel.stepApprovalAndSafetyHint": "Configure AI messaging and automation-wide approval gates. Action approval works even when AI mode is disabled.",
  "common.automationLabel.aiAuthoringDisabled": "AI authoring assistance is disabled for this environment.",
  "common.automationLabel.aiAuthoringUnavailable": "AI authoring is not available in this environment.",
  "common.automationLabel.aiAutoSendLowRiskOnly": "Auto-Send Low Risk Only",
  "common.automationLabel.aiAutoSendWarning": "AI auto-send is enabled ? consider requiring staff approval before publishing.",
  "common.automationLabel.aiBriefNextStep": "Recommended Next Step",
  "common.automationLabel.aiBriefNextStepSample": "Offer a 10-minute scheduling link and confirm remaining checklist items.",
  "common.automationLabel.aiBriefObjection": "Likely Objection",
  "common.automationLabel.aiBriefObjectionSample": "\"I'm busy right now.\"",
  "common.automationLabel.aiBriefOpening": "Suggested Opening",
  "common.automationLabel.aiBriefOpeningSample": "Hi Alex, I'm calling from admissions about your in-progress application...",
  "common.automationLabel.aiBriefSummary": "Summary",
  "common.automationLabel.aiBriefSummarySample": "Applicant started Fall 2025 BS Computer Science; profile 68% complete, stalled on essay upload.",
  "common.automationLabel.aiCallBriefPreview": "AI Call Brief Preview",
  "common.automationLabel.aiClassificationIs": "AI Classification Is",
  "common.automationLabel.aiClassificationIsDescription": "Check a label saved by Classify Inquiry With AI, then continue on Yes or No.",
  "common.automationLabel.aiClassificationIsDimension": "Classification to check",
  "common.automationLabel.aiClassificationIsDimensionHelper": "Primary label works with any Classify Inquiry node. The other options require the node to run in admissions triage mode.",
  "common.automationLabel.aiClassificationIsDimensionAuto": "Primary label (AI Classification)",
  "common.automationLabel.aiClassificationIsValue": "Classification",
  "common.automationLabel.aiClassificationIsValueHelper": "Pick the label saved by Classify Inquiry With AI. Options are grouped by classification type.",
  "common.automationLabel.aiDisabled": "Disabled",
  "common.automationLabel.aiDraftApprovalIntro": "Please review this outbound message before it is sent.",
  "common.automationLabel.aiDraftBodyWithContext": ":intro\n\n:context",
  "common.automationLabel.aiDraftCallIntro": "Call the contact to confirm next steps and answer any questions.",
  "common.automationLabel.aiDraftEmailIntro": "Hello,\n\nWe wanted to follow up with a quick update.",
  "common.automationLabel.aiDraftEmptySuggestion": "The AI provider did not return any suggested content.",
  "common.automationLabel.aiDraftFailed": "Unable to generate an AI draft for this field.",
  "common.automationLabel.aiDraftGenerating": "Generating draft?",
  "common.automationLabel.aiDraftGenericDefault": "Suggested copy for :field.",
  "common.automationLabel.aiDraftNodeNotFound": "The selected node could not be found in the draft graph.",
  "common.automationLabel.aiDraftOnly": "Draft Only",
  "common.automationLabel.aiDraftReviseExisting": "Revise the existing draft copy.",
  "common.automationLabel.aiDraftSmsIntro": "Hi ? quick update from your school.",
  "common.automationLabel.aiDraftStaffPrompt": "What should this message say?",
  "common.automationLabel.aiDraftStaffPromptPlaceholder": "Example: Friendly follow-up reminding the student about their incomplete application.",
  "common.automationLabel.aiDraftSubjectDefault": "Follow-up from your school",
  "common.automationLabel.aiDraftSubjectSuggestion": "Update about :context",
  "common.automationLabel.aiDraftSuggestion": "Suggested content",
  "common.automationLabel.aiDraftTaskIntro": "Follow up with the contact and document the outcome.",
  "common.automationLabel.aiDraftTriggerContext": "Trigger: :trigger",
  "common.automationLabel.aiDraftUnsupportedField": "AI drafting is not available for this field.",
  "common.automationLabel.aiDraftVersionNotDraft": "AI drafting is only available while editing a draft version.",
  "common.automationLabel.aiDraftWithApproval": "Draft with Staff Approval",
  "common.automationLabel.aiEvents": "AI Events",
  "common.automationLabel.aiInquiryClassified": "AI Inquiry Classified",
  "common.automationLabel.aiInquiryClassifiedDescription": "This event is triggered when an inquiry is classified by the AI engine.",
  "common.automationLabel.aiLanguage": "Language",
  "common.automationLabel.aiMessageApproved": "AI Message Approved",
  "common.automationLabel.aiMessageApprovedDescription": "This event is triggered when a staff member approves an AI-generated message.",
  "common.automationLabel.aiMessageRejected": "AI Message Rejected",
  "common.automationLabel.aiMessageRejectedDescription": "This event is triggered when a staff member rejects an AI-generated message.",
  "common.automationLabel.aiMode": "AI Mode",
  "common.automationLabel.aiModeDisabledForTemplate": "AI Mode is Disabled ? this template does not use AI-generated messages. You can enable a mode below if you plan to add AI nodes later.",
  "common.automationLabel.aiModeSelected": "AI Mode: :mode",
  "common.automationLabel.aiPromptTooLarge": "The prompt or graph payload exceeds the configured AI authoring size limit.",
  "common.automationLabel.aiProposalDefaultEmailMessage": "Hello ${students.first_name},\n\n:summary\n\nRegards,\n${user.name}",
  "common.automationLabel.aiProposalDefaultEmailSummary": "Thank you for your submission.",
  "common.automationLabel.aiProposalDefaultSmsMessage": "Hello ${students.first_name}, thank you for your submission.",
  "common.automationLabel.aiProposalDefaultSubject": "Automated notification",
  "common.automationLabel.aiProposalDefaultWelcomeEmailMessage": "Hello ${students.first_name},\n\nWelcome! Thank you for your submission.\n\nRegards,\n${user.name}",
  "common.automationLabel.aiProposalDefaultWelcomeSubject": "Welcome",
  "common.automationLabel.aiProposalAccepted": "AI proposal accepted. It will be applied when you create the automation draft.",
  "common.automationLabel.aiProposalCatalogNodesRemoved": "Some proposed steps are not in the automation catalog. Regenerate using the exact catalog slugs from node_catalog.",
  "common.automationLabel.aiProposalConfigureInStudio": ":field must be configured in Automation Studio after you accept this draft.",
  "common.automationLabel.aiProposalDisconnectedGraph": "The proposed workflow is disconnected. Regenerate the proposal or choose different catalog nodes.",
  "common.automationLabel.aiProposalExplanation": "Explanation",
  "common.automationLabel.aiProposalFailed": "Unable to generate an AI graph proposal.",
  "common.automationLabel.aiProposalGoalChanged": "Your goal changed, so the AI proposal was cleared. Generate a new proposal for the updated goal.",
  "common.automationLabel.aiProposalGenerating": "Generating proposal?",
  "common.automationLabel.aiProposalHasErrors": "Proposal has validation errors",
  "common.automationLabel.aiProposalHeuristicExplanation": "Draft graph generated from your description using available capabilities for :trigger.",
  "common.automationLabel.aiProposalInvalidGraph": "The AI provider returned an invalid graph proposal.",
  "common.automationLabel.aiProposalInvalidTrigger": "The selected trigger is not available for AI graph proposals.",
  "common.automationLabel.aiProposalMissingCapabilities": "Unsupported nodes removed",
  "common.automationLabel.aiProposalNoTrigger": "Could not determine a valid trigger for this proposal. Select a trigger or mention one in your description.",
  "common.automationLabel.aiProposalNodeCount": ":count nodes, :edges connections",
  "common.automationLabel.aiProposalOpenAiExplanation": "Draft graph generated from your description using OpenAI and the available automation catalog.",
  "common.automationLabel.aiProposalSummary": "Proposal summary",
  "common.automationLabel.aiProposalTriggerChanged": "The trigger changed, so the accepted AI proposal was cleared. Generate and accept a new proposal for the selected trigger.",
  "common.automationLabel.aiProposalValid": "Proposal passed validation",
  "common.automationLabel.aiProposalValidation": "Validation",
  "common.automationLabel.aiProposalValidationFailed": "The accepted AI proposal did not pass validation. Review the proposal and try again.",
  "common.automationLabel.aiTriggerPreselectedHint": "This trigger was chosen from your AI proposal. Changing it may invalidate the proposed workflow.",
  "common.automationLabel.aiProposalWarnings": "Proposal warnings",
  "common.automationLabel.aiProviderBillingInactive": "OpenAI billing is not active for this API key. Add a payment method or credits at platform.openai.com, then try again.",
  "common.automationLabel.aiProviderEmptyResponse": "The AI provider returned an empty response.",
  "common.automationLabel.aiProviderInvalidApiKey": "The OpenAI API key is invalid or unauthorized. Check OPENAI_API_KEY in your environment.",
  "common.automationLabel.aiProviderInvalidResponse": "The AI provider returned a response that could not be parsed.",
  "common.automationLabel.aiProviderNotConfigured": "AI provider is not configured. Set OPENAI_API_KEY or AUTOMATION_AI_AUTHORING_API_KEY to enable Studio authoring assistance.",
  "common.automationLabel.aiProviderRequestFailed": "The AI provider could not complete this request. Check the API key, model, and network connectivity.",
  "common.automationLabel.aiReviewAffectedNodes": "Affected nodes",
  "common.automationLabel.aiReviewCategoryExcessiveCommunication": "Excessive communication",
  "common.automationLabel.aiReviewCategoryMissingApprovalGates": "Missing approval gates",
  "common.automationLabel.aiReviewCategoryMissingExits": "Missing exits",
  "common.automationLabel.aiReviewCategoryMissingWaits": "Missing waits",
  "common.automationLabel.aiReviewCategoryPrivacyConcerns": "Privacy concerns",
  "common.automationLabel.aiReviewCategoryRiskyLoops": "Risky loops",
  "common.automationLabel.aiReviewCategoryUnsupportedAssumptions": "Unsupported assumptions",
  "common.automationLabel.aiReviewExcessiveCommunication": "Excessive communication",
  "common.automationLabel.aiReviewExcessiveCommunicationDetail": "This graph includes :count outbound communication actions, which may overwhelm contacts.",
  "common.automationLabel.aiReviewFailed": "Unable to complete the AI graph review.",
  "common.automationLabel.aiReviewGenerating": "Reviewing graph?",
  "common.automationLabel.aiReviewGraphOverview": "Graph contains :nodes nodes and :edges connections.",
  "common.automationLabel.aiReviewMissingApprovalGate": "Missing approval gate",
  "common.automationLabel.aiReviewMissingApprovalGateDetail": "An outbound or AI-generated message action does not have an upstream approval gate.",
  "common.automationLabel.aiReviewMissingExitPath": "Missing exit path",
  "common.automationLabel.aiReviewMissingWait": "Missing wait",
  "common.automationLabel.aiReviewMissingWaitBetweenCommunication": "Two communication actions are connected without a wait step between them.",
  "common.automationLabel.aiReviewNoRecommendations": "No additional AI recommendations were found for this graph.",
  "common.automationLabel.aiReviewOpenEndedPath": "A path ends without a goal or exit node.",
  "common.automationLabel.aiReviewPrivacyConcern": "Privacy concern",
  "common.automationLabel.aiReviewPrivacyOutboundMessage": "Outbound messages may include personal data. Confirm consent, audience scope, and approval rules.",
  "common.automationLabel.aiReviewPrivacyWebhook": "Webhook actions may transmit contact data outside the system. Confirm data handling policies.",
  "common.automationLabel.aiReviewRecommendation": "Recommendation",
  "common.automationLabel.aiReviewRecommendations": "Recommendations",
  "common.automationLabel.aiReviewRiskyLoop": "Risky loop",
  "common.automationLabel.aiReviewRiskyLoopDetected": "A loop was detected in the graph flow.",
  "common.automationLabel.aiReviewSummary": "Review summary",
  "common.automationLabel.aiReviewSummaryClear": "No major AI review issues were detected.",
  "common.automationLabel.aiReviewSummaryWithIssues": ":count AI recommendation(s) found.",
  "common.automationLabel.aiReviewTriggerOnlyGraph": "The graph only contains a trigger and no downstream path.",
  "common.automationLabel.aiReviewUnsupportedAssumption": "Unsupported assumption",
  "common.automationLabel.aiReviewUnsupportedAssumptionDetail": "The graph relies on a node or configuration that is not valid for the selected trigger.",
  "common.automationLabel.aiReviewValidationAuthoritative": "Studio validation is authoritative. AI recommendations are advisory only.",
  "common.automationLabel.aiReviewValidationFailed": "Graph has validation issues",
  "common.automationLabel.aiReviewValidationPassed": "Graph passed structural validation",
  "common.automationLabel.aiTaskType": "AI Task Type",
  "common.automationLabel.aiTone": "Tone",
  "common.automationLabel.aiTriggerPreselectedHint": "This trigger was chosen from your AI proposal. Changing it may invalidate the proposed workflow.",
  "common.automationLabel.aiVoiceCallCompletedDescription": "Triggered when an AI voice call ends with a completed/answered outcome.",
  "common.automationLabel.aiVoiceCallFailedDescription": "Triggered when an AI voice call fails or errors before a usable conversation.",
  "common.automationLabel.aiVoiceCallNoAnswerDescription": "Triggered when an AI voice call ends with no-answer / voicemail / not-connected outcome.",
  "common.automationLabel.aiWorkflowPrompt": "Workflow description",
  "common.automationLabel.aiWorkflowPromptPlaceholder": "Example: When a student submits an application, wait 2 days, then send a follow-up email and create an advisor task.",
  "common.automationLabel.aiWorkflowPromptRequired": "Enter a workflow description before generating a proposal.",
  "common.automationLabel.analytic": "Graph Runtime Analytics",
  "common.automationLabel.analytics": "Analytics",
  "common.automationLabel.analyticsDescription": "Monitor workflow health, run outcomes, and bottlenecks for the published graph.",
  "common.automationLabel.analyticsFinishedRuns": ":count finished run(s)",
  "common.automationLabel.analyticsInProgress": "In progress",
  "common.automationLabel.analyticsInProgressHint": ":active active ? :waiting waiting",
  "common.automationLabel.analyticsLoadFailed": "Could not load runtime analytics.",
  "common.automationLabel.analyticsLoading": "Loading analytics?",
  "common.automationLabel.analyticsNoFailures": "No node failures recorded.",
  "common.automationLabel.analyticsNoFunnelData": "No outcome data for this period.",
  "common.automationLabel.analyticsNoGoalCompletions": "No goal completions yet.",
  "common.automationLabel.analyticsRefresh": "Refresh",
  "common.automationLabel.analyticsSectionIssues": "Issues & outcomes",
  "common.automationLabel.analyticsSectionOverview": "Overview",
  "common.automationLabel.analyticsSectionPerformance": "Performance",
  "common.automationLabel.analyticsStatusShare": "Share of total runs",
  "common.automationLabel.analyticsSuccessRate": "Success rate",
  "common.automationLabel.analyticsViewExecutionLogs": "View execution logs",
  "common.automationLabel.analyticsWaitingBottleneck": "Most common wait point",
  "common.automationLabel.analyticsChartEmpty": "No chart data for the selected period.",
  "common.automationLabel.analyticsChartEmptyTitle": "No data yet",
  "common.automationLabel.analyticsCompleted": "Completed",
  "common.automationLabel.analyticsEmptyQueues": "No active run queues for the current filters.",
  "common.automationLabel.analyticsFailed": "Failed",
  "common.automationLabel.analyticsFailuresChartDescription": "Top workflow steps by failed node attempts.",
  "common.automationLabel.analyticsFailuresChartTitle": "Failures by step",
  "common.automationLabel.analyticsFilters": "Analytics filters",
  "common.automationLabel.analyticsGoalsChartDescription": "Goal nodes reached during the selected period.",
  "common.automationLabel.analyticsGoalsChartTitle": "Goal completions",
  "common.automationLabel.analyticsOpenQueue": "View logs",
  "common.automationLabel.analyticsQueueActive": "Active runs",
  "common.automationLabel.analyticsQueueCancelled": "Cancelled runs",
  "common.automationLabel.analyticsQueueFailed": "Failed runs",
  "common.automationLabel.analyticsQueueWaiting": "Waiting runs",
  "common.automationLabel.analyticsQueues": "Run queues",
  "common.automationLabel.analyticsSnapshot": "Runtime snapshot",
  "common.automationLabel.analyticsSnapshotDescription": "Run volume, success rate, and queue health for the current filters.",
  "common.automationLabel.analyticsStarted": "Started",
  "common.automationLabel.analyticsStatusChartDescription": "How enrolled runs are distributed across runtime statuses.",
  "common.automationLabel.analyticsStatusChartTitle": "Runs by status",
  "common.automationLabel.analyticsVolumeChartDescription": "Started, completed, and failed runs over time.",
  "common.automationLabel.analyticsVolumeChartTitle": "Run volume over time",
  "common.automationLabel.applicant": "Applicant",
  "common.automationLabel.applicantStatusScope": "Applicant Status Scope",
  "common.automationLabel.applicantStudent": "Applicant / Student",
  "common.automationLabel.applicationEvents": "Application Events",
  "common.automationLabel.applicationFormScope": "Application Form Scope",
  "common.automationLabel.applicationInactive": "Application Inactive",
  "common.automationLabel.applicationInactiveDescription": "This event is triggered when an application has had no activity for a configured period.",
  "common.automationLabel.applicationNotSubmitted": "Application Not Submitted",
  "common.automationLabel.applicationNotSubmittedDescription": "Check if the contact has not yet submitted their application.",
  "common.automationLabel.applyTemplate": "Apply Template",
  "common.automationLabel.applyTemplateRequiresDraft": "Templates can only be applied while the automation has an editable draft.",
  "common.automationLabel.applyTemplateToDraft": "Apply to Current Draft",
  "common.automationLabel.approvalApproved": "Approval request approved.",
  "common.automationLabel.approvalBulkApproveSelected": "Approve Selected",
  "common.automationLabel.approvalBulkApproveSelectedConfirm": "Approve :count selected approval request(s)? This cannot be undone.",
  "common.automationLabel.approvalBulkApproveSelectedConfirmTitle": "Approve selected requests?",
  "common.automationLabel.approvalBulkApprovedSuccess": ":count approval request(s) approved.",
  "common.automationLabel.approvalBulkFailed": "Bulk approval action failed.",
  "common.automationLabel.approvalBulkNoneProcessed": "No pending approval requests could be processed.",
  "common.automationLabel.approvalBulkNoneSelected": "Select at least one pending approval request.",
  "common.automationLabel.approvalBulkApproveNoneEligible": "None of the selected requests can be bulk-approved. Open and approve edited drafts individually.",
  "common.automationLabel.approvalBulkRejectNoneEligible": "None of the selected requests can be bulk-rejected.",
  "common.automationLabel.approvalBulkRejectSelected": "Reject Selected",
  "common.automationLabel.approvalBulkRejectSelectedConfirm": "Reject :count selected approval request(s)? This cannot be undone.",
  "common.automationLabel.approvalBulkRejectSelectedConfirmTitle": "Reject selected requests?",
  "common.automationLabel.approvalBulkRejectedSuccess": ":count approval request(s) rejected.",
  "common.automationLabel.approvalCreateFollowUpTask": "Create follow-up task",
  "common.automationLabel.approvalCreateFollowUpTaskHelp": "If unresolved questions exist, create an owner follow-up task after sending.",
  "common.automationLabel.approvalBulkCreateFollowUpTask": "Create follow-up task",
  "common.automationLabel.approvalBulkCreateFollowUpTaskHelp": "If any selected request has unresolved questions, create an owner follow-up task after sending.",
  "common.automationLabel.approvalComment": "Comment",
  "common.automationLabel.approvalCommentHelp": "Optional note recorded with this decision.",
  "common.automationLabel.approvalDecidedAt": "Decided At",
  "common.automationLabel.approvalDecidedBy": "Decided By",
  "common.automationLabel.approvalDueAt": "Due At",
  "common.automationLabel.approvalDueDate": "Due Date",
  "common.automationLabel.approvalDueDateHelp": "Optional fixed due date. Overrides the due date after business hours when set.",
  "common.automationLabel.approvalEscalatedAt": "Escalated At",
  "common.automationLabel.approvalGridResultLabel": "approval requests",
  "common.automationLabel.approvalGridSearchPlaceholder": "Search approval requests",
  "common.automationLabel.approvalMessage": "Approval Message",
  "common.automationLabel.approvalMessageHelp": "Shown to approvers in the Approvals tab. Smart tags are supported.",
  "common.automationLabel.approvalNotificationChannels": "Notification channels",
  "common.automationLabel.approvalNotificationChannelsHelp": "Choose how the assigned approver should be notified.",
  "common.automationLabel.approvalNotificationDefaultMessage": "You have a pending approval request: :title",
  "common.automationLabel.approvalNotificationDefaultMessageGeneric": "You have a pending approval request.",
  "common.automationLabel.approvalNotificationDefaultSubject": "Approval requested: :title",
  "common.automationLabel.approvalNotificationDefaultSubjectGeneric": "Approval requested",
  "common.automationLabel.approvalNotificationMessage": "Notification message",
  "common.automationLabel.approvalNotificationMessageHelp": "Leave blank to use a default message. Rich text, smart tags, voice, and AI assist are supported.",
  "common.automationLabel.approvalNotificationSubject": "Notification subject",
  "common.automationLabel.approvalNotificationSubjectHelp": "Used for email and in-app notifications.",
  "common.automationLabel.approvalNotifyAssignedUser": "Notify approver",
  "common.automationLabel.approvalNotifyAssignedUserHelp": "Send a notification to the assigned approver when the request is created.",
  "common.automationLabel.approvalRejected": "Approval request rejected.",
  "common.automationLabel.approvalRejectedBranchMissing": "No rejected branch is connected to this approval node.",
  "common.automationLabel.approvalRequestedNotificationTitle": "Approval requested",
  "common.automationLabel.approvalRequests": "Approval Requests",
  "common.automationLabel.pendingApprovalRequest": "Pending Approval Request",
  "common.automationLabel.approvalStatus": "Approval Status",
  "common.automationLabel.approvalTitle": "Approval Title",
  "common.automationLabel.approvalTitleHelp": "Shown to approvers. Leave blank to use the node title.",
  "common.automationLabel.approvals": "Approvals",
  "common.automationLabel.approveRequest": "Approve Request",
  "common.automationLabel.approvedApprovals": "Approved",
  "common.automationLabel.approvalDeleted": "Approval request deleted.",
  "common.automationLabel.approvalDeleteFailed": "Unable to delete this approval request.",
  "common.automationLabel.approveRequestConfirm": "Approve this approval request? This cannot be undone.",
  "common.automationLabel.approveRequestConfirmTitle": "Approve request?",
  "common.automationLabel.rejectRequestConfirm": "Reject this approval request? This cannot be undone.",
  "common.automationLabel.rejectRequestConfirmTitle": "Reject request?",
  "common.automationLabel.deleteApprovalRequest": "Delete Approval Request",
  "common.automationLabel.deleteApprovalRequestConfirm": "Delete this approval request? If the automation is waiting on it, that run will be cancelled. This cannot be undone.",
  "common.automationLabel.deleteApprovalRequestConfirmTitle": "Delete approval request?",
  "common.automationLabel.approverType": "Approver Type",
  "common.automationLabel.archiveTemplate": "Archive Template",
  "common.automationLabel.archived": "Archived",
  "common.automationLabel.archiving": "Archiving...",
  "common.automationLabel.askAiKnowledgeAgent": "AI Follow-Up",
  "common.automationLabel.askAiKnowledgeAgentDescription": "Uses an AI persona and knowledge base to write a personalized email, SMS, or chat message. Choose send now, staff approval, or generate only.",
  "common.automationLabel.askAiGenerateInstructionsApplied": "Instructions updated for :channel.",
  "common.automationLabel.askAiGenerateInstructionsChannelChanged": "These instructions were written for :from. Choose a prompt and generate matching :to instructions.",
  "common.automationLabel.askAiGenerateInstructionsEmptyContext": "Add an automation description for more specific copy. The helper still uses the title, purpose, and selected channel.",
  "common.automationLabel.askAiGenerateInstructionsFailed": "Could not generate channel instructions. Try again.",
  "common.automationLabel.askAiGenerateInstructionsForChannel": "Preview :channel brief",
  "common.automationLabel.askAiGenerateInstructionsGenerating": "Generating instructions...",
  "common.automationLabel.askAiGenerateInstructionsHint": "Leave the instruction fields empty to use the purpose defaults. Preview shows what the AI receives for this channel.",
  "common.automationLabel.askAiGenerateInstructionsPreviewLoaded": "Preview loaded.",
  "common.automationLabel.askAiCustomizeFromPreview": "Copy into instructions",
  "common.automationLabel.askAiCustomizeApplied": "Instruction updated from preview.",
  "common.automationLabel.askAiResetToPurpose": "Reset to purpose defaults",
  "common.automationLabel.askAiResetToPurposeConfirm": "Clear the Instruction and the Instruction for later passes? Every message will then use the purpose defaults.",
  "common.automationLabel.askAiResetToPurposeDone": "Instructions cleared. Every message now uses the purpose defaults.",
  "common.automationLabel.askAiPreviewComposedBriefTitle": "Purpose default brief",
  "common.automationLabel.askAiPreviewComposedLaterPassTitle": "Show full later-message brief",
  "common.automationLabel.fieldAdditionalGuidance": "Additional guidance",
  "common.automationLabel.askAiHelperTitle": "AI instructions",
  "common.automationLabel.askAiModeFirstMessage": "First message",
  "common.automationLabel.askAiModeLaterMessages": "Later messages",
  "common.automationLabel.askAiModePurposeDefault": "Purpose default",
  "common.automationLabel.askAiModeCustom": "Custom",
  "common.automationLabel.askAiModeFromFirstMessage": "Based on first-message instruction",
  "common.automationLabel.askAiPreviewStale": "Settings changed since this preview.",
  "common.automationLabel.askAiPreviewRefresh": "Refresh preview",
  "common.automationLabel.askAiPreviewCustomInstructionInUse": "This node has a custom Instruction, so the purpose default below is not used for the first message.",
  "common.automationLabel.askAiPreviewFormatTitle": "Format limits",
  "common.automationLabel.askAiPreviewTechnicalDetails": "Technical details",
  "common.automationLabel.fieldAdditionalGuidanceHelp": "Optional. One short editorial sentence (e.g. “This follows attendance at an open house”). No format directives.",
  "common.automationLabel.askAiInstructionPurposeDeposit": "Remind the contact about an outstanding deposit",
  "common.automationLabel.askAiInstructionPurposeFinance": "Follow up on an outstanding payment",
  "common.automationLabel.askAiInstructionPurposeGeneric": "Follow up about the next documented step",
  "common.automationLabel.askAiInstructionPurposeInquiry": "Reply to a new inquiry and invite the next admissions step",
  "common.automationLabel.askAiInstructionPurposeLabel": "Prompt",
  "common.automationLabel.askAiInstructionPurposeMeetingNoShow": "Help the contact rebook a missed admissions meeting",
  "common.automationLabel.askAiInstructionPurposeMeetingPrep": "Help the contact prepare for an upcoming admissions meeting",
  "common.automationLabel.askAiInstructionPurposeMissingDocuments": "Remind the contact about missing application documents",
  "common.automationLabel.askAiInstructionPurposeParent": "Update a parent or guardian about the next step",
  "common.automationLabel.askAiInstructionPurposePlaceholder": "Choose a prompt",
  "common.automationLabel.askAiInstructionPurposeRequired": "Choose a prompt before generating instructions.",
  "common.automationLabel.askAiInstructionPurposeUnresponsive": "Re-engage a contact after unanswered outreach",
  "common.automationLabel.askAiInstructionPurposeVoiceNoAnswer": "Follow up after a missed phone call",
  "common.automationLabel.fieldMessagePurpose": "Message purpose",
  "common.automationLabel.fieldMessagePurposeHelp": "What the message is for. Generate writes the instructions from it, and it sets the length and layout limits. Auto reads the purpose from the instruction.",
  "common.automationLabel.messagePurposeAuto": "Auto (from instruction)",
  "common.automationLabel.messagePurposeInquiry": "First inquiry reply",
  "common.automationLabel.messagePurposeMissingDocuments": "Missing documents",
  "common.automationLabel.messagePurposeVoiceNoAnswer": "Missed phone call",
  "common.automationLabel.messagePurposeDeposit": "Deposit reminder",
  "common.automationLabel.messagePurposeMeetingPrep": "Meeting preparation",
  "common.automationLabel.messagePurposeMeetingNoShow": "Missed meeting",
  "common.automationLabel.messagePurposeUnresponsive": "Re-engage unresponsive contact",
  "common.automationLabel.messagePurposeDormant": "Dormant lead check-in",
  "common.automationLabel.messagePurposeFinance": "Payment follow-up",
  "common.automationLabel.messagePurposeParent": "Parent / guardian update",
  "common.automationLabel.messagePurposeGeneric": "General follow-up",
  "common.automationLabel.askAiPreviewTitle": "Resolved AI instructions",
  "common.automationLabel.askAiPreviewButton": "Preview",
  "common.automationLabel.askAiPreviewFailed": "Could not load the instruction preview.",
  "common.automationLabel.askAiPreviewStructuredOff": "Structured correspondence is off for this school. These limits apply once it is turned on; until then the legacy formatting runs.",
  "common.automationLabel.askAiPreviewPurpose": "Purpose:",
  "common.automationLabel.askAiPreviewPurposeSource_configured": "set on this node",
  "common.automationLabel.askAiPreviewPurposeSource_inferred": "read from the instruction",
  "common.automationLabel.askAiPreviewPurposeSource_default": "default",
  "common.automationLabel.askAiPreviewMaxWords": "At most :count words",
  "common.automationLabel.askAiPreviewMaxChars": "At most :count characters",
  "common.automationLabel.askAiPreviewSubjectRequired": "Subject line required",
  "common.automationLabel.askAiPreviewNoSubject": "No subject line",
  "common.automationLabel.askAiPreviewSections": "Up to :count headed sections",
  "common.automationLabel.askAiPreviewNoSections": "No headed sections",
  "common.automationLabel.askAiPreviewListsAllowed": "Lists allowed for enumerable items",
  "common.automationLabel.askAiPreviewNoLists": "No lists",
  "common.automationLabel.askAiPreviewCtas": "Up to :count buttons",
  "common.automationLabel.askAiPreviewLinks": "Up to :count links",
  "common.automationLabel.askAiPreviewPersonaHabits": "Tone, greeting, and sign-off from the persona's channel habits",
  "common.automationLabel.askAiPreviewDefaultTone": "Default friendly, professional tone",
  "common.automationLabel.askAiPreviewWarningsTitle": "Formatting lines the runtime will ignore",
  "common.automationLabel.askAiPreviewWarning_guidance_over_cap": "Additional guidance is too long and will be truncated at runtime",
  "common.automationLabel.askAiPreviewWarning_html_markup": "HTML tags",
  "common.automationLabel.askAiPreviewWarning_markdown": "Markdown formatting",
  "common.automationLabel.askAiPreviewWarning_subject_line": "Subject line directions",
  "common.automationLabel.askAiPreviewWarning_length_limit": "Word or character limits",
  "common.automationLabel.askAiPreviewWarning_layout": "Layout or heading directions",
  "common.automationLabel.askAiPreviewWarning_bullets": "Bullet or list directions",
  "common.automationLabel.askAiPreviewWarning_buttons": "Button directions",
  "common.automationLabel.askAiPreviewWarning_signature_block": "Signature block directions",
  "common.automationLabel.askAiPreviewWarning_channel_line": "Channel formatting line",
  "common.automationLabel.askAiPreviewScenario": "Scenario:",
  "common.automationLabel.askAiPreviewPassLabel": "pass :pass",
  "common.automationLabel.askAiPreviewPassBehavior": "Later-pass behavior:",
  "common.automationLabel.askAiPreviewCustomFollowUpActive": "custom follow-up override active",
  "common.automationLabel.askAiPreviewLaterPassSource_authored_follow_up": "authored later-pass instruction",
  "common.automationLabel.askAiPreviewLaterPassSource_registry_pass": "purpose-only follow-up from registry",
  "common.automationLabel.askAiPreviewLaterPassSource_wrap_primary": "wrap primary brief as a follow-up",
  "common.automationLabel.askAiPreviewPass2Objective": "Pass 2 objective",
  "common.automationLabel.askAiPreviewPass3Objective": "Pass 3+ objective",
  "common.automationLabel.askAiPreviewLaterPassGuidance": "Staff guidance for later messages",
  "common.automationLabel.askAiPreviewRoles": "Content roles",
  "common.automationLabel.askAiPreviewRequiredRoles": "Required",
  "common.automationLabel.askAiPreviewOptionalRoles": "Optional",
  "common.automationLabel.askAiPreviewTopics": "Topics",
  "common.automationLabel.askAiPreviewRequestedTopics": "Requested",
  "common.automationLabel.askAiPreviewSupportedTopics": "Supported",
  "common.automationLabel.askAiPreviewUnsupportedTopics": "Unsupported",
  "common.automationLabel.askAiPreviewCtaCapabilities": "CTA capabilities",
  "common.automationLabel.askAiPreviewRequired": "required",
  "common.automationLabel.askAiPreviewNotAuthorized": "not authorized",
  "common.automationLabel.askAiPreviewNone": "(none)",
  "common.automationLabel.askAiPreviewLanguage": "Language",
  "common.automationLabel.askAiPreviewPersona": "Persona",
  "common.automationLabel.askAiPreviewTemplate": "Template",
  "common.automationLabel.askAiPreviewQuestionSources": "Question sources",
  "common.automationLabel.askAiPreviewQuestionSourcesHint": "The node reads from these tokens at runtime (never a live contact question).",
  "common.automationLabel.audienceOverrideAgent": "Agency agent",
  "common.automationLabel.audienceOverrideAuto": "Auto (from student stage)",
  "common.automationLabel.audienceOverrideParent": "Parent / guardian",
  "common.automationLabel.fieldAudienceOverride": "Audience Override",
  "common.automationLabel.fieldAudienceOverrideHelper": "Optional. Use Parent (or Agent) when this journey targets a guardian/agency actor on the student contact - never invents parent from Student.stage alone. Leave empty for stage-based student audiences.",
  "common.automationLabel.fieldEmailSubject": "Email Subject",
  "common.automationLabel.fieldEmailSubjectHelp": "Optional when channel is Email. If omitted, the persona may suggest one.",
  "common.automationLabel.fieldLanguage": "Reply Language",
  "common.automationLabel.fieldLanguageHelp": "Auto uses instruction detection, profile language, persona language, then school locale. Student profile uses only the contact preferred language (school locale if unset).",
  "common.automationLabel.fieldPersona": "AI Agent Persona",
  "common.automationLabel.fieldPersonaInstruction": "Instruction / Question",
  "common.automationLabel.fieldPersonaInstructionHelp": "Tell the persona what to write. Use merge tags such as ${students.first_name}, ${students.owner_email}, and ${automation.message}. Type ${ to open the token picker.",
  "common.automationLabel.fieldPersonaFollowUpInstruction": "Instruction for later passes",
  "common.automationLabel.fieldPersonaFollowUpInstructionHelp": "Only used inside a Do Until loop, from the second pass on. Separate one block per pass with a line containing ---; the last block covers every remaining pass. Leave empty to reuse the instruction above as a shortened follow-up.",
  "common.automationLabel.fieldLaterPassGuidance": "Guidance for later passes",
  "common.automationLabel.fieldLaterPassGuidanceHelp": "Optional, up to 300 characters. What later follow-ups should talk about (e.g. course modules, career outcomes, start dates). Added on top of the later-pass brief, kept on Reset, and only uses facts from approved knowledge.",
  "common.automationLabel.tokenCategoryAutomation": "Automation trigger",
  "common.automationLabel.tokenMessage": "Trigger message",
  "common.automationLabel.tokenQuestion": "Trigger question",
  "common.automationLabel.tokenInquiry": "Inquiry",
  "common.automationLabel.tokenInquiryText": "Inquiry text",
  "common.automationLabel.tokenSmsBody": "SMS body",
  "common.automationLabel.tokenEmailBody": "Email body",
  "common.automationLabel.tokenBody": "Body",
  "common.automationLabel.tokenContent": "Content",
  "common.automationLabel.tokenNoteTitle": "Note title",
  "common.automationLabel.tokenNoteContent": "Note content (HTML)",
  "common.automationLabel.tokenNoteContentPlain": "Note content (plain text)",
  "common.automationLabel.tokenSubmissionText": "Submission text",
  "common.automationLabel.tokenCallOutcome": "Call status",
  "common.automationLabel.tokenCallSummary": "Call summary",
  "common.automationLabel.tokenInvoicePaymentUrl": "Invoice portal payment URL",
  "common.automationLabel.tokenInvoicePublicPaymentUrl": "Invoice public payment URL",
  "common.automationLabel.tokenInvoicePdfUrl": "Invoice PDF link",
  "common.automationLabel.tokenPaymentReceiptUrl": "Payment receipt PDF link",
  "common.automationLabel.tokenCategoryInvoice": "Invoice",
  "common.automationLabel.tokenCategoryPayment": "Payment",
  "common.automationLabel.tokenInvoiceNumber": "Invoice number",
  "common.automationLabel.tokenInvoiceDate": "Invoice date",
  "common.automationLabel.tokenInvoiceDueDate": "Invoice due date",
  "common.automationLabel.tokenInvoiceTotal": "Invoice total",
  "common.automationLabel.tokenInvoicePaidAmount": "Total paid to date",
  "common.automationLabel.tokenInvoiceBalanceDue": "Balance due",
  "common.automationLabel.tokenInvoiceCurrency": "Invoice currency",
  "common.automationLabel.tokenInvoiceStatus": "Invoice status",
  "common.automationLabel.tokenInvoiceItems": "Invoice items",
  "common.automationLabel.tokenPaymentAmount": "Payment amount",
  "common.automationLabel.tokenPaymentDate": "Payment date",
  "common.automationLabel.tokenPaymentMethod": "Payment method",
  "common.automationLabel.tokenPaymentReference": "Payment reference",
  "common.automationLabel.tokenPaymentStatus": "Payment status",
  "common.automationLabel.fieldFallbackPersona": "Fallback Persona",
  "common.automationLabel.fieldFallbackPersonaHelp": "Optional. Used whenever the primary persona cannot be resolved.",
  "common.automationLabel.fieldPersonaSource": "Persona Source",
  "common.automationLabel.fieldQuestionSource": "Question Source",
  "common.automationLabel.fieldResponseChannel": "Response Channel",
  "common.automationLabel.fieldResponseMode": "After Generation",
  "common.automationLabel.languageAuto": "Auto (Detected, Profile, Persona, School)",
  "common.automationLabel.languageStudentProfile": "Student profile (preferred language)",
  "common.automationLabel.personaSourceConfig": "Use a specific persona",
  "common.automationLabel.personaSourcePayload": "Use persona from trigger payload",
  "common.automationLabel.personaSourceStudentStage": "Resolve from student stage / audience",
  "common.automationLabel.personaSourceStudentProgram": "Resolve from student program",
  "common.automationLabel.fieldAiVoicePersonaSource": "Persona Source",
  "common.automationLabel.questionSourceConfig": "Use configured instruction below",
  "common.automationLabel.questionSourcePayload": "Use question from trigger payload",
  "common.automationLabel.responseChannelChat": "Portal Chat",
  "common.automationLabel.responseChannelEmail": "Email",
  "common.automationLabel.responseChannelMessage": "Portal Message",
  "common.automationLabel.responseChannelSms": "SMS",
  "common.automationLabel.responseChannelStudentPortal": "Student Portal (generate only)",
  "common.automationLabel.responseModeGenerateOnly": "Generate only (log result)",
  "common.automationLabel.responseModeRequireApproval": "Queue for staff approval",
  "common.automationLabel.responseModeSend": "Send via selected channel",
  "common.automationLabel.assignContactOwner": "Assign owner by round robin",
  "common.automationLabel.assignContactOwnerDescription": "Assign a contact owner using balanced or sequential round-robin distribution across a user pool.",
  "common.automationLabel.assignedContactOwner": "Contact owner",
  "common.automationLabel.assignedDepartment": "Department / Team",
  "common.automationLabel.assignedRole": "Assigned Role",
  "common.automationLabel.assignedTeam": "Assigned Team",
  "common.automationLabel.assignedTo": "Assigned To",
  "common.automationLabel.assignedUser": "Assigned User",
  "common.automationLabel.assignmentMode": "Assignment Mode",
  "common.automationLabel.associatedApplication": "Associated Application",
  "common.automationLabel.associatedApplicationDescription": "Check if a submission is associated with an application.",
  "common.automationLabel.associatedRequestedSummary": "Associated Requested Summary",
  "common.automationLabel.associatedRequestedSummaryDescription": "Check the associated summary requested.",
  "common.automationLabel.attendanceBelowThreshold": "Attendance Below Threshold",
  "common.automationLabel.attendanceBelowThresholdDescription": "Check if a student's attendance percentage is below a given threshold.",
  "common.automationLabel.attendanceEvents": "Attendance Events",
  "common.automationLabel.attendanceRiskDetected": "Attendance Risk Detected",
  "common.automationLabel.attendanceRiskDetectedDescription": "This event is triggered when a student's attendance drops below the configured risk threshold.",
  "common.automationLabel.audienceOverrideAgent": "Agency agent",
  "common.automationLabel.audienceOverrideAuto": "Auto (from student stage)",
  "common.automationLabel.audienceOverrideParent": "Parent / guardian",
  "common.automationLabel.audienceScope": "Audience Scope",
  "common.automationLabel.audienceScopeSelectTypeHint": "Choose an audience type to see the scope filters that apply to that audience.",
  "common.automationLabel.audienceScopeStaffHint": "Staff automations are internal. Contact communication preferences and enrollment filters do not apply.",
  "common.automationLabel.aiApprovalRulesStaffHint": "Contact-message approval rules do not apply to staff automations.",
  "common.automationLabel.aiRulesStaffWorkflowHint": "Staff workflows route tasks, tickets, and staff email inside the graph. Contact-message AI approval toggles below do not apply ? use Create Task, Notify Advisor, or Approval nodes in the builder instead.",
  "common.automationLabel.templateStepStaffWorkflowHint": "Staff-oriented templates are shown first. These workflows alert staff, create tasks, or escalate AI events ? they do not send contact marketing messages.",
  "common.automationLabel.triggerStepStaffWorkflowHint": "Choose an internal event (AI escalation, task, or message event) that should alert or assign staff ? not a student outreach trigger.",
  "common.automationLabel.audienceSettingsAutoDetected": "Audience settings were auto-detected from this template category and purpose. You can refine campus, program, or status filters below.",
  "common.automationLabel.audienceType": "Audience Type",
  "common.automationLabel.automation": "Automation",
  "common.automationLabel.automationCloned": "Automation cloned. The copy is unpublished so you can review it before it runs.",
  "common.automationLabel.automationClonedWithSchedules": "Automation cloned successfully, including its schedules.",
  "common.automationLabel.automationCreationFailed": "Failed to create the automation. Please try again.",
  "common.automationLabel.automationDeleted": "Automation deleted successfully.",
  "common.automationLabel.automationDetails": "Details",
  "common.automationLabel.automationDraftCreated": "Automation draft created. You can now build the workflow in the studio.",
  "common.automationLabel.automationGoal": "Workflow area",
  "common.automationLabel.workflowArea": "Workflow area",
  "common.automationLabel.automationName": "Automation Name",
  "common.automationLabel.automationPublished": "Automation published.",
  "common.automationLabel.automationShowDescription": "Review this automation's Studio status, runtime setup, and latest versions.",
  "common.automationLabel.automationStudioIsActiveRuntime": "Automation Studio is the active automation runtime.",
  "common.automationLabel.automationStudioOverview": "Automation Studio Overview",
  "common.automationLabel.automationTemplates": "Automation Templates",
  "common.automationLabel.automationUpdateFailed": "Failed to update the automation. Please try again.",
  "common.automationLabel.automationVersions": "versions",
  "common.automationLabel.automations": "Automations",
  "common.automationLabel.allExecutionLogs": "All Execution Logs",
  "common.automationLabel.executionLogsDescription": "Review automation execution logs across all automations.",
  "common.automationLabel.executionLogsEmpty": "No execution logs found.",
  "common.automationLabel.runKind": "Run Type",
  "common.automationLabel.runKindLive": "Live",
  "common.automationLabel.searchExecutionLogs": "Search execution logs",
  "common.automationLabel.bulkExecutionRetry": "Retry",
  "common.automationLabel.bulkExecutionCancel": "Cancel",
  "common.automationLabel.bulkExecutionRetryConfirmTitle": "Retry selected runs?",
  "common.automationLabel.bulkExecutionRetryConfirm": "Failed runs in this selection will be queued so the automation runner can continue them. Runs that cannot be retried are skipped.",
  "common.automationLabel.bulkExecutionCancelConfirmTitle": "Cancel selected runs?",
  "common.automationLabel.bulkExecutionCancelConfirm": "Active, waiting, and failed runs in this selection will be cancelled and will not continue. Runs that cannot be cancelled are skipped.",
  "common.automationLabel.bulkExecutionRetrySuccess": "Queued :count run(s) for retry.",
  "common.automationLabel.bulkExecutionCancelSuccess": "Cancelled :count run(s).",
  "common.automationLabel.bulkExecutionRunsSkipped": ":count run(s) were skipped.",
  "common.automationLabel.bulkExecutionRunsNone": "No selected runs could be updated.",
  "common.automationLabel.automationsEmpty": "No automations matched the current search or filters.",
  "common.automationLabel.automationsIndexDescription": "Manage automations in Automation Studio.",
  "common.automationLabel.availableActions": "Actions",
  "common.automationLabel.availableConditions": "Conditions",
  "common.automationLabel.averageCompletionTime": "Average Completion Time",
  "common.automationLabel.back": "Back",
  "common.automationLabel.backToAutomations": "Back to Automations",
  "common.automationLabel.badgeAiAction": "AI Action",
  "common.automationLabel.badgeFlow": "Flow",
  "common.automationLabel.bookingDepositPaid": "Booking Deposit Paid",
  "common.automationLabel.bookingDepositPaidDescription": "This event is triggered when the first payment for a booking is received.",
  "common.automationLabel.bookingDepositRefund": "Booking Deposit Refunded",
  "common.automationLabel.branchApproved": "Approved",
  "common.automationLabel.branchLabel": "Branch Label",
  "common.automationLabel.branchMatched": "Matched",
  "common.automationLabel.branchNo": "No",
  "common.automationLabel.branchNodes": "Branch Nodes",
  "common.automationLabel.branchOnTime": "On Time",
  "common.automationLabel.branchDone": "Done",
  "common.automationLabel.branchLoop": "Loop",
  "common.automationLabel.branchLoopBack": "Loop back",
  "common.automationLabel.branchRejected": "Rejected",
  "common.automationLabel.branchTimeout": "Timeout",
  "common.automationLabel.branchYes": "Yes",
  "common.automationLabel.broadAudienceWarning": "No audience scope defined ? this automation may apply broadly to all contacts.",
  "common.automationLabel.aiHelp": "AI Help",
  "common.automationLabel.buildWithAi": "Build with AI",
  "common.automationLabel.buildWithAiHint": "Describe the workflow in plain language. AI will propose a draft graph using only capabilities available for your selected trigger.",
  "common.automationLabel.builder": "Builder",
  "common.automationLabel.callOutcomeIs": "Call Outcome Is",
  "common.automationLabel.callOutcomeIsDescription": "Check the outcome recorded on a phone call task.",
  "common.automationLabel.callPurpose": "Call Purpose",
  "common.automationLabel.callRecipient": "Call Recipient",
  "common.automationLabel.callbackScheduled": "Callback Scheduled",
  "common.automationLabel.callbackScheduledDescription": "This event is triggered when a callback is scheduled for a contact.",
  "common.automationLabel.campusScope": "Campus Scope",
  "common.automationLabel.cancelledRuns": "Cancelled Runs",
  "common.automationLabel.canvas": "Canvas",
  "common.automationLabel.canvasEmptyHint": "Select a trigger from the palette to get started.",
  "common.automationLabel.canvasGradeChanged": "Canvas Grade Changed",
  "common.automationLabel.canvasGradeChangedDescription": "This event is triggered when Canvas reports a grade change for a student in a linked course cohort.",
  "common.automationLabel.canvasSubmissionUpdated": "Canvas Submission Updated",
  "common.automationLabel.canvasSubmissionUpdatedDescription": "This event is triggered when Canvas reports a student submission created or updated in a linked course cohort.",
  "common.automationLabel.capabilitiesLoadFailed": "Could not load automation capabilities. You can still edit the canvas.",
  "common.automationLabel.capabilityAiClassifyInquiryDescription": "Assign a label to an incoming inquiry and save it on the contact.",
  "common.automationLabel.capabilityAiFollowUpDescription": "Generate an AI draft reply for follow-up.",
  "common.automationLabel.capabilityAiInquiryClassifiedDescription": "Start when Classify Inquiry With AI finishes and saves a label on the contact.",
  "common.automationLabel.capabilityAiMessageApprovedDescription": "Start the workflow when a staff member approves an AI-generated message.",
  "common.automationLabel.capabilityAiMessageRejectedDescription": "Start the workflow when a staff member rejects an AI-generated message.",
  "common.automationLabel.capabilityApplicationInactiveDescription": "Start the workflow when an application has had no activity for a configured period.",
  "common.automationLabel.capabilityApplicationStartedDescription": "Start the workflow when an application is submitted.",
  "common.automationLabel.capabilityApprovalDescription": "Pause the workflow until an approver responds.",
  "common.automationLabel.capabilityAttendanceRiskDetectedDescription": "Start the workflow when a student's attendance drops below the risk threshold.",
  "common.automationLabel.capabilityBranchDescription": "Split the workflow into paths based on a field condition.",
  "common.automationLabel.capabilityCallbackScheduledDescription": "Start the workflow when a callback is scheduled for a contact.",
  "common.automationLabel.capabilityCreatePhoneCallDescription": "Schedule a phone call task with optional AI brief.",
  "common.automationLabel.capabilityCreateTaskDescription": "Create a staff task for follow-up.",
  "common.automationLabel.capabilityDeadlineDescription": "Wait until a target date with on-time and timeout branches.",
  "common.automationLabel.capabilityDelayDescription": "Pause the workflow for a fixed duration.",
  "common.automationLabel.capabilityDocumentStillMissingDescription": "Start the workflow when a required document remains missing after a reminder was sent.",
  "common.automationLabel.capabilityExitDescription": "End the workflow with a reason.",
  "common.automationLabel.capabilityGoalDescription": "Mark a conversion or engagement goal in the workflow.",
  "common.automationLabel.capabilityGradeRiskDetectedDescription": "Start the workflow when a student's grades fall below the academic risk threshold.",
  "common.automationLabel.capabilityIfElseDescription": "Branch the workflow based on a field condition.",
  "common.automationLabel.capabilityParentConsentRequestedDescription": "Start the workflow when a parent consent request is sent for a student.",
  "common.automationLabel.capabilityPhoneCallCompletedDescription": "Start the workflow when a phone call task is marked as completed.",
  "common.automationLabel.capabilityPhoneCallOutcomeRecordedDescription": "Start the workflow when an outcome is recorded for a phone call.",
  "common.automationLabel.capabilityScheduleDescription": "Resume on a calendar date, smart weekday schedule, or contact date field.",
  "common.automationLabel.capabilitySendEmailDescription": "Send an email to the contact.",
  "common.automationLabel.capabilitySendSmsDescription": "Send an SMS message to the contact.",
  "common.automationLabel.capabilityStatusChangedDescription": "Start the workflow when a module status changes. Add a Status Value (ModuleStatus) condition right after the trigger to scope entity type and status value.",
  "common.automationLabel.statusChangedMissingModuleStatus": "Add a Status Value (ModuleStatus) condition after Status Changed so the workflow only runs for the intended status type and value.",
  "common.automationLabel.askAiMissingPersonaResolution": "Configure an explicit persona, stage/program resolution, or fallback persona for this AI Follow-Up step.",
  "common.automationLabel.askAiFirstTouchSendModeWarning": "First-touch triggers should usually use staff approval instead of send-now for AI Follow-Up.",
  "common.automationLabel.askAiPlainEmailShellWarning": "No AI assistant email template is selected; delivery may use the plain email fallback.",
  "common.automationLabel.askAiSequentialFollowUpWarning": "Multiple AI Follow-Up steps on one path should include a Wait Until Event, Goal, or Exit between sends.",
  "common.automationLabel.aiFollowUpOpsTitle": "AI Follow-Up operations",
  "common.automationLabel.aiFollowUpOpsDescription": "Operational queues for AI Follow-Up approvals, escalations, delivery issues, and admissions outreach thresholds.",
  "common.automationLabel.aiFollowUpOpsPanelTitle": "Manager queues",
  "common.automationLabel.aiFollowUpOpsPanelDescription": "Each card links to the saved view or triage screen that produced the count.",
  "common.automationLabel.aiFollowUpOpsOpenQueue": "Open queue",
  "common.automationLabel.aiFollowUpOpsEmptyTitle": "No AI Follow-Up queues available",
  "common.automationLabel.aiFollowUpOpsEmptyDescription": "Counts appear here when your role can access automations, approvals, and admissions outreach views.",
  "common.automationLabel.aiFollowUpOpsPendingApprovals": "AI drafts awaiting approval",
  "common.automationLabel.aiFollowUpOpsPendingApprovalsDescription": "Built-in AI Follow-Up drafts waiting for a staff decision.",
  "common.automationLabel.aiFollowUpOpsEscalations": "Escalations awaiting action",
  "common.automationLabel.aiFollowUpOpsEscalationsDescription": "Open tasks created from AI Follow-Up policy escalations.",
  "common.automationLabel.aiFollowUpOpsFailedDeliveries": "Failed AI deliveries",
  "common.automationLabel.aiFollowUpOpsFailedDeliveriesDescription": "Studio node failures on Ask AI Knowledge Agent steps in the last 30 days.",
  "common.automationLabel.aiFollowUpOpsPolicyBlocked": "Policy-blocked deliveries",
  "common.automationLabel.aiFollowUpOpsPolicyBlockedDescription": "AI Follow-Up attempts suppressed by outreach, thresholds, or dedupe rules.",
  "common.automationLabel.aiFollowUpOpsAttemptThreshold": "Contacts at outreach threshold",
  "common.automationLabel.aiFollowUpOpsAttemptThresholdDescription": "Applicants at or above the configured attempt threshold while still in outreach.",
  "common.automationLabel.aiFollowUpOpsReplyTimeouts": "Reply timeouts",
  "common.automationLabel.aiFollowUpOpsReplyTimeoutsDescription": "Contacts waiting on a reply past the scheduled next-action date.",
  "common.automationLabel.analyticsAiFollowUpTitle": "AI Follow-Up performance",
  "common.automationLabel.analyticsAiFollowUpDescription": "Operational metrics for this automation. Influenced outcomes count activity within :days days after each delivery (Settings → Admissions outreach). Not proof of cause.",
  "common.automationLabel.analyticsAiGenerated": "Generated",
  "common.automationLabel.analyticsAiSent": "Sent",
  "common.automationLabel.analyticsAiFailed": "Failed",
  "common.automationLabel.analyticsAiDeferred": "Deferred",
  "common.automationLabel.analyticsAiPolicyBlocked": "Policy blocked",
  "common.automationLabel.analyticsAiPendingApprovals": "Pending approval",
  "common.automationLabel.analyticsAiEscalations": "Escalations",
  "common.automationLabel.analyticsAiEditedApprovals": "Edited then approved",
  "common.automationLabel.analyticsAiAverageConfidence": "Avg confidence :score%",
  "common.automationLabel.analyticsAiOutcomesTitle": "Influenced admissions outcomes",
  "common.automationLabel.analyticsAiOutcomesHint": "Direct run outcomes and influenced conversions are counted separately. Do not sum these figures into a single conversion rate without a controlled experiment.",
  "common.automationLabel.analyticsAiDeliveredFollowUps": "Delivered follow-ups",
  "common.automationLabel.analyticsAiRepliedConversations": "Replied conversations",
  "common.automationLabel.analyticsAiInfluencedPayments": "Influenced payments",
  "common.automationLabel.analyticsAiInfluencedMeetings": "Influenced meetings booked",
  "common.automationLabel.analyticsAiInfluencedEnrollments": "Influenced enrollments",
  "common.automationLabel.analyticsAiInfluencedApplications": "Influenced application updates",
  "common.automationLabel.analyticsAiRejectedApprovals": "Rejected approvals",
  "common.automationLabel.analyticsAiResourceGaps": "Resource gaps",
  "common.automationLabel.analyticsAiAverageApprovalTime": "Avg approval time",
  "common.automationLabel.analyticsAiMedianReplyTime": "Median time to first reply",
  "common.automationLabel.analyticsAiEstimatedTokens": "Estimated tokens",
  "common.automationLabel.analyticsAiEstimatedCost": "Est. generation cost (USD)",
  "common.automationLabel.analyticsAiResourceGapRate": "Resource gap rate",
  "common.automationLabel.analyticsAiDirectOutcomesTitle": "Direct (same run, matched wait)",
  "common.automationLabel.analyticsAiInfluencedOutcomesTitle": "Influenced (within attribution window)",
  "common.automationLabel.analyticsAiDeliveredAndReplySummary": ":delivered delivered · :replied replied (:replyRate reply rate)",
  "common.automationLabel.analyticsAiOutcomeReplies": "Replies",
  "common.automationLabel.analyticsAiOutcomePayments": "Payments received",
  "common.automationLabel.analyticsAiOutcomeDeposits": "Deposits received",
  "common.automationLabel.analyticsAiOutcomeApplicationsStarted": "Applications started",
  "common.automationLabel.analyticsAiOutcomeApplicationsSubmitted": "Applications submitted",
  "common.automationLabel.analyticsAiOutcomeMeetingsBooked": "Meetings booked",
  "common.automationLabel.analyticsAiOutcomeMeetingsCompleted": "Meetings completed",
  "common.automationLabel.analyticsAiOutcomeDocuments": "Documents received",
  "common.automationLabel.analyticsAiOutcomeEnrollments": "Enrollments created",
  "common.automationLabel.analyticsAiBreakdownChannel": "By channel",
  "common.automationLabel.analyticsAiBreakdownPersona": "By persona",
  "common.automationLabel.analyticsAiBreakdownNode": "By Studio node",
  "common.automationLabel.analyticsAiBreakdownRenderVersion": "By render version",
  "common.automationLabel.analyticsAiBreakdownValidationErrors": "Validation errors",
  "common.automationLabel.analyticsAiBreakdownCtaKind": "CTA kind distribution",
  "common.automationLabel.analyticsAiCorrespondenceValidationFailed": "Failed validation",
  "common.automationLabel.analyticsAiCorrespondenceRepaired": "Auto-repaired drafts",
  "common.automationLabel.analyticsAiCorrespondenceRoutedToApproval": "Routed to approval",
  "common.automationLabel.analyticsAiCtaRepairRate": "CTA repair rate",
  "common.automationLabel.analyticsAiCtaDemotedRate": "CTA demotion rate",
  "common.automationLabel.analyticsAiCtaUnlabeledRate": "CTA unlabeled rate",
  "common.automationLabel.analyticsAiCallsPerDraftAverage": "Avg. model calls per draft",
  "common.automationLabel.analyticsAiShareAboveOneLookup": "Share with >1 lookup",
  "common.automationLabel.analyticsAiShareHitCap": "Share that hit lookup cap",
  "common.automationLabel.analyticsAiUnresolvedQuestionRate": "Unresolved-question rate",
  "common.automationLabel.analyticsAiDroppedQuestionRate": "Dropped-question rate",
  "common.automationLabel.analyticsAiPartialGroundingRate": "Partial-grounding rate",
  "common.automationLabel.analyticsAiFallbackLegacyRate": "Fallback-to-legacy rate",
  "common.automationLabel.experimentEnabled": "A/B copy experiment",
  "common.automationLabel.experimentEnabledHelp": "Randomly assign contacts to variant instructions (stable per contact). Compare results in Analytics — not causal lift.",
  "common.automationLabel.experimentPrimaryMetric": "Primary comparison metric",
  "common.automationLabel.experimentPrimaryMetricHelp": "Used for side-by-side variant tables and sample warnings in Analytics.",
  "common.automationLabel.experimentMetricInfluencedReplies": "Influenced replies",
  "common.automationLabel.experimentMetricInfluencedMeetings": "Influenced meetings booked",
  "common.automationLabel.experimentMetricInfluencedApplications": "Influenced applications submitted",
  "common.automationLabel.experimentMetricInfluencedPayments": "Influenced payments",
  "common.automationLabel.experimentMinimumDelivered": "Minimum delivered per variant",
  "common.automationLabel.experimentMinimumDeliveredHelp": "Analytics shows a warning below this count (platform default when empty).",
  "common.automationLabel.experimentVariantAKey": "Variant A key",
  "common.automationLabel.experimentVariantALabel": "Variant A label",
  "common.automationLabel.experimentVariantAWeight": "Variant A traffic %",
  "common.automationLabel.experimentVariantAQuestion": "Variant A instruction override",
  "common.automationLabel.experimentVariantASubject": "Variant A email subject override",
  "common.automationLabel.experimentVariantBKey": "Variant B key",
  "common.automationLabel.experimentVariantBLabel": "Variant B label",
  "common.automationLabel.experimentVariantBWeight": "Variant B traffic %",
  "common.automationLabel.experimentVariantBQuestion": "Variant B instruction override",
  "common.automationLabel.experimentVariantBSubject": "Variant B email subject override",
  "common.automationLabel.experimentVariantCEnabled": "Enable third variant (C)",
  "common.automationLabel.experimentVariantCKey": "Variant C key",
  "common.automationLabel.experimentVariantCLabel": "Variant C label",
  "common.automationLabel.experimentVariantCWeight": "Variant C traffic %",
  "common.automationLabel.experimentVariantCQuestion": "Variant C instruction override",
  "common.automationLabel.experimentVariantCSubject": "Variant C email subject override",
  "common.automationLabel.experimentVariantQuestionHelp": "Optional. Overrides the node instruction for contacts assigned to this variant.",
  "common.automationLabel.experimentTooFewVariants": "Enable at least two variants with traffic weights when A/B copy experiment is on.",
  "common.automationLabel.experimentWeightsNot100": "Experiment variant traffic weights should sum to 100 (current sum: :sum).",
  "common.automationLabel.experimentDuplicateVariantKeys": "Each experiment variant must have a unique key.",
  "common.automationLabel.experimentVariantMissingQuestion": "Provide a default instruction or at least one variant instruction override.",
  "common.automationLabel.experimentAnalyticsTitle": "A/B copy experiments",
  "common.automationLabel.experimentAnalyticsDescription": "Compare variants on the same influenced metrics as AI Follow-Up analytics. Record a preferred variant manually — nothing is auto-promoted.",
  "common.automationLabel.experimentNodeLabel": "Node :node",
  "common.automationLabel.experimentInsufficientSample": "Insufficient sample — need at least :minimum delivered follow-ups per variant before comparing.",
  "common.automationLabel.experimentSignificantDifference": "Observed difference on the primary metric may be statistically meaningful (still not proof of causation).",
  "common.automationLabel.experimentNoSignificantDifference": "No statistically meaningful difference detected on the primary metric yet.",
  "common.automationLabel.experimentDeliveredCount": ":count delivered",
  "common.automationLabel.experimentRecordPreferred": "Record preferred",
  "common.automationLabel.experimentPreferredRecorded": "Preferred variant recorded: :variant",
  "common.admissionsBriefLabel.sectionAiFollowUpOperations": "AI Follow-Up operations",
  "common.admissionsBriefLabel.sectionManagementCollections": "Collections this month",
  "common.admissionsBriefLabel.sectionTeamOverdueTasks": "Team overdue tasks",
  "common.admissionsBriefLabel.sectionLessonsScheduleRisks": "Today's lessons",
  "common.admissionsBriefLabel.sectionAttendanceExceptionsToday": "Today's attendance exceptions",
  "common.admissionsBriefLabel.askAboutThis": "Ask about this",
  "common.admissionsBriefLabel.askAboutSectionPrompt": "Tell me more about :section in the Daily Brief.",
  "common.aiAssistantReviewLabel.schoolGuideAppliedYes": "Guide applied",
  "common.aiAssistantReviewLabel.schoolGuideAppliedNo": "Guide not applied",
  "common.aiAssistantReviewLabel.columnSchoolGuideApplied": "School guide",
  "common.admissionsBriefLabel.aiFollowUpSectionDescription": "Counts link to filtered automation and admissions views. No generated narrative.",
  "common.contactLabel.workStateEscalationFallbackTeam": "AI Follow-Up escalation team",
  "common.contactLabel.workStateEscalationFallbackTeamHelper": "When a contact has no owner, AI Follow-Up escalation tasks route to this staff team.",
  "common.contactLabel.workStateEscalationTeamNone": "No fallback team",
  "common.contactLabel.aiFollowUpAttributionWindowDays": "AI Follow-Up attribution window (days)",
  "common.contactLabel.aiFollowUpAttributionWindowDaysHelper": "Studio analytics only — does not change when automations send. After each delivered AI Follow-Up, count replies and admissions events (payments, meetings booked, enrollments, application updates) that occur within this many days. Use fewer days for fast cycles; more for long nurture. Shows possible influence, not proof the message caused the outcome.",
  "common.automationLabel.approvalDraftBodyRequired": "Enter a message body before approving this AI draft.",
  "common.automationLabel.approvalDraftSubjectRequired": "Enter an email subject before approving this AI draft.",
  "common.automationLabel.approvalDraftConfidence": "AI confidence: :score",
  "common.automationLabel.approvalDraftBody": "Message body",
  "common.automationLabel.approvalDraftEnhancementPrompt": "Enhancement Prompt",
  "common.automationLabel.approvalDraftEnhancementPromptHelp": "Tell the AI how to adjust the message (e.g. warmer, shorter, more formal), then choose Rewrite with AI.",
  "common.automationLabel.approvalDraftEnhancementPromptPlaceholder": "e.g. Make it warmer and mention our next intake date",
  "common.automationLabel.approvalDraftEnhancementPromptRequired": "Enter an enhancement prompt before rewriting.",
  "common.automationLabel.approvalDraftRewrite": "Rewrite with AI",
  "common.automationLabel.approvalDraftRewriteSuccess": "Message body updated. Review before approving.",
  "common.automationLabel.approvalDraftRewriteUnavailable": "This approval is no longer available for AI rewrite.",
  "common.automationLabel.approvalDraftRewriteUnsupported": "Rewrite with AI is only available for AI Follow-Up approval drafts.",
  "common.automationLabel.approvalDraftRewriteMissingNode": "The automation node for this draft could not be loaded.",
  "common.automationLabel.approvalDraftRewriteMissingRun": "The automation run for this draft could not be loaded.",
  "common.automationLabel.approvalDraftRewriteMissingContact": "A contact is required to rewrite this draft with the same AI instructions.",
  "common.automationLabel.approvalDraftRewriteUnchanged": "The AI returned the same message. Try a more specific enhancement prompt.",
  "common.automationLabel.approvalDraftRejectRewrite": "Reject AI changes",
  "common.automationLabel.approvalDraftRejectRewriteSuccess": "Restored the previous message.",
  "common.automationLabel.approvalShowInLanguage": "Show in language",
  "common.automationLabel.approvalShowInLanguageHelp": "Preview only. Approving still sends the original message, not this language.",
  "common.automationLabel.approvalRegenerateInLanguage": "Regenerate in language",
  "common.automationLabel.approvalTranslateInLanguage": "Translate to language",
  "common.automationLabel.approvalTranslateInLanguageHelp": "Replace the draft with a translation of this message. Approving will send the translated version.",
  "common.automationLabel.approvalTranslateInLanguageSuccess": "Message translated. Review before approving.",
  "common.automationLabel.approvalOriginalLanguage": "Original",
  "common.automationLabel.approvalRestoreOriginal": "Restore original",
  "common.automationLabel.approvalRestoreOriginalSuccess": "Restored the original message.",
  "common.automationLabel.capabilityWaitDescription": "Legacy scheduling node (hidden from palette). Use Delay for fixed pauses or Schedule for calendar timing. Existing graphs keep working.",
  "common.automationLabel.capabilityWaitUntilDescription": "Pause until a specific event occurs for the same contact, with a timeout branch.",
  "common.automationLabel.capabilityDoUntilDescription": "Repeat the loop steps on an interval until an exit event or condition happens, with a timeout branch for the safety limits.",
  "common.automationLabel.doUntilIntervalAmount": "Repeat every",
  "common.automationLabel.doUntilIntervalAmountHelp": "Time between loop passes. One minute minimum.",
  "common.automationLabel.doUntilIntervalUnit": "Interval unit",
  "common.automationLabel.doUntilExitMatchMode": "Exit when",
  "common.automationLabel.doUntilExitMatchAny": "Any exit criteria is met",
  "common.automationLabel.doUntilExitMatchAll": "All exit criteria are met",
  "common.automationLabel.doUntilExitMatchModeHelp": "Whether one or both of the exit event and exit condition must be satisfied to leave through Done.",
  "common.automationLabel.doUntilExitEvent": "Exit event",
  "common.automationLabel.doUntilExitEventHelp": "Leave the loop immediately when this event fires for the same contact. Status Changed options are scoped by record type, the same as Studio triggers.",
  "common.automationLabel.doUntilExitCondition": "Exit condition",
  "common.automationLabel.doUntilExitConditionHelp": "Leave the loop when this condition passes. Its settings appear below.",
  "common.automationLabel.doUntilExitConditionSettings": "Exit condition settings",
  "common.automationLabel.doUntilMaxIterations": "Maximum passes",
  "common.automationLabel.doUntilMaxIterationsHelp": "The loop leaves through Timeout after this many passes.",
  "common.automationLabel.doUntilMaxDurationAmount": "Maximum duration",
  "common.automationLabel.doUntilMaxDurationAmountHelp": "Optional. The loop leaves through Timeout once this much time has passed since it started.",
  "common.automationLabel.doUntilMaxDurationUnit": "Duration unit",
  "common.automationLabel.doUntilMissingBranch": "Connect the \":branch\" output of the Do Until node.",
  "common.automationLabel.doUntilLoopDoesNotReturn": "The Loop branch must end by connecting back to the Do Until node.",
  "common.automationLabel.doUntilMissingTimeoutBranch": "No Timeout path is connected on the Do Until node; the workflow ends when the loop reaches its limit.",
  "common.automationLabel.doUntilExceedsStepBudget": "This loop can run up to :steps steps, more than the runtime limit of :max, which stops the run as failed.",
  "common.automationLabel.category": "Category",
  "common.automationLabel.categoryRequired": "Category is required.",
  "common.automationLabel.changeTrigger": "Change Trigger",
  "common.automationLabel.changeTriggerWarning": "Changing the trigger may make existing condition or action nodes incompatible.",
  "common.automationLabel.channels": "Channels",
  "common.automationLabel.chooseTemplate": "Template",
  "common.automationLabel.classificationType": "Classification Type",
  "common.automationLabel.classifyInquiryWithAi": "Classify Inquiry With AI",
  "common.automationLabel.classifyInquiryWithAiDescription": "Native OpenAI JSON classifier - writes a CRM/meta field, fires AiInquiryClassified, and can create a staff task on low confidence. Does not use SalesApe.",
  "common.automationLabel.classifyInquiryAllowedLabels": "Allowed Labels",
  "common.automationLabel.classifyInquiryAllowedLabelsHelper": "Comma- or line-separated labels the model must choose from when Label Set is Custom.",
  "common.automationLabel.classifyInquiryConfidenceThreshold": "Confidence Threshold",
  "common.automationLabel.classifyInquiryConfidenceThresholdHelper": "Minimum confidence score (0-1). Results below this use the fallback value.",
  "common.automationLabel.classifyInquiryContextNote": "Context Note",
  "common.automationLabel.classifyInquiryContextNoteHelper": "Extra staff guidance for the classifier (also used as last-resort inquiry text).",
  "common.automationLabel.classifyInquiryCreateTaskOnLowConfidence": "Create staff task on low confidence",
  "common.automationLabel.classifyInquiryCreateTaskOnLowConfidenceHelper": "Creates a staff task when AI is unsure or unavailable, so someone can review the inquiry.",
  "common.automationLabel.classifyInquiryFallbackValue": "Fallback Value",
  "common.automationLabel.classifyInquiryFallbackValueHelper": "Used when OpenAI is unavailable, empty, or below the confidence threshold.",
  "common.automationLabel.classifyInquiryIncludeKbDigest": "Include knowledge digest",
  "common.automationLabel.classifyInquiryIncludeKbDigestHelper": "Retrieves a short persona KB digest to improve routing accuracy. Requires a student-facing persona.",
  "common.automationLabel.classifyInquiryInquirySource": "Inquiry Text Source",
  "common.automationLabel.classifyInquiryInquirySourceConfig": "Use the text entered below",
  "common.automationLabel.classifyInquiryInquirySourceHelper": "When using the trigger message, choose which payload fields to read below. Leave fields empty to auto-detect in the standard order.",
  "common.automationLabel.classifyInquiryInquirySourcePayload": "Use the message from this trigger",
  "common.automationLabel.classifyInquiryPayloadFields": "Payload fields to check",
  "common.automationLabel.classifyInquiryPayloadFieldsHelper": "Checked in the order selected. Leave empty to auto-detect all standard trigger fields.",
  "common.automationLabel.classifyInquiryPayloadFieldInquiryText": "Inquiry text (inquiry_text)",
  "common.automationLabel.classifyInquiryPayloadFieldSmsBody": "SMS body (sms_body)",
  "common.automationLabel.classifyInquiryPayloadFieldMessage": "Message (payload or contact message field)",
  "common.automationLabel.classifyInquiryPayloadFieldBody": "Body (body)",
  "common.automationLabel.classifyInquiryPayloadFieldContent": "Content (content)",
  "common.automationLabel.classifyInquiryPayloadFieldQuestion": "Question (question)",
  "common.automationLabel.classifyInquiryPayloadFieldSubmissionText": "Submission text (submission_text)",
  "common.automationLabel.classifyInquiryPayloadFieldEmailBody": "Email body (email_body)",
  "common.automationLabel.classifyInquiryPayloadFieldDataBag": "Form data bag (data.*)",
  "common.automationLabel.classifyInquiryPayloadFieldConversation": "SMS conversation (conversation)",
  "common.automationLabel.classifyInquiryPayloadFieldPortalMessage": "Portal / inbox message (Message record)",
  "common.automationLabel.classifyInquiryPayloadFieldAiChatMessage": "AI chat message (AiAgentMessage)",
  "common.automationLabel.classifyInquiryPayloadFieldSmsObject": "Nested SMS object (sms.*)",
  "common.automationLabel.classifyInquiryPayloadFieldSubmission": "Submission / application notes",
  "common.automationLabel.classifyInquiryPayloadFieldFormFields": "Form answers / fields aggregate",
  "common.automationLabel.classifyInquiryCustomPayloadKeys": "Additional payload keys",
  "common.automationLabel.classifyInquiryCustomPayloadKeysHelper": "Optional comma-separated keys checked after the fields above. Use student.message for contact fields, data.my_field for form data, or a top-level payload key.",
  "common.automationLabel.classifyInquiryInquiryText": "Inquiry Text",
  "common.automationLabel.classifyInquiryInquiryTextHelper": "Only used when Inquiry Text Source is set to the text entered below.",
  "common.automationLabel.classifyInquiryLabelMode": "Label Set",
  "common.automationLabel.classifyInquiryLabelModeAuto": "Recommended labels for type",
  "common.automationLabel.classifyInquiryLabelModeCustom": "Custom allowed labels",
  "common.automationLabel.classifyInquiryLabelModeHelper": "Auto uses recommended labels for the selected classification type. Custom requires Allowed Labels below.",
  "common.automationLabel.classifyInquiryLowConfidenceTaskTitle": "Low Confidence Task Title",
  "common.automationLabel.classifyInquiryLowConfidenceTaskTitleHelper": "Title for the staff task created when classification falls back.",
  "common.automationLabel.classifyInquiryPersonaId": "AI Agent Persona (KB)",
  "common.automationLabel.classifyInquiryPersonaIdHelper": "Student/parent/agent persona for KB digest. Leave empty to auto-resolve from the contact when possible.",
  "common.automationLabel.classifyInquiryStoreResultContactField": "Contact field",
  "common.automationLabel.classifyInquiryStoreResultContactFieldHelper": "Pick a text contact field to store the classification label.",
  "common.automationLabel.classifyInquiryStoreResultCustom": "Property name",
  "common.automationLabel.classifyInquiryStoreResultCustomHelper": "Advanced: internal property key. Used only when no matching students column exists.",
  "common.automationLabel.classifyInquiryStoreResultField": "Store Result Field",
  "common.automationLabel.classifyInquiryStoreResultFieldHelper": "Students column name when present; otherwise stored under student properties[field].",
  "common.automationLabel.classifyInquiryStoreResultTarget": "Save classification on contact",
  "common.automationLabel.classifyInquiryStoreResultTargetContactField": "Existing contact field",
  "common.automationLabel.classifyInquiryStoreResultTargetCustom": "Other property name",
  "common.automationLabel.classifyInquiryStoreResultTargetDefault": "AI Classification (recommended)",
  "common.automationLabel.classifyInquiryStoreResultTargetHelper": "Choose where the AI label is saved on the contact profile for routing, lists, and staff review.",
  "common.automationLabel.classifyInquiryTaskPriority": "Task Priority",
  "common.automationLabel.classifyInquiryTaskType": "Task Type",
  "common.automationLabel.classifyInquiryType": "Classification Type",
  "common.automationLabel.classifyInquiryTypeHelper": "Choose what the saved label should describe. Recommended labels for the selected type appear below.",
  "common.automationLabel.classifyInquiryTypeIntent": "Intent (why they reached out)",
  "common.automationLabel.classifyInquiryTypeIntentHelper": "Recommended labels: general_inquiry, program_info, application_help, financial_aid, campus_visit, other.",
  "common.automationLabel.classifyInquiryTypeProgramInterest": "Program interest (what they want to study)",
  "common.automationLabel.classifyInquiryTypeProgramInterestHelper": "Recommended labels: undergraduate, graduate, certificate, continuing_education, undecided, other.",
  "common.automationLabel.classifyInquiryTypeRouting": "Routing (which team should handle it)",
  "common.automationLabel.classifyInquiryTypeRoutingHelper": "Recommended labels: admissions, registrar, financial_aid, international, online, general.",
  "common.automationLabel.classifyInquiryTypeUrgency": "Urgency (how soon they need help)",
  "common.automationLabel.classifyInquiryTypeUrgencyHelper": "Recommended labels: immediate, this_week, this_month, exploring, unknown.",
  "common.automationLabel.classifyInquiryTypePriority": "Priority (how hot the lead is)",
  "common.automationLabel.classifyInquiryTypeSentiment": "Sentiment (how the contact sounds)",
  "common.automationLabel.classifyInquiryAnalysisMode": "What the AI should return",
  "common.automationLabel.classifyInquiryAnalysisModeHelper": "Admissions triage labels every dimension in one AI call and saves each to its own contact field. One label saves a single label to one field.",
  "common.automationLabel.classifyInquiryAnalysisModeTriage": "Full admissions triage (recommended)",
  "common.automationLabel.classifyInquiryAnalysisModeTriageHelper": "One AI call returns intent, program interest, urgency, routing team, sentiment, intake term, a summary, and a priority derived from those labels.",
  "common.automationLabel.classifyInquiryAnalysisModeSingleLabel": "One label only",
  "common.automationLabel.classifyInquiryAnalysisModeSingleLabelHelper": "Returns a single label for the classification type selected below.",
  "common.automationLabel.classifyInquiryIncludeProgramCatalog": "Match against your program catalog",
  "common.automationLabel.classifyInquiryIncludeProgramCatalogHelper": "Sends your program titles to the classifier so program interest resolves to a real program instead of a generic level.",
  "common.automationLabel.classifyInquiryAddTriageNote": "Add triage summary note to the profile",
  "common.automationLabel.classifyInquiryAddTriageNoteHelper": "Writes a profile note with the priority, routing, summary, and questions asked so an advisor does not have to reread the message.",
  "common.automationLabel.classifyInquiryTriageNoteTitle": "AI inquiry triage",
  "common.automationLabel.classifyInquiryWithAi": "Classify Inquiry With AI",
  "common.automationLabel.classifyInquiryWithAiDescription": "Reads the incoming inquiry and saves what admissions needs to route it: intent, program interest, urgency, team, and priority. Does not send a reply.",
  "common.automationLabel.classifyInquiryWithAiUsage": "Use this after a form, SMS, or chat inquiry. In admissions triage mode one AI call labels intent, program interest, urgency, routing team, sentiment, and priority, saves each to its own ai_inquiry_* contact field, and writes a summary note. Next, branch with AI Classification Is on any of those dimensions, or start another automation on AI Inquiry Classified. To send a reply, add AI Follow-Up after this node.",
  "common.automationLabel.clearFilters": "Clear filters",
  "common.automationLabel.clickEdgeToRemove": "Click a connection on the canvas to remove it.",
  "common.automationLabel.cloneAutomation": "Clone",
  "common.automationLabel.closeValidation": "Close",
  "common.automationLabel.cohortScope": "Cohort Scope",
  "common.automationLabel.collapseMinimap": "Collapse minimap",
  "common.automationLabel.collapsePalette": "Collapse palette",
  "common.automationLabel.collapsePanel": "Collapse panel",
  "common.automationLabel.collapseSettings": "Collapse settings",
  "common.automationLabel.collapseSteps": "Collapse steps",
  "common.automationLabel.communication": "Communication",
  "common.automationLabel.communicationPurpose": "Communication purpose",
  "common.automationLabel.communicationPurposeHintMarketingStrict": "Marketing purpose under this jurisdiction: sends require ledger consent and respect unsubscribe, do-not-contact, and channel consent. Consent respect toggles below cannot be disabled for marketing.",
  "common.automationLabel.communicationPurposeHintMarketingUs": "Marketing purpose under the US profile: email is blocked mainly by unsubscribe and do-not-contact; SMS, phone, and WhatsApp still require affirmative consent.",
  "common.automationLabel.communicationPurposeHintOperational": "Operational messages (enrollment updates, schedule changes, staff workflows) skip marketing consent checks but still honor do-not-contact, unsubscribe, and channel consent rules where configured.",
  "common.automationLabel.communicationPurposeHintTransactional": "Transactional messages (receipts, confirmations, account notices) skip marketing consent checks but still honor do-not-contact and unsubscribe where applicable.",
  "common.automationLabel.communicationPurposeMarketingConsentLocked": "Marketing purpose under this school jurisdiction requires consent and unsubscribe respect; those toggles cannot be turned off.",
  "common.automationLabel.communicationPurposeRequired": "Select a communication purpose before continuing.",
  "common.automationLabel.communicationPurposeFieldHelper": "Choose whether messages are marketing, operational, or transactional. This controls which consent checks apply when this automation sends email, SMS, or phone steps.",
  "common.automationLabel.communicationPurposeTemplateLockedHelper": "Predefined by the :template template. Purpose is based on the template category and cannot be changed here.",
  "common.automationLabel.communicationSettingsFromTemplate": "Communication rules were set from the :template template. Adjust quiet hours or per-contact send limits if needed.",
  "common.automationLabel.communicationContactTypeDisabledHint": "Rules for this contact type are turned off. Enable the toggle above to configure consent respect and send limits.",
  "common.automationLabel.communicationRuleDeferredGeneric": "Waiting ? communication will resume at :time.",
  "common.automationLabel.communicationRuleDeferredQuietHours": "Waiting for quiet hours to end ? email will send at :time.",
  "common.automationLabel.communicationRuleDeferredEmailRateLimit": "Waiting for daily email limit ? will retry at :time.",
  "common.automationLabel.communicationRuleDeferredSmsRateLimit": "Waiting for weekly SMS limit ? will retry at :time.",
  "common.automationLabel.communicationRuleDeferredPhoneRateLimit": "Waiting for weekly phone call limit ? will retry at :time.",
  "common.automationLabel.communicationRuleDeferredCommunicationRateLimit": "Waiting for send limit ? will retry at :time.",
  "common.automationLabel.communicationRuleReasonCommunicationRateLimit": "Skipped ? communication rate limit reached for this contact.",
  "common.automationLabel.communicationRuleReasonConsentMissing": "Skipped — required communication consent is missing.",
  "common.automationLabel.communicationRuleReasonContactUnsubscribed": "Skipped ? contact is unsubscribed from this channel.",
  "common.automationLabel.communicationRuleReasonDoiPending": "Skipped — marketing email double opt-in is still pending.",
  "common.automationLabel.communicationRuleReasonDoNotContact": "Skipped ? contact is marked do not contact.",
  "common.automationLabel.communicationRuleReasonEmailRateLimit": "Skipped ? daily email limit reached for this contact.",
  "common.automationLabel.communicationRuleReasonGeneric": "Skipped ? blocked by communication rules.",
  "common.automationLabel.communicationRuleReasonMarketingConsentMissing": "Skipped — contact has not granted marketing email consent.",
  "common.automationLabel.communicationRuleReasonParentOnlyCommunication": "Skipped ? student requires parent-only communication.",
  "common.automationLabel.communicationRuleReasonPhoneConsentMissing": "Skipped ? phone consent is missing.",
  "common.automationLabel.communicationRuleReasonPhoneRateLimit": "Skipped ? weekly phone call limit reached for this contact.",
  "common.automationLabel.communicationRuleReasonQuietHours": "Skipped ? quiet hours (email blocked during configured quiet period).",
  "common.automationLabel.communicationRuleReasonSmsConsentMissing": "Skipped ? SMS consent is missing.",
  "common.automationLabel.communicationRuleReasonSmsRateLimit": "Skipped ? weekly SMS limit reached for this contact.",
  "common.automationLabel.communicationRuleReasonWhatsappConsentMissing": "Skipped — WhatsApp consent is missing.",
  "common.automationLabel.nodeSkipReason": "Skip reason",
  "common.automationLabel.nodeSkipReasonActionApprovalRejected": "Skipped — a required approval was rejected.",
  "common.automationLabel.nodeSkipReasonDeadlinePastDate": "Skipped — the deadline date is already in the past.",
  "common.automationLabel.nodeSkipReasonSchedulePastDate": "Skipped — the scheduled date is already in the past.",
  "common.automationLabel.nodeSkipReasonUnknown": "Skipped — no reason was recorded.",
  "common.automationLabel.communicationRules": "Communication Rules",
  "common.automationLabel.communicationRulesApplyToContactType": "Apply to Contact Type",
  "common.automationLabel.communicationRulesContactTypeHint": "Select the type of contact to apply this rule to.",
  "common.automationLabel.communicationRulesAudienceAwareHint": "Rules below apply to contact types in your :audience audience.",
  "common.automationLabel.communicationRulesAudienceAwareSingle": "Rules below apply to :contactType contacts in your :audience audience.",
  "common.automationLabel.communicationRulesGlobalSettings": "Communication Rules and Global Settings",
  "common.automationLabel.communicationRulesNotApplicableForStaff": "Not applicable ? staff automations do not use contact communication preferences.",
  "common.automationLabel.communicationSettingsAutoDetected": "Communication rules were auto-detected from this automation category and purpose. Adjust purpose, quiet hours, or per-contact caps if needed.",
  "common.automationLabel.compareVersions": "Compare Versions",
  "common.automationLabel.completedAt": "Completed At",
  "common.automationLabel.completedRuns": "Completed Runs",
  "common.automationLabel.complexity": "Complexity",
  "common.automationLabel.complexityAdvancedSetup": "Advanced setup",
  "common.automationLabel.complexityMediumSetup": "Moderate setup",
  "common.automationLabel.complexitySimpleSetup": "Simple to set up",
  "common.automationLabel.conditionAudienceIs": "Audience Is",
  "common.automationLabel.conditionAudienceIsDescription": "Check whether the student or persona audience matches the selected audience.",
  "common.automationLabel.conditionBlockedTopicDetected": "Blocked Topic Detected",
  "common.automationLabel.conditionBlockedTopicDetectedDescription": "Check whether a blocked topic was detected in the AI agent payload.",
  "common.automationLabel.conditionConfidenceBelowThreshold": "Confidence Below Threshold",
  "common.automationLabel.conditionConfidenceBelowThresholdDescription": "Check whether the answer confidence score is below the configured threshold.",
  "common.automationLabel.conditionCommunicationChannelIs": "Communication Channel",
  "common.automationLabel.conditionCommunicationChannelIsDescription": "Check whether the subscription change applies to email, SMS, phone, or WhatsApp.",
  "common.automationLabel.conditionConversationLanguageIs": "Conversation Language Is",
  "common.automationLabel.conditionConversationLanguageIsDescription": "Check whether the AI agent persona language matches the configured language.",
  "common.automationLabel.conditionEscalationRequested": "Escalation Requested",
  "common.automationLabel.conditionEscalationRequestedDescription": "Check whether the AI agent payload indicates escalation is required.",
  "common.automationLabel.conditionField": "Field",
  "common.automationLabel.conditionNodes": "Condition Nodes",
  "common.automationLabel.conditionNotAllowedForTrigger": "This condition is not allowed for the selected trigger.",
  "common.automationLabel.conditionOperator": "Operator",
  "common.automationLabel.conditionPersonaIs": "Persona Is",
  "common.automationLabel.conditionPersonaIsDescription": "Check whether the AI agent persona matches the selected persona.",
  "common.automationLabel.conditionQuestionTopicContains": "Question Topic Contains",
  "common.automationLabel.conditionQuestionTopicContainsDescription": "Check whether the student question contains the configured topic text.",
  "common.automationLabel.conditionResourceCategoryMatched": "Resource Category Matched",
  "common.automationLabel.conditionResourceCategoryMatchedDescription": "Check whether retrieved knowledge sources include the configured resource category.",
  "common.automationLabel.conditionStudentHasAssignedAdvisor": "Student Has Assigned Advisor",
  "common.automationLabel.conditionStudentHasAssignedAdvisorDescription": "Check whether the student has an assigned advisor or owner.",
  "common.automationLabel.conditionStudentHasParentLinked": "Student Has Parent Linked",
  "common.automationLabel.conditionStudentHasParentLinkedDescription": "Check whether the student has a linked parent contact.",
  "common.automationLabel.conditionStudentIsApplicant": "Student Is Applicant",
  "common.automationLabel.conditionStudentIsApplicantDescription": "Check whether the student is treated as an applicant in the AI agent context.",
  "common.automationLabel.conditionMessageHasAttachments": "Message Has Attachments",
  "common.automationLabel.conditionMessageHasAttachmentsDescription": "Check whether the message includes one or more attachments.",
  "common.automationLabel.conditionMessageIsReply": "Message Is Reply",
  "common.automationLabel.conditionMessageIsReplyDescription": "Check whether the message is a reply in an existing thread.",
  "common.automationLabel.conditionMessageRecipientType": "Message Recipient Type",
  "common.automationLabel.conditionMessageRecipientTypeDescription": "Check whether the message recipient is staff, student, parent, or contact.",
  "common.automationLabel.conditionMessageSenderType": "Message Sender Type",
  "common.automationLabel.conditionMessageSenderTypeDescription": "Check whether the message sender is staff, student, parent, or contact.",
  "common.automationLabel.conditionMessageSubjectContains": "Message Subject Contains",
  "common.automationLabel.conditionMessageSubjectContainsDescription": "Check whether the thread subject contains specific text.",
  "common.automationLabel.conditionStudentIsEnrolled": "Student Is Enrolled",
  "common.automationLabel.conditionStudentIsEnrolledDescription": "Check whether the student is treated as enrolled in the AI agent context.",
  "common.automationLabel.conditionSubscriptionReasonIs": "Subscription Reason",
  "common.automationLabel.conditionSubscriptionReasonIsDescription": "Check the opt-in or opt-out reason recorded on the subscription change.",
  "common.automationLabel.conditionSubscriptionSourceIs": "Subscription Source",
  "common.automationLabel.conditionSubscriptionSourceIsDescription": "Check where the subscription change originated.",
  "common.automationLabel.conditionValue": "Value",
  "common.automationLabel.confidenceThreshold": "Confidence Threshold",
  "common.automationLabel.configuration": "Configuration",
  "common.automationLabel.configureTrigger": "Configure Trigger",
  "common.automationLabel.confirmArchiveTemplate": "Archive this template? It will be hidden from the active template library.",
  "common.automationLabel.connectionDuplicate": "This connection already exists.",
  "common.automationLabel.connectionNeedsTwoNodes": "Add at least two nodes before creating a connection.",
  "common.automationLabel.connectionSameNode": "Choose a different target node.",
  "common.automationLabel.connections": "Connections",
  "common.automationLabel.consentPreferences": "Consent & preferences",
  "common.automationLabel.consentSectionJurisdictionManaged": "Consent checks for :audience contacts follow your :profile jurisdiction profile and cannot be changed per automation. Adjust send limits below to cap how often this automation contacts each person.",
  "common.automationLabel.consentSectionOperationalHint": "Choose which consent rules apply to :audience contacts, then set send limits below.",
  "common.automationLabel.consentSectionTransactionalHint": "Choose which do-not-contact and unsubscribe rules apply to :audience contacts, then set send limits below.",
  "common.automationLabel.communicationPurposeInfoTitleOperational": "Operational communication",
  "common.automationLabel.communicationPurposeInfoTitleTransactional": "Transactional communication",
  "common.automationLabel.communicationPurposeInfoNotRequired": "Not required",
  "common.automationLabel.communicationPurposeInfoStillChecked": "Still checked",
  "common.automationLabel.communicationPurposeInfoConfigureBelow": "Use Consent & preferences below to turn individual rules on or off.",
  "common.automationLabel.communicationCheckMarketingEmailConsent": "Marketing email consent",
  "common.automationLabel.communicationCheckDoNotContact": "Do not contact",
  "common.automationLabel.communicationCheckUnsubscribe": "Unsubscribe",
  "common.automationLabel.communicationCheckSmsConsent": "SMS consent",
  "common.automationLabel.communicationCheckPhoneConsent": "Phone consent",
  "common.automationLabel.communicationCheckSendLimits": "Send limits and quiet hours",
  "common.automationLabel.jurisdictionOperationalInfoIntro": "Service-related messages (enrollment updates, schedule changes, staff workflows) under your :profile profile:",
  "common.automationLabel.jurisdictionTransactionalInfoIntro": "Essential account messages (receipts, confirmations, notices) under your :profile profile:",
  "common.automationLabel.jurisdictionWizardCompact": "Communication jurisdiction: :profile.",
  "common.automationLabel.jurisdictionWizardCompactHelper": "Your :profile profile sets the minimum consent rules for every automation. Update the profile in Settings if your school's compliance requirements change.",
  "common.automationLabel.jurisdictionMarketingRestrictionHelper": "Marketing under the :profile profile must always respect unsubscribe, do-not-contact, and channel consent. Those rules are enforced by your school jurisdiction and cannot be turned off for individual automations.",
  "common.automationLabel.jurisdictionMarketingUsInfoHelper": "Marketing under the :profile profile blocks email mainly through unsubscribe and do-not-contact. SMS, phone, and WhatsApp still require affirmative consent. Adjust consent respect and send limits below.",
  "common.automationLabel.jurisdictionOperationalInfoHelper": "For enrollment updates, schedule changes, and other service-related messages. Marketing email consent is not required under your :profile profile, but do-not-contact, unsubscribe, and SMS/phone consent still apply when enabled in Consent & preferences below.",
  "common.automationLabel.jurisdictionTransactionalInfoHelper": "For receipts, confirmations, account notices, and similar essential messages. Marketing email consent is not required under your :profile profile, but do-not-contact and unsubscribe still apply. SMS and phone steps follow channel consent when enabled below.",
  "common.automationLabel.contactApprovalsDescription": "Automation actions waiting for staff review on this contact.",
  "common.automationLabel.contactEnrollments": "Contact enrollments",
  "common.automationLabel.contactEnrollmentsDescription": "Studio runtime runs for this contact across all automations.",
  "common.automationLabel.contactExecutionLogDescription": "Node-level execution steps for this contact across all automations.",
  "common.automationLabel.contactFieldValue": "Contact Field Value",
  "common.automationLabel.contactFieldRulesAdd": "Add field condition",
  "common.automationLabel.contactFieldRulesConditionLabel": "Condition :number",
  "common.automationLabel.contactFieldRulesJoinAnd": "AND",
  "common.automationLabel.contactFieldRulesJoinOr": "OR",
  "common.automationLabel.contactFieldRulesMatchAll": "All conditions (AND)",
  "common.automationLabel.contactFieldRulesMatchAny": "Any condition (OR)",
  "common.automationLabel.contactFieldRulesMatchHelp": "Choose whether every field rule must match or only one of them.",
  "common.automationLabel.contactFieldRulesMatchLabel": "Match",
  "common.automationLabel.contactFieldRulesRemove": "Remove condition",
  "common.automationLabel.contactFieldGroupAiTriage": "AI triage",
  "common.automationLabel.contactFieldGroupContact": "Contact custom fields",
  "common.automationLabel.contactFieldGroupEnrollment": "Enrollment",
  "common.automationLabel.enrolledProgram": "Enrolled program",
  "common.automationLabel.enrolledCourse": "Enrolled course",
  "common.automationLabel.fieldContactField": "Contact Field",
  "common.automationLabel.fieldValue": "Value",
  "common.automationLabel.contactFieldValueDescription": "Check if a contact field value is equal or not equal to a value.",
  "common.automationLabel.contactOwner": "Contact Owner",
  "common.automationLabel.contactOwnerDescription": "Check if a contact is owned by a user.",
  "common.automationLabel.contactTimezone": "Contact's Timezone",
  "common.automationLabel.copyFromDraftAutomation": "Copy from draft automation",
  "common.automationLabel.courseScope": "Course Scope",
  "common.automationLabel.createAiMessageApproval": "Create AI Message Approval",
  "common.automationLabel.createAiMessageApprovalDescription": "Create an approval request for an AI-generated message before sending.",
  "common.automationLabel.createAutomation": "Create Automation",
  "common.automationLabel.createDraftAndOpenBuilder": "Create Draft and Open Builder",
  "common.automationLabel.createFromAutomationTemplate": "Create from Template",
  "common.automationLabel.createInAutomationStudio": "Create in Automation Studio",
  "common.automationLabel.createInStudio": "Create in Automation Studio",
  "common.automationLabel.createInvoice": "Create Invoice",
  "common.automationLabel.createInvoiceDescription": "Create an invoice for the contact.",
  "common.automationLabel.createNewAutomationInStudio": "Create new automation in Studio",
  "common.automationLabel.createPhoneCallTask": "Create Phone Call Task",
  "common.automationLabel.createPhoneCallTaskDescription": "Create a phone call task assigned to the admissions team.",
  "common.automationLabel.createTask": "Create Task",
  "common.automationLabel.createTaskDescription": "Create a task and assign it to a user.",
  "common.automationLabel.createTemplate": "Create Template",
  "common.automationLabel.createdAt": "Creation Date",
  "common.automationLabel.creating": "Creating draft?",
  "common.automationLabel.crmActions": "CRM Actions",
  "common.automationLabel.currentNode": "Current Node",
  "common.automationLabel.customObject": "Custom Object",
  "common.automationLabel.deleteAutomation": "Delete Automation",
  "common.automationLabel.deleteAutomationConfirm": "Deleting this automation will remove its workflow, conditions, actions, and logs.",
  "common.automationLabel.deleteNode": "Delete Node",
  "common.automationLabel.depositNotPaid": "Deposit Not Paid",
  "common.automationLabel.depositNotPaidDescription": "Check if the booking deposit has not been paid.",
  "common.automationLabel.description": "Description",
  "common.automationLabel.disabled": "Disabled",
  "common.automationLabel.discardAiDraft": "Discard",
  "common.automationLabel.discardAiProposal": "Discard proposal",
  "common.automationLabel.discardChanges": "Discard changes",
  "common.automationLabel.discardChangesConfirm": "Discard unsaved changes and restore the last saved draft?",
  "common.automationLabel.documentEvents": "Document Events",
  "common.automationLabel.documentStillMissing": "Document Still Missing",
  "common.automationLabel.documentStillMissingDescription": "This event is triggered when a required document remains missing after a reminder was already sent.",
  "common.automationLabel.draft": "Draft",
  "common.automationLabel.draftSaved": "Draft saved.",
  "common.automationLabel.draftVersions": "Draft Versions",
  "common.automationLabel.draftWithAi": "Draft with AI",
  "common.automationLabel.draftWithAiFieldHint": "Generate suggested copy for :field. Review the draft before applying it to this node.",
  "common.automationLabel.dragHandleHint": "Drag the bottom handle of a node onto another node to connect them.",
  "common.automationLabel.dueAfterHours": "Due After (Hours)",
  "common.automationLabel.dueAfterHoursHelp": "Optional deadline relative to when the approval is created.",
  "common.automationLabel.dueIn": "Due In",
  "common.automationLabel.duplicateTemplate": "Duplicate Template",
  "common.automationLabel.duplicating": "Duplicating...",
  "common.automationLabel.editAutomation": "Edit Automation",
  "common.automationLabel.editInAutomationStudio": "Edit in Automation Studio",
  "common.automationLabel.editTemplate": "Edit Template",
  "common.automationLabel.educationCreated": "Education Path Created",
  "common.automationLabel.educationCreatedDescription": "This event is triggered when a student registers for a program.",
  "common.automationLabel.emailContentMode": "Email content",
  "common.automationLabel.emailContentModeHelp": "Choose whether to send an existing email template or write the email in this node.",
  "common.automationLabel.emailContentModeTemplate": "Email Template",
  "common.automationLabel.emailContentModeWrite": "Write Email",
  "common.automationLabel.emailPreview": "Email preview",
  "common.automationLabel.emailTemplatePreviewDescription": "Review the selected email template before using it in this automation step.",
  "common.automationLabel.enabled": "Enabled",
  "common.automationLabel.enrollContact": "Enroll Contact",
  "common.automationLabel.enrollContactDescription": "Search for a contact to enroll in this automation.",
  "common.automationLabel.enrollContactDescriptionNamed": "Search for a contact to enroll in :automation.",
  "common.automationLabel.enrollInAutomation": "Enroll in Automation",
  "common.automationLabel.enrollInAutomationDescription": "Enroll the contact in another automation.",
  "common.automationLabel.enrollmentsEmpty": "No contact enrollments yet. Published Studio runs will appear here after contacts enter this automation.",
  "common.automationLabel.enrollmentsTab": "Enrollments",
  "common.automationLabel.enterFullscreen": "Enter fullscreen",
  "common.automationLabel.errorMessage": "Error Message",
  "common.automationLabel.escalatedApprovals": "Escalated",
  "common.automationLabel.escalationAfterHours": "Escalate After (Hours)",
  "common.automationLabel.escalationEnabled": "Enable Escalation",
  "common.automationLabel.escalationNotifyRole": "Escalation Notify Role",
  "common.automationLabel.escalationTaskTitle": "Escalated approval: :title",
  "common.automationLabel.estimatedSetupTime": "Estimated setup time",
  "common.automationLabel.eventFiring": "Event Firing",
  "common.automationLabel.eventName": "Event Name",
  "common.automationLabel.eventNamePlaceholder": "Enter an event name",
  "common.automationLabel.eventScopedSettings": "This node is not available for the selected trigger, so its settings cannot be shown.",
  "common.automationLabel.examinationBooked": "Exam Booked",
  "common.automationLabel.examinationBookedDescription": "This event is triggered when a student books an examination.",
  "common.automationLabel.examinationInvitationSent": "Exam Invitation Sent",
  "common.automationLabel.examinationInvitationSentDescription": "This event is triggered when a student is invited to take an examination.",
  "common.automationLabel.examinationResultReceived": "Exam Result Received",
  "common.automationLabel.examinationResultReceivedDescription": "This event is triggered when a student receives an examination result.",
  "common.automationLabel.executionLogEntries": "Execution log entries",
  "common.automationLabel.exitCode": "Exit Code",
  "common.automationLabel.exitCodeHelp": "Optional code stored on the run for reporting or integrations.",
  "common.automationLabel.exitFullscreen": "Exit fullscreen",
  "common.automationLabel.exitReason": "Exit Reason",
  "common.automationLabel.exitedRuns": "Exited Runs",
  "common.automationLabel.expandMinimap": "Expand minimap",
  "common.automationLabel.expandPalette": "Expand palette",
  "common.automationLabel.expandSettings": "Expand settings",
  "common.automationLabel.expandSteps": "Expand steps",
  "common.automationLabel.failedAt": "Failed At",
  "common.automationLabel.failedNode": "Failed Node",
  "common.automationLabel.failedRuns": "Failed Runs",
  "common.automationLabel.failedRunsDescription": "Review, retry, and cancel failed automation runs across all automations.",
  "common.automationLabel.failedRunsEmpty": "No failed automation runs found.",
  "common.automationLabel.failuresByNode": "Failures by Node",
  "common.automationLabel.fallbackUser": "Fallback User",
  "common.automationLabel.fallbackUserHelp": "Reassign the approval to this user when escalation triggers.",
  "common.automationLabel.fallbackValue": "Fallback Value",
  "common.automationLabel.fieldAiVoiceCallGoal": "Call goal",
  "common.automationLabel.fieldAiVoiceDialAt": "Call at",
  "common.automationLabel.fieldAiVoiceDialAtHelp": "The contact's timezone. The call is placed then, up to 14 days ahead. A contact with no timezone uses the school timezone. Leave When as Call now to dial immediately.",
  "common.automationLabel.fieldAiVoiceDialWhen": "When",
  "common.automationLabel.fieldAiVoiceDialWhenHelp": "Call now places the call during this step. Schedule for later queues one call on the scheduled-calls queue and lets the workflow continue.",
  "common.automationLabel.aiVoiceDialNow": "Call now",
  "common.automationLabel.aiVoiceDialScheduled": "Schedule for later",
  "common.automationLabel.fieldAiVoiceCallGoalCustom": "Custom call goal",
  "common.automationLabel.fieldAiVoiceCallGoalCustomHelp": "Shown when Call goal is Custom. Supports merge tags such as ${students.first_name}. Tokens are resolved before the call starts; HTML is converted to plain text (max 2000).",
  "common.automationLabel.fieldAiVoiceCallGoalHelp": "What the AI agent should accomplish on this call. Custom lets you write a one-off objective with merge tags.",
  "common.automationLabel.fieldAiVoicePersonaId": "AI Persona ID",
  "common.automationLabel.fieldAiVoicePersonaIdHelp": "Required when Persona Source is Use selected persona below. Uses the persona system prompt, Knowledge Base digest, and bound voice agent. Starts fail closed without a usable student-facing persona (never staff-assistant).",
  "common.automationLabel.fieldAiVoiceVoiceId": "Voice ID override",
  "common.automationLabel.fieldAiVoiceVoiceIdHelp": "Optional journey TTS override from the active AI Voice provider catalog. Leave blank for Studio voice_id → persona voice_override → plugin default_voice_id → binding last-applied. Drivers that ignore per-call voice_id no-op without failing the call (bound agent voice from Enable/Sync still applies).",
  "common.automationLabel.fieldAssignee": "Assign To",
  "common.automationLabel.fieldAssigneeHelp": "Select Contact Owner to assign the task to whoever owns this contact.",
  "common.automationLabel.fieldAudience": "Audience",
  "common.automationLabel.fieldAudienceScope": "Audience Scope",
  "common.automationLabel.fieldBccAddress": "BCC Email Address",
  "common.automationLabel.fieldBccAddressHelp": "Enter one or more email addresses separated by commas.",
  "common.automationLabel.fieldBookingLinkExpiresIn": "Link expires in",
  "common.automationLabel.fieldBookingLinkExpiresInHelp": "After expiry the public booking page rejects confirmation.",
  "common.automationLabel.fieldBookingLinkSendSms": "Send SMS with booking link",
  "common.automationLabel.fieldBookingLinkSendSmsHelp": "Sends a short SMS containing the public booking URL when SMS is available.",
  "common.automationLabel.fieldBookingLinkSmsMessage": "SMS message",
  "common.automationLabel.fieldBookingLinkSmsMessageHelp": "Use {{booking_link}} and {{first_name}} placeholders.",
  "common.automationLabel.fieldCcAddress": "CC Email Address",
  "common.automationLabel.fieldCcAddressHelp": "Enter one or more email addresses separated by commas.",
  "common.automationLabel.fieldConfidenceThreshold": "Confidence Threshold",
  "common.automationLabel.fieldDueAmount": "Due In",
  "common.automationLabel.fieldDueUnit": "Due Unit",
  "common.automationLabel.fieldEmailMessage": "Message",
  "common.automationLabel.fieldEmailTemplate": "Email Template",
  "common.automationLabel.fieldAiAssistantEmailTemplate": "Email Template (AI Assistant)",
  "common.automationLabel.fieldAiAssistantEmailTemplateHelp": "Wrap the AI-generated body in a published template with Use by AI Assistant enabled and [AI-ASSISTANT-AGENT] in the body. Leave empty to auto-select when available.",
  "common.automationLabel.fieldExpectedValue": "Expected Value",
  "common.automationLabel.fieldFallbackPersona": "Fallback Persona",
  "common.automationLabel.fieldFallbackPersonaHelp": "Optional. Used whenever the primary persona cannot be resolved. Must also be active.",
  "common.automationLabel.fieldFromAddress": "Send From Email",
  "common.automationLabel.fieldFromName": "Send From Name",
  "common.automationLabel.fieldKnowledgeCategory": "Resource Category",
  "common.automationLabel.fieldKnowledgeRequestTitle": "Request Title",
  "common.automationLabel.fieldMeetingBusinessEnd": "Business hours end",
  "common.automationLabel.fieldMeetingBusinessEndHelp": "HH:MM in organizer timezone. Meeting must finish by this time.",
  "common.automationLabel.fieldMeetingBusinessStart": "Business hours start",
  "common.automationLabel.fieldMeetingBusinessStartHelp": "HH:MM in organizer timezone. Used when Respect business hours is enabled.",
  "common.automationLabel.fieldMeetingDescription": "Description",
  "common.automationLabel.fieldMeetingDuration": "Duration (minutes)",
  "common.automationLabel.fieldMeetingDurationHelp": "Leave blank to use the meeting type duration.",
  "common.automationLabel.fieldMeetingOrganizer": "Organizer",
  "common.automationLabel.fieldMeetingOrganizerHelp": "Defaults to the contact owner when left blank.",
  "common.automationLabel.fieldMeetingRespectBusinessHours": "Respect business hours",
  "common.automationLabel.fieldMeetingRespectBusinessHoursHelp": "Snap the start into Mon?Fri business hours in the organizer timezone (default 09:00?17:00).",
  "common.automationLabel.fieldMeetingScheduleIn": "Schedule In",
  "common.automationLabel.fieldMeetingScheduleInHelp": "Relative start time from when the action runs. Then snapped to business hours and past conflicting Meetings when those options are enabled.",
  "common.automationLabel.fieldMeetingSearchDays": "Search window (days)",
  "common.automationLabel.fieldMeetingSearchDaysHelp": "Maximum days ahead to search for an open slot (hard cap 96 attempts).",
  "common.automationLabel.fieldMeetingSkipConflicts": "Skip conflicting meetings",
  "common.automationLabel.fieldMeetingSkipConflictsHelp": "Advance to the next open slot when the organizer already has an overlapping Meeting in HEMSP (not external Outlook/Google free/busy).",
  "common.automationLabel.fieldMeetingSlotStep": "Slot step (minutes)",
  "common.automationLabel.fieldMeetingSlotStepHelp": "How far to advance when a conflict is found.",
  "common.automationLabel.fieldMeetingStatus": "Meeting Status",
  "common.automationLabel.fieldMeetingSubject": "Subject",
  "common.automationLabel.fieldMeetingType": "Meeting Type",
  "common.automationLabel.fieldUpdateMeetingAttendeeMode": "Internal Invite Mode",
  "common.automationLabel.fieldUpdateMeetingAttendeeModeHelp": "Add merges with existing internal attendees; Replace removes existing internal attendees first.",
  "common.automationLabel.fieldUpdateMeetingDescription": "Description",
  "common.automationLabel.fieldUpdateMeetingDescriptionHelp": "Leave blank to keep the current description.",
  "common.automationLabel.fieldUpdateMeetingExternalEmails": "External Emails",
  "common.automationLabel.fieldUpdateMeetingExternalEmailsHelp": "Comma-separated guest email addresses.",
  "common.automationLabel.fieldUpdateMeetingExternalMode": "External Invite Mode",
  "common.automationLabel.fieldUpdateMeetingExternalModeHelp": "Add merges with existing external guests; Replace removes existing external guests first.",
  "common.automationLabel.fieldUpdateMeetingInternalUsers": "Internal Users",
  "common.automationLabel.fieldUpdateMeetingInternalUsersHelp": "Staff users to invite as internal attendees.",
  "common.automationLabel.fieldUpdateMeetingInviteOwner": "Invite Contact Owner",
  "common.automationLabel.fieldUpdateMeetingInviteOwnerHelp": "Add the contact admission owner as an internal attendee.",
  "common.automationLabel.fieldUpdateMeetingStatusHelp": "Leave blank to keep the current status.",
  "common.automationLabel.fieldUpdateMeetingSubject": "Subject",
  "common.automationLabel.fieldUpdateMeetingSubjectHelp": "Leave blank to keep the current subject.",
  "common.automationLabel.fieldUpdateMeetingTypeHelp": "Leave blank to keep the current meeting type.",
  "common.automationLabel.formSubmissionDescription": "This event is triggered when a form is submitted.",
  "common.automationLabel.gradeBelowThresholdDescription": "Check if a student's grade is below a given threshold.",
  "common.automationLabel.gradeRiskDetectedDescription": "This event is triggered when a student's grades fall below the configured academic risk threshold.",
  "common.automationLabel.incomingEmailDescription": "Triggered when BrightSync records a new inbound email from a verified contact.",
  "common.automationLabel.incomingSmsDescription": "This event is triggered when a new SMS is received.",
  "common.automationLabel.inquiryTypeDescription": "Check if a the inquiry First Time or Re-Inquiry.",
  "common.automationLabel.invoiceItemsDescription": "Check if the invoice has items.",
  "common.automationLabel.invoiceOverdueDescription": "Check if an invoice is past its due date and unpaid.",
  "common.automationLabel.invoiceStatusDescription": "Check the status of the related invoice.",
  "common.automationLabel.listMembershipDescription": "This event is triggered when a student joins a list.",
  "common.automationLabel.listMembershipWatchedLists": "Watched lists",
  "common.automationLabel.listMembershipWatchedListsHint": "Contacts are enrolled when they newly appear on any selected list (checked about every 5 minutes). Static and dynamic lists are supported.",
  "common.automationLabel.listMembershipWatchedListsEmptyWarning": "No lists selected. This workflow will not enroll anyone until at least one list is linked.",
  "common.automationLabel.listMembershipWatchedListsEmptyOverview": "None linked — edit automation settings to choose lists.",
  "common.automationLabel.triggerPersonaIds": "AI personas",
  "common.automationLabel.triggerPersonaIdsHint": "Only enroll when the chat event uses one of these personas. Leave empty to allow all personas. Use a Persona Is condition on the graph to branch after enrollment.",
  "common.automationLabel.triggerApplicationIds": "Application forms",
  "common.automationLabel.triggerApplicationIdsHint": "Only enroll when this specific form was submitted or updated in the event payload. Leave empty to allow all forms. Audience scope application forms filter by the contact’s stored application, not the form in this event.",
  "common.automationLabel.triggerSummaryTypes": "Summary types",
  "common.automationLabel.triggerSummaryTypesHint": "Only enroll for the selected summary requests (quote or virtual assistant). Leave empty to allow both.",
  "common.automationLabel.triggerQuoteBuilderIds": "Quote Builders",
  "common.automationLabel.triggerQuoteBuilderIdsHint": "Only enroll when the booking deposit payment is linked to one of these quote builders. Leave empty to allow all quote builders. Use graph conditions to branch after enrollment.",
  "common.automationLabel.triggerSummaryTypeQuote": "Quote summary",
  "common.automationLabel.triggerSummaryTypeVaa": "Virtual assistant (VAA)",
  "common.automationLabel.triggerRiskSignalSlugs": "Risk signals",
  "common.automationLabel.triggerRiskSignalSlugsHint": "Only enroll when the scheduled scan reports one of these signals. Leave empty to allow any signal for this event.",
  "common.automationLabel.triggerClassificationLabels": "Classification labels",
  "common.automationLabel.triggerClassificationLabelsHint": "Only enroll when the AI inquiry classification matches one of these labels. Leave empty to allow all classifications.",
  "common.automationLabel.triggerScheduledApplicationIdsHint": "Only enroll when the contact’s latest application submission uses one of these forms. Leave empty for all forms.",
  "common.automationLabel.triggerMinDaysInactive": "Minimum days inactive",
  "common.automationLabel.triggerMinDaysInactiveHint": "Only enroll when inactivity is at least this many days (cannot be lower than the tenant admissions threshold that triggers the scan). Leave empty for any inactivity level reported.",
  "common.automationLabel.triggerMinMissingDocuments": "Minimum missing documents",
  "common.automationLabel.triggerMinMissingDocumentsHint": "Only enroll when at least this many required documents are missing. Leave empty for any missing-document signal.",
  "common.automationLabel.triggerProgramIds": "Programs",
  "common.automationLabel.triggerEducationProgramIdsHint": "Only enroll when the new enrollment is for one of these programs. Leave empty to allow all programs.",
  "common.automationLabel.triggerCourseIds": "Courses",
  "common.automationLabel.triggerEducationCourseIdsHint": "Only enroll when the new enrollment is for one of these courses. Leave empty to allow all courses.",
  "common.automationLabel.triggerTaskTypes": "Task types",
  "common.automationLabel.triggerTaskTypesHint": "Only enroll when the task uses one of these types. Leave empty to allow all task types.",
  "common.automationLabel.triggerMeetingTypeIds": "Meeting types",
  "common.automationLabel.triggerMeetingTypeIdsHint": "Only enroll when the meeting uses one of these types. Leave empty to allow all meeting types.",
  "common.automationLabel.triggerVoicePersonaIdsHint": "Only enroll when the voice call used one of these AI personas. Leave empty to allow all personas.",
  "common.automationLabel.triggerMinDaysOverdue": "Minimum days overdue",
  "common.automationLabel.triggerMinDaysOverdueHint": "Only enroll when the invoice is at least this many days overdue. Leave empty to enroll on any overdue reminder.",
  "common.automationLabel.triggerCanvasCourseIdsHint": "Only enroll when the Canvas event is linked to a cohort for one of these catalog courses. Leave empty to allow all courses.",
  "common.automationLabel.triggerExaminationGradeIds": "Examination grades",
  "common.automationLabel.triggerExaminationGradeIdsHint": "Only enroll when the examination event references one of these grade records. Leave empty to allow all examinations.",
  "common.automationLabel.riskSignalAttendanceBelowThreshold": "Attendance below threshold",
  "common.automationLabel.riskSignalAttendanceChronicAbsence": "Chronic absence",
  "common.automationLabel.riskSignalAcademicLowPerformance": "Low academic performance",
  "common.automationLabel.riskSignalAcademicFailingGrades": "Failing grades",
  "common.automationLabel.riskSignalAcademicExamFailure": "Exam failure",
  "common.automationLabel.meetingCreatedDescription": "This event is triggered when a meeting is created for a contact.",
  "common.automationLabel.missingDocumentsDescription": "Check if the contact has missing required documents.",
  "common.automationLabel.moduleStatusDescription": "Check whether a contact, application, program, or course status matches a selected value.",
  "common.automationLabel.moduleTypeDescription": "Check whether the related module type matches a selected value.",
  "common.automationLabel.noActivityForDaysDescription": "Check if the contact has had no recorded activity for a given number of days.",
  "common.automationLabel.noteCreatedDescription": "This event is triggered when a note is added to a contact profile.",
  "common.automationLabel.paidAmountDescription": "Check if the paid amount is greater than, less than or equal to a value.",
  "common.automationLabel.parentConsentMissingDescription": "Check if parent/guardian consent has not been provided.",
  "common.automationLabel.parentConsentRequestedDescription": "This event is triggered when a parent consent request is sent for a student.",
  "common.automationLabel.paymentReceivedDescription": "This event is triggered when a payment is received.",
  "common.automationLabel.phoneCallCompletedDescription": "This event is triggered when a phone call task is marked as completed.",
  "common.automationLabel.phoneCallOutcomeRecordedDescription": "This event is triggered when an outcome is recorded for a completed phone call.",
  "common.automationLabel.registredCourseDescription": "Check if a student is registered for a course.",
  "common.automationLabel.registredProgramDescription": "Check if a student is registered for a program.",
  "common.automationLabel.runPluginActionDescription": "Run a plugin action.",
  "common.automationLabel.scheduleMeetingDescription": "Create an admissions calendar meeting for the contact; snaps to business hours and skips conflicting organizer Meetings.",
  "common.automationLabel.sendAdmissionsBookingLinkDescription": "Create a pending booking invite and expose a public link the prospect can use to pick a meeting time.",
  "common.automationLabel.sendBookingSummaryEmailDescription": "Send booking summary and personal information to one or more email addresses.",
  "common.automationLabel.sendSmsDescription": "Template delivery only — sends an SMS template or authored text. Does not generate AI content. Use Generate & send (AI Knowledge Base) for KB-grounded replies.",
  "common.automationLabel.sendStudentEmailDescription": "Template delivery only — sends a saved email template or authored body. Does not generate AI content. Use Generate & send (AI Knowledge Base) for KB-grounded replies.",
  "common.automationLabel.sendTemplateEmailToStudentDescription": "Send a template email to the student.",
  "common.automationLabel.sendUserEmailDescription": "Send an email to selected staff users.",
  "common.automationLabel.smsStatusChangedDescription": "This event is triggered when the status of an SMS changes.",
  "common.automationLabel.smsStatusDescription": "Check the status of the SMS.",
  "common.automationLabel.startAiVoiceCallDescription": "Place an outbound AI voice call via the school AI voice provider (disabled unless AUTOMATION_AI_VOICE_ENABLED is on).",
  "common.automationLabel.statusChangedDescription": "Start the workflow when a module status changes. Add a Status Value (ModuleStatus) condition right after the trigger to scope entity type and status value.",
  "common.automationLabel.studentCreatedDescription": "This event is triggered when a student is registered by himself or by an agent.",
  "common.automationLabel.studentUpdatedDescription": "This event is triggered when a student is updated.",
  "common.automationLabel.submissionStatusDescription": "Check if a submission status is equal to a value.",
  "common.automationLabel.submissionUpdatedDescription": "This event is triggered when a submission is updated.",
  "common.automationLabel.submittedFromDescription": "Check the submitted form.",
  "common.automationLabel.summaryRequestedDescription": "This event is triggered when a summary is requested either Quote or VAA.",
  "common.automationLabel.summaryTypeDescription": "Check the summary type ('Quote' or 'VAA').",
  "common.automationLabel.taskAssignedToDescription": "Check if the task is assigned to a user.",
  "common.automationLabel.taskCompletedDescription": "This event is triggered when any task is marked as completed.",
  "common.automationLabel.taskCreatedDescription": "This event is triggered when a task is created.",
  "common.automationLabel.taskPriorityDescription": "Check the task Priority (High, Medium, Low).",
  "common.automationLabel.taskTypeDescription": "Check the task type (Email, Call, To-do, Meeting).",
  "common.automationLabel.triggerMessageSent": "Message Sent",
  "common.automationLabel.triggerMessageSentDescription": "Triggered when a direct message is sent between staff and a contact.",
  "common.automationLabel.updateContactDescription": "Update a contact field.",
  "common.automationLabel.updateMeeting": "Update Meeting",
  "common.automationLabel.updateMeetingDescription": "Update the meeting from the trigger payload, including internal staff invites and external guest emails.",
  "common.automationLabel.softDeleteContact": "Delete Contact",
  "common.automationLabel.softDeleteContactDescription": "Delete the contact from this automation. The contact can be restored. Related transactions and list memberships are removed the same way as a manual delete.",
  "common.automationLabel.fieldConfirmSoftDeleteContact": "Confirm",
  "common.automationLabel.fieldConfirmSoftDeleteContactHelp": "Turn this on to delete the contact. When it is off, this step is skipped.",
  "common.automationLabel.nodeSkipReasonConfirmDeleteNotEnabled": "Confirm delete is off, so this step was skipped.",
  "common.automationLabel.fieldApproveBeforeDeletion": "Approve before deletion",
  "common.automationLabel.fieldApproveBeforeDeletionHelp": "When enabled, the contact is deleted only after this step is approved. Rejecting the request leaves the contact in place.",
  "common.automationLabel.fieldMessageBody": "Message Body",
  "common.automationLabel.fieldMessageSubject": "Message Subject",
  "common.automationLabel.fieldNoteContent": "Note Content",
  "common.automationLabel.fieldNoteContentHelp": "Supports merge tags such as ${students.first_name} and ${automation.invoice_uid}. Leave blank to use the AI conversation transcript.",
  "common.automationLabel.fieldCreateNoteContentHelp": "Supports merge tags such as ${students.first_name}, ${automation.invoice_uid}, and ${automation.invoice_public_payment_url}.",
  "common.automationLabel.fieldNoteTitle": "Note Title",
  "common.automationLabel.fieldPinNote": "Pin note",
  "common.automationLabel.fieldPinNoteHelp": "Pinned notes stay at the top of the contact activity list.",
  "common.automationLabel.fieldIncludeVoiceCallOutcome": "Include AI voice call outcome",
  "common.automationLabel.fieldIncludeVoiceCallOutcomeHelp": "Appends the latest AI voice call status and an AI-generated call summary. The raw transcript is not included in the note.",
  "common.automationLabel.fieldOperator": "Operator",
  "common.automationLabel.fieldCommunicationChannel": "Channel",
  "common.automationLabel.fieldPersona": "AI Agent Persona",
  "common.automationLabel.fieldPersonaHelp": "Only active student-facing AI personas are listed.",
  "common.automationLabel.fieldPersonaInstruction": "Instruction / Question",
  "common.automationLabel.fieldPersonaInstructionHelp": "Tell the persona what to write. Use merge tags such as ${students.first_name}, ${students.owner_email}, and ${automation.message}. Type ${ to open the token picker.",
  "common.automationLabel.fieldPersonaSource": "Persona Source",
  "common.automationLabel.fieldQuestionSource": "Question Source",
  "common.automationLabel.fieldRecipientType": "Recipient Type",
  "common.automationLabel.fieldRecipientUser": "Send To",
  "common.automationLabel.fieldResourceCategory": "Resource Category",
  "common.automationLabel.fieldRetellAgentId": "Provider agent ID override",
  "common.automationLabel.fieldRetellAgentIdHelp": "Optional. Overrides persona voice binding and the AI Voice plugin default_agent_id.",
  "common.automationLabel.fieldRetellContextNote": "Additional notes for agent",
  "common.automationLabel.fieldRetellContextNoteHelp": "Optional supplementary details beyond the call goal.",
  "common.automationLabel.fieldRetellFromNumber": "From number (E.164)",
  "common.automationLabel.fieldRetellFromNumberHelp": "Optional override. Falls back to the active AI Voice plugin from_number.",
  "common.automationLabel.fieldRoundRobinActiveUsersOnly": "Active users only",
  "common.automationLabel.fieldRoundRobinActiveUsersOnlyHelp": "Exclude inactive users from the rotation pool.",
  "common.automationLabel.fieldRoundRobinCountSinceDate": "Count Assignments Since",
  "common.automationLabel.fieldRoundRobinCountSinceDateHelp": "Only used when the assignment count window is set to since a specific date (for example, a campaign or intake launch).",
  "common.automationLabel.fieldRoundRobinDistributionMode": "Distribution Mode",
  "common.automationLabel.fieldRoundRobinDistributionModeHelp": "Balanced load picks the user with the fewest assignments in the current period. Strict round robin advances a shared cursor.",
  "common.automationLabel.fieldRoundRobinFallbackUser": "Fallback Owner",
  "common.automationLabel.fieldRoundRobinFallbackUserHelp": "Assign this user when no pool member is eligible (inactive, at capacity, or unavailable).",
  "common.automationLabel.fieldRoundRobinMaxAssignments": "Max Assignments Per User",
  "common.automationLabel.fieldRoundRobinMaxAssignmentsHelp": "Skip users who already reached this limit in the current rotation period. Leave blank or 0 for unlimited.",
  "common.automationLabel.fieldRoundRobinNotificationChannels": "Notification channels",
  "common.automationLabel.fieldRoundRobinNotificationChannelsHelp": "Choose how the assigned owner should be notified.",
  "common.automationLabel.fieldRoundRobinNotificationMessage": "Notification message",
  "common.automationLabel.fieldRoundRobinNotificationMessageHelp": "Leave blank to use a default message with the contact name. Smart tags are supported.",
  "common.automationLabel.fieldRoundRobinNotificationSubject": "Notification subject",
  "common.automationLabel.fieldRoundRobinNotificationSubjectHelp": "Used for email and in-app notifications.",
  "common.automationLabel.fieldRoundRobinNotifyAssignedUser": "Notify assigned owner",
  "common.automationLabel.fieldRoundRobinNotifyAssignedUserHelp": "Send a notification to the user who was assigned as contact owner.",
  "common.automationLabel.fieldRoundRobinRotationPeriod": "Assignment Count Window",
  "common.automationLabel.fieldRoundRobinRotationPeriodHelp": "How far back to count existing assignments when balancing load. Daily, weekly, and monthly windows use the school timezone.",
  "common.automationLabel.fieldRoundRobinSkipIfOwnerExists": "Skip if owner already assigned",
  "common.automationLabel.fieldRoundRobinSkipIfOwnerExistsHelp": "When enabled, contacts that already have an owner are left unchanged.",
  "common.automationLabel.fieldRoundRobinStaffTeam": "Staff Team",
  "common.automationLabel.fieldRoundRobinStaffTeamHelp": "Optionally include all active members of a staff team in the rotation pool.",
  "common.automationLabel.fieldRoundRobinUsers": "Users",
  "common.automationLabel.fieldRoundRobinUsersHelp": "Select individual users to include in the rotation pool. At least one user or staff team is required.",
  "common.automationLabel.assignCallCenterAgent": "Assign Call Center Agent",
  "common.automationLabel.assignCallCenterAgentDescription": "Assign the contact's Call Center Agent using balanced or sequential round-robin distribution across a Call Center Agent pool.",
  "common.automationLabel.conditionContactCallCenterAgent": "Contact's Call Center Agent",
  "common.automationLabel.conditionContactCallCenterAgentDescription": "Check the Call Center Agent assigned to the contact",
  "common.automationLabel.fieldCallCenterAgent": "Call Center Agent",
  "common.automationLabel.fieldCallCenterAgentPool": "Call Center Agents",
  "common.automationLabel.fieldCallCenterAgentPoolHelp": "Select the Call Center Agents who can be assigned to the contact.",
  "common.automationLabel.fieldCallCenterAgentDistributionModeHelp": "Choose how the next Call Center Agent is selected from the pool.",
  "common.automationLabel.fieldCallCenterAgentMaxAssignments": "Max Assignments Per Call Center Agent",
  "common.automationLabel.fieldCallCenterAgentMaxAssignmentsHelp": "Skip Call Center Agents who already reached this limit in the current window. Leave blank or 0 for unlimited.",
  "common.automationLabel.fieldCallCenterAgentFallback": "Fallback Call Center Agent",
  "common.automationLabel.fieldCallCenterAgentFallbackHelp": "Assign this Call Center Agent when no pool member is eligible.",
  "common.automationLabel.fieldCallCenterAgentSkipIfAssigned": "Skip if Call Center Agent already assigned",
  "common.automationLabel.fieldCallCenterAgentSkipIfAssignedHelp": "When enabled, contacts that already have a Call Center Agent are left unchanged.",
  "common.automationLabel.fieldCallCenterAgentActiveOnly": "Active Call Center Agents only",
  "common.automationLabel.fieldCallCenterAgentActiveOnlyHelp": "Exclude inactive Call Center Agents from the rotation pool.",
  "common.automationLabel.fieldCallCenterAgentNotifyAssigned": "Notify assigned Call Center Agent",
  "common.automationLabel.fieldCallCenterAgentNotifyAssignedHelp": "Send an email or in-app notification to the login user of the Call Center Agent who was assigned. A phone-only Call Center Agent is skipped.",
  "common.automationLabel.fieldCallCenterAgentNotificationChannelsHelp": "Choose how the assigned Call Center Agent should be notified.",
  "common.automationLabel.fieldSendToCallCenterAgent": "Send To Call Center Agent",
  "common.automationLabel.fieldSendToCallCenterAgentHelp": "Include the contact's Call Center Agent. Email and in-app notices use the agent's login. SMS uses the agent phone when there is no login.",
  "common.automationLabel.fieldSendEmailToCallCenterAgent": "Send Email To Call Center Agent",
  "common.automationLabel.fieldSendEmailToCallCenterAgentHelp": "Include the contact's Call Center Agent. Uses the login email, or the agent email when there is no login.",
  "common.automationLabel.fieldSenderType": "Sender Type",
  "common.automationLabel.fieldSubscriptionReason": "Reason",
  "common.automationLabel.fieldSubscriptionSource": "Source",
  "common.automationLabel.fieldSenderUser": "Send From",
  "common.automationLabel.fieldStaffTeam": "Staff Team",
  "common.automationLabel.fieldTaskDescription": "Task Description",
  "common.automationLabel.fieldTaskDescriptionHelp": "Use merge tags such as ${students.first_name}, ${students.email}, and ${user.name}.",
  "common.automationLabel.fieldTaskPriority": "Priority",
  "common.automationLabel.fieldTaskPriorityHelp": "Due date is calculated from priority: High = 24 hours, Medium = 48 hours, Low = 72 hours.",
  "common.automationLabel.fieldMessageBody": "Message Body",
  "common.automationLabel.fieldMessageSubject": "Message Subject",
  "common.automationLabel.fieldOperator": "Operator",
  "common.automationLabel.fieldRecipientType": "Recipient Type",
  "common.automationLabel.fieldRecipientUser": "Send To",
  "common.automationLabel.fieldSenderType": "Sender Type",
  "common.automationLabel.fieldSenderUser": "Send From",
  "common.automationLabel.fieldSubjectText": "Subject Text",
  "common.automationLabel.fieldTaskType": "Task Type",
  "common.automationLabel.fieldTeam": "Team",
  "common.automationLabel.fieldTopic": "Topic Text",
  "common.automationLabel.financeActions": "Finance Actions",
  "common.automationLabel.fixErrorsBeforeContinue": "Complete the required fields before continuing.",
  "common.automationLabel.flowConnections": "Connections",
  "common.automationLabel.flowControl": "Flow Control",
  "common.automationLabel.flowPreview": "Flow Preview",
  "common.automationLabel.flowSteps": "Flow Steps",
  "common.automationLabel.formSubmission": "Form Submission",
  "common.automationLabel.generateAiBrief": "Generate AI Brief",
  "common.automationLabel.generateAiCallBrief": "(Legacy) Generate AI Call Brief ? not configured",
  "common.automationLabel.generateAiCallBriefDescription": "No-op legacy action. AI Voice call context is built by Start AI Voice Call from the engaged persona.",
  "common.automationLabel.generateAiDraft": "Generate draft",
  "common.automationLabel.generateAiFollowUpDraft": "Generate AI Follow-Up Draft",
  "common.automationLabel.generateAiFollowUpDraftDescription": "Generate an AI draft for a follow-up message.",
  "common.automationLabel.generateAiProposal": "Generate proposal",
  "common.automationLabel.goalAcademicManagement": "Academic Management",
  "common.automationLabel.goalAcademicManagementDescription": "Coordinate academic workflows such as attendance alerts, progress reviews, and intervention follow-ups.",
  "common.automationLabel.goalAcademicManagementAudienceHint": "Audience: Students ? Operational",
  "common.automationLabel.goalAdmissions": "Applicant & Admissions",
  "common.automationLabel.goalAdmissionsDescription": "Prospects and applicants ? inquiry follow-up, application reminders, lead nurturing, AI replies, and enrollment outreach.",
  "common.automationLabel.goalAdmissionsAudienceHint": "Audience: Applicants ? Marketing",
  "common.automationLabel.goalAgentManagement": "Agent / Recruiter Management",
  "common.automationLabel.goalAgentManagementDescription": "Manage agent and recruiter workflows, updates, and performance follow-ups.",
  "common.automationLabel.goalAgentManagementAudienceHint": "Audience: Agents ? Operational",
  "common.automationLabel.goalAiFollowUp": "AI Follow-Up",
  "common.automationLabel.goalAiFollowUpDescription": "Use AI to draft, classify, summarize, or recommend follow-up actions.",
  "common.automationLabel.goalConversion": "Conversion / Lead Nurturing",
  "common.automationLabel.goalConversionDescription": "Nurture inquiries and prospects toward application or registration.",
  "common.automationLabel.goalFinance": "Finance",
  "common.automationLabel.goalFinanceDescription": "Automate payment reminders, invoices, funding notices, and finance escalations for applicants, students, and agents.",
  "common.automationLabel.goalFinanceAudienceHint": "Audience: Applicants, Students, Agents ? Transactional",
  "common.automationLabel.goalInternalOperations": "Internal Operations",
  "common.automationLabel.goalInternalOperationsDescription": "Route internal tasks, approvals, staff alerts, and operational handoffs.",
  "common.automationLabel.goalInternalOperationsAudienceHint": "Audience: Staff ? Operational",
  "common.automationLabel.goalCardTemplateCount": ":count templates",
  "common.automationLabel.goalCardTriggerCount": ":count triggers",
  "common.automationLabel.changeWorkflowArea": "Change workflow area",
  "common.automationLabel.workflowAreaInferredNotice": "Workflow area set to :label from your selected template.",
  "common.automationLabel.goalKey": "Goal Key",
  "common.automationLabel.goalKeyHelp": "Optional analytics key for funnel reporting.",
  "common.automationLabel.goalNodes": "Goal / Exit Nodes",
  "common.automationLabel.goalParentCommunication": "Parent Communication",
  "common.automationLabel.goalParentCommunicationDescription": "Keep parents or guardians informed about milestones, requests, and student updates.",
  "common.automationLabel.goalParentCommunicationAudienceHint": "Audience: Parents ? Operational",
  "common.automationLabel.goalPhoneFollowUp": "Phone Follow-Up",
  "common.automationLabel.goalPhoneFollowUpDescription": "Create call workflows, call tasks, and phone follow-up reminders.",
  "common.automationLabel.goalRequired": "Select a workflow area before continuing.",
  "common.automationLabel.goalStudentServices": "Student Services",
  "common.automationLabel.goalStudentServicesDescription": "Students ? service reminders, document requests, task follow-ups, and operational check-ins.",
  "common.automationLabel.goalStudentServicesAudienceHint": "Audience: Students ? Operational",
  "common.automationLabel.goalTerminal": "End workflow here",
  "common.automationLabel.goalTerminalHelp": "When enabled, reaching this goal completes the automation run.",
  "common.automationLabel.goalType": "Goal Type",
  "common.automationLabel.gradeBelowThreshold": "Grade Below Threshold",
  "common.automationLabel.gradeRiskDetected": "Grade Risk Detected",
  "common.automationLabel.graphEdgeCount": ":count connections",
  "common.automationLabel.graphJumpNoInvalidNodes": "No invalid nodes found. Validate the graph to refresh issues.",
  "common.automationLabel.graphJumpNoWarningNodes": "No warning nodes found. Validate the graph to refresh issues.",
  "common.automationLabel.graphJumpToInvalid": "Jump to invalid",
  "common.automationLabel.graphJumpToWarning": "Jump to warning",
  "common.automationLabel.graphMinimap": "Minimap",
  "common.automationLabel.graphNavigation": "Graph navigation",
  "common.automationLabel.graphNodeCount": ":count nodes",
  "common.automationLabel.graphNodeSearch": "Search nodes",
  "common.automationLabel.graphNodeSearchNoMatches": "No nodes matched your search.",
  "common.automationLabel.graphNodeSearchPlaceholder": "Search by title, type, or key?",
  "common.automationLabel.graphOutline": "Graph outline",
  "common.automationLabel.graphOutlineEmpty": "Add nodes to the canvas to browse them here.",
  "common.automationLabel.graphRuntimeLogs": "Graph Runtime Logs",
  "common.automationLabel.graphStructure": "Graph Structure",
  "common.automationLabel.groupAiActions": "AI Actions",
  "common.automationLabel.groupCommunication": "Communication",
  "common.automationLabel.groupConditions": "Conditions",
  "common.automationLabel.groupCrmActions": "CRM Actions",
  "common.automationLabel.groupFinanceActions": "Finance Actions",
  "common.automationLabel.groupFlowControl": "Flow Control",
  "common.automationLabel.groupStudentActions": "Student Actions",
  "common.automationLabel.groupTriggers": "Triggers",
  "common.automationLabel.healthDescription": "Score based on recent runtime performance, approvals, and workflow validation.",
  "common.automationLabel.healthLoadFailed": "Could not load automation health score.",
  "common.automationLabel.healthNoIssues": "No health issues detected for this automation.",
  "common.automationLabel.healthIssuesTitle": "Issues detected",
  "common.automationLabel.healthMetricAvgCompletion": "Avg. completion time",
  "common.automationLabel.healthMetricAvgCompletionHint": "Across finished runs in the selected period.",
  "common.automationLabel.healthMetricCommunicationFailures": "Communication failures",
  "common.automationLabel.healthMetricCommunicationFailuresHint": "Failed email, SMS, or action steps.",
  "common.automationLabel.healthMetricFailureRate": "Failure rate",
  "common.automationLabel.healthMetricFailureRateHint": ":count failed run(s) in the period.",
  "common.automationLabel.healthMetricGoalReach": "Goal reach",
  "common.automationLabel.healthMetricGoalReachHint": ":count goal completion(s) recorded.",
  "common.automationLabel.healthMetricOverdueApprovals": "Overdue approvals",
  "common.automationLabel.healthMetricOverdueApprovalsHint": "Pending approval requests past due.",
  "common.automationLabel.healthMetricStuckWaiting": "Stuck waiting",
  "common.automationLabel.healthMetricStuckWaitingHint": "Runs waiting longer than the stuck threshold.",
  "common.automationLabel.healthScoreOutOf": "out of 100",
  "common.automationLabel.healthSummaryCritical": "Critical runtime issues need immediate review.",
  "common.automationLabel.healthSummaryGood": "Runtime performance looks healthy for the current filters.",
  "common.automationLabel.healthSummaryNeedsAttention": "Some signals need review, but nothing is critically failing yet.",
  "common.automationLabel.healthViewApprovals": "View approvals",
  "common.automationLabel.healthViewBuilder": "Review workflow",
  "common.automationLabel.healthWaitingBottleneckDetail": ":node is the most common wait point (:count run(s)).",
  "common.automationLabel.healthReasonCommunicationActionFailures": ":count communication or action step(s) failed.",
  "common.automationLabel.healthReasonHighFailureRate": ":percent% of finished runs failed (:count total).",
  "common.automationLabel.healthReasonLowGoalCompletion": "Only :percent% of runs reached a goal (:count completion(s)).",
  "common.automationLabel.healthReasonNoRuns": "This automation has not executed yet, so runtime health is limited.",
  "common.automationLabel.healthReasonOverdueApprovals": ":count approval request(s) are overdue.",
  "common.automationLabel.healthReasonSlowCompletion": "Average completion time is :duration.",
  "common.automationLabel.healthReasonStuckWaitingRuns": ":count run(s) have been waiting for more than :hours hours.",
  "common.automationLabel.healthReasonValidationWarnings": "The published workflow has :count validation warning(s).",
  "common.automationLabel.healthReasonVerySlowCompletion": "Average completion time is very slow at :duration.",
  "common.automationLabel.healthStatusCritical": "Critical",
  "common.automationLabel.healthStatusGood": "Good",
  "common.automationLabel.healthStatusNeedsAttention": "Needs attention",
  "common.automationLabel.healthTitle": "Automation Health",
  "common.automationLabel.housingContact": "Housing Contact",
  "common.automationLabel.incomingConnection": "Incoming",
  "common.automationLabel.incomingSms": "Incoming SMS",
  "common.automationLabel.triggerIncomingMessage": "Incoming Message",
  "common.automationLabel.triggerIncomingMessageDescription": "Triggered when a contact sends a direct message to staff through the portal or messaging inbox.",
  "common.automationLabel.incompatibleWithTrigger": "Incompatible with trigger",
  "common.automationLabel.inquiryType": "Inquiry Type",
  "common.automationLabel.internalNotes": "Internal Notes",
  "common.automationLabel.invalidJsonField": "Enter valid JSON array syntax, for example [\"email\"].",
  "common.automationLabel.invalidNode": "Invalid",
  "common.automationLabel.invalidTriggerEvent": "Select one valid trigger event before validating or publishing.",
  "common.automationLabel.invoiceItems": "Invoice Items",
  "common.automationLabel.invoiceBecameOverdue": "Invoice Became Overdue",
  "common.automationLabel.invoiceOverdue": "Invoice Overdue",
  "common.automationLabel.invoiceStatus": "Invoice Status",
  "common.automationLabel.itemsFilteredByTrigger": "Available items are based on the selected trigger.",
  "common.automationLabel.itemsSelected": ":count selected",
  "common.automationLabel.jurisdictionProfile": "Communication jurisdiction",
  "common.automationLabel.jurisdictionSettingsLink": "Change jurisdiction in Settings",
  "common.automationLabel.jurisdictionWizardIntro": "Email, SMS, and phone steps in this automation are evaluated against your school's communication jurisdiction and the purpose you choose below.",
  "common.automationLabel.keepIncompatibleNodes": "Change Trigger and Keep Existing Nodes",
  "common.automationLabel.knowledgeSource": "Knowledge Source",
  "common.automationLabel.knowledgeSources": "Knowledge Sources",
  "common.automationLabel.lastUsedAt": "Last used at",
  "common.automationLabel.lastUsedLabel": "Last used",
  "common.automationLabel.latestDraft": "Latest Draft",
  "common.automationLabel.latestPublishedVersion": "Latest Published Version",
  "common.automationLabel.leaveConfirm": "You have unsaved changes in Automation Studio. Leave this page and discard them?",
  "common.automationLabel.legacyActions": "Legacy Actions",
  "common.automationLabel.legacyAutomationReviewOnly": "Legacy builder is locked for new automation editing. Legacy automations are review-only.",
  "common.automationLabel.legacyBuilder": "Legacy Builder",
  "common.automationLabel.legacyBuilderDeprecated": "The legacy automation builder is deprecated for this school. Create new automations in Automation Studio.",
  "common.automationLabel.legacyBuilderDisabled": "Legacy automation builder is disabled.",
  "common.automationLabel.legacyBuilderLocked": "The legacy automation builder is locked for this school. Create and edit automations in Automation Studio.",
  "common.automationLabel.legacyBuilderReadOnly": "This legacy automation page is read-only. Edit this automation in Automation Studio.",
  "common.automationLabel.legacyBuilderRetired": "The legacy automation builder has been retired for staff.",
  "common.automationLabel.legacyConditions": "Legacy Conditions",
  "common.automationLabel.legacyEvents": "Legacy Events",
  "common.automationLabel.legacyRuntime": "Legacy Runtime",
  "common.automationLabel.legacyRuntimeDisabled": "Legacy batch runtime is disabled.",
  "common.automationLabel.loadingTemplatePreview": "Loading template preview?",
  "common.automationLabel.logsEmpty": "No execution log entries yet. Node steps from Studio runtime runs will appear here.",
  "common.automationLabel.logsTab": "Execution Log",
  "common.automationLabel.manualEnrollAutomationInactive": "This automation must be active with a published version before contacts can be enrolled.",
  "common.automationLabel.manualEnrollAlreadyActive": "This contact is already active or waiting in the selected automation.",
  "common.automationLabel.manualEnrollAudienceScopeMismatch": "This contact does not match the automation audience scope.",
  "common.automationLabel.manualEnrollAutomationRequired": "Select an automation before enrolling this contact.",
  "common.automationLabel.manualEnrollAutomationUnavailable": "The selected automation is not available for manual enrollment.",
  "common.automationLabel.manualEnrollContactRequired": "Select a contact before enrolling.",
  "common.automationLabel.manualEnrollContactUnavailable": "The selected contact is not available for enrollment.",
  "common.automationLabel.manualEnrollDescription": "Choose a published automation to start for this contact.",
  "common.automationLabel.manualEnrollFailed": "Unable to enroll this contact in the automation.",
  "common.automationLabel.manualEnrollMissingTrigger": "The selected automation does not have a published trigger event.",
  "common.automationLabel.manualEnrollNoPublishedAutomations": "No editable published automations are available for manual enrollment.",
  "common.automationLabel.manualEnrollRequiresPublishedVersion": "The selected automation must have a published version before contacts can be enrolled.",
  "common.automationLabel.manualEnrollSuccess": "Contact enrolled in the automation.",
  "common.automationLabel.manualEnrolling": "Enrolling...",
  "common.automationLabel.maxEmailsPerDay": "Max Emails Per Contact Per Day",
  "common.automationLabel.maxPhoneCallsPerWeek": "Max Phone Calls Per Contact Per Week",
  "common.automationLabel.maxSmsPerWeek": "Max SMS Per Contact Per Week",
  "common.automationLabel.messageEvents": "Message Events",
  "common.automationLabel.communicationEvents": "Communication Preference Events",
  "common.automationLabel.messageTemplateChannelUnsupported": "Unsupported message template channel.",
  "common.automationLabel.messageTemplateNotFound": "The selected message template could not be found.",
  "common.automationLabel.migrationReadiness": "Migration Readiness",
  "common.automationLabel.requiredAutomationFieldMissing": "Required field \":field\" is missing on \":node\".",
  "common.automationLabel.migrateToStudio": "Migrate to Studio",
  "common.automationLabel.legacyMigrationCompleted": "Legacy automation migrated to Studio. :logs execution log entries were imported.",
  "common.automationLabel.legacyMigrationUnsupported": "This automation uses legacy capabilities that are not supported in Automation Studio.",
  "common.automationLabel.legacyMigrationAlreadyCompleted": "This automation was already migrated to Automation Studio.",
  "common.automationLabel.legacyMigrationConditionsFailedExit": "Conditions not met",
  "common.automationLabel.legacyMigrationDelay": "Wait :amount :unit",
  "common.automationLabel.legacyMigrationActionFailed": "Legacy action failed",
  "common.automationLabel.missingCapabilities": "Missing Capabilities",
  "common.automationLabel.missingCapabilitiesWarning": "This template references automation capabilities that are not available yet. It cannot be applied until those capabilities are added.",
  "common.automationLabel.missingDocuments": "Missing Documents",
  "common.automationLabel.moduleStatus": "Module Status",
  "common.automationLabel.moduleType": "Module Type",
  "common.automationLabel.moreActions": "More actions",
  "common.automationLabel.nameMaxLengthHint": "Up to :max characters.",
  "common.automationLabel.nameRequired": "Automation name is required.",
  "common.automationLabel.nameTooLong": "Automation name must be :max characters or fewer.",
  "common.automationLabel.needsReview": "Needs review",
  "common.automationLabel.neverUsed": "Never",
  "common.automationLabel.next": "Next",
  "common.automationLabel.nextRunAt": "Next run",
  "common.automationLabel.nextRunWaitingForApproval": "Waiting for approval",
  "common.automationLabel.nextRunWaitingForEvent": "Waiting for :event",
  "common.automationLabel.nextRunWaitingForEventFallback": "Waiting for event",
  "common.automationLabel.nodeStatusReason": "Reason",
  "common.automationLabel.nodeWaitReasonActionPendingApproval": "Waiting — generated message needs approval before it can be sent.",
  "common.automationLabel.nodeWaitReasonActionApprovalGate": "Waiting — a required approval has not been decided yet.",
  "common.automationLabel.nodeWaitReasonApprovalGate": "Waiting — approval is still pending.",
  "common.automationLabel.nodeWaitReasonEventWait": "Waiting — listening for a matching event.",
  "common.automationLabel.nodeWaitReasonEventWaitNamed": "Waiting — listening for :event.",
  "common.automationLabel.nodeWaitReasonDelay": "Waiting — the delay has not finished.",
  "common.automationLabel.nodeWaitReasonSchedule": "Waiting — the scheduled time has not been reached.",
  "common.automationLabel.nodeWaitReasonDeadline": "Waiting — the deadline window is still open.",
  "common.automationLabel.nodeWaitReasonDoUntilInterval": "Waiting — the next loop pass is scheduled.",
  "common.automationLabel.nodeWaitReasonCommunicationDeferred": "Waiting — communication rules deferred this send.",
  "common.automationLabel.nodeWaitReasonQuietHours": "Waiting — quiet hours. The send will resume after the quiet period.",
  "common.automationLabel.nodeWaitReasonUnknown": "Waiting — no reason was recorded.",
  "common.automationLabel.correspondenceValidationRoutedTitle": "Could not send automatically",
  "common.automationLabel.correspondenceValidationRoutedHelp": "This node is set to send after generation, but the draft did not pass structured correspondence checks. Review the issues below, then approve to deliver or reject to skip.",
  "common.automationLabel.correspondenceValidationRoutedSummary": "Send blocked — draft validation failed",
  "common.automationLabel.correspondenceValidationLowConfidenceSummary": "Send blocked — low confidence answer",
  "common.automationLabel.correspondenceValidationFailedGeneric": "Draft validation failed",
  "common.automationLabel.correspondenceValidationError.missing_subject": "Missing email subject",
  "common.automationLabel.correspondenceValidationError.empty_body": "Message body is empty",
  "common.automationLabel.correspondenceValidationError.length_exceeded": "Message exceeds the allowed length (:detail)",
  "common.automationLabel.correspondenceValidationError.required_link_missing": "Required link missing from the draft: :detail",
  "common.automationLabel.correspondenceValidationError.markup_leak": "Raw markup remains in the message (:detail)",
  "common.automationLabel.correspondenceValidationError.placeholder_leak": "Placeholder text leaked into the message (:detail)",
  "common.automationLabel.correspondenceValidationError.unanswered_question": "Contact question not marked answered in the structured draft: :detail",
  "common.automationLabel.correspondenceValidationError.cta_unlabeled": "Call-to-action button has no usable label (:detail)",
  "common.automationLabel.correspondenceValidationWarning.over_length": "Message is slightly over the target length (:detail)",
  "common.automationLabel.correspondenceValidationWarning.unauthorized_link_withheld": "Link not in the approved catalog was withheld: :detail",
  "common.automationLabel.correspondenceValidationWarning.zero_amount": "Zero amount shown in copy (:detail)",
  "common.automationLabel.correspondenceValidationWarning.too_many_sections": "Too many sections (:detail)",
  "common.automationLabel.correspondenceValidationWarning.too_many_ctas": "Too many call-to-action buttons (:detail)",
  "common.automationLabel.correspondenceValidationWarning.question_partly_answered": "Question only partly answered: :detail",
  "common.automationLabel.correspondenceValidationWarning.question_not_in_knowledge": "Question not fully covered by knowledge: :detail",
  "common.automationLabel.correspondenceValidationWarning.vague_link_label": "Vague link label: :detail",
  "common.automationLabel.noActivityForDays": "No Activity For X Days",
  "common.automationLabel.noApprovalRequests": "No approval requests yet.",
  "common.automationLabel.noAudienceScopeSelected": "No audience scope defined ? this automation may apply to all contacts.",
  "common.automationLabel.noCapabilitiesAvailable": "No automation capabilities are available.",
  "common.automationLabel.noConnections": "No connections yet.",
  "common.automationLabel.noDraftChanges": "No unsaved changes",
  "common.automationLabel.noGraphStructure": "This template does not include a graph yet.",
  "common.automationLabel.noNodeConnections": "No connections for this node.",
  "common.automationLabel.noRuntimeAnalytics": "No graph runtime analytics yet. Metrics appear here after the published workflow executes.",
  "common.automationLabel.noRuntimeLogs": "No graph runtime logs yet. Runs appear here after the published workflow executes.",
  "common.automationLabel.noTemplateSelected": "No template selected ? the automation will start from scratch.",
  "common.automationLabel.noTriggerSettingsRequired": "No settings required for this trigger.",
  "common.automationLabel.noVersions": "No versions yet",
  "common.automationLabel.noVersionsDescription": "Open Automation Studio to create the first workflow draft.",
  "common.automationLabel.node": "Node",
  "common.automationLabel.nodeBranch": "Branch",
  "common.automationLabel.nodeConfig": "Node Config",
  "common.automationLabel.nodeDescription": "Description",
  "common.automationLabel.nodeExecutionHistory": "Node Execution History",
  "common.automationLabel.nodeInput": "Node Input",
  "common.automationLabel.nodeKey": "Node Key",
  "common.automationLabel.nodeOutput": "Node Output",
  "common.automationLabel.nodePalette": "Node Palette",
  "common.automationLabel.nodePayloadCopied": "Copied to clipboard.",
  "common.automationLabel.nodePayloadCopy": "Copy JSON",
  "common.automationLabel.nodePayloadCopyFailed": "Could not copy JSON.",
  "common.automationLabel.nodePayloadModalHint": "Full runtime payload for this node step.",
  "common.automationLabel.nodePayloadModalTitle": ":kind ? :node",
  "common.automationLabel.nodePayloadView": "View full JSON",
  "common.automationLabel.nodeRunStatusCompleted": "Completed",
  "common.automationLabel.nodeRunStatusFailed": "Failed",
  "common.automationLabel.nodeRunStatusPending": "Pending",
  "common.automationLabel.nodeRunStatusRunning": "Running",
  "common.automationLabel.nodeRunStatusWaiting": "Waiting",
  "common.automationLabel.nodeRunStatusSkipped": "Skipped",
  "common.automationLabel.nodeSettings": "Node Settings",
  "common.automationLabel.nodeSettingsFooter": "Node settings actions",
  "common.automationLabel.nodeTitle": "Title",
  "common.automationLabel.nodeUsageHeading": "How to use",
  "common.automationLabel.nodeType": "Node Type",
  "common.automationLabel.nodeTypeAction": "Action",
  "common.automationLabel.nodeTypeAiAgent": "AI Agent",
  "common.automationLabel.nodeTypeApproval": "Approval",
  "common.automationLabel.nodeTypeCondition": "Condition",
  "common.automationLabel.nodeTypeDeadline": "Deadline",
  "common.automationLabel.nodeTypeDelay": "Delay",
  "common.automationLabel.nodeTypeExit": "Exit",
  "common.automationLabel.nodeTypeGoal": "Goal",
  "common.automationLabel.nodeTypePhoneCall": "Phone Call",
  "common.automationLabel.nodeTypeSchedule": "Schedule",
  "common.automationLabel.nodeTypeTrigger": "Trigger",
  "common.automationLabel.nodeTypeWait": "Wait",
  "common.automationLabel.nodeTypeWaitUntil": "Wait Until Event",
  "common.automationLabel.nodeTypeDoUntil": "Do Until",
  "common.automationLabel.notPublished": "Not published",
  "common.automationLabel.notPublishedHint": "This workflow is draft-only. Publish to run it for live submissions.",
  "common.automationLabel.notSet": "Not set",
  "common.automationLabel.notifyUsers": "Notify Users",
  "common.automationLabel.notifyUsersDescription": "Send an email, SMS, or application notification to selected staff users, or to the contact owner.",
  "common.automationLabel.object": "Object",
  "common.automationLabel.objectType": "Object Type",
  "common.automationLabel.openBuilder": "Open Builder",
  "common.automationLabel.openInAutomationStudio": "Open in Automation Studio",
  "common.automationLabel.optionAdmissionsCounselorTeam": "Admissions Counselor Team",
  "common.automationLabel.optionAdvisor": "Advisor",
  "common.automationLabel.optionApplicantPrimaryContact": "Applicant Primary Contact",
  "common.automationLabel.optionAssignContactOwner": "Contact Owner",
  "common.automationLabel.optionAssignDepartment": "Department",
  "common.automationLabel.optionAssignRole": "Role",
  "common.automationLabel.optionAssignTeam": "Team",
  "common.automationLabel.optionAssignUser": "Specific User",
  "common.automationLabel.optionClassifyInquiry": "Classify Inquiry",
  "common.automationLabel.optionCompleted": "Completed",
  "common.automationLabel.optionContains": "Contains",
  "common.automationLabel.optionConversion": "Conversion",
  "common.automationLabel.optionCreateTask": "Create Task",
  "common.automationLabel.optionDays": "Days",
  "common.automationLabel.optionDraftReply": "Draft Reply",
  "common.automationLabel.optionEngagement": "Engagement",
  "common.automationLabel.optionEquals": "Equals",
  "common.automationLabel.optionFriday": "Friday",
  "common.automationLabel.optionHigh": "High",
  "common.automationLabel.optionInviteAddExisting": "Add to existing",
  "common.automationLabel.optionInviteReplaceExisting": "Replace existing",
  "common.automationLabel.optionHours": "Hours",
  "common.automationLabel.optionLow": "Low",
  "common.automationLabel.optionManager": "Manager",
  "common.automationLabel.optionMinutes": "Minutes",
  "common.automationLabel.optionMonday": "Monday",
  "common.automationLabel.optionNormal": "Normal",
  "common.automationLabel.optionNotApplicable": "Not Applicable",
  "common.automationLabel.optionNotEquals": "Does Not Equal",
  "common.automationLabel.optionNotificationChannelEmail": "Email",
  "common.automationLabel.optionNotificationChannelInApp": "In-app notification",
  "common.automationLabel.optionNotifyStaff": "Notify Staff",
  "common.automationLabel.optionOneDay": "1 Day",
  "common.automationLabel.optionOneWeek": "1 Week",
  "common.automationLabel.optionOwner": "Owner",
  "common.automationLabel.optionRecommendNextStep": "Recommend Next Step",
  "common.automationLabel.optionRetention": "Retention",
  "common.automationLabel.optionSaturday": "Saturday",
  "common.automationLabel.optionSendEmail": "Send Email",
  "common.automationLabel.optionSendSms": "Send SMS",
  "common.automationLabel.optionStopped": "Stopped",
  "common.automationLabel.optionStudent": "Student",
  "common.automationLabel.optionSummarize": "Summarize",
  "common.automationLabel.optionSunday": "Sunday",
  "common.automationLabel.optionThursday": "Thursday",
  "common.automationLabel.optionTuesday": "Tuesday",
  "common.automationLabel.optionTwoDays": "2 Days",
  "common.automationLabel.optionUrgent": "Urgent",
  "common.automationLabel.optionWednesday": "Wednesday",
  "common.automationLabel.optionWeeks": "Weeks",
  "common.automationLabel.optionsSourcePlaceholder": "Options from :source will appear here.",
  "common.automationLabel.outgoingConnection": "Outgoing",
  "common.automationLabel.overdueApprovals": "Overdue",
  "common.automationLabel.overviewTab": "Overview",
  "common.automationLabel.owner": "Owner",
  "common.automationLabel.paidAmount": "Paid Amount",
  "common.automationLabel.paletteActions": "Actions",
  "common.automationLabel.paletteAddHint": "Click a node to add it to the canvas",
  "common.automationLabel.paletteAi": "AI",
  "common.automationLabel.paletteAiClassifyInquiry": "AI Classify Inquiry",
  "common.automationLabel.paletteAiFollowUp": "AI Follow-Up",
  "common.automationLabel.paletteApplicationStarted": "Application Started",
  "common.automationLabel.paletteApproval": "Approval",
  "common.automationLabel.paletteBranch": "Branch",
  "common.automationLabel.paletteCommunication": "Communication",
  "common.automationLabel.paletteConditions": "Conditions",
  "common.automationLabel.paletteCreatePhoneCall": "Create Phone Call",
  "common.automationLabel.paletteCreateTask": "Create Task",
  "common.automationLabel.paletteDeadline": "Deadline",
  "common.automationLabel.paletteDelay": "Delay",
  "common.automationLabel.paletteDragHint": "Drag a node to the canvas",
  "common.automationLabel.paletteExit": "Exit",
  "common.automationLabel.paletteFlow": "Flow",
  "common.automationLabel.paletteGoal": "Goal",
  "common.automationLabel.paletteIfElse": "If / Else",
  "common.automationLabel.paletteNoMatches": "No nodes match this filter.",
  "common.automationLabel.paletteSchedule": "Schedule",
  "common.automationLabel.paletteSearchPlaceholder": "Search nodes",
  "common.automationLabel.paletteSendEmail": "Send Email",
  "common.automationLabel.paletteSendSms": "Send SMS",
  "common.automationLabel.paletteShowLess": "Show less",
  "common.automationLabel.paletteShowMore": "Show :count more",
  "common.automationLabel.paletteStatusChanged": "Status Changed",
  "common.automationLabel.paletteTrigger": "Trigger",
  "common.automationLabel.paletteWait": "Wait",
  "common.automationLabel.paletteWaitUntil": "Wait Until Event",
  "common.automationLabel.paletteDoUntil": "Do Until",
  "common.automationLabel.panTool": "Pan canvas",
  "common.automationLabel.parent": "Parent",
  "common.automationLabel.parentConsentMissing": "Parent Consent Missing",
  "common.automationLabel.parentConsentRequested": "Parent Consent Requested",
  "common.automationLabel.parentEvents": "Parent Events",
  "common.automationLabel.parentLinkedOnly": "Parent-Linked Contacts Only",
  "common.automationLabel.parentPermissionWarning": "Parent communication is included ? parent relationship permissions must be respected.",
  "common.automationLabel.payloadCompatibilityWarning": "Payload compatibility warning",
  "common.automationLabel.paymentEvents": "Payment Events",
  "common.automationLabel.paymentReceived": "Payment Received",
  "common.automationLabel.pendingApprovals": "Pending",
  "common.automationLabel.pendingApprovalsCountBadge": ":count pending approval(s)",
  "common.automationLabel.approvalRequestsIndexDescription": "Review and decide automation approval requests across all workflows.",
  "common.automationLabel.approvalRequestsIndexTitle": "Approval requests",
  "common.automationLabel.seeAllAutomationApprovals": "See all approval requests",
  "common.automationLabel.topNavApprovalsMenu": "Automation approvals",
  "common.automationLabel.personaNotActiveForStep": "The selected AI persona \":persona\" is :status. Activate it before this automation step can run.",
  "common.automationLabel.personaNotConfiguredForStep": "No AI persona is configured for this automation step.",
  "common.automationLabel.personaNotFoundForStep": "The selected AI persona no longer exists.",
  "common.automationLabel.phoneCallCompleted": "Phone Call Completed",
  "common.automationLabel.phoneCallEvents": "Phone Call Events",
  "common.automationLabel.phoneCallOutcomeRecorded": "Phone Call Outcome Recorded",
  "common.automationLabel.phoneCallTaskDescription": "Create a task for the admissions team to call the applicant.",
  "common.automationLabel.phoneFollowUp": "Phone Follow-Up",
  "common.automationLabel.phoneIntegrationWarning": "This automation includes phone calls ? browser calling setup may be required.",
  "common.automationLabel.previewEmailTemplate": "Preview email template",
  "common.automationLabel.previewFlow": "Preview Flow",
  "common.automationLabel.previewSmsTemplate": "Preview SMS template",
  "common.automationLabel.previewTemplate": "Preview Template",
  "common.automationLabel.presenceHint": "Coordinate saves and publishes to avoid overwriting each other's work.",
  "common.automationLabel.presenceMultiple": ":names are also editing this automation",
  "common.automationLabel.presenceSingle": ":name is also editing this automation",
  "common.automationLabel.priority": "Priority",
  "common.automationLabel.programScope": "Program Scope",
  "common.automationLabel.publish": "Publish",
  "common.automationLabel.publishApprovalRequired": "Require publish approval",
  "common.automationLabel.publishApprovalRequiredHelp": "When enabled, draft automations must be reviewed and approved before they can be published.",
  "common.automationLabel.publishFailed": "Unable to publish automation.",
  "common.automationLabel.publishReviewApprovalRequired": "This draft must be approved before it can be published.",
  "common.automationLabel.publishReviewApprove": "Approve Review",
  "common.automationLabel.publishReviewApproveDescription": "Approve this draft so it can be published.",
  "common.automationLabel.publishReviewApproveTitle": "Approve publish review",
  "common.automationLabel.publishReviewApproved": "Publish review approved.",
  "common.automationLabel.publishReviewDecisionNotAllowed": "This draft is not awaiting publish review.",
  "common.automationLabel.publishReviewNotEnabled": "Publish approval is not enabled for this school.",
  "common.automationLabel.publishReviewNotes": "Review notes",
  "common.automationLabel.publishReviewNotesHelp": "Optional notes for reviewers or audit history.",
  "common.automationLabel.publishReviewReject": "Reject Review",
  "common.automationLabel.publishReviewRejectDescription": "Reject this draft and return it to the author for changes.",
  "common.automationLabel.publishReviewRejectTitle": "Reject publish review",
  "common.automationLabel.publishReviewRejected": "Publish review rejected.",
  "common.automationLabel.publishReviewRequest": "Request Review",
  "common.automationLabel.publishReviewRequestDescription": "Submit this draft for review before it can be published.",
  "common.automationLabel.publishReviewRequestNotAllowed": "This draft cannot be submitted for publish review in its current state.",
  "common.automationLabel.publishReviewRequestTitle": "Request publish review",
  "common.automationLabel.publishReviewRequested": "Publish review requested.",
  "common.automationLabel.publishUpToDate": "Already published. Save draft changes before publishing again.",
  "common.automationLabel.published": "Published",
  "common.automationLabel.publishedAt": "Published at",
  "common.automationLabel.publishedBy": "Published by",
  "common.automationLabel.publishedVersionBadge": "Published v:version",
  "common.automationLabel.publishedVersionHint": "Version :version is live for runtime execution.",
  "common.automationLabel.publishedVersions": "Published Versions",
  "common.automationLabel.publishing": "Publishing...",
  "common.automationLabel.purpose": "Purpose",
  "common.automationLabel.purposeMarketing": "Marketing",
  "common.automationLabel.purposeOperational": "Operational",
  "common.automationLabel.purposeTransactional": "Transactional",
  "common.automationLabel.quietHours": "Quiet Hours",
  "common.automationLabel.quietHoursEnd": "Quiet Hours End",
  "common.automationLabel.quietHoursStart": "Quiet Hours Start",
  "common.automationLabel.quietHoursTimeRequired": "Enter a valid quiet hours time.",
  "common.automationLabel.quietHoursTimesEqual": "Quiet hours start and end cannot be the same time.",
  "common.automationLabel.reRun": "Re-run",
  "common.automationLabel.reRunConfirmDescription": "Start a new run of this automation for this contact.",
  "common.automationLabel.reRunConfirmTitle": "Re-run automation?",
  "common.automationLabel.reRunSuccess": "Automation re-run started for this contact.",
  "common.automationLabel.readyForStudio": "Ready for Studio",
  "common.automationLabel.recipient": "Recipient",
  "common.automationLabel.redo": "Redo",
  "common.automationLabel.regenerate": "Regenerate",
  "common.automationLabel.registredCourse": "Registred Course",
  "common.automationLabel.registredProgram": "Registred Program",
  "common.automationLabel.rejectRequest": "Reject Request",
  "common.automationLabel.rejectedApprovals": "Rejected",
  "common.automationLabel.removeConnection": "Remove Connection",
  "common.automationLabel.removeIncompatibleItems": "Remove Incompatible Items",
  "common.automationLabel.removeIncompatibleNodes": "Change Trigger and Remove Incompatible Nodes",
  "common.automationLabel.replaceCurrentGraphWarning": "Applying this template will replace the current graph. Continue?",
  "common.automationLabel.requireApproval": "Require Approval",
  "common.automationLabel.requireApprovalForAgentMessages": "Require Approval for Agent Messages",
  "common.automationLabel.requireApprovalForEmail": "Require Approval for Email",
  "common.automationLabel.requireApprovalForFinanceMessages": "Require Approval for Finance Messages",
  "common.automationLabel.requireApprovalForParentMessages": "Require Approval for Parent Messages",
  "common.automationLabel.requireApprovalForSms": "Require Approval for SMS",
  "common.automationLabel.requireApprovalForWhatsapp": "Require Approval for WhatsApp",
  "common.automationLabel.requiredIntegrations": "Required integrations",
  "common.automationLabel.resizePanel": "Resize panel",
  "common.automationLabel.respectDoNotContact": "Respect Do Not Contact",
  "common.automationLabel.respectParentOnlyRules": "Respect Parent-Only Rules",
  "common.automationLabel.respectPhoneConsent": "Respect Phone Consent",
  "common.automationLabel.respectSmsConsent": "Respect SMS Consent",
  "common.automationLabel.respectUnsubscribed": "Respect Unsubscribed",
  "common.automationLabel.retired": "Retired",
  "common.automationLabel.retryAdvanced": "Advanced retry",
  "common.automationLabel.retryBackoff": "Backoff",
  "common.automationLabel.retryBackoffExponential": "Exponential",
  "common.automationLabel.retryBackoffFixed": "Fixed",
  "common.automationLabel.retryBackoffLinear": "Linear",
  "common.automationLabel.retryDelayMinutes": "Delay minutes",
  "common.automationLabel.retryEnabled": "Retry on failure",
  "common.automationLabel.retryFailureContinue": "Continue",
  "common.automationLabel.retryFailureExit": "Exit",
  "common.automationLabel.retryFailureFailRun": "Fail run",
  "common.automationLabel.retryLoad": "Try again",
  "common.automationLabel.retryMaxAttempts": "Retry attempts",
  "common.automationLabel.retryOnFailure": "After retries fail",
  "common.automationLabel.review": "Review",
  "common.automationLabel.reviewAutomation": "Review Automation",
  "common.automationLabel.reviewWithAi": "Review with AI",
  "common.automationLabel.reviewWithAiHint": "Get AI recommendations for this draft graph. Validation results remain authoritative and the graph is not changed automatically.",
  "common.automationLabel.review_approved": "Review approved",
  "common.automationLabel.review_rejected": "Review rejected",
  "common.automationLabel.review_requested": "Review requested",
  "common.automationLabel.routedToStudio": "Routed to Studio",
  "common.automationLabel.runActionCancel": "Cancel run",
  "common.automationLabel.runActionExecuteNow": "Execute now",
  "common.automationLabel.runActionScheduleResume": "Schedule resume",
  "common.automationLabel.runScheduleResumeModalTitle": "Schedule resume time",
  "common.automationLabel.runScheduleResumeModalHint": "Choose when this run should resume. The run stays waiting until that time.",
  "common.automationLabel.runScheduleResumeAt": "Resume at",
  "common.automationLabel.runScheduleResumeSaved": "Resume time updated.",
  "common.automationLabel.runScheduleResumeUnavailable": "This wait cannot be rescheduled.",
  "common.automationLabel.runScheduleResumeMustBeFuture": "Choose a date and time in the future.",
  "common.automationLabel.testControlsScheduleResume": "Schedule resume",
  "common.automationLabel.runActionExit": "Exit run",
  "common.automationLabel.runActionResume": "Resume",
  "common.automationLabel.runActionRetry": "Retry",
  "common.automationLabel.runActionRetryFromNode": "Retry from node",
  "common.automationLabel.runActionSkipNode": "Skip node",
  "common.automationLabel.runActionsTitle": "Run Actions",
  "common.automationLabel.runCancelConfirmDescription": "The run will be marked as cancelled and will not continue executing.",
  "common.automationLabel.runCancelConfirmTitle": "Cancel this run?",
  "common.automationLabel.runCancelled": "Run cancelled.",
  "common.automationLabel.runExitConfirmDescription": "The run will be marked as exited and will not continue executing.",
  "common.automationLabel.runExitConfirmTitle": "Exit this run?",
  "common.automationLabel.runExited": "Run exited.",
  "common.automationLabel.runNodeSkipped": "Node skipped and run resumed.",
  "common.automationLabel.runOperationFailed": "Could not complete the run operation.",
  "common.automationLabel.runOperationSucceeded": "Run operation completed.",
  "common.automationLabel.runResumed": "Run resumed.",
  "common.automationLabel.runRetried": "Run retry started.",
  "common.automationLabel.runRetriedFromNode": "Run retry started from the selected node.",
  "common.automationLabel.runStatus": "Run Status",
  "common.automationLabel.runStatusActive": "Active",
  "common.automationLabel.runStatusCancelled": "Cancelled",
  "common.automationLabel.runStatusCompleted": "Completed",
  "common.automationLabel.runStatusExited": "Exited",
  "common.automationLabel.runStatusFailed": "Failed",
  "common.automationLabel.runStatusWaiting": "Waiting",
  "common.automationLabel.runStatusWaitingApproval": "Approval required",
  "common.automationLabel.runsByStatus": "Runs by Status",
  "common.automationLabel.runtimeConfiguration": "Runtime Configuration",
  "common.automationLabel.runtimeLimitMaxNodeSeconds": "Node execution time limit reached",
  "common.automationLabel.runtimeLimitMaxRunSeconds": "Maximum run execution time reached",
  "common.automationLabel.runtimeLimitMaxStepsPerInvocation": "Step budget reached; the run will continue automatically",
  "common.automationLabel.runtimeLimitMaxTotalSteps": "Maximum total steps reached",
  "common.automationLabel.runtimeLimitReason": "Runtime Limit",
  "common.automationLabel.runtimeLogsFilteredEmpty": "No runs match your search, status, or date filters.",
  "common.automationLabel.runtimeLogsSelectRun": "Select a run to view execution details.",
  "common.automationLabel.runtimeOverlayActiveBanner": "Runtime overlay (read-only)",
  "common.automationLabel.runtimeOverlayBranchSelected": "Branch selected",
  "common.automationLabel.runtimeOverlayCompleted": "Completed",
  "common.automationLabel.runtimeOverlayCurrent": "Current",
  "common.automationLabel.runtimeOverlayExit": "Exit overlay",
  "common.automationLabel.runtimeOverlayFailed": "Failed",
  "common.automationLabel.runtimeOverlaySkipped": "Skipped",
  "common.automationLabel.runtimeOverlayViewOnGraph": "View on graph",
  "common.automationLabel.runtimeOverlayWaiting": "Waiting",
  "common.automationLabel.runtimeStatus": "Runtime Status",
  "common.automationLabel.saveAsTemplate": "Save as template",
  "common.automationLabel.saveAutomationSettings": "Save Settings",
  "common.automationLabel.saveDraft": "Save Draft",
  "common.automationLabel.saveDraftBeforeTemplate": "Please save the draft before creating a template.",
  "common.automationLabel.saveFailed": "Unable to save draft.",
  "common.automationLabel.saving": "Saving...",
  "common.automationLabel.scheduleCallback": "Schedule Callback",
  "common.automationLabel.scheduleCallbackDescription": "Schedule a callback task for a specific delay period.",
  "common.automationLabel.scheduleContactFieldGroup": "Contact fields",
  "common.automationLabel.scheduleContactTimelineGroup": "Timeline",
  "common.automationLabel.scheduleDateField": "Contact Date Field",
  "common.automationLabel.scheduleDateFieldHelp": "Use a date or datetime field from the contact profile, or a status date from the contact Timeline tab.",
  "common.automationLabel.scheduleExactDate": "Exact Date",
  "common.automationLabel.scheduleExactTime": "Exact Time",
  "common.automationLabel.scheduleExactTimeHelp": "24-hour time such as 09:00.",
  "common.automationLabel.scheduleMode": "Schedule Mode",
  "common.automationLabel.scheduleModeDuration": "Fixed duration",
  "common.automationLabel.scheduleModeHelp": "Choose how this node calculates the resume time.",
  "common.automationLabel.scheduleModeSmartRelative": "Smart relative (weekdays + time)",
  "common.automationLabel.scheduleModeUntilDateTime": "Until date and time",
  "common.automationLabel.scheduleModeUntilDatetime": "Until specific datetime",
  "common.automationLabel.scheduleModeUntilField": "Until contact date field",
  "common.automationLabel.scheduleOffsetAfter": "After field date",
  "common.automationLabel.scheduleOffsetAmount": "Offset Amount",
  "common.automationLabel.scheduleOffsetAmountHelp": "Leave at 0 to use the field date exactly.",
  "common.automationLabel.scheduleOffsetBefore": "Before field date",
  "common.automationLabel.scheduleOffsetDirection": "Offset Direction",
  "common.automationLabel.scheduleOffsetUnit": "Offset Unit",
  "common.automationLabel.schedulePastDateFail": "Fail the run",
  "common.automationLabel.schedulePastDatePolicy": "Past Date Policy",
  "common.automationLabel.schedulePastDatePolicyHelp": "What to do when the calculated time is already in the past.",
  "common.automationLabel.schedulePastDateSkip": "Skip and continue",
  "common.automationLabel.schedulePastDateUseNow": "Resume immediately",
  "common.automationLabel.scheduleStartTime": "Preferred Time",
  "common.automationLabel.scheduleStartTimeHelp": "24-hour time such as 09:00.",
  "common.automationLabel.scheduleStudentTimezone": "Student's Timezone",
  "common.automationLabel.scheduleTimeoutAmount": "Timeout Amount",
  "common.automationLabel.scheduleTimeoutAmountHelp": "Maximum time to wait before taking the timeout branch.",
  "common.automationLabel.scheduleTimeoutUnit": "Timeout Unit",
  "common.automationLabel.scheduleTimezone": "Timezone",
  "common.automationLabel.scheduleTimezoneHelp": "Choose whether schedule times use the school timezone or the enrolled student's timezone.",
  "common.automationLabel.scheduleUntilDatetime": "Until Datetime",
  "common.automationLabel.scheduleUntilDatetimeHelp": "Resume at this exact moment in the selected timezone.",
  "common.automationLabel.scheduleWeekdays": "Allowed Weekdays",
  "common.automationLabel.scheduleWeekdaysHelp": "After the delay, resume on the next allowed weekday.",
  "common.automationLabel.schoolTimezone": "School's Timezone",
  "common.automationLabel.scratchDescription": "Build the workflow step by step in Automation Studio.",
  "common.automationLabel.searchAutomationItems": "Search actions, triggers...",
  "common.automationLabel.searchAutomations": "Search automations by title, description, event, or category",
  "common.automationLabel.searchByTitle": "Search by title",
  "common.automationLabel.searchEnrollments": "Search enrollments",
  "common.automationLabel.searchFailedRuns": "Search failed runs",
  "common.automationLabel.searchLogs": "Search execution log",
  "common.automationLabel.searchRuns": "Search runs by event, status, object, or ID",
  "common.automationLabel.searchTemplatesByTitle": "Search templates by title",
  "common.automationLabel.searchTriggers": "Search triggers",
  "common.automationLabel.searchVersions": "Search versions",
  "common.automationLabel.sectionStudio": "Studio runtime",
  "common.automationLabel.sectionStudioDescription": "Current Automation Studio and legacy runtime flags for this school.",
  "common.automationLabel.sectionSummary": "Automation summary",
  "common.automationLabel.sectionSummaryDescription": "Basic identification and trigger details for this automation.",
  "common.automationLabel.sectionAudienceScope": "Audience scope",
  "common.automationLabel.sectionAudienceScopeDescription": "Who this automation targets and enrollment filters applied at enrollment time.",
  "common.automationLabel.sectionCommunicationRules": "Communication rules",
  "common.automationLabel.sectionCommunicationRulesDescription": "Purpose, quiet hours, send limits, and consent preferences for outbound messages.",
  "common.automationLabel.sectionVersions": "Version counts",
  "common.automationLabel.sectionVersionsDescription": "Draft and published Studio version totals.",
  "common.automationLabel.sector": "Sector",
  "common.automationLabel.selectAutomation": "Select automation",
  "common.automationLabel.selectNodeToEdit": "Select a node to edit.",
  "common.automationLabel.selectPlaceholder": "Select an option",
  "common.automationLabel.selectTrigger": "Trigger",
  "common.automationLabel.selectTriggerFirst": "Select a trigger first to see available conditions and actions.",
  "common.automationLabel.selectedNode": "Selected Node",
  "common.automationLabel.selectedTrigger": "Selected Trigger",
  "common.automationLabel.sendAsContactOwner": "Send as Contact Owner",
  "common.automationLabel.sendAsContactOwnerHelp": "When enabled, email is sent from the contact owner's name and address, and SMS or chat is attributed to the owner when supported.",
  "common.automationLabel.signAsContactOwner": "Sign as contact owner",
  "common.automationLabel.signAsContactOwnerHelp": "Draft the message signature using the contact owner's name and details. Enabled automatically for the Automation Follow-Up persona.",
  "common.automationLabel.sendLimits": "Send limits",
  "common.automationLabel.sendLimitsPerContact": "Send limits per contact",
  "common.automationLabel.sendLimitRangeHint": "Enter a whole number between :min and :max.",
  "common.automationLabel.sendSms": "Send SMS",
  "common.automationLabel.sendStudentEmail": "Send Student Email",
  "common.automationLabel.sendTemplateEmailToStudent": "Send Template Email To Student",
  "common.automationLabel.sendUserEmail": "Send User Email",
  "common.automationLabel.setupMinutes": ":minutes min",
  "common.automationLabel.showApproval": "Show Approval",
  "common.automationLabel.showApprovalDetails": "Show Approval Details",
  "common.automationLabel.simulationAction": "Simulate",
  "common.automationLabel.simulationActionSkippedByScope": "Action :action would be skipped by communication rules (:reason).",
  "common.automationLabel.simulationActionsSummary": "Actions that would run",
  "common.automationLabel.simulationActualValue": "Actual :field",
  "common.automationLabel.simulationAudienceScopeBlocked": "This sample contact is outside the automation audience scope (:filter / :reason). Production enrollment would also skip this contact.",
  "common.automationLabel.simulationAudienceScopeTitle": "Outside audience scope",
  "common.automationLabel.simulationBranch": "Branch",
  "common.automationLabel.simulationConditionFailed": "Did not match ? No branch taken",
  "common.automationLabel.simulationConditionPassed": "Matched ? Yes branch taken",
  "common.automationLabel.simulationDescription": "Walk the draft graph with sample payload data. Audience scope and communication rules are applied. No runtime records or side-effect actions are executed.",
  "common.automationLabel.simulationUnpublishedDraftTitle": "Simulating unpublished draft changes",
  "common.automationLabel.simulationUnpublishedDraftHint": "This path uses your current draft. Live runs still use published v:version until you publish.",
  "common.automationLabel.simulationUnpublishedDraftNoPublishedHint": "This path uses your current draft. No published version is live yet ? publish before production runs.",
  "common.automationLabel.simulationDetailsAction": "Action configuration",
  "common.automationLabel.simulationDetailsCondition": "Condition checked",
  "common.automationLabel.simulationDraftOnly": "Simulation is available for draft versions only.",
  "common.automationLabel.simulationEvaluatedRecord": "Checked against",
  "common.automationLabel.simulationFastForwardContinue": "Fast-forward and continue",
  "common.automationLabel.simulationFastForwardWaits": "Fast-forward through waits",
  "common.automationLabel.simulationFastForwardWaitsHint": "Skip wait durations and continue the simulated path immediately. Approval gates still pause the simulation.",
  "common.automationLabel.simulationFastForwardedWaitCount": ":count wait(s) fast-forwarded",
  "common.automationLabel.simulationInvalidPayloadJson": "Sample payload must be valid JSON.",
  "common.automationLabel.simulationMaxStepsReached": "Simulation reached the step limit before finishing.",
  "common.automationLabel.simulationDoUntilSinglePass": "Do Until loops are simulated for a single pass before taking the Done branch.",
  "common.automationLabel.simulationMissingPayloadKeys": "Suggested payload keys missing",
  "common.automationLabel.simulationMissingTrigger": "The graph must contain exactly one trigger node.",
  "common.automationLabel.simulationNodeFailed": "Simulation stopped at a failed node.",
  "common.automationLabel.simulationObjectReference": "Object reference",
  "common.automationLabel.simulationObjectReferenceHint": "Optional shortcut when you know the object type and ID, for example student:123.",
  "common.automationLabel.simulationObjectReferenceHintSubmission": "Optional shortcut for a real application submission in this tenant, for example submission:4821.",
  "common.automationLabel.simulationObjectReferencePlaceholder": "student:123",
  "common.automationLabel.simulationObjectReferencePlaceholderSubmission": "submission:4821",
  "common.automationLabel.simulationPausedAtWait": "Simulation paused at a wait step.",
  "common.automationLabel.simulationRun": "Run simulation",
  "common.automationLabel.simulationRunning": "Simulating...",
  "common.automationLabel.simulationSamplePayload": "Sample payload JSON",
  "common.automationLabel.simulationSamplePayloadHintDefault": "Add a real tenant record ID, such as \"student\": 4821, or use the object reference field.",
  "common.automationLabel.simulationSamplePayloadHintFormSubmission": "Add a real submission ID from this tenant, such as \"submission\": 4821, or use object reference submission:4821. The contact is loaded from that submission.",
  "common.automationLabel.simulationSamplePayloadHintInvoice": "Add real tenant record IDs, such as \"student\" and \"invoice\", or use the object reference field.",
  "common.automationLabel.simulationSamplePayloadPlaceholder": "{\n  \"event_name\": \"FormSubmission\",\n  \"submission\": 4821\n}",
  "common.automationLabel.simulationSimulatedApproval": "Simulated approval gate",
  "common.automationLabel.simulationSimulatedWait": "Simulated wait until",
  "common.automationLabel.simulationSkippedNodes": "Skipped nodes",
  "common.automationLabel.simulationSkippedReason_branch_not_taken": "Branch not taken",
  "common.automationLabel.simulationSkippedReason_unreachable": "Not reachable from the trigger",
  "common.automationLabel.simulationStopped_audience_scope_mismatch": "Outside audience scope",
  "common.automationLabel.simulationStopped_completed": "Completed",
  "common.automationLabel.simulationStopped_exited": "Exited",
  "common.automationLabel.simulationStopped_failed": "Failed",
  "common.automationLabel.simulationStopped_max_steps": "Step limit reached",
  "common.automationLabel.simulationStopped_missing_trigger": "Missing trigger",
  "common.automationLabel.simulationStopped_no_outgoing_edge": "No outgoing edge",
  "common.automationLabel.simulationStopped_node_not_found": "Node not found",
  "common.automationLabel.simulationStopped_validation_blocked": "Blocked by validation errors",
  "common.automationLabel.simulationStopped_waiting": "Paused at wait or approval",
  "common.automationLabel.simulationTitle": "Simulate automation",
  "common.automationLabel.simulationUnresolvedPayloadReference": "Could not load :key (ID :value) from the sample payload. Use a valid record from this tenant or object reference.",
  "common.automationLabel.simulationUnsupportedNodeType": "This node type cannot be simulated yet.",
  "common.automationLabel.simulationValidationBlocked": "Simulation stopped because the graph has validation errors.",
  "common.automationLabel.simulationVisitedPath": "Simulated path",
  "common.automationLabel.simulationWaitFastForwarded": "Wait fast-forwarded ? continued immediately",
  "common.automationLabel.simulationWarnings": "Warnings",
  "common.automationLabel.simulationWouldExecute": "Would execute",
  "common.automationLabel.simulationWouldSkip": "Would skip (scope / communication rules)",
  "common.automationLabel.smsIntegrationWarning": "This automation uses SMS ? ensure your SMS integration is configured.",
  "common.automationLabel.smsPreview": "SMS preview",
  "common.automationLabel.smsStatus": "SMS Status",
  "common.automationLabel.smsStatusChanged": "SMS Status Changed",
  "common.automationLabel.smsTemplatePreviewDescription": "Review the selected SMS template before using it in this automation step.",
  "common.automationLabel.sourceNode": "Source Node",
  "common.automationLabel.staff": "Staff",
  "common.automationLabel.staffPersonaNotAllowedForStep": "Staff assistant personas cannot be used in this automation step.",
  "common.automationLabel.startFromScratch": "Start from Scratch",
  "common.automationLabel.startedAt": "Started At",
  "common.automationLabel.statusChanged": "Status Changed",
  "common.automationLabel.statusGroup": "Workflow status",
  "common.automationLabel.stepAiHint": "Choose how AI drafts messages and when staff approval is required.",
  "common.automationLabel.stepAudienceHint": "Limit who enters this workflow. Leave fields empty to apply more broadly.",
  "common.automationLabel.stepCommunicationHint": "Set consent rules, quiet hours, and per-channel send limits.",
  "common.automationLabel.stepDetailsHint": "Name the automation and add an optional description.",
  "common.automationLabel.stepGoalHint": "Choose the business area this automation supports. This is not a Studio graph Goal node ? it narrows templates and triggers, and pre-fills audience and communication defaults.",
  "common.automationLabel.stepGoalAudienceHint": "Your choice filters the template library and trigger list on the next steps. Audience scope and communication rules are auto-detected from this workflow area (you can adjust them later).",
  "common.automationLabel.stepReviewHint": "Review your choices, then open the builder to finish the workflow.",
  "common.automationLabel.stepTemplateHint": "Start from scratch or pick a pre-built template aligned with your workflow area.",
  "common.automationLabel.stepTriggerHint": "Select the event that starts this workflow.",
  "common.automationLabel.stepTriggerSettingsHint": "Adjust trigger-specific options before defining the audience.",
  "common.automationLabel.stopAutomation": "Stop Automation",
  "common.automationLabel.stopAutomationDescription": "Stop the current automation for this contact.",
  "common.automationLabel.stopReason": "Stop Reason",
  "common.automationLabel.stopReasonCompleted": "Run completed",
  "common.automationLabel.stopReasonExited": "Run exited",
  "common.automationLabel.stopReasonFailed": "Node execution failed",
  "common.automationLabel.stopReasonMaxNodeSeconds": "Node execution time limit reached; run will continue",
  "common.automationLabel.stopReasonMaxRunSeconds": "Maximum run execution time reached",
  "common.automationLabel.stopReasonMaxSteps": "Step budget reached; run will continue",
  "common.automationLabel.stopReasonStepModePaused": "Paused in step mode; use Test controls to continue",
  "common.automationLabel.stopReasonMaxTotalSteps": "Maximum total steps reached",
  "common.automationLabel.stopReasonMissingCurrentNode": "Run has no current node",
  "common.automationLabel.stopReasonNoHandler": "No runtime handler is registered for this node type",
  "common.automationLabel.stopReasonNoOutgoingEdge": "No outgoing connection from the current node",
  "common.automationLabel.stopReasonNodeNotFound": "Current node was not found in the published graph",
  "common.automationLabel.stopReasonRetryWaiting": "Run is waiting before retry",
  "common.automationLabel.stopReasonUnpublishedVersion": "Automation version is not published",
  "common.automationLabel.stopReasonWaiting": "Run is waiting",
  "common.automationLabel.stopWhenGoalAchieved": "Stop When Goal Achieved",
  "common.automationLabel.storeResultField": "Store Result Field",
  "common.automationLabel.student": "Student",
  "common.automationLabel.studentActions": "Student Actions",
  "common.automationLabel.studentCreated": "Student Created",
  "common.automationLabel.studentEvents": "Student Events",
  "common.automationLabel.studentStatusScope": "Student Status Scope",
  "common.automationLabel.studentUpdated": "Student Updated",
  "common.automationLabel.studio": "Automation Studio",
  "common.automationLabel.studioActions": "Automation studio actions",
  "common.automationLabel.studioRightRail": "Automation Studio right panel",
  "common.automationLabel.studioRuntime": "Studio Runtime",
  "common.automationLabel.studioRuntimeEnabled": "Studio Runtime Enabled",
  "common.automationLabel.toggleRuntimeStatus": "Toggle Runtime Status",
  "common.automationLabel.runtimeStatusEnabled": "Automation enabled successfully.",
  "common.automationLabel.runtimeStatusDisabled": "Automation disabled successfully.",
  "common.automationLabel.studioRuntimeOnly": "Studio runtime only",
  "common.automationLabel.studioRuntimeStatus": "Studio runtime status",
  "common.automationLabel.submissionStatus": "Submission Status",
  "common.automationLabel.submissionUpdated": "Submission Updated",
  "common.automationLabel.submittedFrom": "Submitted From",
  "common.automationLabel.summaryRequested": "Summary Requested",
  "common.automationLabel.summaryType": "Summary Type",
  "common.automationLabel.tabAnalytics": "Analytics",
  "common.automationLabel.tabApprovals": "Approvals",
  "common.automationLabel.tabBuilder": "Builder",
  "common.automationLabel.tabEnrollments": "Enrollments",
  "common.automationLabel.tabExecutionLogs": "Execution Logs",
  "common.automationLabel.tabTemplates": "Templates",
  "common.automationLabel.targetNode": "Target Node",
  "common.automationLabel.taskAssignedTo": "Task Assigned To",
  "common.automationLabel.taskCreated": "Task Created",
  "common.automationLabel.taskEvents": "Task Events",
  "common.automationLabel.activityEvents": "Activity Events",
  "common.automationLabel.taskPriority": "Task Priority",
  "common.automationLabel.taskType": "Task Type",
  "common.automationLabel.templateApplied": "Template applied to the current draft.",
  "common.automationLabel.templateApplyFailed": "Unable to apply template.",
  "common.automationLabel.templateArchiveFailed": "Unable to archive template. Please try again.",
  "common.automationLabel.templateArchived": "Template archived.",
  "common.automationLabel.templateChoiceRequired": "Choose how to start ? from scratch, with AI Help, or from the template library ? before continuing.",
  "common.automationLabel.templateCount": ":count templates",
  "common.automationLabel.templateDuplicateFailed": "Unable to duplicate template. Please try again.",
  "common.automationLabel.templateDuplicated": "Template duplicated successfully.",
  "common.automationLabel.templateFilters": "Template filters",
  "common.automationLabel.templateLibrary": "Template Library",
  "common.automationLabel.templateSourceType": "Template type",
  "common.automationLabel.templatePreviewEmpty": "This template has no content to preview.",
  "common.automationLabel.templatePreviewLoadFailed": "Could not load the template preview. Try again or pick another template.",
  "common.automationLabel.templatePreviewReadOnly": "This preview is read-only and does not change your current draft.",
  "common.automationLabel.templatePreviewSummary": "Summary",
  "common.automationLabel.templatePreviewRequires": "Requires",
  "common.automationLabel.templatePreviewBeforeUse": "Before you use this template",
  "common.automationLabel.templatePreviewWorkflow": "Workflow",
  "common.automationLabel.templatePreviewWorkflowMeta": ":nodes nodes ? :connections connections",
  "common.automationLabel.templatePreviewMainPath": "Main path",
  "common.automationLabel.templatePreviewBranchOptions": "Branch options",
  "common.automationLabel.templateSaveFailed": "Failed to save template.",
  "common.automationLabel.templateSaved": "Template saved successfully.",
  "common.automationLabel.triggersFilteredByGoalHint": "Showing triggers relevant to your selected workflow area.",
  "common.automationLabel.triggersFilteredEmptyHint": "No triggers match this workflow area. Try a different area or clear your search.",
  "common.automationLabel.templateTriggerPreselectedHint": "This trigger was chosen from the \":template\" template. You can change it, but some template nodes may become incompatible.",
  "common.automationLabel.templateTriggerChangeWarning": "Changing the trigger may make some template nodes incompatible.",
  "common.automationLabel.templateTriggerChangedWarning": "The trigger was changed from the template default ? the graph may need validation.",
  "common.automationLabel.templateUnavailable": "This template is not available for use yet.",
  "common.automationLabel.templateWarnings": "Template Warnings",
  "common.automationLabel.templatesEmpty": "No templates match these filters.",
  "common.automationLabel.templatesFilteredEmptyHint": "Try adjusting or clearing your filters to see more templates.",
  "common.automationLabel.templatesLibraryEmpty": "No automation templates are available yet.",
  "common.automationLabel.templatesLibraryEmptyHint": "Create a template to build reusable automation starting points for your team.",
  "common.automationLabel.templateUnavailableOnPlan": "This template is not included in the school's plan.",
  "common.automationLabel.timesUsedCount": ":count times",
  "common.automationLabel.timesUsedLabel": "Times used",
  "common.automationLabel.timesUsedNever": "Not used yet",
  "common.automationLabel.timezoneMode": "Timezone Mode",
  "common.automationLabel.totalRuns": "Total Runs",
  "common.automationLabel.totalVersions": "Total Versions",
  "common.automationLabel.triggerContext": "Context",
  "common.automationLabel.triggerControlsAvailableItems": ":trigger controls the available palette items.",
  "common.automationLabel.triggerFieldRequired": "This field is required.",
  "common.automationLabel.triggerContactSubscribed": "Contact Subscribed",
  "common.automationLabel.triggerContactSubscribedDescription": "Triggered when a contact opts in to marketing communication on a channel.",
  "common.automationLabel.triggerContactUnsubscribed": "Contact Unsubscribed",
  "common.automationLabel.triggerContactUnsubscribedDescription": "Triggered when a contact opts out of marketing communication on a channel.",
  "common.automationLabel.triggerIncomingMessage": "Incoming Message",
  "common.automationLabel.triggerIncomingMessageDescription": "Triggered when a contact sends a direct message to staff through the portal or messaging inbox.",
  "common.automationLabel.triggerLoadFailed": "Could not load trigger settings. Check your connection and try again.",
  "common.automationLabel.triggerLockedOnEdit": "The trigger event cannot be changed after the automation is created.",
  "common.automationLabel.triggerLockedOnEditHint": "The trigger event is fixed for this automation. You can still update trigger settings on the next step.",
  "common.automationLabel.triggerLockedOnEditHintNoSettings": "The trigger event is fixed for this automation.",
  "common.automationLabel.triggerUnavailableOnPlan": "This trigger is not included in the school's plan.",
  "common.automationLabel.triggerNode": "Trigger Node",
  "common.automationLabel.triggerRequired": "Select a trigger before continuing.",
  "common.automationLabel.triggerSettings": "Trigger Settings",
  "common.automationLabel.triggerType": "Trigger type",
  "common.automationLabel.undo": "Undo",
  "common.automationLabel.undoHint": "Undo and redo are available for this browser tab only. Closing the tab clears undo history; save draft to keep your work.",
  "common.automationLabel.unsavedChanges": "Unsaved changes",
  "common.automationLabel.unsupported": "Unsupported",
  "common.automationLabel.unsupportedActions": "Unsupported actions",
  "common.automationLabel.unsupportedConditions": "Unsupported conditions",
  "common.automationLabel.unsupportedFieldType": "Unsupported field type rendered as a text field.",
  "common.automationLabel.unsupportedLegacyField": "This legacy field is not fully supported in Studio yet.",
  "common.automationLabel.updateModuleValueDescription": "Update a stored field value on the related module record.",
  "common.automationLabel.updateStatus": "Update Status",
  "common.automationLabel.updateStatusDescription": "Update a status for a contact, application, program, or course.",
  "common.automationLabel.updating": "Saving settings?",
  "common.automationLabel.useTemplate": "Use Template",
  "common.automationLabel.useTemplateRequiresCreate": "You need create permission to start an automation from this template.",
  "common.automationLabel.usedCount": "Used count",
  "common.automationLabel.usesAi": "Uses AI",
  "common.automationLabel.usesParentCommunication": "Uses parent communication",
  "common.automationLabel.usesPhoneCall": "Uses phone call",
  "common.automationLabel.usesSms": "Uses SMS",
  "common.automationLabel.validate": "Validate",
  "common.automationLabel.validating": "Validating...",
  "common.automationLabel.validationPassed": "Validation passed",
  "common.automationLabel.validationPassedWithWarnings": "The workflow structure is valid, but review the warnings below before publishing.",
  "common.automationLabel.validationWarningNode": "Warning",
  "common.automationLabel.version": "Version",
  "common.automationLabel.versionCompareApprovalChanged": "Changed approval settings",
  "common.automationLabel.versionCompareBranch": "Branch",
  "common.automationLabel.versionCompareCondition": "Condition label",
  "common.automationLabel.versionCompareConfigChanged": "Changed node configuration",
  "common.automationLabel.versionCompareEdgePairChanged": "Connection between :source and :target changed.",
  "common.automationLabel.versionCompareEdgesAdded": "Added connections",
  "common.automationLabel.versionCompareEdgesChanged": "Changed connections",
  "common.automationLabel.versionCompareEdgesRemoved": "Removed connections",
  "common.automationLabel.versionCompareEdgesUpdated": "Updated connections",
  "common.automationLabel.versionCompareFailed": "Version comparison failed.",
  "common.automationLabel.versionCompareField": "Field",
  "common.automationLabel.versionCompareFrom": "From version",
  "common.automationLabel.versionCompareLoadFailed": "Unable to load version history.",
  "common.automationLabel.versionCompareMessagesChanged": "Changed messages",
  "common.automationLabel.versionCompareNeedsTwoVersions": "At least two saved versions are required to compare.",
  "common.automationLabel.versionCompareNoChanges": "No differences detected between these versions.",
  "common.automationLabel.versionCompareNodesAdded": "Added nodes",
  "common.automationLabel.versionCompareNodesRemoved": "Removed nodes",
  "common.automationLabel.versionCompareRange": "Comparing v:from to v:to",
  "common.automationLabel.versionCompareRun": "Compare",
  "common.automationLabel.versionCompareRunning": "Comparing...",
  "common.automationLabel.versionCompareSameVersion": "Pick two different versions.",
  "common.automationLabel.versionCompareSelectVersion": "Select version",
  "common.automationLabel.versionCompareSelectedEventChanged": "Trigger event changed from :from to :to.",
  "common.automationLabel.versionCompareSource": "Source",
  "common.automationLabel.versionCompareSummary": "Summary",
  "common.automationLabel.versionCompareTarget": "Target",
  "common.automationLabel.versionCompareTitlesChanged": "Changed node titles",
  "common.automationLabel.versionCompareTo": "To version",
  "common.automationLabel.versionCompareWaitChanged": "Changed wait settings",
  "common.automationLabel.versionNumber": "Version",
  "common.automationLabel.versionTimestamp": "Timestamp",
  "common.automationLabel.versionsTab": "Versions",
  "common.automationLabel.viewApprovalRequest": "View approval",
  "common.automationLabel.viewFullBrief": "View Full Brief",
  "common.automationLabel.viewRun": "View Run",
  "common.automationLabel.viewRuntimeAnalytics": "View Runtime Analytics",
  "common.automationLabel.viewRuntimeLogs": "View Runtime Logs",
  "common.automationLabel.waitAmount": "Wait Amount",
  "common.automationLabel.waitUnit": "Wait Unit",
  "common.automationLabel.waitUntilAnyStatusChanged": "Any Status Changed",
  "common.automationLabel.waitUntilEvent": "Listen For Events",
  "common.automationLabel.waitUntilEventHelp": "Resume immediately when any selected event fires for the same contact. Status Changed options are scoped by record type, the same as Studio triggers.",
  "common.automationLabel.waitUntilStatusChangedGroup": "Status Changed",
  "common.automationLabel.waitUntilStatusEntityType": "Status record type",
  "common.automationLabel.waitUntilStatusEntityTypeHelp": "Only for Any Status Changed. Pick the record type to listen for when the generic Status Changed event is selected.",
  "common.automationLabel.waitUntilStatusValues": "Status values",
  "common.automationLabel.waitUntilStatusValuesHelp": "Optional. Resume when the status changes to one of these values, or immediately if already set. Leave empty to match any value for the selected status event.",
  "common.automationLabel.waitingRuns": "Waiting Runs",
  "common.automationLabel.webhook": "Webhook",
  "common.automationLabel.webhookDescription": "Send a request to a webhook.",
  "common.automationLabel.wizardNavigation": "Wizard navigation",
  "common.automationLabel.wizardProgress": "Step :current of :total",
  "common.automationLabel.zoomFit": "Fit to screen",
  "common.automationLabel.zoomIn": "Zoom in",
  "common.automationLabel.zoomOut": "Zoom out",
  "common.averageCompletionTimeHintLabel.description": "Average completed run duration",
  "common.averageCompletionTimeLabel.title": "Average Completion Time",
  "common.bookingGroupLabel.academicEmptyDescription": "No academic items are assigned to students in this group yet.",
  "common.bookingGroupLabel.academicEmptyTitle": "No academic items",
  "common.bookingGroupLabel.academicItems": "Academic Items",
  "common.bookingGroupLabel.academicTab": "Academic",
  "common.bookingGroupLabel.accommodations": "Accommodations",
  "common.bookingGroupLabel.actionFailed": "Unable to complete that action right now.",
  "common.bookingGroupLabel.activitySection": "Linked records",
  "common.bookingGroupLabel.activitySectionDescription": "Students, quote submissions, and academic assignments connected to this group.",
  "common.bookingGroupLabel.agent": "Agent",
  "common.bookingGroupLabel.agentEmail": "Agent Email",
  "common.bookingGroupLabel.application": "Application",
  "common.bookingGroupLabel.assignedStudents": "assigned",
  "common.bookingGroupLabel.assignedTo": "Assigned To",
  "common.bookingGroupLabel.attachedAt": "Attached",
  "common.bookingGroupLabel.backToAgent": "Back to Agent",
  "common.bookingGroupLabel.campus": "Campus",
  "common.bookingGroupLabel.cohorts": "Cohorts",
  "common.bookingGroupLabel.courses": "Courses",
  "common.bookingGroupLabel.created": "Created",
  "common.bookingGroupLabel.createdAt": "Creation Date",
  "common.bookingGroupLabel.deleteAcademicItem": "Delete",
  "common.bookingGroupLabel.deleteAcademicItemConfirm": "Delete this academic item for all students in this group?",
  "common.bookingGroupLabel.deleteAcademicItemSuccess": "Academic item deleted successfully.",
  "common.bookingGroupLabel.deleteBookingGroup": "Delete Booking Group",
  "common.bookingGroupLabel.deleteBookingGroupConfirm": "Are you sure you want to delete this booking group?",
  "common.bookingGroupLabel.deleteQuote": "Delete Quote",
  "common.bookingGroupLabel.deleteQuoteConfirm": "Delete this quote and its linked draft bookings? This action cannot be undone.",
  "common.bookingGroupLabel.deleteQuoteSuccess": "Quote deleted successfully.",
  "common.bookingGroupLabel.description": "Description",
  "common.bookingGroupLabel.detachStudent": "Detach",
  "common.bookingGroupLabel.detachStudentConfirm": "Detach this student from the booking group?",
  "common.bookingGroupLabel.detailsTab": "Details",
  "common.bookingGroupLabel.duration": "Duration",
  "common.bookingGroupLabel.editBookingGroup": "Edit Booking Group",
  "common.bookingGroupLabel.editBookingGroupDescription": "Update the booking group name and description.",
  "common.bookingGroupLabel.editBookingGroupFailed": "Unable to update the booking group. Review the form and try again.",
  "common.bookingGroupLabel.editBookingGroupLoadFailed": "Unable to load the edit booking group form.",
  "common.bookingGroupLabel.editBookingGroupSuccess": "Booking group updated successfully!",
  "common.bookingGroupLabel.editQuote": "Edit Quote",
  "common.bookingGroupLabel.email": "Email",
  "common.bookingGroupLabel.endDate": "End Date",
  "common.bookingGroupLabel.generateQuote": "Generate group bookings",
  "common.bookingGroupLabel.groupSection": "Group details",
  "common.bookingGroupLabel.groupSectionDescription": "Core group booking details and agent ownership.",
  "common.bookingGroupLabel.latestQuote": "Latest Quote",
  "common.bookingGroupLabel.latestQuoteStatus": "Latest Quote Status",
  "common.bookingGroupLabel.name": "Name",
  "common.bookingGroupLabel.pageTitle": "Group bookings",
  "common.bookingGroupLabel.quoteSection": "Latest quote",
  "common.bookingGroupLabel.quoteSectionDescription": "Most recent group quote status and session reference.",
  "common.bookingGroupLabel.quotes": "Quotes",
  "common.bookingGroupLabel.quotesEmptyDescription": "This booking group does not have related quote submissions yet.",
  "common.bookingGroupLabel.quotesEmptyTitle": "No form submissions",
  "common.bookingGroupLabel.quotesTab": "Form submissions",
  "common.bookingGroupLabel.rowActions": "Open booking group actions",
  "common.bookingGroupLabel.saveBookingGroup": "Save changes",
  "common.bookingGroupLabel.schedules": "Schedules",
  "common.bookingGroupLabel.searchStudents": "Search students by name, email, or contact type",
  "common.bookingGroupLabel.sessionKey": "Session Key",
  "common.bookingGroupLabel.stage": "Contact Type",
  "common.bookingGroupLabel.startDate": "Start Date",
  "common.bookingGroupLabel.status": "Status",
  "common.bookingGroupLabel.studentCount": "Students",
  "common.bookingGroupLabel.students": "Students",
  "common.bookingGroupLabel.studentsEmpty": "No students are linked to this booking group.",
  "common.bookingGroupLabel.studentsResultLabel": "students",
  "common.bookingGroupLabel.studentsTab": "Students",
  "common.bookingGroupLabel.submissionStatus": "Submission Status",
  "common.bookingGroupLabel.syncAcademicItem": "Sync To All Students",
  "common.bookingGroupLabel.syncAcademicItemConfirm": "Sync this academic item to all students in this group?",
  "common.bookingGroupLabel.syncAcademicItemSuccess": "Academic item synced successfully.",
  "common.bookingGroupLabel.totalPrice": "Total Price",
  "common.bookingGroupLabel.transfers": "Transfers",
  "common.bookingGroupLabel.unnamedBookingGroup": "Untitled booking group",
  "common.bookingGroupLabel.unnamedStudent": "Student #:id",
  "common.bookingGroupLabel.untitledQuote": "Quote #:id",
  "common.bookingGroupLabel.updatedAt": "Updated",
  "common.bookingGroupLabel.viewAcademicItem": "View",
  "common.bulkInvoiceLabel.addAtLeastOneLineItem": "Please add at least one invoice row before saving.",
  "common.bulkInvoiceLabel.addInvoice": "Add Invoice",
  "common.bulkInvoiceLabel.addService": "Add Service",
  "common.bulkInvoiceLabel.amount": "Amount",
  "common.bulkInvoiceLabel.back": "Back",
  "common.bulkInvoiceLabel.completeExistingInvoicesFirst": "Add at least one service to each existing invoice row before adding a new row.",
  "common.bulkInvoiceLabel.contactSelection": "Recipients and Batch Type",
  "common.bulkInvoiceLabel.contactSelectionHint": "Select recipients and choose whether to create invoices or estimates.",
  "common.bulkInvoiceLabel.createBulkInvoices": "Create Bulk Invoices/Estimates",
  "common.bulkInvoiceLabel.description": "Description",
  "common.bulkInvoiceLabel.dueDate": "Due Date",
  "common.bulkInvoiceLabel.dueOnReceipt": "Due on receipt",
  "common.bulkInvoiceLabel.estimates": "Estimates",
  "common.bulkInvoiceLabel.fixErrorsBeforeSave": "Fix the highlighted fields before saving.",
  "common.bulkInvoiceLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.bulkInvoiceLabel.fixedContact": "Contact",
  "common.bulkInvoiceLabel.internalNotes": "Notes",
  "common.bulkInvoiceLabel.invalidContactType": "The selected contact type is not supported.",
  "common.bulkInvoiceLabel.invoiceDate": "Invoice Date",
  "common.bulkInvoiceLabel.invoiceRow": "Invoice :number",
  "common.bulkInvoiceLabel.invoices": "Invoices",
  "common.bulkInvoiceLabel.lineItems": "Invoice Rows",
  "common.bulkInvoiceLabel.lineItemsHint": "Each row is copied to every selected recipient.",
  "common.bulkInvoiceLabel.next10": "Next 10",
  "common.bulkInvoiceLabel.next15": "Next 15",
  "common.bulkInvoiceLabel.next30": "Next 30",
  "common.bulkInvoiceLabel.next45": "Next 45",
  "common.bulkInvoiceLabel.next60": "Next 60",
  "common.bulkInvoiceLabel.noServices": "No services added yet.",
  "common.bulkInvoiceLabel.notes": "Notes",
  "common.bulkInvoiceLabel.quantity": "Quantity",
  "common.bulkInvoiceLabel.rate": "Rate",
  "common.bulkInvoiceLabel.removeInvoice": "Remove invoice",
  "common.bulkInvoiceLabel.removeService": "Remove service",
  "common.bulkInvoiceLabel.rowTotal": "Row Total",
  "common.bulkInvoiceLabel.saveAndClose": "Save and Close",
  "common.bulkInvoiceLabel.saveAndCreateAnother": "Save and Create Another",
  "common.bulkInvoiceLabel.saveFailed": "Unable to save bulk invoices. Review the form and try again.",
  "common.bulkInvoiceLabel.saved": "Bulk invoices saved successfully.",
  "common.bulkInvoiceLabel.savedAndCreateAnother": "Bulk invoices saved. You can create another batch.",
  "common.bulkInvoiceLabel.searchStudents": "Search students by name, email, or phone",
  "common.bulkInvoiceLabel.selectService": "Select service",
  "common.bulkInvoiceLabel.selectTerms": "Select terms",
  "common.bulkInvoiceLabel.selectTransactionType": "Select transaction type",
  "common.bulkInvoiceLabel.selectedStudents": "Selected Students",
  "common.bulkInvoiceLabel.service": "Product/Service",
  "common.bulkInvoiceLabel.serviceRow": "Service :number",
  "common.bulkInvoiceLabel.services": "Products/Services",
  "common.bulkInvoiceLabel.servicesHint": "Add one or more services for this invoice row.",
  "common.bulkInvoiceLabel.stepItems": "Invoice Rows",
  "common.bulkInvoiceLabel.stepItemsHint": "Each row is copied to every selected recipient.",
  "common.bulkInvoiceLabel.stepNotes": "Notes",
  "common.bulkInvoiceLabel.stepNotesHint": "Add optional notes before saving the batch.",
  "common.bulkInvoiceLabel.stepReview": "Review",
  "common.bulkInvoiceLabel.stepReviewHint": "Confirm recipients, amounts, and student fields before saving.",
  "common.bulkInvoiceLabel.stepCustomFields": "Custom field",
  "common.bulkInvoiceLabel.stepCustomFieldsHint": "Set each invoice's custom fields. Matching student fields are filled in.",
  "common.bulkInvoiceLabel.cohortContext": ":name · :count students",
  "common.bulkInvoiceLabel.sharedCustomFields": "Fields copied to every invoice",
  "common.bulkInvoiceLabel.sharedCustomFieldsHint": "These values are the same on every invoice in this batch.",
  "common.bulkInvoiceLabel.studentCustomFields": "Fields from each student",
  "common.bulkInvoiceLabel.studentCustomFieldsHint": "Each invoice gets its own values. When this school has the same custom field on the student, that student's value is filled in. Apply to all students when one value should be copied, then change any student that should differ.",
  "common.bulkInvoiceLabel.applyToAllStudents": "Apply to all students",
  "common.bulkInvoiceLabel.documentsToCreate": "Documents to create",
  "common.bulkInvoiceLabel.batchTotal": "Batch total",
  "common.bulkInvoiceLabel.eachStudentTotal": "Each student",
  "common.bulkInvoiceLabel.filterStudents": "Filter students",
  "common.bulkInvoiceLabel.noMatchingStudents": "No students match that filter.",
  "common.bulkInvoiceLabel.removeStudent": "Remove :name",
  "common.bulkInvoiceLabel.unnamedStudent": "Student #:id",
  "common.bulkInvoiceLabel.sharedFieldRequired": ":field is required.",
  "common.bulkInvoiceLabel.sharedFieldRequiredGeneric": "Fill in the required fields that are copied to every invoice.",
  "common.bulkInvoiceLabel.studentFieldRequiredNamed": "Enter :field for :student.",
  "common.bulkInvoiceLabel.studentFieldRequiredGeneric": "Enter a value for each required student field.",
  "common.bulkInvoiceLabel.studentFieldsLoadFailed": "Some student field values could not be loaded. You can enter them on the review step.",
  "common.bulkInvoiceLabel.stepProgress": "Step :current of :total",
  "common.bulkInvoiceLabel.stepStudents": "Recipients and Batch Type",
  "common.bulkInvoiceLabel.stepStudentsHint": "Select recipients and choose whether to create invoices or estimates.",
  "common.bulkInvoiceLabel.students": "Students",
  "common.bulkInvoiceLabel.studentsRequired": "Select at least one student before continuing.",
  "common.bulkInvoiceLabel.terms": "Terms",
  "common.bulkInvoiceLabel.total": "Total",
  "common.bulkInvoiceLabel.transactionType": "Transaction Type",
  "common.bulkInvoiceLabel.wizardNavigation": "Bulk invoice wizard navigation",
  "common.calendarLabel.allCampuses": "All Campuses",
  "common.calendarLabel.allClassrooms": "All Classrooms",
  "common.calendarLabel.allCourses": "All Courses",
  "common.calendarLabel.calendar": "Calendar",
  "common.calendarLabel.calendarNavigation": "Calendar navigation",
  "common.calendarLabel.campus": "Campus",
  "common.calendarLabel.chooseDate": "Choose a date",
  "common.calendarLabel.classroom": "Classroom",
  "common.calendarLabel.clearFilters": "Clear filters",
  "common.calendarLabel.course": "Course",
  "common.calendarLabel.day": "Day",
  "common.calendarLabel.lesson": "Lesson",
  "common.calendarLabel.lessonCount": ":count lesson",
  "common.calendarLabel.lessonsCount": ":count lessons",
  "common.calendarLabel.loadFailed": "Unable to load calendar events.",
  "common.calendarLabel.loading": "Loading calendar",
  "common.calendarLabel.month": "Month",
  "common.calendarLabel.moreLessons": "+ :count more lessons",
  "common.calendarLabel.retryHint": "Use Refresh to try again.",
  "common.calendarLabel.next": "Next",
  "common.calendarLabel.nextDay": "Next day",
  "common.calendarLabel.noLessons": "No lessons scheduled",
  "common.calendarLabel.noLessonsDescription": "Choose another date to view its schedule.",
  "common.calendarLabel.pageDescription": "View scheduled lessons by campus, classroom, and course.",
  "common.calendarLabel.pageTitle": "Calendar",
  "common.calendarLabel.previous": "Previous",
  "common.calendarLabel.previousDay": "Previous day",
  "common.calendarLabel.today": "Today",
  "common.calendarLabel.week": "Week",
  "common.callLogLabel.activeCall": "Active call",
  "common.callLogLabel.callAlreadyRunning": "A call is already running. Use the floating call bar to manage it.",
  "common.callLogLabel.callConnected": "Call connected",
  "common.callLogLabel.callDateTime": "Call date and time",
  "common.callLogLabel.callDetailsNeeded": "Call details need to be completed.",
  "common.callLogLabel.callEnded": "Call ended",
  "common.callLogLabel.callFailed": "Unable to complete the call.",
  "common.callLogLabel.callFrom": "From",
  "common.callLogLabel.callCenterAgent": "Call Center Agent",
  "common.callLogLabel.callCenterAgentInvalid": "Choose a Call Center Agent.",
  "common.callLogLabel.noCallCenterAgent": "No Call Center Agent",
  "common.callLogLabel.callHandledBy": "Handled by",
  "common.callLogLabel.callMadeBy": "Call made by",
  "common.callLogLabel.callOutcomeDescription": "Add a short summary of the call before saving it to the activity log.",
  "common.callLogLabel.callRinging": "Call ringing...",
  "common.callLogLabel.callStartedFloating": "Call started. Use the floating call bar while you continue browsing.",
  "common.callLogLabel.callStatus": "Call status",
  "common.callLogLabel.callTo": "To",
  "common.callLogLabel.cancel": "Cancel",
  "common.callLogLabel.closeDialog": "Close call log dialog",
  "common.callLogLabel.closeDialpad": "Close dialpad",
  "common.callLogLabel.connectingCall": "Connecting call...",
  "common.callLogLabel.createDescription": "Record a phone call for this contact.",
  "common.callLogLabel.date": "Date",
  "common.callLogLabel.description": "Description",
  "common.callLogLabel.detailsSaved": "Call details saved successfully.",
  "common.callLogLabel.dialpad": "Dialpad",
  "common.callLogLabel.dialpadUnavailable": "The dialpad is only available during a connected call.",
  "common.callLogLabel.direction": "Direction",
  "common.callLogLabel.editCallLog": "Edit call log",
  "common.callLogLabel.editCallLogDescription": "Update the date, outcome, and notes for this phone call.",
  "common.callLogLabel.enterPhoneNumber": "Please enter a phone number.",
  "common.callLogLabel.expandCallBar": "Expand call bar",
  "common.callLogLabel.expandCallBarHint": "Hover for call details",
  "common.callLogLabel.finishActiveCallFirst": "Finish the current call before starting another one.",
  "common.callLogLabel.finishCallDetails": "Finish call details",
  "common.callLogLabel.finishCallDetailsDescription": "Review the outcome and save the call to the activity log.",
  "common.callLogLabel.finishLater": "Finish later",
  "common.callLogLabel.hangUpBeforeClose": "Hang up the call before closing this modal.",
  "common.callLogLabel.inbound": "Inbound",
  "common.callLogLabel.initializingDevice": "Initializing device...",
  "common.callLogLabel.makeCallDescription": "Call this contact from a configured campus phone number.",
  "common.callLogLabel.phoneCallDescription": "Make a live call or log a phone call record for this contact.",
  "common.callLogLabel.minimizeCallBar": "Minimize call bar",
  "common.callLogLabel.noDescription": "No description provided",
  "common.callLogLabel.noRecording": "No recording",
  "common.callLogLabel.downloadBridgeLog": "Download bridge log",
  "common.callLogLabel.downloadBridgeLogDescription": "Full voice-bridge journal for this call (same output as call-logs.mjs on the bridge host).",
  "common.callLogLabel.downloadBridgeLogFailed": "The bridge log could not be downloaded. Check the error text or your OpenAI Live bridge settings.",
  "common.callLogLabel.noStudentPhoneNumbers": "No phone numbers are available for this contact.",
  "common.callLogLabel.openDialpad": "Open dialpad",
  "common.callLogLabel.outbound": "Outbound",
  "common.callLogLabel.recording": "Recording",
  "common.callLogLabel.refreshingToken": "Refreshing voice token...",
  "common.callLogLabel.saveDetails": "Save call details",
  "common.callLogLabel.saveFailed": "Unable to save call log.",
  "common.callLogLabel.savedSuccessfully": "Call log saved successfully.",
  "common.callLogLabel.savingDetails": "Saving call details...",
  "common.callLogLabel.selectCallFromNumber": "Please select a Call From number.",
  "common.callLogLabel.selectCampusPhone": "Select campus number",
  "common.callLogLabel.selectStudentPhone": "Select phone number",
  "common.callLogLabel.sendDigit": "Send digit :digit",
  "common.callLogLabel.sendDigitFailed": "Unable to send the dialpad tone.",
  "common.callLogLabel.status": "Status",
  "common.callLogLabel.statusBusy": "Busy",
  "common.callLogLabel.statusCompleted": "Answered",
  "common.callLogLabel.statusLeftVoicemail": "Left voicemail",
  "common.callLogLabel.statusNoAnswer": "No answer",
  "common.callLogLabel.statusOther": "Other",
  "common.callLogLabel.statusWrongNumber": "Wrong number",
  "common.callLogLabel.outcome": "Outcome",
  "common.callLogLabel.outcomeInterested": "Interested",
  "common.callLogLabel.outcomeNotInterested": "Not interested",
  "common.callLogLabel.outcomeWrongNumber": "Wrong number",
  "common.callLogLabel.outcomeCallbackRequested": "Callback requested",
  "common.callLogLabel.summarizeCallWithAi": "Summarize with AI",
  "common.callLogLabel.time": "Time",
  "common.callLogLabel.twilioUnavailable": "Twilio Voice is not available. Refresh the page and try again.",
  "common.callLogLabel.updateFailed": "Unable to update the call log right now.",
  "common.callLogLabel.viewCallLog": "View call log",
  "common.callLogLabel.viewCallLogDescription": "Review the details, notes, and recording for this phone call.",
  "common.campusLabel.actionFailed": "Unable to complete that campus action right now.",
  "common.campusLabel.afterHoursConsentNotRequired": "Not required",
  "common.campusLabel.afterHoursConsentRequired": "Required",
  "common.campusLabel.afterHoursConfiguredHelp": "This campus has a complete after-hours AI Voice policy. Incoming calls to its Twilio number use these settings.",
  "common.campusLabel.afterHoursDay": "Day",
  "common.campusLabel.afterHoursDayFriday": "Friday",
  "common.campusLabel.afterHoursDayMonday": "Monday",
  "common.campusLabel.afterHoursDaySaturday": "Saturday",
  "common.campusLabel.afterHoursDaySunday": "Sunday",
  "common.campusLabel.afterHoursDayThursday": "Thursday",
  "common.campusLabel.afterHoursDayTuesday": "Tuesday",
  "common.campusLabel.afterHoursDayWednesday": "Wednesday",
  "common.campusLabel.afterHoursDisclosure": "Disclosure",
  "common.campusLabel.afterHoursEscalationCategories": "Escalation categories",
  "common.campusLabel.afterHoursEscalationCategoriesHelp": "The agent transfers these cases to the on-call destination.",
  "common.campusLabel.afterHoursEscalationComplaint": "Complaint",
  "common.campusLabel.afterHoursEscalationEmergency": "Emergency or safety concern",
  "common.campusLabel.afterHoursEscalationFinance": "Payment or finance question",
  "common.campusLabel.afterHoursEscalationHuman": "Caller requests a human",
  "common.campusLabel.afterHoursEscalationLegal": "Legal or compliance question",
  "common.campusLabel.afterHoursFrom": "From",
  "common.campusLabel.afterHoursAddHoliday": "Add holiday",
  "common.campusLabel.afterHoursBookingMode": "Inbound booking",
  "common.campusLabel.afterHoursBookingModeAppointment": "Book an appointment on the call",
  "common.campusLabel.afterHoursBookingModeHelp": "Link sends a self-serve booking URL. Appointment lets the AI book a confirmed slot after the caller is identified.",
  "common.campusLabel.afterHoursBookingModeLink": "Send a booking link",
  "common.campusLabel.afterHoursHolidayDates": "Campus holiday dates",
  "common.campusLabel.afterHoursHolidayDatesHelp": "Each holiday has a title and an inclusive date range. Days in a range are treated as after-hours for this campus.",
  "common.campusLabel.afterHoursHolidayItemLabel": "Holiday :number",
  "common.campusLabel.afterHoursHolidayRange": "Date range",
  "common.campusLabel.afterHoursHolidayTitle": "Title",
  "common.campusLabel.afterHoursHolidays": "Campus holidays",
  "common.campusLabel.afterHoursHolidaysEmpty": "No holidays configured.",
  "common.campusLabel.afterHoursHolidaysHelp": "Campus-specific closed days for the meetings calendar and after-hours voice.",
  "common.campusLabel.afterHoursHolidaysSaved": "Campus holidays saved.",
  "common.campusLabel.afterHoursInvalidHolidayRange": "Each holiday end date must be on or after its start date.",
  "common.campusLabel.afterHoursRemoveHoliday": "Remove holiday",
  "common.campusLabel.afterHoursHoursHelp": "Opening hours for this campus. Calls outside these windows are treated as after-hours.",
  "common.campusLabel.afterHoursHoursSaved": "Campus business hours saved.",
  "common.campusLabel.afterHoursInboundNumber": "Inbound number",
  "common.campusLabel.afterHoursInboundNumberHelp": "Use this campus Twilio number in E.164 format, for example +14165551234.",
  "common.campusLabel.afterHoursUsesCampusNumber": "After-hours AI answers this campus Call Center voice number: :number",
  "common.campusLabel.afterHoursNeedsCampusNumber": "Save a Call Center voice number on this campus before configuring after-hours AI. After-hours uses that same number.",
  "common.campusLabel.afterHoursInvalidPersona": "Select an active student-facing persona with an OpenAI Live voice binding (Enable/Sync completed).",
  "common.campusLabel.afterHoursInvalidSchedule": "Each enabled business day needs a valid start and end time.",
  "common.campusLabel.afterHoursOnCall": "On-call destination",
  "common.campusLabel.afterHoursOnCallHelp": "Escalated calls transfer to this E.164 number.",
  "common.campusLabel.afterHoursPersona": "After-hours persona",
  "common.campusLabel.afterHoursRequireConsent": "Require affirmative consent before continuing",
  "common.campusLabel.afterHoursRequireConsentHelp": "The caller must agree to the disclosure before the AI continues.",
  "common.campusLabel.afterHoursRoutingHelp": "Route inbound calls to an approved admissions persona outside your campus business hours.",
  "common.campusLabel.afterHoursSave": "Save",
  "common.campusLabel.afterHoursSaved": "Campus after-hours AI Voice settings saved.",
  "common.campusLabel.afterHoursSectionEscalation": "Escalation",
  "common.campusLabel.afterHoursSectionHolidays": "Holidays",
  "common.campusLabel.afterHoursSectionHours": "Business hours",
  "common.campusLabel.afterHoursSectionMessages": "Messages",
  "common.campusLabel.afterHoursSectionRouting": "AI Routing",
  "common.campusLabel.afterHoursMessagesHelp": "Spoken prompts when callers wait in the queue or leave a voicemail. Use :school and :campus in custom text. Voice and language apply to open greetings and closed / AI-unavailable messages.",
  "common.campusLabel.afterHoursOpenGreeting": "Open greeting",
  "common.campusLabel.afterHoursOpenGreetingHelp": "Played while the caller waits for a Call Center Agent. Defaults use this school and campus name. Reset to the default text to use the system message again.",
  "common.campusLabel.afterHoursClosedMessage": "Closed / AI unavailable message",
  "common.campusLabel.afterHoursClosedMessageHelp": "Played before the beep when the campus is closed or after-hours AI cannot answer. Callers can then leave a voice message. Defaults use this school and campus name.",
  "common.campusLabel.afterHoursTtsVoice": "Spoken message voice",
  "common.campusLabel.afterHoursTtsVoiceHelp": "Amazon Polly voice used for queue and voicemail prompts on this campus. Use the speaker button to hear a short sample.",
  "common.campusLabel.afterHoursTtsLanguage": "Spoken message language",
  "common.campusLabel.afterHoursTtsLanguageHelp": "Language for default prompts and Twilio text-to-speech. Custom text is spoken as written.",
  "common.campusLabel.afterHoursTtsPreview": "Preview voice",
  "common.campusLabel.afterHoursTtsPreviewPlaying": "Playing voice preview.",
  "common.campusLabel.afterHoursTtsPreviewFailed": "Unable to play the voice preview. Try again.",
  "common.campusLabel.afterHoursTtsPreviewSelectRequired": "Select a spoken message voice before previewing.",
  "common.campusLabel.afterHoursTtsPreviewAwsUnavailable": "Exact Polly preview is unavailable on this server. Playing a browser preview instead — live calls still use Twilio Polly.",
  "common.campusLabel.afterHoursTtsPreviewBrowserPlaying": "Playing a browser preview. Live call prompts use Twilio Polly.",
  "common.campusLabel.afterHoursTtsPreviewBrowserUnavailable": "Voice preview is unavailable in this browser. Live call prompts still use Twilio Polly.",
  "common.campusLabel.afterHoursTtsPreviewSampleText": "Thank you for calling. This is a sample of the campus greeting voice.",
  "common.campusLabel.afterHoursTtsLanguageEnUs": "English (US)",
  "common.campusLabel.afterHoursTtsLanguageEnGb": "English (UK)",
  "common.campusLabel.afterHoursTtsLanguageFrCa": "French (Canada)",
  "common.campusLabel.afterHoursTtsLanguageFrFr": "French (France)",
  "common.campusLabel.afterHoursTtsLanguageEsMx": "Spanish (Mexico)",
  "common.campusLabel.afterHoursTtsLanguageEsEs": "Spanish (Spain)",
  "common.campusLabel.afterHoursTtsLanguageDeDe": "German",
  "common.campusLabel.afterHoursTtsLanguageItIt": "Italian",
  "common.campusLabel.afterHoursTtsLanguagePtBr": "Portuguese (Brazil)",
  "common.campusLabel.afterHoursTtsLanguageTrTr": "Turkish",
  "common.campusLabel.afterHoursTtsLanguageCaEs": "Catalan",
  "common.campusLabel.afterHoursTtsLanguageArAe": "Arabic",
  "common.campusLabel.afterHoursTitle": "After-hours AI Voice",
  "common.campusLabel.afterHoursTo": "To",
  "common.campusLabel.afterHoursUnconfiguredHelp": "Not configured yet. Incoming calls to an unconfigured campus number receive the non-AI fallback until you save a complete policy.",
  "common.campusLabel.addNewCampus": "Add New Campus",
  "common.campusLabel.address": "Address",
  "common.campusLabel.applicationsCount": "Applications",
  "common.campusLabel.back": "Back",
  "common.campusLabel.backToList": "Back to campuses",
  "common.campusLabel.calendarForCampus": "Calendar for :campus",
  "common.campusLabel.campusCode": "Campus Code",
  "common.campusLabel.campuses": "campuses",
  "common.campusLabel.campusesEmpty": "No campuses matched the current search or filters.",
  "common.campusLabel.city": "City",
  "common.campusLabel.classroomsCount": "Classrooms",
  "common.campusLabel.country": "Country",
  "common.campusLabel.coursesCount": "Courses",
  "common.campusLabel.createCampus": "Create Campus",
  "common.campusLabel.createFailed": "Unable to create campus. Review the form and try again.",
  "common.campusLabel.createdSuccessfully": "Campus created successfully.",
  "common.campusLabel.deleteCampus": "Delete",
  "common.campusLabel.deleteCampusConfirm": "Deleting this campus will delete all the related data.",
  "common.campusLabel.deletedSuccessfully": "Campus deleted successfully.",
  "common.campusLabel.details": "Details",
  "common.campusLabel.detailsTitle": "Campus details",
  "common.campusLabel.editCampus": "Edit",
  "common.campusLabel.editCampusAction": "Edit campus",
  "common.campusLabel.editCampusTitle": "Edit Campus",
  "common.campusLabel.featuredImage": "Featured image",
  "common.campusLabel.featuredImageHint": "Upload the campus image used by public-facing assistant experiences.",
  "common.campusLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.campusLabel.id": "ID",
  "common.campusLabel.instructorsCount": "Instructors",
  "common.campusLabel.location": "Location",
  "common.campusLabel.next": "Next",
  "common.campusLabel.pageTitle": "Campuses",
  "common.campusLabel.postalCode": "Postal Code",
  "common.campusLabel.programsCount": "Programs",
  "common.campusLabel.province": "Province",
  "common.campusLabel.searchCampuses": "Search campuses by title or campus code",
  "common.campusLabel.sectionMedia": "Media and links",
  "common.campusLabel.sectionMediaDescription": "Visual and external campus resources used in public-facing flows.",
  "common.campusLabel.sectionMetadata": "Metadata",
  "common.campusLabel.sectionMetadataDescription": "System identifiers and timestamps for this campus.",
  "common.campusLabel.sectionRelationships": "Relationships",
  "common.campusLabel.sectionRelationshipsDescription": "Records currently associated with this campus.",
  "common.campusLabel.sectionSummary": "Campus summary",
  "common.campusLabel.sectionSummaryDescription": "Core campus identity and descriptive details.",
  "common.campusLabel.selectCountry": "Select Country",
  "common.campusLabel.shortDescription": "Short description",
  "common.campusLabel.slugRequired": "Campus code is required.",
  "common.campusLabel.stepAnnouncement": ":step. Step :current of :total.",
  "common.campusLabel.stepDetails": "Campus Details",
  "common.campusLabel.stepDetailsHint": "Add the campus address and location metadata.",
  "common.campusLabel.stepInformation": "Campus Information",
  "common.campusLabel.stepInformationHint": "Set the campus title and code.",
  "common.campusLabel.stepProgress": "Step :current of :total",
  "common.campusLabel.stepVirtualAssistant": "Campus Virtual Assistant",
  "common.campusLabel.stepVirtualAssistantHint": "Add public assistant copy, media, and links for this campus.",
  "common.campusLabel.studentsCount": "Students",
  "common.campusLabel.tabAfterHours": "After-hours AI Voice",
  "common.campusLabel.tabBusinessHours": "Business hours",
  "common.campusLabel.tabCallCenter": "Call Center",
  "common.campusLabel.tabHolidays": "Holidays",
  "common.campusLabel.tabOverview": "Overview",
  "common.campusLabel.title": "Title",
  "common.campusLabel.titleRequired": "Campus title is required.",
  "common.campusLabel.updateCampus": "Update Campus",
  "common.campusLabel.updateFailed": "Unable to update campus. Review the form and try again.",
  "common.campusLabel.updatedSuccessfully": "Campus updated successfully.",
  "common.campusLabel.video": "Video",
  "common.campusLabel.viewCampus": "View",
  "common.campusLabel.virtualTour": "Virtual tour",
  "common.campusLabel.wizardFooterAria": "Campus wizard actions",
  "common.campusLabel.wizardNavigation": "Campus wizard navigation",
  "common.cancelledExitedLabel.title": "Cancelled / Exited",
  "common.cancelledRunsLabel.title": "Cancelled Runs",
  "common.categoryLabel.actionFailed": "Unable to complete that action right now.",
  "common.categoryLabel.addCategory": "Add Category",
  "common.categoryLabel.back": "Back",
  "common.categoryLabel.backToList": "Back to Categories",
  "common.categoryLabel.categories": "categories",
  "common.categoryLabel.categoriesEmpty": "No categories matched the current search or filters.",
  "common.categoryLabel.categoryFallbackTitle": "Category",
  "common.categoryLabel.categoryNumber": "Category :number",
  "common.categoryLabel.categoryRows": "Category Rows",
  "common.categoryLabel.categoryRowsEmpty": "Add at least one category row.",
  "common.categoryLabel.categoryRowsHint": "Add one or more categories and choose the record type each category belongs to.",
  "common.categoryLabel.cloneCategory": "Clone category",
  "common.categoryLabel.createCategory": "Create Category",
  "common.categoryLabel.createFailedSingle": "Unable to create the category. Review the name and try again.",
  "common.categoryLabel.createFailed": "Unable to create categories. Review the form and try again.",
  "common.categoryLabel.createReportCategoryDescription": "Add a category for reports without leaving this form.",
  "common.categoryLabel.createdAt": "Creation Date",
  "common.categoryLabel.createdSuccessfullySingle": "Category created successfully.",
  "common.categoryLabel.createdSuccessfully": "Categories created successfully.",
  "common.categoryLabel.creating": "Creating...",
  "common.categoryLabel.deleteCategory": "Delete",
  "common.categoryLabel.deleteCategoryConfirm": "Are you sure you want to delete this category?",
  "common.categoryLabel.deleteCategoryTitle": "Delete Category",
  "common.categoryLabel.deletedSuccessfully": "Category deleted successfully.",
  "common.categoryLabel.details": "Details",
  "common.categoryLabel.detailsDescription": "Core category fields used to group records across the portal.",
  "common.categoryLabel.editCategory": "Edit",
  "common.categoryLabel.editCategoryAction": "Edit Category",
  "common.categoryLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.categoryLabel.history": "History",
  "common.categoryLabel.historyDescription": "Record creation and update timestamps.",
  "common.categoryLabel.id": "ID",
  "common.categoryLabel.name": "Name",
  "common.categoryLabel.nameRequired": "Name is required.",
  "common.categoryLabel.nameTooShort": "Name must be at least 2 characters.",
  "common.categoryLabel.next": "Next",
  "common.categoryLabel.object": "Object",
  "common.categoryLabel.objectRequired": "Category type is required.",
  "common.categoryLabel.pageTitle": "Categories",
  "common.categoryLabel.removeCategory": "Remove category",
  "common.categoryLabel.searchCategories": "Search categories by name or object",
  "common.categoryLabel.selectCategoryType": "Select Category Type",
  "common.categoryLabel.stepAnnouncement": ":step. Step :current of :total.",
  "common.categoryLabel.stepCategories": "Categories",
  "common.categoryLabel.stepCategoriesHint": "Create the categories used to group reports, grades, documents, and meetings.",
  "common.categoryLabel.stepInformation": "Category Information",
  "common.categoryLabel.stepInformationHint": "Update the category name and record type.",
  "common.categoryLabel.stepProgress": "Step :current of :total",
  "common.categoryLabel.updateCategory": "Update Category",
  "common.categoryLabel.updateFailed": "Unable to update category. Review the form and try again.",
  "common.categoryLabel.updatedAt": "Updated",
  "common.categoryLabel.updatedSuccessfully": "Category updated successfully.",
  "common.categoryLabel.viewCategory": "View",
  "common.categoryLabel.wizardFooterAria": "Category wizard actions",
  "common.categoryLabel.wizardNavigation": "Category wizard navigation",
  "common.chatLabel.aiAgent": "AI agent",
  "common.chatLabel.aiAutopilot": "Auto-reply to the student",
  "common.chatLabel.aiAutopilotHint": "The persona automatically replies to the student's messages, using its settings and knowledge base.",
  "common.chatLabel.aiBadge": "AI",
  "common.chatLabel.aiBadgeNamed": "AI ? :name",
  "common.chatLabel.aiDisengage": "Disengage AI",
  "common.chatLabel.aiGeneratedHint": "Generated by an AI persona",
  "common.chatLabel.aiNoPersonas": "No active personas",
  "common.chatLabel.aiNoReply": "The assistant couldn't generate a reply.",
  "common.chatLabel.aiFeatureDisabled": "Chat AI is disabled for this environment.",
  "common.chatLabel.aiPersonaUnavailable": "This persona is unavailable.",
  "common.chatLabel.aiPurpose": "A direct chat message to a student or contact",
  "common.chatLabel.aiReplyNow": "Reply with AI",
  "common.chatLabel.aiReplying": "AI is replying?",
  "common.chatLabel.aiResume": "Resume AI",
  "common.chatLabel.aiSelectPersona": "Select a persona",
  "common.chatLabel.aiStatusAutopilot": "Status: Autopilot",
  "common.chatLabel.aiStatusOff": "Status: Off",
  "common.chatLabel.aiStatusPaused": "Status: Paused",
  "common.chatLabel.aiTakeoverHint": "AI auto-replies are paused. Resume when you want the persona to reply again, or disengage to turn it off.",
  "common.chatLabel.aiTakeoverTitle": "You took over this chat",
  "common.chatLabel.aiVoicePersona": "Voice",
  "common.chatLabel.aiWriting": "AI is writing?",
  "common.chatLabel.aiWritingNamed": ":name is writing?",
  "common.chatLabel.attach": "Attach files",
  "common.chatLabel.close": "Close",
  "common.chatLabel.draftAssistContext": "Draft a reply for :student using the conversation history, student profile, and chat persona.",
  "common.chatLabel.draftAssistContextGeneric": "Uses the conversation history, student profile, and the selected chat persona.",
  "common.chatLabel.draftAssistContextWithPersona": "Draft a reply for :student as :persona using the conversation history and student profile.",
  "common.chatLabel.draftAssistCta": "Draft reply",
  "common.chatLabel.draftAssistGenerating": "Drafting reply?",
  "common.chatLabel.draftAssistTitle": "Draft reply",
  "common.chatLabel.draftAssistTrigger": "Draft a reply with the chat persona",
  "common.chatLabel.draftAssistUse": "Use in message",
  "common.chatLabel.lastSeen": "Last seen",
  "common.chatLabel.message": "Chat message",
  "common.chatLabel.newChat": "New chat",
  "common.chatLabel.noConversations": "No conversations yet",
  "common.chatLabel.noMessagesYet": "No messages yet",
  "common.chatLabel.noPeopleFound": "No people found",
  "common.chatLabel.noResults": "No matching messages",
  "common.chatLabel.offline": "Offline",
  "common.chatLabel.online": "Online",
  "common.chatLabel.pageTitle": "Chat",
  "common.chatLabel.recipientNotFound": "Recipient not found",
  "common.chatLabel.remove": "Remove",
  "common.chatLabel.retrySend": "Retry",
  "common.chatLabel.searchConversations": "Search conversations",
  "common.chatLabel.searchInChat": "Search in conversation",
  "common.chatLabel.searchPeople": "Search people by name or email",
  "common.chatLabel.selectConversation": "Select a conversation to start chatting",
  "common.chatLabel.send": "Send",
  "common.chatLabel.sendFailed": "Failed to send message",
  "common.chatLabel.typeMessage": "Type a message?",
  "common.chatLabel.typing": "typing...",
  "common.chatLabel.you": "You",
  "common.checkEmailStepLabel.title": "Check whether the :step email template, recipient email, or sending provider caused the failure.",
  "common.classOperationsLabel.actions": "Actions",
  "common.classOperationsLabel.addCourseLessons": "Add course lessons",
  "common.classOperationsLabel.addLessons": "Add lessons",
  "common.classOperationsLabel.addProgramLessons": "Add program lessons",
  "common.classOperationsLabel.alertClassroomConflict": ":course ? room conflict (:classroom)",
  "common.classOperationsLabel.alertConflict": ":course ? scheduling conflict",
  "common.classOperationsLabel.alertInstructorConflict": ":course ? instructor conflict (:instructor)",
  "common.classOperationsLabel.alertMissingClassroom": ":course ? missing classroom",
  "common.classOperationsLabel.alertMissingCohorts": ":course ? missing cohorts",
  "common.classOperationsLabel.alertMissingInstructor": ":course ? missing instructor",
  "common.classOperationsLabel.alertMissingSetup": ":course ? incomplete setup",
  "common.classOperationsLabel.alertMissingTimes": ":course ? missing start/end time",
  "common.classOperationsLabel.alertsTitle": "Alerts",
  "common.classOperationsLabel.allCampuses": "All campuses",
  "common.classOperationsLabel.applyFilters": "Apply",
  "common.classOperationsLabel.arrivalTime": "Arrival",
  "common.classOperationsLabel.assignInstructor": "Assign instructor",
  "common.classOperationsLabel.assignRoom": "Assign room",
  "common.classOperationsLabel.attendance": "Attendance",
  "common.classOperationsLabel.attendanceComplete": "Complete",
  "common.classOperationsLabel.attendanceCounts": ":recorded / :students recorded",
  "common.classOperationsLabel.attendanceNotStarted": "Not started",
  "common.classOperationsLabel.attendanceOverdue": "Missing attendance",
  "common.classOperationsLabel.attendancePartial": "Partial",
  "common.classOperationsLabel.attendancesSaveFailed": "Unable to save attendance right now.",
  "common.classOperationsLabel.attendancesSaved": "Attendances saved successfully.",
  "common.classOperationsLabel.campus": "Campus",
  "common.classOperationsLabel.cancel": "Cancel",
  "common.classOperationsLabel.changeInstructor": "Change instructor",
  "common.classOperationsLabel.changeRoom": "Change room",
  "common.classOperationsLabel.changeTime": "Change time",
  "common.classOperationsLabel.clearFilters": "Clear Filters",
  "common.classOperationsLabel.cohort": "Cohort",
  "common.classOperationsLabel.course": "Course",
  "common.classOperationsLabel.date": "Date",
  "common.classOperationsLabel.dateRange": "Date range",
  "common.classOperationsLabel.dateRangePlaceholder": "Select date range",
  "common.classOperationsLabel.dayFilters": "Day Filters",
  "common.classOperationsLabel.daySummary": "Day Summary",
  "common.classOperationsLabel.departureTime": "Departure",
  "common.classOperationsLabel.edit": "Edit",
  "common.classOperationsLabel.editInstructorDescription": "Update the instructor for this class.",
  "common.classOperationsLabel.editRoomDescription": "Update the classroom for this class.",
  "common.classOperationsLabel.editTimeDescription": "Update the time for this class.",
  "common.classOperationsLabel.emptyDay": "No lessons scheduled for this day.",
  "common.classOperationsLabel.flagClassroomConflict": "Room conflict",
  "common.classOperationsLabel.flagInstructorConflict": "Instructor conflict",
  "common.classOperationsLabel.flagMissingClassroom": "No room",
  "common.classOperationsLabel.flagMissingCohorts": "No cohorts",
  "common.classOperationsLabel.flagMissingInstructor": "No instructor",
  "common.classOperationsLabel.flagMissingSetup": "Incomplete",
  "common.classOperationsLabel.flagMissingTimes": "No times",
  "common.classOperationsLabel.flags": "Flags",
  "common.classOperationsLabel.id": "ID",
  "common.classOperationsLabel.instructor": "Instructor",
  "common.classOperationsLabel.lessons": "lessons",
  "common.classOperationsLabel.loadingRoster": "Loading roster?",
  "common.classOperationsLabel.manageCohorts": "Manage cohorts",
  "common.classOperationsLabel.markAllAs": "Mark all as",
  "common.classOperationsLabel.markAllAsApply": "Apply to all",
  "common.classOperationsLabel.markAllAsApplied": "Applied :status to :count students.",
  "common.classOperationsLabel.markAllAsHint": "Set the same attendance status for every student in this roster.",
  "common.classOperationsLabel.markAllAsQuick": "Quick apply",
  "common.classOperationsLabel.markAllPresent": "Mark all present",
  "common.classOperationsLabel.navLabel": "Class operations",
  "common.classOperationsLabel.noCohorts": "No cohorts",
  "common.classOperationsLabel.pageTitle": "Class Operations",
  "common.classOperationsLabel.room": "Room",
  "common.classOperationsLabel.rosterEmpty": "No students are assigned to this lesson?s cohorts.",
  "common.classOperationsLabel.rosterLoadFailed": "Unable to load the lesson roster.",
  "common.classOperationsLabel.rosterStudentCount": ":count students",
  "common.classOperationsLabel.saveAttendances": "Save attendance",
  "common.classOperationsLabel.searchLessons": "Search lessons",
  "common.classOperationsLabel.selectDate": "Select a date",
  "common.classOperationsLabel.selectStatus": "Select status",
  "common.classOperationsLabel.setTime": "Set time",
  "common.classOperationsLabel.status": "Status",
  "common.classOperationsLabel.student": "Student",
  "common.classOperationsLabel.students": "Students",
  "common.classOperationsLabel.suggestedAction": "Suggested action",
  "common.classOperationsLabel.summaryComplete": "Complete",
  "common.classOperationsLabel.summaryConflicts": "Conflicts",
  "common.classOperationsLabel.summaryLessons": "Lessons",
  "common.classOperationsLabel.summaryLive": "Live Summary",
  "common.classOperationsLabel.summaryMissingSetup": "Missing setup",
  "common.classOperationsLabel.summaryNotStarted": "Not started",
  "common.classOperationsLabel.summaryOverdue": "Missing attendance",
  "common.classOperationsLabel.summaryPartial": "Partial",
  "common.classOperationsLabel.takeAttendance": "Take attendance",
  "common.classOperationsLabel.takeAttendanceDescription": "Record attendance statuses for students in this lesson.",
  "common.classOperationsLabel.time": "Time",
  "common.classOperationsLabel.view": "View",
  "common.classOperationsLabel.viewCalendar": "Calendar",
  "common.classOperationsLabel.viewLessons": "All lessons",
  "common.classroomLabel.actionFailed": "Classroom action failed. Please try again.",
  "common.classroomLabel.active": "Active",
  "common.classroomLabel.activeStatus": "Active",
  "common.classroomLabel.addMultipleLessons": "Add Multiple Lessons",
  "common.classroomLabel.addTimeSlot": "Add Time Slot",
  "common.classroomLabel.attendances": "Attendances",
  "common.classroomLabel.available": "Available",
  "common.classroomLabel.back": "Back",
  "common.classroomLabel.backToList": "Back to Classrooms",
  "common.classroomLabel.campus": "Campus",
  "common.classroomLabel.campusRequired": "Campus is required.",
  "common.classroomLabel.campusesUnavailable": "You do not have any campuses. Please add a campus first.",
  "common.classroomLabel.capacity": "Capacity",
  "common.classroomLabel.classroom": "Classroom",
  "common.classroomLabel.classroomSlots": "Classroom Slots",
  "common.classroomLabel.classroomSlotsEditHint": "Existing availability is grouped by week day. Use Add Time Slot to add more days or schedules.",
  "common.classroomLabel.classroomSlotsHint": "Add weekly day and schedule combinations when this classroom has fixed availability.",
  "common.classroomLabel.classrooms": "classrooms",
  "common.classroomLabel.classroomsEmpty": "No classrooms matched the current search or filters.",
  "common.classroomLabel.cloneClassroom": "Clone",
  "common.classroomLabel.createClassroom": "Create Classroom",
  "common.classroomLabel.createFailed": "Unable to create the classroom. Review the highlighted fields and try again.",
  "common.classroomLabel.createdAt": "Creation Date",
  "common.classroomLabel.date": "Date",
  "common.classroomLabel.deleteClassroom": "Delete",
  "common.classroomLabel.deleteClassroomConfirm": "Are you sure you want to delete this classroom?",
  "common.classroomLabel.deletedSuccessfully": "Classroom deleted successfully.",
  "common.classroomLabel.details": "Classroom Details",
  "common.classroomLabel.detailsDescription": "Room, campus, capacity, and current status.",
  "common.classroomLabel.detailsTab": "Details",
  "common.classroomLabel.editClassroom": "Edit",
  "common.classroomLabel.editLesson": "Edit Lesson",
  "common.classroomLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.classroomLabel.id": "ID",
  "common.classroomLabel.inactiveStatus": "Inactive",
  "common.classroomLabel.instructor": "Instructor",
  "common.classroomLabel.lessonFallbackTitle": "Lesson #:id",
  "common.classroomLabel.lessonsTab": "Lessons",
  "common.classroomLabel.location": "Location",
  "common.classroomLabel.next": "Next",
  "common.classroomLabel.no": "No",
  "common.classroomLabel.noScheduleSlots": "No schedule slots yet",
  "common.classroomLabel.noScheduleSlotsDescription": "This classroom does not have saved weekly availability.",
  "common.classroomLabel.noTimeSlots": "No time slots added yet.",
  "common.classroomLabel.noUpcomingLessons": "No upcoming lessons",
  "common.classroomLabel.noUpcomingLessonsDescription": "Upcoming classroom lessons will appear here once scheduled.",
  "common.classroomLabel.pageTitle": "Classrooms",
  "common.classroomLabel.removeTimeSlot": "Remove time slot",
  "common.classroomLabel.schedule": "Schedule",
  "common.classroomLabel.scheduleRow": "Schedule :number",
  "common.classroomLabel.scheduleSlots": "Schedule Slots",
  "common.classroomLabel.scheduleTab": "Schedule",
  "common.classroomLabel.schedulesUnavailable": "No schedules are available. You can create the classroom now and add time slots after schedules are configured.",
  "common.classroomLabel.searchClassrooms": "Search classrooms by title",
  "common.classroomLabel.selectCampus": "Select Campus",
  "common.classroomLabel.selectSchedule": "Select Schedule",
  "common.classroomLabel.selectWeekDay": "Select a week day",
  "common.classroomLabel.slotScheduleRequired": "Select a schedule.",
  "common.classroomLabel.slotWeekRequired": "Select at least one week day.",
  "common.classroomLabel.slotsInvalid": "Fix the highlighted time slot fields.",
  "common.classroomLabel.status": "Status",
  "common.classroomLabel.stepAnnouncement": ":step (:current of :total)",
  "common.classroomLabel.stepInformation": "Classroom Information",
  "common.classroomLabel.stepInformationHint": "Set the classroom name, campus, and optional weekly time slots.",
  "common.classroomLabel.stepProgress": "Step :current of :total",
  "common.classroomLabel.time": "Time",
  "common.classroomLabel.timeSlot": "Time Slot",
  "common.classroomLabel.timeSlotRow": "Time Slot :number",
  "common.classroomLabel.title": "Title",
  "common.classroomLabel.titleMax": "Classroom must be 50 characters or fewer.",
  "common.classroomLabel.titleRequired": "Classroom is required.",
  "common.classroomLabel.totalLessons": "Total Lessons",
  "common.classroomLabel.unavailable": "Unavailable",
  "common.classroomLabel.updateClassroom": "Update Classroom",
  "common.classroomLabel.updateFailed": "Unable to update the classroom. Review the highlighted fields and try again.",
  "common.classroomLabel.updatedAt": "Updated At",
  "common.classroomLabel.usage": "Usage",
  "common.classroomLabel.usageDescription": "Schedule slots and lesson activity for this classroom.",
  "common.classroomLabel.sectionCustomFields": "Additional fields",
  "common.classroomLabel.sectionCustomFieldsDesc": "School-defined details for this classroom.",
  "common.classroomLabel.viewClassroom": "View Classroom",
  "common.classroomLabel.viewLesson": "View Lesson",
  "common.classroomLabel.weekDay": "Week Day",
  "common.classroomLabel.wizardEditFooterAria": "Classroom edit actions",
  "common.classroomLabel.wizardEditNavigation": "Classroom edit steps",
  "common.classroomLabel.wizardFooterAria": "Classroom creation actions",
  "common.classroomLabel.wizardNavigation": "Classroom creation steps",
  "common.classroomLabel.yes": "Yes",
  "common.clear": "Clear",
  "common.commandPalette.clear": "Clear",
  "common.commandPalette.close": "to close",
  "common.commandPalette.closeAria": "Close search",
  "common.commandPalette.emptyHint": "Type to search contacts (applicants, students, agents, parents, housing contacts), instructors, programs, courses, cohorts, or invoices, or use quick actions to navigate faster.",
  "common.commandPalette.groups.applicants": "Applicants",
  "common.commandPalette.groups.cohorts": "Cohorts",
  "common.commandPalette.groups.contacts": "Contacts",
  "common.commandPalette.groups.courses": "Courses",
  "common.commandPalette.groups.instructors": "Instructors",
  "common.commandPalette.groups.invoices": "Invoices",
  "common.commandPalette.groups.parents": "Parents",
  "common.commandPalette.groups.programs": "Programs",
  "common.commandPalette.groups.students": "Students",
  "common.commandPalette.inputAria": "Search contacts, instructors, programs, courses, cohorts, and invoices",
  "common.commandPalette.invoiceTitle": "Invoice #:number",
  "common.commandPalette.navigate": "to navigate",
  "common.commandPalette.noResults": "No results found for \":query\"",
  "common.commandPalette.openAria": "Open quick search",
  "common.commandPalette.openInNewTab": "Open in new tab",
  "common.commandPalette.placeholder": "Search contacts, instructors, programs, cohorts...",
  "common.commandPalette.quickActions.addStudent.description": "Create record",
  "common.commandPalette.quickActions.addStudent.label": "Add Student",
  "common.commandPalette.quickActions.newInvoice.description": "Generate billing",
  "common.commandPalette.quickActions.newInvoice.label": "New Invoice",
  "common.commandPalette.quickActions.newProgram.description": "Set up a program",
  "common.commandPalette.quickActions.newProgram.label": "New Program",
  "common.commandPalette.quickActions.openAiAssistant.description": "Open the staff AI Assistant drawer",
  "common.commandPalette.quickActions.openAiAssistant.label": "AI Assistant",
  "common.commandPalette.quickActionsHeading": "Quick actions",
  "common.commandPalette.recent": "Recent",
  "common.commandPalette.recentCount": ":count recent results",
  "common.commandPalette.resultsCount": ":count results",
  "common.commandPalette.searching": "Searching...",
  "common.commandPalette.select": "to select",
  "common.commandPalette.startSearching": "Start searching",
  "common.commandPalette.triggerLabel": "Search",
  "common.communicationPreferencesLabel.channelOptedInHint": "Subscribed to :channel communications.",
  "common.communicationPreferencesLabel.channelOptedOutHint": "Unsubscribed from :channel communications.",
  "common.communicationPreferencesLabel.channelOptInReason": "Opt-in reason",
  "common.communicationPreferencesLabel.channelOptInReasonHint": "Document why this contact may receive marketing on this channel.",
  "common.communicationPreferencesLabel.channelOptOutReason": "Opt-out reason",
  "common.communicationPreferencesLabel.channelOptOutReasonHint": "Document why this contact should not receive marketing on this channel.",
  "common.communicationPreferencesLabel.channelOptedInHint": "Subscribed to :channel communications.",
  "common.communicationPreferencesLabel.channelOptedOutHint": "Unsubscribed from :channel communications.",
  "common.communicationPreferencesLabel.channelConsentRequiredHint": "This contact has not granted :channel consent.",
  "common.communicationPreferencesLabel.channelSubscriptions": "Channel subscriptions",
  "common.communicationPreferencesLabel.channelSubscriptionsHint": "Choose whether this contact is opted in or out for each channel.",
  "common.communicationPreferencesLabel.channelsDisabledByDoNotContact": "Channel subscriptions are turned off while Do not contact is enabled.",
  "common.communicationPreferencesLabel.combinedHint": "Manage channel subscriptions and consent flags for this contact.",
  "common.communicationPreferencesLabel.combinedTitle": "Consent and subscriptions",
  "common.communicationPreferencesLabel.complianceSectionHint": "Controls how mass email, SMS, automation, and preference centers evaluate marketing consent for this school.",
  "common.communicationPreferencesLabel.complianceSectionTitle": "Communication compliance",
  "common.emailTemplateLabel.communicationPurpose": "Communication purpose",
  "common.emailTemplateLabel.communicationPurposeHint": "Marketing messages require channel opt-in and respect unsubscribes. Operational and transactional messages are blocked only by Do Not Contact.",
  "common.emailTemplateLabel.collapseLanguageSettings": "Collapse language settings",
  "common.emailTemplateLabel.expandLanguageSettings": "Expand language settings",
  "common.sendEmailLabel.recipientNotEligible": "This recipient cannot receive this marketing email because they opted out or did not grant consent.",
  "common.smsTemplateLabel.recipientNotEligible": "This recipient cannot receive this marketing SMS because they opted out or did not grant consent.",
  "common.communicationPreferencesLabel.recipientNotEligible": "This recipient cannot receive this communication because of their communication preferences.",
  "common.smsTemplateLabel.communicationPurpose": "Communication purpose",
  "common.smsTemplateLabel.communicationPurposeHint": "Marketing messages require channel opt-in and respect unsubscribes. Operational and transactional messages are blocked only by Do Not Contact.",
  "common.communicationPreferencesLabel.consentFlags": "Consent flags",
  "common.communicationPreferencesLabel.consentFlagsHint": "These flags are respected by automation communication rules and staff workflows.",
  "common.communicationPreferencesLabel.consentHistoryEmptyHint": "Consent actions will appear here after the contact opts in or out of a channel.",
  "common.communicationPreferencesLabel.consentHistoryEmptyTitle": "No consent history yet",
  "common.communicationPreferencesLabel.consentHistoryHint": "Grant, deny, and withdraw actions for this contact.",
  "common.communicationPreferencesLabel.consentHistoryTitle": "Consent history",
  "common.communicationPreferencesLabel.actionOptedIn": "Opted in",
  "common.communicationPreferencesLabel.actionOptedOut": "Opted out",
  "common.communicationPreferencesLabel.eventTitleDenied": ":channel denied",
  "common.communicationPreferencesLabel.eventTitleExpired": ":channel expired",
  "common.communicationPreferencesLabel.eventTitleGranted": ":channel opted in",
  "common.communicationPreferencesLabel.eventTitlePending": ":channel pending",
  "common.communicationPreferencesLabel.eventTitleUnknown": ":channel updated",
  "common.communicationPreferencesLabel.eventTitleWithdrawn": ":channel opted out",
  "common.communicationPreferencesLabel.groupByDay": "Group by day",
  "common.communicationPreferencesLabel.groupEventCount": ":count actions",
  "common.communicationPreferencesLabel.showingCount": "Showing :shown of :total actions",
  "common.communicationPreferencesLabel.source.application": "Application",
  "common.communicationPreferencesLabel.source.contact_creation": "Contact creation",
  "common.communicationPreferencesLabel.source.csv_import": "CSV import",
  "common.communicationPreferencesLabel.source.doi_confirm_link": "Double opt-in",
  "common.communicationPreferencesLabel.source.landing_page": "Landing page",
  "common.communicationPreferencesLabel.source.manual_contact_creation": "Manual contact creation",
  "common.communicationPreferencesLabel.source.portal": "Portal",
  "common.communicationPreferencesLabel.source.preference_center_proxy": "Staff proxy",
  "common.communicationPreferencesLabel.source.public_unsubscribe_link": "Unsubscribe link",
  "common.communicationPreferencesLabel.unknownActor": "Unknown",
  "common.communicationPreferencesLabel.consentStatus.denied": "Denied",
  "common.communicationPreferencesLabel.consentStatus.expired": "Expired",
  "common.communicationPreferencesLabel.consentStatus.granted": "Granted",
  "common.communicationPreferencesLabel.consentStatus.pending": "Pending",
  "common.communicationPreferencesLabel.consentStatus.unknown": "Unknown",
  "common.communicationPreferencesLabel.consentStatus.withdrawn": "Withdrawn",
  "common.communicationPreferencesLabel.doNotContact": "Do not contact",
  "common.communicationPreferencesLabel.doNotContactActiveWarning": "Do not contact is enabled ? all outbound communication is blocked for this contact.",
  "common.communicationPreferencesLabel.doNotContactHint": "Block all outbound communication attempts for this contact.",
  "common.communicationPreferencesLabel.emailMarketingConsent": "Email marketing consent",
  "common.communicationPreferencesLabel.emailMarketingConsentHint": "Allow marketing email to this contact. Schools under EU/CA/strict may still require double opt-in.",
  "common.communicationPreferencesLabel.jurisdictionActiveHint": "This school uses the :profile communication jurisdiction. Channel opt-ins must match ledger consent; marketing sends respect unsubscribe and consent rules for this profile.",
  "common.communicationPreferencesLabel.jurisdictionProfile": "Communication jurisdiction",
  "common.communicationPreferencesLabel.jurisdictionProfile.ca": "Canada (CASL)",
  "common.communicationPreferencesLabel.jurisdictionProfile.eu": "European Union (GDPR)",
  "common.communicationPreferencesLabel.jurisdictionProfile.guide.ca": "Use this profile for CASL-style Canadian requirements. It matches the strict marketing controls: affirmative consent for marketing email, double opt-in when enabled, and consent required for SMS, phone, and WhatsApp. Marketing automations must always respect unsubscribe and consent flags.",
  "common.communicationPreferencesLabel.jurisdictionProfile.guide.eu": "Use this profile when GDPR-style prior consent applies. Marketing email requires an affirmative ledger grant and double opt-in when enabled. SMS, phone, and WhatsApp also require consent. Staff cannot weaken marketing consent enforcement in Automation Studio.",
  "common.communicationPreferencesLabel.jurisdictionProfile.guide.strict": "Strict is the default EU-grade profile. Marketing email, SMS, phone, and WhatsApp all require documented consent before outbound sends. Double opt-in may apply to marketing email. Automation marketing rules cannot bypass unsubscribe or consent checks.",
  "common.communicationPreferencesLabel.jurisdictionProfile.guide.us": "Use this profile for US CAN-SPAM and TCPA-style operation. Marketing email is primarily unsubscribe-driven and does not require a ledger marketing grant, but explicit opt-outs and unsubscribe rows still block sends. SMS, phone, and WhatsApp still require affirmative consent.",
  "common.communicationPreferencesLabel.jurisdictionProfile.rule.automationFlexible": "Automation Studio may allow staff to relax some marketing respect toggles, but transactional and operational sends still honor do-not-contact and unsubscribe where applicable.",
  "common.communicationPreferencesLabel.jurisdictionProfile.rule.automationLocked": "Automation Studio marketing workflows must respect unsubscribe, consent, and do-not-contact rules.",
  "common.communicationPreferencesLabel.jurisdictionProfile.rule.marketingEmailConsent": "Marketing email requires an explicit consent grant in the communication ledger.",
  "common.communicationPreferencesLabel.jurisdictionProfile.rule.marketingEmailDoi": "Marketing email may require double opt-in confirmation before sends are allowed.",
  "common.communicationPreferencesLabel.jurisdictionProfile.rule.marketingEmailUnsubscribeOnly": "Marketing email is blocked by unsubscribe, do-not-contact, and explicit opt-out ? not by a missing marketing consent grant.",
  "common.communicationPreferencesLabel.jurisdictionProfile.rule.smsPhoneConsent": "SMS, phone, and WhatsApp require affirmative consent before outbound sends.",
  "common.communicationPreferencesLabel.jurisdictionProfile.strict": "Strict (EU-grade default)",
  "common.communicationPreferencesLabel.jurisdictionProfile.us": "United States (CAN-SPAM / TCPA)",
  "common.communicationPreferencesLabel.jurisdictionProfileGuideTitle": "How this profile works",
  "common.communicationPreferencesLabel.jurisdictionProfileInvalid": "Select a valid communication jurisdiction profile.",
  "common.communicationPreferencesLabel.modalDescription": "Review and update channel subscriptions and consent flags for this contact.",
  "common.communicationPreferencesLabel.operationalFlags": "Operational flags",
  "common.communicationPreferencesLabel.optInReason.contact_creation": "Contact creation",
  "common.communicationPreferencesLabel.optInReason.contractual_service_msgs": "Contractual / service messages",
  "common.communicationPreferencesLabel.optInReason.doi_confirmed": "Double opt-in confirmed",
  "common.communicationPreferencesLabel.optInReason.event_signup_form": "Event signup form",
  "common.communicationPreferencesLabel.optInReason.legitimate_interest_non_marketing": "Legitimate interest (non-marketing)",
  "common.communicationPreferencesLabel.optInReason.manual_contact_creation": "Manual contact creation",
  "common.communicationPreferencesLabel.optInReason.other": "Other",
  "common.communicationPreferencesLabel.optInReason.paper_form_checked": "Paper form checked",
  "common.communicationPreferencesLabel.optInReason.preference_center_proxy": "Preference center (staff proxy)",
  "common.communicationPreferencesLabel.optInReason.support_request_yes": "Support request confirmation",
  "common.communicationPreferencesLabel.optInReason.verbal_in_person": "Verbal (in person)",
  "common.communicationPreferencesLabel.optInReason.verbal_phone_call": "Verbal (phone call)",
  "common.communicationPreferencesLabel.optInReason.web_form_consent_imported": "Registration / application form",
  "common.communicationPreferencesLabel.optInReason.written_email_yes": "Written email confirmation",
  "common.communicationPreferencesLabel.optedIn": "Opted in",
  "common.communicationPreferencesLabel.optedOut": "Opted out",
  "common.communicationPreferencesLabel.pageTitle": "Communication preferences",
  "common.communicationPreferencesLabel.portalChannelOptOutReason": "Reason for unsubscribing",
  "common.communicationPreferencesLabel.portalChannelOptOutReasonHint": "Tell us why you prefer not to receive messages on this channel.",
  "common.communicationPreferencesLabel.publicUnsubscribeConfirm": "Confirm unsubscribe",
  "common.communicationPreferencesLabel.publicUnsubscribeReasonPlaceholder": "Select a reason",
  "common.communicationPreferencesLabel.publicUnsubscribeTitle": "Unsubscribe from emails",
  "common.communicationPreferencesLabel.portalOptOutReason.channel_pref_change": "Prefer a different channel",
  "common.communicationPreferencesLabel.portalOptOutReason.content_not_relevant": "Content is not relevant to me",
  "common.communicationPreferencesLabel.portalOptOutReason.did_not_subscribe": "I did not subscribe",
  "common.communicationPreferencesLabel.portalOptOutReason.frequency_too_high": "Too many messages",
  "common.communicationPreferencesLabel.portalOptOutReason.no_longer_customer": "No longer interested",
  "common.communicationPreferencesLabel.portalOptOutReason.other": "Other",
  "common.communicationPreferencesLabel.portalOptOutReason.privacy_concern": "Privacy concern",
  "common.communicationPreferencesLabel.parentOnlyCommunication": "Parent-only communication",
  "common.communicationPreferencesLabel.parentOnlyCommunicationHint": "Route communication to linked parents instead of the student contact.",
  "common.communicationPreferencesLabel.phoneConsent": "Phone consent",
  "common.communicationPreferencesLabel.phoneConsentHint": "Allow outbound phone calls to this contact.",
  "common.communicationPreferencesLabel.readOnlyHint": "You can view these preferences but do not have permission to edit them.",
  "common.communicationPreferencesLabel.saveFailed": "Communication preferences could not be saved.",
  "common.communicationPreferencesLabel.savedSuccessfully": "Communication preferences saved.",
  "common.communicationPreferencesLabel.saveChangesHint": "Review your updates before saving.",
  "common.communicationPreferencesLabel.saveChangesTitle": "Save changes",
  "common.communicationPreferencesLabel.smsConsent": "SMS consent",
  "common.communicationPreferencesLabel.smsConsentHint": "Allow outbound SMS messages to this contact.",
  "common.communicationPreferencesLabel.whatsappConsent": "WhatsApp consent",
  "common.communicationPreferencesLabel.whatsappConsentHint": "Allow outbound WhatsApp messages to this contact.",
  "common.communicationPreferencesLabel.staffProxyReason": "Staff proxy reason",
  "common.communicationPreferencesLabel.staffProxyReason.compliance_correction": "Compliance correction",
  "common.communicationPreferencesLabel.staffProxyReason.other": "Other",
  "common.communicationPreferencesLabel.staffProxyReason.paper_form_checked": "Paper / application form",
  "common.communicationPreferencesLabel.staffProxyReason.parent_verbal_request": "Parent / guardian verbal request",
  "common.communicationPreferencesLabel.staffProxyReason.student_verbal_request": "Student verbal request",
  "common.communicationPreferencesLabel.staffProxyReason.support_request_yes": "Support ticket / helpdesk request",
  "common.communicationPreferencesLabel.staffProxyReason.written_email_yes": "Written email confirmation",
  "common.communicationPreferencesLabel.staffProxyReasonHint": "Required when staff change preferences on behalf of the contact. Stored with the consent ledger evidence.",
  "common.communicationPreferencesLabel.staffProxyReasonDoNotContactHint": "Required when staff enable or disable Do not contact on behalf of this contact.",
  "common.communicationPreferencesLabel.staffProxyReasonRequired": "Select a staff proxy reason before saving.",
  "common.communicationPreferencesLabel.summaryOptedInCount": ":count of :total channels opted in",
  "common.communicationPreferencesLabel.unsubscribedBy": "Unsubscribed by :name",
  "common.communicationPreferencesLabel.unknownChannel": "Unknown channel",
  "common.completedCountLabel.title": "Completed Count",
  "common.completedRunsLabel.title": "Completed Runs",
  "common.contactActionModalLabel.action": "Action",
  "common.contactActionModalLabel.actionFailed": "Unable to complete this action.",
  "common.contactActionModalLabel.addApplication": "Add Application",
  "common.contactActionModalLabel.addBooking": "Add Booking",
  "common.contactActionModalLabel.agent": "Agent",
  "common.contactActionModalLabel.agentRequired": "Agent is required.",
  "common.contactActionModalLabel.application": "Application",
  "common.contactActionModalLabel.applicationDescription": "Create a new application and continue to the application form.",
  "common.contactActionModalLabel.applicationRequired": "Application is required.",
  "common.contactActionModalLabel.bookingDescription": "Create a new booking and continue to the booking builder.",
  "common.contactActionModalLabel.bookingEmailHelper": "If you leave the email empty, one will be generated automatically.",
  "common.contactActionModalLabel.cancel": "Cancel",
  "common.contactActionModalLabel.children": "Children",
  "common.contactActionModalLabel.childrenHelper": "Optional. Type at least 2 characters to find students to link as children.",
  "common.contactActionModalLabel.createParent": "Create Parent",
  "common.contactActionModalLabel.creatingApplication": "Creating application...",
  "common.contactActionModalLabel.creatingBooking": "Creating booking...",
  "common.contactActionModalLabel.creatingParent": "Creating parent...",
  "common.contactActionModalLabel.email": "Email",
  "common.contactActionModalLabel.emailRequired": "Email is required.",
  "common.contactActionModalLabel.firstName": "First Name",
  "common.contactActionModalLabel.firstNameRequired": "First name is required.",
  "common.contactActionModalLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.contactActionModalLabel.formErrorsBeforeContinue": "Please correct the form errors before continuing.",
  "common.contactActionModalLabel.formUnavailable": "This form is not available right now.",
  "common.contactActionModalLabel.generateEmail": "Generate email",
  "common.contactActionModalLabel.generateEmailNamesRequired": "Enter a first and last name before generating an email.",
  "common.contactActionModalLabel.lastName": "Last Name",
  "common.contactActionModalLabel.lastNameRequired": "Last name is required.",
  "common.contactActionModalLabel.listsRequired": "Select at least one list.",
  "common.contactActionModalLabel.noApplications": "No applications are available.",
  "common.contactActionModalLabel.noLists": "No static lists are available.",
  "common.contactActionModalLabel.noQuoteBuilders": "No quote builders are available.",
  "common.contactActionModalLabel.parentDescription": "Create a parent account and optionally link children.",
  "common.contactActionModalLabel.phone": "Phone",
  "common.contactActionModalLabel.quoteBuilder": "Quote Builder",
  "common.contactActionModalLabel.quoteBuilderRequired": "Quote builder is required.",
  "common.contactActionModalLabel.savedSuccessfully": "Saved successfully.",
  "common.contactActionModalLabel.searchChildren": "Search by name or email...",
  "common.contactActionModalLabel.selectAgent": "Select agent",
  "common.contactActionModalLabel.selectApplication": "Select application",
  "common.contactActionModalLabel.selectQuoteBuilder": "Select quote builder",
  "common.contactActionModalLabel.sendLoginDetails": "Send login details",
  "common.contactActionModalLabel.sendLoginDetailsHelper": "Send the student their login details after the application is created.",
  "common.contactsDirectoryLabel.accommodationBookingsTab": "Accommodation Bookings",
  "common.contactsDirectoryLabel.accommodations": "Accommodations",
  "common.contactsDirectoryLabel.additionalDetails": "Additional Details",
  "common.contactsDirectoryLabel.back": "Back",
  "common.contactsDirectoryLabel.backToList": "Back to Housing Contacts",
  "common.contactsDirectoryLabel.confirmPassword": "Confirm Password",
  "common.contactsDirectoryLabel.contactDetails": "Contact Details",
  "common.contactsDirectoryLabel.contactDetailsHint": "Identity and contact information for this housing contact.",
  "common.contactsDirectoryLabel.createContact": "Create Contact",
  "common.contactsDirectoryLabel.createFailed": "Unable to create contact. Review the form and try again.",
  "common.contactsDirectoryLabel.createdSuccessfully": "Contact created successfully.",
  "common.contactsDirectoryLabel.deleteConfirm": "This contact will be removed from the directory.",
  "common.contactsDirectoryLabel.deleteContact": "Delete contact?",
  "common.contactsDirectoryLabel.documentsTab": "Documents",
  "common.contactsDirectoryLabel.uploadDocument": "Upload Document",
  "common.contactsDirectoryLabel.documentUploaded": "Document uploaded successfully.",
  "common.contactsDirectoryLabel.editContact": "Edit Contact",
  "common.contactsDirectoryLabel.email": "Email",
  "common.contactsDirectoryLabel.emailInvalid": "Enter a valid email address.",
  "common.contactsDirectoryLabel.emailRequired": "Email is required.",
  "common.contactsDirectoryLabel.emailsTab": "Emails",
  "common.contactsDirectoryLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.contactsDirectoryLabel.homeOwner": "Home Owner",
  "common.contactsDirectoryLabel.landlord": "Landlord",
  "common.contactsDirectoryLabel.messagesTab": "Messages",
  "common.contactsDirectoryLabel.name": "Name",
  "common.contactsDirectoryLabel.nameRequired": "Name is required.",
  "common.contactsDirectoryLabel.newPassword": "New Password",
  "common.contactsDirectoryLabel.next": "Next",
  "common.contactsDirectoryLabel.notesTab": "Notes",
  "common.contactsDirectoryLabel.pageTitle": "Housing Contacts",
  "common.contactsDirectoryLabel.password": "Password",
  "common.contactsDirectoryLabel.passwordConfirmationRequired": "Password confirmation is required.",
  "common.contactsDirectoryLabel.passwordHintCreate": "Use at least 8 characters.",
  "common.contactsDirectoryLabel.passwordHintEdit": "Leave blank to keep the current password.",
  "common.contactsDirectoryLabel.passwordMinLength": "Password must be at least 8 characters.",
  "common.contactsDirectoryLabel.passwordMismatch": "Password confirmation does not match.",
  "common.contactsDirectoryLabel.passwordRequired": "Password is required.",
  "common.contactsDirectoryLabel.phone": "Phone",
  "common.contactsDirectoryLabel.profileTab": "Profile",
  "common.contactsDirectoryLabel.selectAccommodation": "Select accommodation",
  "common.contactsDirectoryLabel.sendEmail": "Send E-mail",
  "common.contactsDirectoryLabel.stepAccess": "Account Access",
  "common.contactsDirectoryLabel.stepAccessCreateHint": "Set a password for this contact's portal access.",
  "common.contactsDirectoryLabel.stepAccessEditHint": "Optionally set a new password for this contact.",
  "common.contactsDirectoryLabel.stepAnnouncement": ":step, step :current of :total",
  "common.contactsDirectoryLabel.stepDetails": "Contact Details",
  "common.contactsDirectoryLabel.stepDetailsHint": "Basic identity and contact information.",
  "common.contactsDirectoryLabel.stepProgress": "Step :current of :total",
  "common.contactsDirectoryLabel.type": "Type",
  "common.contactsDirectoryLabel.typeRequired": "Contact type is required.",
  "common.contactsDirectoryLabel.updateContact": "Update Contact",
  "common.contactsDirectoryLabel.updateFailed": "Unable to update contact. Review the form and try again.",
  "common.contactsDirectoryLabel.updatedSuccessfully": "Contact updated successfully.",
  "common.contactsDirectoryLabel.wizardFooterAria": "Contact wizard actions",
  "common.contactsDirectoryLabel.wizardNavigation": "Contact wizard steps",
  "common.contactsGridLabel.tableLoadError": "We couldn't load this list. Please try again.",
  "common.contactsGridLabel.tableLoadRetry": "Try again",
  "common.inertiaDataGridLabel.openInNewWindow": "Open in new window",
  "common.conversionSignalLabel.title": "Conversion Signal",
  "common.courseLabel.addDateRow": "Add date",
  "common.courseLabel.addDates": "Add dates",
  "common.courseLabel.atLeastOneDate": "Add at least one date entry before continuing.",
  "common.courseLabel.backToCourse": "Back to Course",
  "common.courseLabel.backToList": "Back to courses",
  "common.courseLabel.calendarColorHelper": "Default calendar background color: #3788d8",
  "common.courseLabel.campusRequired": "Select at least one campus.",
  "common.courseLabel.cloneCourse": "Clone Course",
  "common.courseLabel.cloneFailed": "Unable to clone the course. Review the highlighted fields and try again.",
  "common.courseLabel.clonedSuccessfully": "Course cloned successfully.",
  "common.courseLabel.cohortsEmpty": "No cohorts have been added to this course yet.",
  "common.courseLabel.cohortsTitle": "Course cohorts",
  "common.courseLabel.courseCodeAutoHint": "Generated from the course title unless you edit it.",
  "common.courseLabel.courseDatesType": "Course starting/ending dates",
  "common.courseLabel.courseDurationWeeks": "Course duration (weeks)",
  "common.courseLabel.createCampusLink": "Create a campus",
  "common.courseLabel.createCohorts": "Create cohorts",
  "common.courseLabel.createCourse": "Create Course",
  "common.courseLabel.createDatesFailed": "Unable to save course dates. Review the form and try again.",
  "common.courseLabel.createFailed": "Unable to create the course. Review the highlighted fields and try again.",
  "common.courseLabel.createWizardFooterAria": "Course creation actions",
  "common.courseLabel.createWizardNavAria": "Course creation steps",
  "common.courseLabel.createdSuccessfully": "Course created successfully.",
  "common.courseLabel.customFieldRequired": "This custom field is required.",
  "common.courseLabel.customFieldsRequired": "Complete the required custom properties before continuing.",
  "common.courseLabel.dateRequired": "Date is required.",
  "common.courseLabel.dateRowLabel": "Date entry :number",
  "common.courseLabel.dateTypeRequired": "Select a date type before continuing.",
  "common.courseLabel.datesEmpty": "No dates have been added to this course yet.",
  "common.courseLabel.datesEntriesTitle": "Date entries",
  "common.courseLabel.datesRangeHelper": "Use the format YYYY-MM-DD - YYYY-MM-DD",
  "common.courseLabel.datesRangeRequired": "Enter a date range.",
  "common.courseLabel.datesTitle": "Course dates",
  "common.courseLabel.datesWizardSidebar": "Course dates",
  "common.courseLabel.delete": "Delete course",
  "common.courseLabel.deleteConfirm": "Deleting this course will delete all the related data (Dates, Cohorts, Lessons and Grades).",
  "common.courseLabel.detailLink": "Detail Link",
  "common.courseLabel.editCourse": "Edit Course",
  "common.courseLabel.editWizardFooterAria": "Course edit actions",
  "common.courseLabel.editWizardNavAria": "Course edit steps",
  "common.courseLabel.endDateRequired": "End date is required.",
  "common.courseLabel.endTimeRequired": "End time is required.",
  "common.courseLabel.featuredImage": "Featured Image",
  "common.courseLabel.fixDateRowErrors": "Fix the highlighted date fields before continuing.",
  "common.courseLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.courseLabel.gradesEmpty": "No grades have been added to this course yet.",
  "common.courseLabel.gradesTitle": "Course grades",
  "common.courseLabel.groupedCohorts": "Grouped cohorts",
  "common.courseLabel.lockedDateTypeHint": "This course uses the :type date type. Add date entries below.",
  "common.courseLabel.noCampusesWarning": "You do not have any campuses. Please add a campus first.",
  "common.courseLabel.programsEmpty": "No programs are linked to this course yet.",
  "common.courseLabel.programsTitle": "Linked programs",
  "common.courseLabel.repeaterEmptyDates": "No date entries yet. Add at least one date.",
  "common.courseLabel.scheduleRequired": "Select at least one schedule.",
  "common.courseLabel.searchCohorts": "Search cohorts by title, campus, or dates",
  "common.courseLabel.searchDates": "Search dates by type, campus, or schedule",
  "common.courseLabel.searchGrades": "Search grades by title, category, or instructor",
  "common.courseLabel.searchPrograms": "Search programs by title or code",
  "common.courseLabel.sectionBasicsDesc": "Title, code, credits, hours, and weighting.",
  "common.courseLabel.sectionCustomFields": "Additional fields",
  "common.courseLabel.sectionCustomFieldsDesc": "School-defined details for this course.",
  "common.courseLabel.slugRequired": "Course code is required.",
  "common.courseLabel.startDateRequired": "Start date is required.",
  "common.courseLabel.startTimeRequired": "Start time is required.",
  "common.courseLabel.stepAnnouncement": ":step (:current of :total)",
  "common.courseLabel.stepCustomFields": "Custom Properties",
  "common.courseLabel.stepDateType": "Date type",
  "common.courseLabel.stepDateTypeHint": "Choose how dates are structured for this course.",
  "common.courseLabel.stepDates": "Course dates",
  "common.courseLabel.stepDatesHint": "Add one or more date entries for this course.",
  "common.courseLabel.stepInformation": "Course Information",
  "common.courseLabel.stepInformationHint": "Title, code, campuses, programs, credits, hours, and scheduling defaults.",
  "common.courseLabel.stepVirtualAssistant": "Course Virtual Assistant",
  "common.courseLabel.stepVirtualAssistantHint": "Public-facing course details, image, and detail link.",
  "common.courseLabel.titleRequired": "Course title is required.",
  "common.courseLabel.updateCourse": "Update Course",
  "common.courseLabel.updateFailed": "Unable to update the course. Review the highlighted fields and try again.",
  "common.courseLabel.updatedSuccessfully": "Course updated successfully.",
  "common.courseLabel.weekdayFromRequired": "Select a start weekday.",
  "common.courseLabel.weekdayToRequired": "Select an end weekday.",
  "common.courseLabel.wizardFooterAria": "Course dates wizard actions",
  "common.courseLabel.wizardNavAria": "Course dates wizard steps",
  "common.courseLabel.wizardProgress": "Progress",
  "common.courseLabel.wizardProgressWithCount": "Step :current of :total",
  "common.creditMemoLabel.account": "Account",
  "common.creditMemoLabel.addContact": "Add Contact",
  "common.creditMemoLabel.addLine": "Add line",
  "common.creditMemoLabel.amount": "Amount",
  "common.creditMemoLabel.back": "Back",
  "common.creditMemoLabel.contactContextFailed": "Unable to load contact invoices right now.",
  "common.creditMemoLabel.contactEmail": "Contact Email",
  "common.creditMemoLabel.contactNotFound": "The selected contact could not be found.",
  "common.creditMemoLabel.contactRequired": "Select a contact before saving.",
  "common.creditMemoLabel.contactType": "Contact Type",
  "common.creditMemoLabel.createInvoice": "Create Invoice",
  "common.creditMemoLabel.creditMemoDetails": "Credit Memo Details",
  "common.creditMemoLabel.creditMemoDetailsHint": "Select a contact, set the reason and status, then add one or more memo lines.",
  "common.creditMemoLabel.description": "Description",
  "common.creditMemoLabel.descriptionPlaceholder": "Describe this credit memo line",
  "common.creditMemoLabel.documentDate": "Document Date",
  "common.creditMemoLabel.editCreditMemo": "Edit Credit Memo #:uid",
  "common.creditMemoLabel.educationalService": "Educational Service",
  "common.creditMemoLabel.invalidContactType": "The selected contact type is not valid.",
  "common.creditMemoLabel.invoice": "Invoice",
  "common.creditMemoLabel.item": "Item",
  "common.creditMemoLabel.lineNumber": "Line :number",
  "common.creditMemoLabel.lines": "Credit Memo Lines",
  "common.creditMemoLabel.linesHint": "Choose reversal or on-account mode for each line and define the amount.",
  "common.creditMemoLabel.loadingContactContext": "Loading contact invoices...",
  "common.creditMemoLabel.mode": "Mode",
  "common.creditMemoLabel.newCreditMemo": "New Credit Memo",
  "common.creditMemoLabel.noInvoices": "No invoices were found for this contact.",
  "common.creditMemoLabel.noLines": "No memo lines yet.",
  "common.creditMemoLabel.notes": "Notes",
  "common.creditMemoLabel.notesPlaceholder": "Add internal notes for this credit memo.",
  "common.creditMemoLabel.onAccountCredit": "On-account credit",
  "common.creditMemoLabel.postingDate": "Posting Date",
  "common.creditMemoLabel.quantity": "Quantity",
  "common.creditMemoLabel.rate": "Rate",
  "common.creditMemoLabel.reason": "Reason",
  "common.creditMemoLabel.removeLine": "Remove line",
  "common.creditMemoLabel.revenueReversal": "Revenue reversal",
  "common.creditMemoLabel.saveAndClose": "Save and close",
  "common.creditMemoLabel.saveAndCreateAnother": "Save and create another",
  "common.creditMemoLabel.saveFailed": "Unable to save credit memo right now. Please try again.",
  "common.creditMemoLabel.searchContact": "Search for a contact",
  "common.creditMemoLabel.selectAccount": "Select account",
  "common.creditMemoLabel.selectInvoice": "Select invoice",
  "common.creditMemoLabel.selectItem": "Select item",
  "common.creditMemoLabel.selectReason": "Select reason",
  "common.creditMemoLabel.selectService": "Select educational service",
  "common.creditMemoLabel.selectStatus": "Select status",
  "common.creditMemoLabel.status": "Status",
  "common.creditMemoLabel.totalCredit": "Total Credit",
  "common.creditMemoLabel.updateAndClose": "Update and close",
  "common.creditMemoLabel.updateAndCreateAnother": "Update and continue editing",
  "common.criticalLabel.title": "Critical",
  "common.customFieldLabel.actionFailed": "Unable to complete that action right now.",
  "common.customFieldLabel.addOption": "Add Option",
  "common.customFieldLabel.alias": "Alias",
  "common.customFieldLabel.back": "Back",
  "common.customFieldLabel.backToList": "Back to Custom Fields",
  "common.customFieldLabel.configuration": "Configuration",
  "common.customFieldLabel.configurationDescription": "Publication, locking, and option metadata for this custom field.",
  "common.customFieldLabel.copyToken": "Copy Token",
  "common.customFieldLabel.createCustomField": "Create Custom Field",
  "common.customFieldLabel.createFailed": "Unable to create the custom field.",
  "common.customFieldLabel.fundingCasesSystemOnly": "Funding case fields can only be added from a funding scenario.",
  "common.customFieldLabel.createdAt": "Creation Date",
  "common.customFieldLabel.createdSuccessfully": "Custom field created successfully.",
  "common.customFieldLabel.customFieldFallbackTitle": "Custom Field",
  "common.customFieldLabel.customFields": "custom fields",
  "common.customFieldLabel.customFieldsEmpty": "No custom fields matched the current search or filters.",
  "common.customFieldLabel.defaultValue": "Default Value",
  "common.customFieldLabel.deleteCustomField": "Delete",
  "common.customFieldLabel.deleteCustomFieldConfirm": "Are you sure you want to delete this custom field?",
  "common.customFieldLabel.deleteCustomFieldTitle": "Delete Custom Field",
  "common.customFieldLabel.deleteFundingCaseInUseByTemplate": "This funding case field is still used by a funding template scenario and cannot be deleted.",
  "common.customFieldLabel.deleteFundingCaseInvalidField": "This funding case field cannot be deleted.",
  "common.customFieldLabel.deleteFundingCaseReservedColumn": "This funding case field is reserved by the system and cannot be deleted.",
  "common.customFieldLabel.deletedSuccessfully": "Custom field deleted successfully.",
  "common.customFieldLabel.details": "Details",
  "common.customFieldLabel.detailsDescription": "Core custom field identifiers and where the field is used.",
  "common.customFieldLabel.editCustomField": "Edit",
  "common.customFieldLabel.editCustomFieldAction": "Edit Custom Field",
  "common.customFieldLabel.editCustomFieldTitle": "Edit Custom Field - :name",
  "common.customFieldLabel.enableFor": "Enable For",
  "common.customFieldLabel.enableForHint": "Leave empty if you want this custom field to be available without user restrictions.",
  "common.customFieldLabel.enabledFor": "Enabled For",
  "common.customFieldLabel.fieldName": "Field Name",
  "common.customFieldLabel.fieldType": "Field Type",
  "common.customFieldLabel.fieldTypeRequired": "Select a field type.",
  "common.customFieldLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.customFieldLabel.forApplications": "For Applications",
  "common.customFieldLabel.helperText": "Helper Text",
  "common.customFieldLabel.history": "History",
  "common.customFieldLabel.historyDescription": "Record creation and update timestamps.",
  "common.customFieldLabel.id": "ID",
  "common.customFieldLabel.importCustomFields": "Import Custom Fields",
  "common.customFieldLabel.importOptions": "Import Options",
  "common.customFieldLabel.importOptionsEmpty": "No options were returned for that import source.",
  "common.customFieldLabel.importOptionsFailed": "Unable to import options. Try again.",
  "common.customFieldLabel.importOptionsHint": "Add options from a predefined list, another custom field, or pasted text.",
  "common.customFieldLabel.importPastedOptions": "Import Pasted Options",
  "common.customFieldLabel.loadingCustomFields": "Loading custom fields…",
  "common.customFieldLabel.copyFromCustomProperty": "Copy from custom property",
  "common.customFieldLabel.preDefinedList": "Pre-defined List",
  "common.customFieldLabel.selectCustomField": "Select Custom Field",
  "common.customFieldLabel.selectOptionsType": "Select Options Type",
  "common.customFieldLabel.selectPredefinedList": "Select a list",
  "common.customFieldLabel.pasteOptionsPlaceholder": "Paste your options here",
  "common.customFieldLabel.locked": "Locked",
  "common.customFieldLabel.lockedForEditing": "Locked for Editing",
  "common.customFieldLabel.lockedForEditingHint": "If enabled, this field value is locked after it already has a value.",
  "common.customFieldLabel.mergeCompleted": "Custom fields merged successfully.",
  "common.customFieldLabel.mergeConfirmAction": "Merge fields",
  "common.customFieldLabel.mergeConflicts": "Both fields filled",
  "common.customFieldLabel.mergeContactsOnly": "Merging is currently supported for contact custom fields only.",
  "common.customFieldLabel.mergeCopiedRecords": "Records updated",
  "common.customFieldLabel.mergeCustomField": "Merge",
  "common.customFieldLabel.mergeCustomFields": "Merge Custom Fields",
  "common.customFieldLabel.mergeFailed": "Unable to merge the selected custom fields.",
  "common.customFieldLabel.mergeFieldNotFound": "One or both custom fields could not be found.",
  "common.customFieldLabel.mergeFileFieldNotSupported": "File custom fields cannot be merged yet.",
  "common.customFieldLabel.mergeFillEmptyOnlyHint": "Values copy into the target field only where it is currently empty. Existing target values are kept.",
  "common.customFieldLabel.mergeInvalidSelection": "Select a source field and a target field to merge.",
  "common.customFieldLabel.mergeInvalidSlug": "One of the selected fields has an invalid slug.",
  "common.customFieldLabel.mergeMissingColumn": "The database column for :name is missing.",
  "common.customFieldLabel.mergePreviewFailed": "Unable to preview this merge.",
  "common.customFieldLabel.mergePreviewLoading": "Calculating merge preview…",
  "common.customFieldLabel.mergeProcessing": "Merging custom fields…",
  "common.customFieldLabel.mergeKeepFieldHint": "This field stays after the merge. Its name, slug, and settings are kept.",
  "common.customFieldLabel.mergeModalDescription": "Choose which contact custom field to keep and which duplicate to merge into it.",
  "common.customFieldLabel.mergeOptionsAdded": ":count option(s) added from removed field",
  "common.customFieldLabel.mergeOptionsAddedTitle": "Field options",
  "common.customFieldLabel.mergeOptionsMergedHint": "Dropdown options from both fields are combined on the kept field. Matching values keep the kept field's label.",
  "common.customFieldLabel.mergeOptionsMergedTotal": "Total options after merge: :count",
  "common.customFieldLabel.mergeRemoveFieldHint": "This duplicate field is removed after its values are copied into the kept field.",
  "common.customFieldLabel.mergeProgressDescription": "This may take a moment on large contact lists.",
  "common.customFieldLabel.mergeProgressLabel": "Progress",
  "common.customFieldLabel.mergeJobId": "Job",
  "common.customFieldLabel.mergeRefreshStatus": "Refresh",
  "common.customFieldLabel.mergeRefreshingStatus": "Refreshing…",
  "common.customFieldLabel.mergeStatusQueued": "Queued",
  "common.customFieldLabel.mergeStatusProcessing": "Processing",
  "common.customFieldLabel.mergeStatusCompleted": "Completed",
  "common.customFieldLabel.mergeStatusFailed": "Failed",
  "common.customFieldLabel.mergeSummaryTitle": "Merge summary",
  "common.customFieldLabel.mergeSummaryDescription": "Fields involved in this merge and the updates applied.",
  "common.customFieldLabel.mergeKeptField": "Kept field",
  "common.customFieldLabel.mergeRemovedField": "Removed field",
  "common.customFieldLabel.mergeApplicationFieldsUpdated": "Application form fields",
  "common.customFieldLabel.mergeTokenReferencesUpdated": "Template and list references",
  "common.customFieldLabel.mergeViewKeptField": "View kept field",
  "common.customFieldLabel.mergeReferencesUpdated": "References updated",
  "common.customFieldLabel.mergeSameField": "Choose two different custom fields.",
  "common.customFieldLabel.mergeSameFieldTypeRequired": "Both fields must have the same field type.",
  "common.customFieldLabel.mergeSameObjectRequired": "Both fields must belong to the same object.",
  "common.customFieldLabel.mergeSourceField": "Source field (remove)",
  "common.customFieldLabel.mergeSourceFilled": "Source filled",
  "common.customFieldLabel.mergeSourceLocked": "The source field is locked and cannot be merged.",
  "common.customFieldLabel.mergeSourceUsedInternally": "The source field is used internally and cannot be merged.",
  "common.customFieldLabel.mergeStepConfirm": "Review",
  "common.customFieldLabel.mergeStepConfirmHint": "Review the impact before merging.",
  "common.customFieldLabel.mergeStepSelect": "Select fields",
  "common.customFieldLabel.mergeStepSelectHint": "Choose the duplicate field to remove and the field to keep.",
  "common.customFieldLabel.mergeTargetField": "Target field (keep)",
  "common.customFieldLabel.mergeTargetFilled": "Target filled",
  "common.customFieldLabel.mergeWizardDescription": "Combine duplicate contact custom fields by moving values into one field and removing the other.",
  "common.customFieldLabel.mergeWouldCopy": "Would copy",
  "common.customFieldLabel.mergeApplicationsAffected": "Application forms",
  "common.customFieldLabel.mergeApplicationsNoSourceUsage": "The field being removed is not mapped on any application forms. No application form updates are required.",
  "common.customFieldLabel.mergeApplicationsRewriteHint": "Form fields mapped to the removed field will be updated to use the kept field.",
  "common.customFieldLabel.mergeApplicationsSourceApps": "Removed field — applications affected",
  "common.customFieldLabel.mergeApplicationsSourceCount": "Removed field: :count form field(s)",
  "common.customFieldLabel.mergeApplicationsTargetAlreadyUsed": "The kept field is already used on these application forms:",
  "common.customFieldLabel.mergeApplicationsTargetCount": "Kept field: :count form field(s)",
  "common.customFieldLabel.name": "Name",
  "common.customFieldLabel.nameRequired": "Enter a custom field name.",
  "common.customFieldLabel.next": "Next",
  "common.customFieldLabel.no": "No",
  "common.customFieldLabel.noActiveIntegrations": "You have no active third-party integrations.",
  "common.customFieldLabel.noSectionsForObject": "This object does not have custom field sections.",
  "common.customFieldLabel.object": "Object",
  "common.customFieldLabel.objectRequired": "Select an object.",
  "common.customFieldLabel.optionDataRequired": "Add at least one option with a label and value.",
  "common.customFieldLabel.optionLabel": "Label",
  "common.customFieldLabel.optionNumber": "Option :number",
  "common.customFieldLabel.optionValue": "Value",
  "common.customFieldLabel.optionValues": "Option Values",
  "common.customFieldLabel.optionValuesHint": "Define the labels and stored values shown by list, checkbox, and radio fields. Drag options to reorder them.",
  "common.customFieldLabel.options": "Options",
  "common.customFieldLabel.optionsEmpty": "No options have been added yet.",
  "common.customFieldLabel.pageTitle": "Custom Fields",
  "common.customFieldLabel.pasteOptions": "Paste Options",
  "common.customFieldLabel.pasteOptionsEmpty": "Paste at least one option before importing.",
  "common.customFieldLabel.pasteOptionsHint": "Use one option per line. Use Label|Value when the stored value should be different from the label.",
  "common.customFieldLabel.profile": "Profile",
  "common.customFieldLabel.properties": "Properties",
  "common.customFieldLabel.published": "Published",
  "common.customFieldLabel.recordsWithValue": "Records with value",
  "common.customFieldLabel.applicationUsageBuilderOnly": "Used on :count builder field(s), not linked to a published application.",
  "common.customFieldLabel.applicationUsageOpenApplication": "Open application",
  "common.customFieldLabel.applicationUsagePanelDescription": "Application forms that include this custom field in the builder.",
  "common.customFieldLabel.applicationUsageSummary": "Used on :application_count application(s) (:field_count form field(s)).",
  "common.customFieldLabel.applicationUsageYesBuilder": "Yes (:count form field(s))",
  "common.customFieldLabel.applicationUsageYesCount": "Yes (:count)",
  "common.customFieldLabel.notUsedOnApplications": "Not used on applications",
  "common.customFieldLabel.usedOnApplications": "Used on applications",
  "common.customFieldLabel.required": "Required",
  "common.customFieldLabel.searchCustomFields": "Search custom fields by name or slug",
  "common.customFieldLabel.section": "Section",
  "common.customFieldLabel.sectionRequired": "Select a section.",
  "common.customFieldLabel.selectField": "Select Field",
  "common.customFieldLabel.selectObject": "Select Object",
  "common.customFieldLabel.selectSection": "Select Section",
  "common.customFieldLabel.selectType": "Select Type",
  "common.customFieldLabel.selectUsers": "Select Users",
  "common.customFieldLabel.showInApplications": "Show in Applications",
  "common.customFieldLabel.showInProfile": "Show in Profile",
  "common.customFieldLabel.slug": "Slug",
  "common.customFieldLabel.slugRequired": "Enter an alias.",
  "common.customFieldLabel.stepAnnouncement": ":step, step :current of :total.",
  "common.customFieldLabel.stepData": "Data",
  "common.customFieldLabel.stepDataHint": "Choose the field type and configure default or option values.",
  "common.customFieldLabel.stepInformation": "Custom Field Information",
  "common.customFieldLabel.stepInformationHint": "Name the field and choose where it appears.",
  "common.customFieldLabel.stepIntegrations": "Integrations",
  "common.customFieldLabel.stepIntegrationsHint": "Map this field to active third-party integrations.",
  "common.customFieldLabel.stepPrivacy": "Privacy",
  "common.customFieldLabel.stepPrivacyHint": "Restrict visibility to specific users when needed.",
  "common.customFieldLabel.stepProgress": "Step :current of :total",
  "common.customFieldLabel.synchronized": "Synchronized",
  "common.customFieldLabel.synchronizedHint": "Automatically synchronize the value with :integration.",
  "common.customFieldLabel.token": "Token",
  "common.customFieldLabel.tokenCopied": "Token copied.",
  "common.customFieldLabel.type": "Type",
  "common.customFieldLabel.uniqueIdentifier": "Is Unique Identifier",
  "common.customFieldLabel.updateCustomField": "Update Custom Field",
  "common.customFieldLabel.updateFailed": "Unable to update the custom field.",
  "common.customFieldLabel.updatedAt": "Updated",
  "common.customFieldLabel.updatedSuccessfully": "Custom field updated successfully.",
  "common.customFieldLabel.usedInternally": "Used Internally",
  "common.customFieldLabel.usedInternallyHint": "If enabled, this custom field is used by the system and cannot be deleted.",
  "common.customFieldLabel.wizardFooterAria": "Custom field wizard actions",
  "common.customFieldLabel.wizardNavigation": "Custom field wizard steps",
  "common.customFieldLabel.yes": "Yes",
  "common.dashboardLabel.activitiesGridCall": "Call",
  "common.dashboardLabel.activitiesGridEmail": "Email",
  "common.dashboardLabel.activitiesGridMeetings": "Meetings",
  "common.dashboardLabel.activitiesGridOwner": "Owner",
  "common.dashboardLabel.activitiesGridResultLabel": "owners",
  "common.dashboardLabel.activitiesGridSms": "SMS",
  "common.dashboardLabel.activitiesGridTotal": "Total",
  "common.dashboardLabel.activityDate": "Activity date",
  "common.dashboardLabel.addReportToDashboard": "Add to dashboard",
  "common.dashboardLabel.selectDashboard": "Select dashboard",
  "common.dashboardLabel.selectDashboardDescription": "Choose the personal or team dashboard where this report widget should be added.",
  "common.dashboardLabel.addSelectedWidget": "Add widget",
  "common.dashboardLabel.addWidget": "Add widget",
  "common.dashboardLabel.addWidgetShort": "Add",
  "common.dashboardLabel.addingWidget": "Adding...",
  "common.dashboardLabel.agingReceivables1To30": "1?30 days",
  "common.dashboardLabel.agingReceivables31To60": "31?60 days",
  "common.dashboardLabel.agingReceivables61To90": "61?90 days",
  "common.dashboardLabel.agingReceivables90Plus": "90+ days",
  "common.dashboardLabel.agingReceivablesAmount": "Outstanding",
  "common.dashboardLabel.agingReceivablesBucketColumn": "Aging bucket",
  "common.dashboardLabel.agingReceivablesCurrent": "Current",
  "common.dashboardLabel.agingReceivablesInvoiceCount": "Invoices",
  "common.dashboardLabel.arrivalDate": "Arrival date",
  "common.dashboardLabel.availableCustomFilters": "Available custom filters",
  "common.dashboardLabel.cacheCleared": "Widget cache cleared.",
  "common.dashboardLabel.cancel": "Cancel",
  "common.dashboardLabel.cancelLayoutChanges": "Cancel changes",
  "common.dashboardLabel.chartType": "Chart type",
  "common.dashboardLabel.chartTypeBar": "Bar chart",
  "common.dashboardLabel.chartTypePie": "Pie chart",
  "common.dashboardLabel.chooseReportFirst": "Choose a report from the library.",
  "common.dashboardLabel.clearFilters": "Clear filters",
  "common.dashboardLabel.clearLibraryFilters": "Clear filters",
  "common.dashboardLabel.cloneDashboard": "Clone dashboard",
  "common.dashboardLabel.exportDefinition": "Export Definition",
  "common.dashboardLabel.bulkExportDashboards": "Export Dashboards",
  "common.dashboardLabel.bulkExportDescription": "Choose one or more dashboards to download as a definition JSON package.",
  "common.dashboardLabel.bulkExportSubmit": "Export Selected",
  "common.dashboardLabel.bulkExportNoneSelected": "Select at least one dashboard to export.",
  "common.dashboardLabel.bulkExportSuccess": "Exported :count dashboard definition(s).",
  "common.dashboardLabel.bulkExportFailed": "Unable to export the selected dashboard definitions.",
  "common.dashboardLabel.exportingDashboards": "Exporting...",
  "common.dashboardLabel.importDashboards": "Import Dashboards",
  "common.dashboardLabel.importDescription": "Upload a dashboard definition JSON file exported from HEM-SP. Linked reports are matched by template key or name, or created when you can create reports.",
  "common.dashboardLabel.importFileLabel": "Definition file (.json)",
  "common.dashboardLabel.importFileRequired": "Choose a dashboard definition JSON file to import.",
  "common.dashboardLabel.importInvalidJson": "The uploaded file is not valid dashboard definition JSON.",
  "common.dashboardLabel.importUnsupportedFormat": "This file uses an unsupported dashboard definition format.",
  "common.dashboardLabel.importUnsupportedVersion": "This dashboard definition version is not supported.",
  "common.dashboardLabel.importNoDashboards": "No dashboard definitions were found in the uploaded file.",
  "common.dashboardLabel.importTooMany": "You can import at most :max dashboards at once.",
  "common.dashboardLabel.importInvalidDashboard": "Dashboard #:number in the file is missing a required name.",
  "common.dashboardLabel.importInvalidWidget": "Dashboard #:dashboard widget #:widget is missing a report definition.",
  "common.dashboardLabel.importSuccess": "Imported :count dashboard(s) successfully.",
  "common.dashboardLabel.importFailed": "Unable to import dashboard definitions.",
  "common.dashboardLabel.importingDashboards": "Importing...",
  "common.dashboardLabel.importDashboardsSubmit": "Import Dashboards",
  "common.dashboardLabel.importCancel": "Cancel",
  "common.dashboardLabel.importTargetTeamOptional": "Import to staff team (optional)",
  "common.dashboardLabel.importAsPersonal": "Personal dashboard",
  "common.dashboardLabel.selectAllDashboards": "Select all",
  "common.dashboardLabel.noDashboardsToExport": "No dashboards are available to export.",
  "common.dashboardLabel.untitledWidget": "Untitled widget",
  "common.reportLabel.importReportCreateDenied": "Report #:number could not be matched and you do not have permission to create reports.",
  "common.dashboardLabel.cloneToTeamDashboard": "Clone to team dashboard",
  "common.dashboardLabel.closeDialog": "Close dialog",
  "common.dashboardLabel.configureDate": "Configure date",
  "common.dashboardLabel.configureDateDescription": "Override the dashboard date range and date field for this widget.",
  "common.dashboardLabel.configureWidget": "Configure widget",
  "common.dashboardLabel.configureWidgetDescription": "Choose how much space this widget uses and optionally override the dashboard date filters.",
  "common.dashboardLabel.createDashboard": "Create dashboard",
  "common.dashboardLabel.createPersonalDashboard": "Create personal dashboard",
  "common.dashboardLabel.createTeamDashboard": "Create team dashboard",
  "common.dashboardLabel.createdDate": "Creation Date",
  "common.dashboardLabel.customDate": "Custom date",
  "common.dashboardLabel.customDateAvailable": "Custom date available",
  "common.dashboardLabel.customDateRange": "Custom date range",
  "common.dashboardLabel.customDateRangeBadge": "Custom range",
  "common.dashboardLabel.customize": "Customize",
  "common.dashboardLabel.customizeDashboardDescription": "Select widgets to add to your dashboard",
  "common.dashboardLabel.customizeDashboardTitle": "Customize Dashboard",
  "common.dashboardLabel.customizeModeHint": "Drag widgets to reorder or resize. Changes save automatically.",
  "common.dashboardLabel.customizingDashboard": "Customizing dashboard",
  "common.dashboardLabel.dashboard": "Dashboard",
  "common.dashboardLabel.dashboardActions": "Dashboard actions",
  "common.dashboardLabel.dashboardCloneFailed": "Unable to clone the dashboard.",
  "common.dashboardLabel.dashboardClonedToTeam": "Dashboard cloned to the selected team.",
  "common.dashboardLabel.dashboardCreateFailed": "Unable to create the dashboard.",
  "common.dashboardLabel.dashboardCreated": "Dashboard created.",
  "common.dashboardLabel.dashboardDate": "Dashboard date",
  "common.dashboardLabel.dashboardDeleteFailed": "Unable to delete the dashboard.",
  "common.dashboardLabel.dashboardDeleted": "Dashboard deleted.",
  "common.dashboardLabel.dashboardName": "Dashboard name",
  "common.dashboardLabel.dashboardNameRequired": "Dashboard name is required.",
  "common.dashboardLabel.dashboardRenameFailed": "Unable to rename the dashboard.",
  "common.dashboardLabel.dashboardRenamed": "Dashboard renamed.",
  "common.dashboardLabel.dataSourceAccommodations": "Accommodations",
  "common.dashboardLabel.dataSourceActivities": "Activities",
  "common.dashboardLabel.dataSourceAgencies": "Agencies",
  "common.dashboardLabel.dataSourceAgents": "Agents",
  "common.dashboardLabel.dataSourceApplications": "Applications",
  "common.dashboardLabel.dataSourceSubmissions": "Submissions",
  "common.dashboardLabel.dataSourceAttendances": "Attendances",
  "common.dashboardLabel.dataSourceContacts": "Contacts",
  "common.dashboardLabel.dataSourceGroupBookings": "Group Bookings",
  "common.dashboardLabel.dataSourceInvoices": "Invoices",
  "common.dashboardLabel.dataSourceLessons": "Lessons",
  "common.dashboardLabel.dataSourceOther": "Other",
  "common.dashboardLabel.dataSourcePayments": "Payments",
  "common.dashboardLabel.dataSourceStudents": "Students",
  "common.dashboardLabel.dataSourceTasks": "Tasks",
  "common.dashboardLabel.dataSourceTransactions": "Transactions",
  "common.dashboardLabel.date": "Date",
  "common.dashboardLabel.dateField": "Date field",
  "common.dashboardLabel.dateFieldActivity": "Activity date",
  "common.dashboardLabel.dateFieldActivityCreation": "Activity creation date",
  "common.dashboardLabel.dateFieldConfirmed": "Confirmed date",
  "common.dashboardLabel.dateFieldContactCreated": "Contact creation date",
  "common.dashboardLabel.dateFieldContactsCreation": "Contacts creation date",
  "common.dashboardLabel.dateFieldCreatedAt": "Creation Date",
  "common.dashboardLabel.dateFieldCreation": "Creation Date",
  "common.dashboardLabel.dateFieldEnrolled": "Enrolled date",
  "common.dashboardLabel.dateFieldGraduated": "Graduated date",
  "common.dashboardLabel.dateFieldScheduledAt": "Meeting scheduled date",
  "common.dashboardLabel.dateFieldStarted": "Started date",
  "common.dashboardLabel.dateFilter": "Date filter",
  "common.dashboardLabel.dateFilterInherited": "Dashboard filter",
  "common.dashboardLabel.dateFilterNotApplied": "Date filter not applied",
  "common.dashboardLabel.dateFilterNotAppliedHelp": "This widget currently shows all-time data because its report source does not support dashboard date filtering.",
  "common.dashboardLabel.dateFilterNotAppliedTooltip.agencies": "Agency performance reports show all-time data and ignore the dashboard date filter.",
  "common.dashboardLabel.dateFilterNotAppliedTooltip.agents": "Agent performance reports show all-time data and ignore the dashboard date filter.",
  "common.dashboardLabel.dateFilterNotAppliedTooltip.attendances": "Attendance summary reports ignore the dashboard date filter.",
  "common.dashboardLabel.dateFilterNotAppliedTooltip.default": "This report does not use the dashboard date filter.",
  "common.dashboardLabel.dateFilterOverridden": "Widget override",
  "common.dashboardLabel.datePreset": "Date preset",
  "common.dashboardLabel.datePreset.custom": "Custom range",
  "common.dashboardLabel.datePreset.last_30_days": "Last 30 days",
  "common.dashboardLabel.datePreset.last_7_days": "Last 7 days",
  "common.dashboardLabel.datePreset.last_90_days": "Last 90 days",
  "common.dashboardLabel.datePreset.last_month": "Last month",
  "common.dashboardLabel.datePreset.this_month": "This month",
  "common.dashboardLabel.datePreset.this_year": "This year",
  "common.dashboardLabel.dateRange": "Date range",
  "common.dashboardLabel.dateRangePlaceholder": "Select date range",
  "common.dashboardLabel.defaultDashboardName": "My Dashboard",
  "common.dashboardLabel.deleteDashboard": "Delete dashboard",
  "common.dashboardLabel.deleteDashboardConfirm": "Delete dashboard",
  "common.dashboardLabel.deleteDashboardConfirmDescription": "This removes the dashboard and its widgets. Reports are not deleted.",
  "common.dashboardLabel.deleteDashboardConfirmTitle": "Delete dashboard?",
  "common.dashboardLabel.departureDate": "Departure date",
  "common.dashboardLabel.documentDate": "Document date",
  "common.dashboardLabel.done": "Done",
  "common.dashboardLabel.drag": "Drag",
  "common.dashboardLabel.dragWidget": "Drag widget",
  "common.dashboardLabel.drilldownDefaultLabel": "Selected records",
  "common.dashboardLabel.drilldownDescription": "View the records behind this selection from :name.",
  "common.dashboardLabel.drilldownLoading": "Preparing selected records...",
  "common.dashboardLabel.drilldownOpenReport": "Open report table",
  "common.dashboardLabel.drilldownRecordCount": "Count",
  "common.dashboardLabel.drilldownRecords": ":count records",
  "common.dashboardLabel.drilldownSelectedLabel": "Selection",
  "common.dashboardLabel.drilldownStoreFailed": "Unable to load the selected records.",
  "common.dashboardLabel.drilldownTitle": "Selected records",
  "common.dashboardLabel.dueDate": "Due date",
  "common.dashboardLabel.editLayout": "Edit layout",
  "common.dashboardLabel.editWidget": "Edit widget",
  "common.dashboardLabel.editWidgetDescription": "Rename the widget or choose another report for this dashboard card.",
  "common.dashboardLabel.emptyChartDescription": "This widget has no chart data for the selected date range.",
  "common.dashboardLabel.emptyChartTitle": "No chart data",
  "common.dashboardLabel.emptyDashboardAction": "Add widgets",
  "common.dashboardLabel.emptyDashboardDescription": "Add a widget to start building this dashboard.",
  "common.dashboardLabel.emptyDashboardTitle": "No widgets yet",
  "common.dashboardLabel.emptyGridDescription": "This widget has no records for the current filters.",
  "common.dashboardLabel.emptyGridTitle": "No report records",
  "common.dashboardLabel.emptyWidgetLibraryDescription": "Create an active report in a permitted module before adding dashboard widgets.",
  "common.dashboardLabel.emptyWidgetLibraryTitle": "No reports available",
  "common.dashboardLabel.enrolledDate": "Enrolled date",
  "common.dashboardLabel.enrolledStudentsMonthColumn": "Month",
  "common.dashboardLabel.enrolledStudentsUnknownProgram": "Unknown program",
  "common.dashboardLabel.expandSection": "Expand section",
  "common.dashboardLabel.filterAccommodationType": "Accommodation type",
  "common.dashboardLabel.filterActivityType": "Activity type",
  "common.dashboardLabel.filterAgency": "Agency",
  "common.dashboardLabel.filterAgent": "Agent",
  "common.dashboardLabel.filterAmountRange": "Amount range",
  "common.dashboardLabel.filterApplicationForm": "Application form",
  "common.dashboardLabel.filterAssignedUser": "Assigned user",
  "common.dashboardLabel.filterCampus": "Campus",
  "common.dashboardLabel.filterCity": "City",
  "common.dashboardLabel.filterClassroom": "Classroom",
  "common.dashboardLabel.filterCountry": "Country",
  "common.dashboardLabel.filterDueStatus": "Due status",
  "common.dashboardLabel.filterInstructor": "Instructor",
  "common.dashboardLabel.filterOwner": "Owner",
  "common.dashboardLabel.filterPaidStatus": "Paid status",
  "common.dashboardLabel.filterPayerType": "Payer type",
  "common.dashboardLabel.filterPaymentGateway": "Payment gateway",
  "common.dashboardLabel.filterPaymentMethod": "Payment method",
  "common.dashboardLabel.filterPriority": "Priority",
  "common.dashboardLabel.filterProgram": "Program",
  "common.dashboardLabel.filterSource": "Source",
  "common.dashboardLabel.filterStage": "Stage",
  "common.dashboardLabel.filterStalledThresholdDays": "Stalled threshold days",
  "common.dashboardLabel.filterStatus": "Status",
  "common.dashboardLabel.filterTransactionType": "Transaction type",
  "common.dashboardLabel.filteredBy": "Filtered by",
  "common.dashboardLabel.filters": "Filters",
  "common.dashboardLabel.fixedDate": "Fixed date",
  "common.dashboardLabel.height": "Height",
  "common.dashboardLabel.heightAbbr": "H",
  "common.dashboardLabel.heightHelp": "How tall the widget appears on the dashboard.",
  "common.dashboardLabel.heightLG": "Tall",
  "common.dashboardLabel.heightLGHint": "Extra room for charts and data tables",
  "common.dashboardLabel.heightLGShort": "L",
  "common.dashboardLabel.heightMD": "Standard",
  "common.dashboardLabel.heightMDHint": "Default height for most widgets",
  "common.dashboardLabel.heightMDShort": "M",
  "common.dashboardLabel.heightSM": "Compact",
  "common.dashboardLabel.heightSMHint": "Best for KPI tiles and short summaries",
  "common.dashboardLabel.heightSMShort": "S",
  "common.dashboardLabel.inheritDashboardDate": "Use dashboard date field",
  "common.dashboardLabel.invoiceStatusMonthColumn": "Month",
  "common.dashboardLabel.invoiceStatusPaid": "Paid",
  "common.dashboardLabel.invoiceStatusUnpaid": "Unpaid",
  "common.dashboardLabel.kpiBadgeActive": "Active",
  "common.dashboardLabel.kpiBadgeClear": "Clear",
  "common.dashboardLabel.kpiDateRangeOverride": "Custom range: :range",
  "common.dashboardLabel.kpiDescAccommodationsOccupancy": "Confirmed accommodation bookings for the selected period",
  "common.dashboardLabel.kpiDescAdmissionsActivitiesOutreach": "Email, SMS, and call outreach in the selected period",
  "common.dashboardLabel.kpiDescAdmissionsActivityReport": "Meetings held in the selected period",
  "common.dashboardLabel.kpiDescApplicationsToday": "Applications submitted today",
  "common.dashboardLabel.kpiDescAttendanceSummary": "Attendance records for the selected period",
  "common.dashboardLabel.kpiDescBookingsSummary": "Group booking records for the selected period",
  "common.dashboardLabel.kpiDescFinanceAgingReceivables": "Outstanding balance by days past due",
  "common.dashboardLabel.kpiDescFinanceDailyRevenue": "Payment amounts collected in the selected period",
  "common.dashboardLabel.kpiDescFinanceInvoiceStatusMonthly": "Invoice count grouped by status",
  "common.dashboardLabel.kpiDescFinanceInvoiced": "Total invoiced / All invoices this period",
  "common.dashboardLabel.kpiDescFinanceOutstanding": "Unpaid invoice transactions in the selected period",
  "common.dashboardLabel.kpiDescGeneralApplications": "Application submissions for the selected period",
  "common.dashboardLabel.kpiDescGeneralAttendance": "Scheduled today / Attendance records for the period",
  "common.dashboardLabel.kpiDescGeneralContacts": "Contacts created in the selected period",
  "common.dashboardLabel.kpiDescGeneralEnrolled": "Enrolled students by month and program",
  "common.dashboardLabel.kpiDescGeneralInvoices": "Invoice records created in the selected period",
  "common.dashboardLabel.kpiDescGeneralPayments": "Payment records created in the selected period",
  "common.dashboardLabel.kpiDescGeneralStarted": "Selected-period leads that started their program",
  "common.dashboardLabel.kpiDescLessonsToday": "Lessons scheduled for today",
  "common.dashboardLabel.kpiDescTasksUrgent": "Tasks requiring follow-up in the selected period",
  "common.dashboardLabel.kpiValue": "Value",
  "common.dashboardLabel.layoutAutoSaved": "Layout saved",
  "common.dashboardLabel.layoutReset": "Dashboard layout reset to the default preset.",
  "common.dashboardLabel.layoutSaveFailed": "Could not save the dashboard layout.",
  "common.dashboardLabel.layoutSaved": "Dashboard layout saved.",
  "common.dashboardLabel.leadConversionFilterContext": ":tab ? Stalled after :days days",
  "common.dashboardLabel.leadConversionPercentFromNew": "% of Total Leads",
  "common.dashboardLabel.leadConversionPercentFromPrev": "% of Previous Stage",
  "common.dashboardLabel.leadConversionPercentFromTotal": "% of All",
  "common.dashboardLabel.leadConversionStalledThreshold": "Stalled threshold (days)",
  "common.dashboardLabel.leadConversionTab.conversion-funnel": "Conversion funnel",
  "common.dashboardLabel.leadConversionTab.current-pipeline": "Current pipeline",
  "common.dashboardLabel.leadConversionTab.follow-up-queue": "Follow-up queue",
  "common.dashboardLabel.leadConversionTabConversionFunnel": "Conversion Funnel",
  "common.dashboardLabel.leadConversionTabCurrentPipeline": "Current Pipeline",
  "common.dashboardLabel.leadConversionTabFollowUpQueue": "Follow-Up Queue",
  "common.dashboardLabel.leadConversionTotalLeads": "Total Leads",
  "common.dashboardLabel.legacyWidgetLibraryRetired": "The old widget library has been retired. Use Add widget from the dashboard customization screen.",
  "common.dashboardLabel.lessonDate": "Lesson date",
  "common.dashboardLabel.libraryCategoryAll": "All",
  "common.dashboardLabel.libraryCategoryFilters": "Category",
  "common.dashboardLabel.libraryCategoryUncategorized": "Uncategorized",
  "common.dashboardLabel.libraryDataSourceFilters": "Data source",
  "common.dashboardLabel.loadingReports": "Loading reports...",
  "common.dashboardLabel.loadingWidgetGrid": "Loading table?",
  "common.dashboardLabel.loadingWidgetLibrary": "Loading widget library?",
  "common.dashboardLabel.moduleAccommodations": "Accommodations",
  "common.dashboardLabel.moduleActivities": "Activities",
  "common.dashboardLabel.moduleAdmissions": "Admissions",
  "common.dashboardLabel.moduleAgencies": "Agencies",
  "common.dashboardLabel.moduleAgents": "Agents",
  "common.dashboardLabel.moduleAttendance": "Attendance",
  "common.dashboardLabel.moduleBookings": "Bookings",
  "common.dashboardLabel.moduleFinance": "Finance",
  "common.dashboardLabel.moduleOther": "Other",
  "common.dashboardLabel.moduleStudents": "Students",
  "common.dashboardLabel.moduleTasks": "Tasks",
  "common.dashboardLabel.multiKpiCardAdmissionsActivities": "Admissions activities",
  "common.dashboardLabel.multiKpiCardAdmissionsActivityReport": "Admissions Activity Report",
  "common.dashboardLabel.newPersonalDashboardName": "New personal dashboard",
  "common.dashboardLabel.newTeamDashboardName": "New team dashboard",
  "common.dashboardLabel.noDashboards": "No dashboards",
  "common.dashboardLabel.noReportsInModule": "No reports are available for this module.",
  "common.dashboardLabel.noRoleForDefault": "No role is assigned to save a role default.",
  "common.dashboardLabel.noWidgetsMatchSearch": "No widgets match your search.",
  "common.dashboardLabel.pageTitle": "Dashboard",
  "common.dashboardLabel.paymentDate": "Payment date",
  "common.dashboardLabel.paymentsCollectedAmount": "Collected",
  "common.dashboardLabel.paymentsCollectedMonthColumn": "Month",
  "common.dashboardLabel.paymentsCollectedPaymentCount": "Payments",
  "common.dashboardLabel.personalDashboard": "Personal dashboard",
  "common.dashboardLabel.pivotView": "Pivot view",
  "common.dashboardLabel.pivotViewStackedBar": "Stacked bar",
  "common.dashboardLabel.pivotViewTable": "Table",
  "common.dashboardLabel.postingDate": "Posting date",
  "common.dashboardLabel.recommended": "Recommended",
  "common.dashboardLabel.refreshAll": "Refresh all",
  "common.dashboardLabel.refreshWidget": "Refresh widget",
  "common.dashboardLabel.refreshingAll": "Refreshing...",
  "common.dashboardLabel.refreshingWidget": "Refreshing widget...",
  "common.dashboardLabel.removeWidget": "Remove",
  "common.dashboardLabel.removeWidgetConfirmDescription": "This removes the widget from this dashboard. The source report is not deleted.",
  "common.dashboardLabel.removeWidgetConfirmTitle": "Remove widget?",
  "common.dashboardLabel.removingWidget": "Removing...",
  "common.dashboardLabel.renameDashboard": "Rename dashboard",
  "common.dashboardLabel.renameDashboardDescription": "Update the dashboard name shown in the selector and page toolbar.",
  "common.dashboardLabel.reorderingWidgets": "Saving order...",
  "common.dashboardLabel.reportOptionsLoadFailed": "Unable to load available reports.",
  "common.dashboardLabel.reportPage.reports_admissions": "Admissions reports",
  "common.dashboardLabel.reportPage.reports_agents": "Agent reports",
  "common.dashboardLabel.reportPage.reports_attendance": "Attendance reports",
  "common.dashboardLabel.reportPage.reports_finance": "Finance reports",
  "common.dashboardLabel.resetAllWidgetDateFilters": "Reset widget date filters",
  "common.dashboardLabel.resetAllWidgetDateFiltersConfirm": "Reset filters",
  "common.dashboardLabel.resetAllWidgetDateFiltersDescription": "This clears custom date ranges and date fields on every widget so they inherit the dashboard filter again.",
  "common.dashboardLabel.resetAllWidgetDateFiltersTitle": "Reset all widget date filters?",
  "common.dashboardLabel.resetLayout": "Reset layout",
  "common.dashboardLabel.resetLayoutConfirm": "Reset layout",
  "common.dashboardLabel.resetLayoutDescription": "This removes all widgets from this dashboard and restores the default layout. Any custom widget arrangement will be lost.",
  "common.dashboardLabel.resetLayoutTitle": "Reset dashboard layout?",
  "common.dashboardLabel.roleDefaultSaved": "Role default dashboard saved.",
  "common.dashboardLabel.saveDashboardName": "Save name",
  "common.dashboardLabel.saveDateOverride": "Save date override",
  "common.dashboardLabel.saveLayout": "Save layout",
  "common.dashboardLabel.saveLayoutAndFinish": "Save and finish",
  "common.dashboardLabel.saveRoleDefault": "Save as role default",
  "common.dashboardLabel.saveWidgetSettings": "Save widget settings",
  "common.dashboardLabel.saving": "Saving...",
  "common.dashboardLabel.savingLayout": "Saving layout?",
  "common.dashboardLabel.searchWidgets": "Search",
  "common.dashboardLabel.sectionAccommodationsDescription": "Accommodation booking status and occupancy",
  "common.dashboardLabel.sectionAccommodationsTitle": "Accommodations",
  "common.dashboardLabel.sectionActivitiesDescription": "Admissions outreach and activity metrics",
  "common.dashboardLabel.sectionActivitiesTitle": "Activities",
  "common.dashboardLabel.sectionAdmissionsDescription": "Application funnel and lead conversion metrics",
  "common.dashboardLabel.sectionAdmissionsTitle": "Admissions",
  "common.dashboardLabel.sectionAgentsDescription": "Agent and agency performance metrics",
  "common.dashboardLabel.sectionAgentsTitle": "Agents & Agencies",
  "common.dashboardLabel.sectionAttendanceDescription": "Attendance trends and status breakdowns",
  "common.dashboardLabel.sectionAttendanceTitle": "Attendance",
  "common.dashboardLabel.sectionBookingsDescription": "Booking volume and revenue performance",
  "common.dashboardLabel.sectionBookingsTitle": "Group Bookings",
  "common.dashboardLabel.sectionCatalogDescription": "Program mix and enrollment trends",
  "common.dashboardLabel.sectionCatalogTitle": "Programs & Enrollment",
  "common.dashboardLabel.sectionFinanceDescription": "Overview of invoices, payments, pending invoices, and outstanding amounts",
  "common.dashboardLabel.sectionFinanceTitle": "Finance Status Summary",
  "common.dashboardLabel.sectionGeneralDescription": "Overview of key statistics",
  "common.dashboardLabel.sectionGeneralTitle": "General Statistics",
  "common.dashboardLabel.sectionOtherDescription": "Additional dashboard widgets",
  "common.dashboardLabel.sectionOtherTitle": "Other Reports",
  "common.dashboardLabel.sectionSettings": "Section settings",
  "common.dashboardLabel.sectionTasksDescription": "Open tasks and priority workload",
  "common.dashboardLabel.sectionTasksTitle": "Tasks",
  "common.dashboardLabel.selectReport": "Select report",
  "common.dashboardLabel.selectReportAria": "Select :name",
  "common.dashboardLabel.selectStaffTeam": "Staff team",
  "common.dashboardLabel.selectStaffTeamHelp": "Choose the team that will own and share this dashboard.",
  "common.dashboardLabel.span": "Width",
  "common.dashboardLabel.staffTeamDashboard": "Team dashboard",
  "common.dashboardLabel.staffTeamRequired": "Select an active staff team.",
  "common.dashboardLabel.switchDashboard": "Switch dashboard",
  "common.dashboardLabel.teamBadge": "Team: :team",
  "common.dashboardLabel.templateAccommodationsByStatus": "Accommodation bookings by status",
  "common.dashboardLabel.templateAccommodationsOccupancyKpi": "Confirmed bookings",
  "common.dashboardLabel.templateActivitiesAdmissionsOverview": "Tasks & admissions activity",
  "common.dashboardLabel.templateActivitiesKpiOutreach": "Admissions activities",
  "common.dashboardLabel.templateActivitiesRecentUrgent": "Recent activities",
  "common.dashboardLabel.templateAdmissionsApplicationsOverTime": "Applications over time",
  "common.dashboardLabel.templateAdmissionsFunnel": "Enrollment funnel",
  "common.dashboardLabel.templateAdmissionsLeadConversion": "Lead conversion",
  "common.dashboardLabel.templateAgenciesPerformance": "Agency performance",
  "common.dashboardLabel.templateAgentsPerformance": "Agent performance",
  "common.dashboardLabel.templateApplicationsTodayQueue": "Applications today",
  "common.dashboardLabel.templateApplicationsPortalFunnel": "Portal application funnel",
  "common.dashboardLabel.portalFunnelInProgress": "In progress",
  "common.dashboardLabel.portalFunnelInProgressDesc": "Portal applicants with draft or account-created submissions pinned to a published form version.",
  "common.dashboardLabel.portalFunnelStale": "On older versions",
  "common.dashboardLabel.portalFunnelStaleDesc": "In-progress portal applicants pinned to a version older than the live published form.",
  "common.dashboardLabel.portalFunnelStarted": "Started",
  "common.dashboardLabel.portalFunnelStartedDesc": "Portal submissions created in the selected date range.",
  "common.dashboardLabel.portalFunnelSubmitted": "Submitted",
  "common.dashboardLabel.portalFunnelSubmittedDesc": "Portal submissions that reached a submitted status in the selected date range.",
  "common.dashboardLabel.portalFunnelCompletionRate": "Completion rate",
  "common.dashboardLabel.portalFunnelCompletionRateDesc": "Submitted divided by started portal submissions in the selected date range.",
  "common.dashboardLabel.templateAttendanceByInstructor": "Attendance by instructor",
  "common.dashboardLabel.templateAttendanceByProgram": "Attendance by program",
  "common.dashboardLabel.templateAttendanceKpiSummary": "Attendance KPI summary",
  "common.dashboardLabel.templateAttendanceOverTime": "Attendance over time",
  "common.dashboardLabel.templateAttendanceStatusDistribution": "Attendance status distribution",
  "common.dashboardLabel.templateBookingsKpiSummary": "Group bookings KPI",
  "common.dashboardLabel.templateBookingsPipelineGrid": "Group booking pipeline",
  "common.dashboardLabel.templateBookingsSoldOverTime": "Group bookings over time",
  "common.dashboardLabel.templateBookingsTopByRevenue": "Top bookings by revenue",
  "common.dashboardLabel.templateCatalogByCampus": "Students by campus",
  "common.dashboardLabel.templateCatalogByOwner": "Students by owner",
  "common.dashboardLabel.templateCatalogEnrollmentOverTime": "Enrollment over time",
  "common.dashboardLabel.templateCatalogProgramMix": "Program mix",
  "common.dashboardLabel.templateCatalogStageBreakdown": "Contact Type breakdown",
  "common.dashboardLabel.templateCatalogTopPrograms": "Top programs by enrollment",
  "common.dashboardLabel.templateFinanceAgingReceivables": "Aging receivables",
  "common.dashboardLabel.templateFinanceDailyRevenue": "Payments collected",
  "common.dashboardLabel.templateFinanceInvoiceStatusMonthly": "Invoice status by month",
  "common.dashboardLabel.templateFinanceKpiOutstanding": "Unpaid invoices",
  "common.dashboardLabel.templateFinanceOutstandingList": "Outstanding invoices",
  "common.dashboardLabel.templateFinanceOverviewKpis": "Finance overview",
  "common.dashboardLabel.templateFinancePaymentsByMethod": "Payments by method",
  "common.dashboardLabel.templateFinanceRecentPaymentsGrid": "Recent payments",
  "common.dashboardLabel.templateFinanceStatusSummary": "Finance status summary",
  "common.dashboardLabel.templateGeneralOverviewStudents": "Students overview",
  "common.dashboardLabel.templateGeneralStatsApplications": "Applications submitted",
  "common.dashboardLabel.templateGeneralStatsAttendance": "Attendance records",
  "common.dashboardLabel.templateGeneralStatsContacts": "New leads",
  "common.dashboardLabel.templateGeneralStatsEnrolled": "Enrolled students",
  "common.dashboardLabel.templateGeneralStatsInvoices": "Invoices issued",
  "common.dashboardLabel.templateGeneralStatsPayments": "Payments received",
  "common.dashboardLabel.templateGeneralStatsStarted": "Started students",
  "common.dashboardLabel.templateLessonsThisWeek": "Lessons this week",
  "common.dashboardLabel.templateLessonsTodayList": "Lessons today",
  "common.dashboardLabel.templateStudentsRepeatRate": "Student repeat rate",
  "common.dashboardLabel.templateTasksByPriority": "Tasks by priority",
  "common.dashboardLabel.templateTasksOverdueByAssignee": "Overdue tasks by assignee",
  "common.dashboardLabel.templateTasksUrgentList": "Urgent tasks",
  "common.dashboardLabel.templateManagementFinanceCollectionsMtd": "Collections this month",
  "common.dashboardLabel.templateManagementFinanceCollectionsYty": "Collections this year vs last year",
  "common.dashboardLabel.unsavedLayoutDescription": "Your widget order and sizes have changed. Save before leaving customize mode, or use Cancel changes to discard them.",
  "common.dashboardLabel.unsavedLayoutHint": "You have unsaved layout changes.",
  "common.dashboardLabel.unsavedLayoutTitle": "Save layout changes?",
  "common.dashboardLabel.unsupportedWidget": "This widget type is not supported.",
  "common.dashboardLabel.unsupportedWidgetDescription": "Try changing the visualization or contact your administrator.",
  "common.dashboardLabel.unsupportedWidgetTitle": "Unsupported widget",
  "common.dashboardLabel.useCustomDate": "Use custom date",
  "common.dashboardLabel.useDashboardDate": "Use dashboard date",
  "common.dashboardLabel.useDashboardFilter": "Use dashboard filter",
  "common.dashboardLabel.usesDashboardDate": "Uses dashboard date",
  "common.dashboardLabel.visualization": "Visualization",
  "common.dashboardLabel.vizChart": "Chart",
  "common.dashboardLabel.vizGrid": "Grid",
  "common.dashboardLabel.vizKpi": "KPI",
  "common.dashboardLabel.vizMultiKpi": "Summary cards",
  "common.dashboardLabel.widgetActions": "Widget actions",
  "common.dashboardLabel.widgetAddFailed": "Unable to add the widget.",
  "common.dashboardLabel.reportWidgetAlreadyAdded": "This report is already on your dashboard.",
  "common.dashboardLabel.widgetAdded": "Widget added.",
  "common.dashboardLabel.widgetCacheCleared": "Widget refreshed.",
  "common.dashboardLabel.widgetDateFiltersReset": "All widgets now use the dashboard date filter.",
  "common.dashboardLabel.widgetDesc.accommodations_by_status": "Accommodation booking status breakdown",
  "common.dashboardLabel.widgetDesc.accommodations_occupancy_kpi": "Confirmed accommodation bookings",
  "common.dashboardLabel.widgetDesc.activities_admissions_overview": "Urgent tasks requiring follow-up in the selected period",
  "common.dashboardLabel.widgetDesc.activities_kpi_outreach": "Email, SMS, and call outreach in the selected period",
  "common.dashboardLabel.widgetDesc.activities_recent_urgent": "Recent activities requiring attention",
  "common.dashboardLabel.widgetDesc.admissions_applications_over_time": "Application submission trends over time",
  "common.dashboardLabel.widgetDesc.admissions_funnel": "Track leads through application, confirmation, enrollment, and start",
  "common.dashboardLabel.widgetDesc.admissions_lead_conversion": "Lead conversion performance over time",
  "common.dashboardLabel.widgetDesc.agencies_performance": "Agency performance metrics",
  "common.dashboardLabel.widgetDesc.agents_performance": "Agent performance metrics",
  "common.dashboardLabel.widgetDesc.applications_today_queue": "Applications submitted today",
  "common.dashboardLabel.widgetDesc.applications_portal_funnel": "Portal applicant funnel health across published application forms ? in-progress cohort, stale versions, and completion in the selected period",
  "common.dashboardLabel.widgetDesc.attendance_by_instructor": "Attendance grouped by instructor",
  "common.dashboardLabel.widgetDesc.attendance_by_program": "Attendance grouped by program",
  "common.dashboardLabel.widgetDesc.attendance_kpi_summary": "Key performance indicators for attendance",
  "common.dashboardLabel.widgetDesc.attendance_over_time": "View attendance trends over time",
  "common.dashboardLabel.widgetDesc.attendance_status_distribution": "Distribution of attendance by status",
  "common.dashboardLabel.widgetDesc.bookings_kpi_summary": "Key performance indicators for group bookings",
  "common.dashboardLabel.widgetDesc.bookings_pipeline_grid": "Searchable group booking pipeline list",
  "common.dashboardLabel.widgetDesc.bookings_sold_over_time": "View booking trends over time",
  "common.dashboardLabel.widgetDesc.bookings_top_by_revenue": "Top bookings by revenue",
  "common.dashboardLabel.widgetDesc.catalog_by_campus": "Student distribution across campuses",
  "common.dashboardLabel.widgetDesc.catalog_by_owner": "Student distribution by admissions owner",
  "common.dashboardLabel.widgetDesc.catalog_enrollment_over_time": "Enrollment trends over time",
  "common.dashboardLabel.widgetDesc.catalog_program_mix": "See enrollment grouped by program",
  "common.dashboardLabel.widgetDesc.catalog_stage_breakdown": "Distribution of contacts by pipeline stage",
  "common.dashboardLabel.widgetDesc.catalog_top_programs": "Top programs by enrollment",
  "common.dashboardLabel.widgetDesc.finance_aging_receivables": "Outstanding receivables grouped by aging bucket",
  "common.dashboardLabel.widgetDesc.finance_daily_revenue": "Total payment amounts collected by month",
  "common.dashboardLabel.widgetDesc.finance_invoice_status_monthly": "Paid and unpaid invoice counts by month",
  "common.dashboardLabel.widgetDesc.finance_kpi_outstanding": "Unpaid invoice record count",
  "common.dashboardLabel.widgetDesc.finance_outstanding_list": "Unpaid invoices with an outstanding balance in the selected period",
  "common.dashboardLabel.widgetDesc.finance_overview_kpis": "Invoice, payment, and unpaid-invoice record counts in one summary row",
  "common.dashboardLabel.widgetDesc.finance_payments_by_method": "Payment volume grouped by payment method",
  "common.dashboardLabel.widgetDesc.finance_recent_payments_grid": "Searchable list of recent payments",
  "common.dashboardLabel.widgetDesc.finance_status_summary": "Summary of finance status for the period",
  "common.dashboardLabel.widgetDesc.general_overview_students": "Lead, application, enrollment, and started-student counts in one summary row",
  "common.dashboardLabel.widgetDesc.general_stats_applications": "Application submissions for the selected period",
  "common.dashboardLabel.widgetDesc.general_stats_attendance": "Attendance records for the selected period",
  "common.dashboardLabel.widgetDesc.general_stats_contacts": "Overview of total contacts in your database",
  "common.dashboardLabel.widgetDesc.general_stats_enrolled": "Students with contact lifecycle Enrolled by month and program",
  "common.dashboardLabel.widgetDesc.general_stats_invoices": "Invoice records for the selected period",
  "common.dashboardLabel.widgetDesc.general_stats_payments": "Payment records for the selected period",
  "common.dashboardLabel.widgetDesc.lessons_this_week": "Lesson schedule volume by date",
  "common.dashboardLabel.widgetDesc.lessons_today_list": "Lessons scheduled for today",
  "common.dashboardLabel.widgetDesc.tasks_by_priority": "Open tasks grouped by priority",
  "common.dashboardLabel.widgetDesc.tasks_overdue_by_assignee": "Overdue tasks grouped by assigned staff member",
  "common.dashboardLabel.widgetDesc.tasks_urgent_list": "Urgent tasks requiring follow-up",
  "common.dashboardLabel.widgetDesc.management_finance_collections_mtd": "Payment collections received in the current calendar month",
  "common.dashboardLabel.widgetDesc.management_finance_collections_yty": "Payment collections in the current calendar year compared with the prior year",
  "common.dashboardLabel.widgetDescFallback": "View :name on your dashboard",
  "common.dashboardLabel.widgetEffectiveDateInherited": "Filtered by: :field :range",
  "common.dashboardLabel.widgetEffectiveDateOverride": ":range ? :field ? Custom",
  "common.dashboardLabel.widgetGridPlaceholder": "Widget grid placeholder",
  "common.dashboardLabel.widgetGridRecordsResultLabel": "records",
  "common.dashboardLabel.widgetGridSearchPlaceholder": "Search",
  "common.dashboardLabel.widgetGridStudentsResultLabel": "students",
  "common.dashboardLabel.widgetLibraryClearFiltersHint": "Try a different category, data source, or clear your search.",
  "common.dashboardLabel.widgetLibraryDescription": "Choose a report, then set how it should appear on this dashboard.",
  "common.dashboardLabel.widgetLibraryResultCount": ":count widgets available",
  "common.dashboardLabel.widgetLibraryTitle": "Add widget",
  "common.dashboardLabel.widgetName": "Widget name",
  "common.dashboardLabel.widgetOrderUpdateFailed": "Unable to update widget order.",
  "common.dashboardLabel.widgetOrderUpdated": "Widget order updated.",
  "common.dashboardLabel.widgetRemoveFailed": "Unable to remove the widget.",
  "common.dashboardLabel.widgetRemoved": "Widget removed.",
  "common.dashboardLabel.widgetUpdateFailed": "Unable to update the widget.",
  "common.dashboardLabel.widgetUpdated": "Widget updated.",
  "common.dashboardLabel.width": "Width",
  "common.dashboardLabel.widthAbbr": "W",
  "common.dashboardLabel.widthFull": "Full width",
  "common.dashboardLabel.widthFullDisabledReason": "KPI tiles stay compact and cannot use full width.",
  "common.dashboardLabel.widthFullHint": "Uses the entire row ? 100%",
  "common.dashboardLabel.widthFullShort": "Full",
  "common.dashboardLabel.widthHalf": "Half row",
  "common.dashboardLabel.widthHalfHint": "Half the dashboard row ? 50%",
  "common.dashboardLabel.widthHalfShort": "1/2",
  "common.dashboardLabel.widthHelp": "How much horizontal space this widget uses on the dashboard row.",
  "common.dashboardLabel.widthQuarter": "Quarter row",
  "common.dashboardLabel.widthQuarterHint": "One column ? 25% of the row",
  "common.dashboardLabel.widthQuarterShort": "1/4",
  "common.dashboardLabel.widthThreeQuarter": "Three-quarter row",
  "common.dashboardLabel.widthThreeQuarterHint": "Three columns ? 75% of the row",
  "common.dashboardLabel.widthThreeQuarterShort": "3/4",
  "common.dateRangeLabel.title": "Date range",
  "common.dateRangePicker.group.calendar": "Calendar periods",
  "common.dateRangePicker.group.rolling": "Rolling windows",
  "common.dateRangePicker.group.singleDay": "Single day",
  "common.dateRangePicker.predefinedRanges": "Predefined ranges",
  "common.dateRangePicker.preset.last_week": "Last week",
  "common.dateRangePicker.preset.this_week": "This week",
  "common.dateRangePicker.preset.today": "Today",
  "common.dateRangePicker.preset.yesterday": "Yesterday",
  "common.designSystemLabel.actionsDropdown": "ActionsDropdown triggers",
  "common.designSystemLabel.actionsDropdownDescription": "Pass button-class for primary page-header menus. Omit it for neutral grid toolbar and bulk-action menus.",
  "common.designSystemLabel.actionsDropdownHeaderTrigger": "Header actions (primary)",
  "common.designSystemLabel.actionsDropdownToolbarTrigger": "Toolbar / bulk actions (default)",
  "common.designSystemLabel.aiTextAssist": "AI text assist",
  "common.designSystemLabel.aiTextAssistDescription": "Reusable sparkle trigger for Input and Textarea fields with generate, improve, and rewrite actions.",
  "common.designSystemLabel.buttons": "Buttons",
  "common.designSystemLabel.buttonsDescription": "Primary page actions and template card CTAs.",
  "common.designSystemLabel.collapseNavigation": "Collapse navigation",
  "common.designSystemLabel.complexityBanners": "Complexity banners",
  "common.designSystemLabel.demoActionBulk": "Delete selected (demo)",
  "common.designSystemLabel.demoActionPrimary": "Primary action (demo)",
  "common.designSystemLabel.demoActionSecondary": "Secondary action (demo)",
  "common.designSystemLabel.demoActionSelected": "Action selected (demo only)",
  "common.designSystemLabel.demoArchive": "Archive clicked (demo)",
  "common.designSystemLabel.demoBackAction": "Back to list (demo)",
  "common.designSystemLabel.demoDeleteAction": "Delete (demo)",
  "common.designSystemLabel.demoDuplicate": "Duplicate clicked (demo)",
  "common.designSystemLabel.demoDuplicateAction": "Duplicate (demo)",
  "common.designSystemLabel.demoEdit": "Edit clicked (demo)",
  "common.designSystemLabel.demoEditAction": "Edit (demo)",
  "common.designSystemLabel.demoPreview": "Preview opened (demo)",
  "common.designSystemLabel.demoUse": "Use template clicked (demo)",
  "common.designSystemLabel.detailNavigation": "Navigation",
  "common.designSystemLabel.detailTabs": "Detail sections",
  "common.designSystemLabel.emptyStates": "Empty states",
  "common.designSystemLabel.emptyStatesDescription": "Separate copy for an empty library versus empty filter results.",
  "common.designSystemLabel.expandNavigation": "Expand navigation",
  "common.designSystemLabel.eyebrow": "Developer reference",
  "common.designSystemLabel.feedback": "Feedback",
  "common.designSystemLabel.feedbackAjaxFlows": "In-place actions: call useToast() after the request succeeds or fails.",
  "common.designSystemLabel.feedbackAvoidInPageFlash": "Avoid: AppLayout in-page flash banners. Keep inline field or modal errors only where the user is still editing.",
  "common.designSystemLabel.feedbackDescription": "Always surface user feedback as toast notifications. Do not rely on in-page flash banners in AppLayout.",
  "common.designSystemLabel.feedbackRedirectFlows": "Redirect flows: call useInertiaFlashToast() in the page setup so server flash props render as toasts instead of in-page banners.",
  "common.designSystemLabel.feedbackToastRule": "Use toast feedback for every success, error, warning, or status message.",
  "common.designSystemLabel.forms": "Form controls",
  "common.designSystemLabel.formsDescription": "Use FormSelectField for filters and wizard forms. Dropdown triggers use border-only focus ? no outer ring.",
  "common.designSystemLabel.dropdownFocusNote": "Focus and open states tint the border (brand primary). Do not add ring-2 on FormSelectField triggers ? see formFieldDropdownFocusClass in formFieldStyles.js.",
  "common.designSystemLabel.hideEmptyFields": "Hide empty fields",
  "common.designSystemLabel.loading": "Loading...",
  "common.designSystemLabel.notSet": "Not set",
  "common.designSystemLabel.onThisPage": "On this page",
  "common.designSystemLabel.pageCtaGroup": "Details page action group",
  "common.designSystemLabel.pageCtaGroupDescription": "Use PageCtaGroup + PageCta on detail, show, and edit pages. Index/grid pages use ActionsDropdown instead. Reference: AiAgents/Show.vue and docs/inertia-design-system.md ?4.5.",
  "common.designSystemLabel.pageDescription": "Live examples of tokens, components, and patterns from the Automation Template Library.",
  "common.designSystemLabel.pageHeader": "Page header",
  "common.designSystemLabel.pageHeaderDescription": "Use BuilderPageHeader through AppLayout: breadcrumb trail, Lucide icon, single h1, optional header badge, and right-aligned actions.",
  "common.designSystemLabel.pageHeaderNestedExample": "Nested page breadcrumb",
  "common.designSystemLabel.pageHeaderTopLevelExample": "Top-level page breadcrumb",
  "common.designSystemLabel.pageTitle": "Inertia Design System",
  "common.designSystemLabel.sampleCardDescription": "Remind prospective students who started an application but have not submitted it after a short wait.",
  "common.designSystemLabel.sampleCardTitle": "Application Started but Not Submitted",
  "common.designSystemLabel.sectionNav": "Design system sections",
  "common.designSystemLabel.showEmptyFields": "Show empty fields",
  "common.designSystemLabel.showErrorToast": "Show error toast",
  "common.designSystemLabel.showSuccessToast": "Show success toast",
  "common.designSystemLabel.sideNav": "Side navigation",
  "common.designSystemLabel.sideNavActive": "Active link",
  "common.designSystemLabel.sideNavDefault": "Default link",
  "common.designSystemLabel.sideNavDescription": "Staff sidebar and in-page section nav share these link states.",
  "common.designSystemLabel.sideNavHover": "Hover state",
  "common.designSystemLabel.sideNavNested": "Nested link",
  "common.designSystemLabel.sideNavSectionLabel": "Section label",
  "common.designSystemLabel.templateCards": "Template cards",
  "common.designSystemLabel.templateCardsDescription": "Interactive samples including long text and feature flags. Actions show demo toasts only.",
  "common.designSystemLabel.tokenActive": "Brand active",
  "common.designSystemLabel.tokenDanger": "Danger surface",
  "common.designSystemLabel.tokenPrimary": "Brand primary",
  "common.designSystemLabel.tokenSuccess": "Success surface",
  "common.designSystemLabel.tokenText": "Brand text",
  "common.designSystemLabel.tokenWarning": "Warning surface",
  "common.designSystemLabel.tokens": "Color tokens",
  "common.designSystemLabel.tokensDescription": "Brand and semantic colors used on Inertia admin pages.",
  "common.designSystemLabel.typeBody": "Body",
  "common.designSystemLabel.typeCardTitle": "Card title",
  "common.designSystemLabel.typeEyebrow": "Eyebrow",
  "common.designSystemLabel.typePageTitle": "Page title",
  "common.designSystemLabel.typography": "Typography",
  "common.designSystemLabel.typographyDescription": "Type scale for page chrome and template cards.",
  "common.designSystemLabel.viewTemplatesPage": "Open template library",
  "common.documentBuilderLabel.actionFailed": "Unable to complete that action right now.",
  "common.documentBuilderLabel.backToList": "Back to Document Builder",
  "common.documentBuilderLabel.category": "Category",
  "common.documentBuilderLabel.cloneDocument": "Clone Document",
  "common.documentBuilderLabel.clonedSuccessfully": "Document cloned successfully.",
  "common.documentBuilderLabel.copyOf": "Copy of :name",
  "common.documentBuilderLabel.createDocument": "Create Document",
  "common.documentBuilderLabel.createPdfDescription": "Upload a PDF template, choose a selector, map document fields to data sources, then save the builder.",
  "common.documentBuilderLabel.createPdfDocument": "Add PDF Document",
  "common.documentBuilderLabel.createWordDescription": "Upload a Word template, map document fields to contact data, then save the builder.",
  "common.documentBuilderLabel.createWordDocument": "Add Word Document",
  "common.documentBuilderLabel.createdAt": "Creation Date",
  "common.documentBuilderLabel.createdSuccessfully": "Document builder saved successfully.",
  "common.documentBuilderLabel.deleteDocument": "Delete",
  "common.documentBuilderLabel.deleteDocumentConfirm": "Are you sure you want to delete this document?",
  "common.documentBuilderLabel.deleteDocumentTitle": "Delete Document",
  "common.documentBuilderLabel.deletedSuccessfully": "Document deleted successfully.",
  "common.documentBuilderLabel.details": "Details",
  "common.documentBuilderLabel.detailsDescription": "Document metadata, selector, category, and generated-document count.",
  "common.documentBuilderLabel.detailsTab": "Details",
  "common.documentBuilderLabel.documentBuilders": "documents",
  "common.documentBuilderLabel.documentBuildersEmpty": "No documents matched the current search or filters.",
  "common.documentBuilderLabel.documentField": "Document Field",
  "common.documentBuilderLabel.documentFile": "Document",
  "common.documentBuilderLabel.documents": "documents",
  "common.documentBuilderLabel.documentsEmpty": "No documents matched the current search or filters.",
  "common.documentBuilderLabel.downloadReport": "Download Report",
  "common.documentBuilderLabel.editDocument": "Edit",
  "common.documentBuilderLabel.editDocumentAction": "Edit Document",
  "common.documentBuilderLabel.editPdfDescription": "Review field mappings and update PDF document metadata.",
  "common.documentBuilderLabel.editWordDescription": "Review field mappings and update document metadata.",
  "common.documentBuilderLabel.fields": "Fields",
  "common.documentBuilderLabel.fieldsDescription": "Saved document field mappings and token configuration.",
  "common.documentBuilderLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.documentBuilderLabel.format": "Format",
  "common.documentBuilderLabel.generatedDocuments": "Generated Documents",
  "common.documentBuilderLabel.id": "ID",
  "common.documentBuilderLabel.itemNumber": "Item :number",
  "common.documentBuilderLabel.mappingField": "Field",
  "common.documentBuilderLabel.mappingSource": "Source",
  "common.documentBuilderLabel.mappingsTab": "Mappings",
  "common.documentBuilderLabel.name": "Name",
  "common.documentBuilderLabel.no": "No",
  "common.documentBuilderLabel.noMappings": "No field mappings are configured for this document.",
  "common.documentBuilderLabel.pageTitle": "Document Builder",
  "common.documentBuilderLabel.previewAction": "Preview Document",
  "common.documentBuilderLabel.previewDescription": "Preview this document using a record of your choice.",
  "common.documentBuilderLabel.previewFailed": "The document preview could not be generated.",
  "common.documentBuilderLabel.previewNoRecords": "No records are available for preview.",
  "common.documentBuilderLabel.previewReady": "Document preview is ready.",
  "common.documentBuilderLabel.previewRecord": "Preview Record",
  "common.documentBuilderLabel.previewTab": "Preview",
  "common.documentBuilderLabel.previewTitle": "Document Preview",
  "common.documentBuilderLabel.previewing": "Generating preview...",
  "common.documentBuilderLabel.properties": "Properties",
  "common.documentBuilderLabel.propertiesDescription": "Saved builder properties and generation settings.",
  "common.documentBuilderLabel.searchDocumentBuilders": "Search documents by name, type, or selector",
  "common.documentBuilderLabel.searchDocuments": "Search documents by name, type, or selector",
  "common.documentBuilderLabel.selectCategory": "Select Category",
  "common.documentBuilderLabel.selectPreviewRecord": "Select a record to preview",
  "common.documentBuilderLabel.selector": "Selector",
  "common.documentBuilderLabel.showMappingsDescription": "How each document placeholder maps to contact, program, or system data.",
  "common.documentBuilderLabel.showMappingsTitle": "Field Mappings",
  "common.documentBuilderLabel.stepAnnouncement": ":step, step :current of :total",
  "common.documentBuilderLabel.stepDetails": "Details",
  "common.documentBuilderLabel.stepDetailsHint": "Set the document title, description, category, and selector.",
  "common.documentBuilderLabel.stepMappings": "Field mappings",
  "common.documentBuilderLabel.stepMappingsHint": "Map each document placeholder to a data source and optional format.",
  "common.documentBuilderLabel.stepProgress": "Step :current of :total",
  "common.documentBuilderLabel.stepUpload": "Upload template",
  "common.documentBuilderLabel.stepUploadHint": "Upload a PDF template and choose the record selector before mapping fields.",
  "common.documentBuilderLabel.stepUploadWordHint": "Upload a Word (.docx) template to extract placeholders for mapping.",
  "common.documentBuilderLabel.storeFailed": "The document builder could not be saved.",
  "common.documentBuilderLabel.table": "Table",
  "common.documentBuilderLabel.title": "Title",
  "common.documentBuilderLabel.type": "Type",
  "common.documentBuilderLabel.updatePdfDocument": "Update Document Builder",
  "common.documentBuilderLabel.updateWordDocument": "Update Document Builder",
  "common.documentBuilderLabel.updatedAt": "Updated",
  "common.documentBuilderLabel.updatedSuccessfully": "Document builder updated successfully.",
  "common.documentBuilderLabel.uploadDocument": "Upload",
  "common.documentBuilderLabel.uploadDocumentFirst": "Upload a Word document to configure field mappings.",
  "common.documentBuilderLabel.uploadDocumentFirstPdf": "Upload a PDF document to configure field mappings.",
  "common.documentBuilderLabel.uploadFailed": "Unable to read the Word document. Check the file and try again.",
  "common.documentBuilderLabel.uploadPdfHint": "Upload a PDF file, choose a selector, then map each document field to a data source.",
  "common.documentBuilderLabel.uploadWordHint": "Upload a .docx file, then map each document field to a data source.",
  "common.documentBuilderLabel.wizardFooterAria": "Document builder wizard actions",
  "common.documentBuilderLabel.wizardNavigation": "Document builder wizard steps",
  "common.documentBuilderLabel.yes": "Yes",
  "common.emailLabel.searchPlaceholder": "Search emails by title or subject",
  "common.emailTemplateLabel.actionFailed": "Unable to complete that action right now.",
  "common.emailTemplateLabel.applyTheme": "Apply Theme",
  "common.emailTemplateLabel.applyThemeConfirmTitle": "Apply this theme?",
  "common.emailTemplateLabel.attachedFiles": "Attached Files",
  "common.emailTemplateLabel.attachedFilesHint": "Drag and drop files or browse to upload attachments.",
  "common.emailTemplateLabel.attachmentDetailsDescription": "Uploaded files and reusable assets included when this template is sent.",
  "common.emailTemplateLabel.attachmentRemoveFailed": "Could not remove the attachment.",
  "common.emailTemplateLabel.attachmentUploadFailed": "Could not upload the attachment.",
  "common.emailTemplateLabel.backToList": "Back to Email Templates",
  "common.emailTemplateLabel.backToTemplate": "Back to template",
  "common.emailTemplateLabel.backToTemplates": "Back to templates",
  "common.emailTemplateLabel.bccAddress": "BCC Address",
  "common.emailTemplateLabel.bccHint": "The email address that you want to include",
  "common.emailTemplateLabel.bccInvalid": "Enter a valid BCC address.",
  "common.emailTemplateLabel.ccAddress": "CC Address",
  "common.emailTemplateLabel.ccHint": "The email address that you want to copy",
  "common.emailTemplateLabel.ccInvalid": "Enter a valid CC address.",
  "common.emailTemplateLabel.buildTemplate": "Build",
  "common.emailTemplateLabel.builderHistory": "Change History",
  "common.emailTemplateLabel.builderHistoryHint": "Restore one of the latest saved content snapshots.",
  "common.emailTemplateLabel.builderBlankDraftWarning": "A blank draft is open. Nothing will be replaced until you save it.",
  "common.emailTemplateLabel.builderInvalidContentWarning": "Invalid saved template or theme content was bypassed. Review this fallback design before saving it.",
  "common.emailTemplateLabel.builderInvalidJson": "The editor returned an invalid email design. Please reopen the builder and try again.",
  "common.emailTemplateLabel.builderLeaveConfirm": "You have unsaved design changes. Leave without saving them?",
  "common.emailTemplateLabel.builderLoadFailed": "The email builder could not be loaded right now.",
  "common.emailTemplateLabel.builderLoading": "Loading the email builder…",
  "common.emailTemplateLabel.builderOpenBlankDraft": "Open blank draft",
  "common.emailTemplateLabel.builderSaveFailed": "The changed didnt saved, Please try again",
  "common.emailTemplateLabel.builderSaved": "Saved successfully!",
  "common.emailTemplateLabel.builderThemes": "Email Themes",
  "common.emailTemplateLabel.builderThemesHint": "Choose a theme to replace the current editor content.",
  "common.emailTemplateLabel.campus": "Campus",
  "common.emailTemplateLabel.campusRequired": "Campus is required.",
  "common.emailTemplateLabel.campuses": "Campuses",
  "common.emailTemplateLabel.campusesHint": "Select one or more campuses that can use this template.",
  "common.emailTemplateLabel.campusesRequired": "At least one campus is required.",
  "common.emailTemplateLabel.cancelSchedule": "Cancel schedule",
  "common.emailTemplateLabel.cancelScheduleConfirm": "Are you sure you want to cancel this scheduled send?",
  "common.emailTemplateLabel.clickCount": ":count clicks",
  "common.emailTemplateLabel.clickThroughRate": "Click-Through Rate",
  "common.emailTemplateLabel.clickThroughRateShort": "CTR",
  "common.emailTemplateLabel.cloneFailed": "Could not clone the email template.",
  "common.emailTemplateLabel.cloneAttachmentCopyFailed": "Could not copy the source attachment :name. Confirm the file is available and try again.",
  "common.emailTemplateLabel.cloneAttachmentUnavailable": "One or more source attachments are no longer available for cloning. Reopen the clone wizard and try again.",
  "common.emailTemplateLabel.cloneAttachmentUnavailableNamed": "The source attachment :name is no longer available. Restore or upload the file before cloning.",
  "common.emailTemplateLabel.cloneTemplate": "Clone",
  "common.emailTemplateLabel.clonedSuccessfully": "Email template cloned successfully.",
  "common.emailTemplateLabel.closeEditor": "Close",
  "common.emailTemplateLabel.closeEditorConfirmTitle": "Close the editor?",
  "common.emailTemplateLabel.createFailed": "Could not create the email template.",
  "common.emailTemplateLabel.createTemplate": "Create Template",
  "common.emailTemplateLabel.createdAt": "Creation Date",
  "common.emailTemplateLabel.createdSuccessfully": "Email template created successfully.",
  "common.emailTemplateLabel.currentAppTime": "Current app time",
  "common.emailTemplateLabel.days": "Days",
  "common.emailTemplateLabel.defaultLanguage": "Default language",
  "common.emailTemplateLabel.defaultLanguageHint": "The language this template is written in. Recipients whose language has no version receive this one.",
  "common.emailTemplateLabel.defaultLanguageSchoolOption": ":language (school default)",
  "common.emailTemplateLabel.deleteTemplate": "Delete",
  "common.emailTemplateLabel.deleteTemplateConfirm": "Are you sure you want to delete this email template?",
  "common.emailTemplateLabel.deletedSuccessfully": "Email template deleted successfully.",
  "common.emailTemplateLabel.deliveryRate": "Delivery Rate",
  "common.emailTemplateLabel.desktop": "Desktop",
  "common.emailTemplateLabel.details": "Email Template Details",
  "common.emailTemplateLabel.detailsDescription": "Template status, list sending, theme, and sender details.",
  "common.emailTemplateLabel.deviceBreakdown": "Device Breakdown",
  "common.emailTemplateLabel.deviceBreakdownDescription": "Desktop and mobile open share for this template.",
  "common.emailTemplateLabel.deviceHigherUsage": ":device has higher usage.",
  "common.emailTemplateLabel.draftStatus": "Draft",
  "common.emailTemplateLabel.editTemplate": "Edit",
  "common.emailTemplateLabel.emailTheme": "Email Theme",
  "common.emailTemplateLabel.emailThemeHint": "Choose a starting theme for the visual email builder.",
  "common.emailTemplateLabel.failedCount": "Failed",
  "common.emailTemplateLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.emailTemplateLabel.fromAddress": "From Address",
  "common.emailTemplateLabel.fromAddressHint": "The email address of the sender",
  "common.emailTemplateLabel.fromAddressHintOptional": "Optional. If blank, the sender will fall back to the student owner or school defaults.",
  "common.emailTemplateLabel.fromAddressInvalid": "Enter a valid from address.",
  "common.emailTemplateLabel.fromAddressRequired": "From address is required.",
  "common.emailTemplateLabel.fromName": "From Name",
  "common.emailTemplateLabel.fromNameHint": "The name of the sender",
  "common.emailTemplateLabel.fromNameHintOptional": "Optional. If blank, the sender will fall back to the student owner or school defaults.",
  "common.emailTemplateLabel.fromNameRequired": "From name is required.",
  "common.emailTemplateLabel.hourOfDay": "Hour of Day",
  "common.emailTemplateLabel.id": "ID",
  "common.emailTemplateLabel.individualTemplate": "Individual Template",
  "common.emailTemplateLabel.language": "Language",
  "common.emailTemplateLabel.languageDefault": "Default",
  "common.emailTemplateLabel.languageFallbackHint": "Recipients whose language has no version receive the default language.",
  "common.emailTemplateLabel.languageGapLine": ":count pending recipient(s) prefer :language, which has no version yet. They will receive :fallback.",
  "common.emailTemplateLabel.languageGapTitle": "Some recipients will get a different language",
  "common.emailTemplateLabel.languageMissing": "missing",
  "common.emailTemplateLabel.languageNotTranslated": ":language ? not translated yet",
  "common.emailTemplateLabel.languagePreheader": "Preview text",
  "common.emailTemplateLabel.languageReady": "ready",
  "common.emailTemplateLabel.languageSettingsSaveFailed": "The language settings could not be saved. Please try again.",
  "common.emailTemplateLabel.languageSettingsLeaveConfirm": "You have unsaved language settings. Leave without saving them?",
  "common.emailTemplateLabel.languageSettingsSaved": "Language settings saved",
  "common.emailTemplateLabel.languageShowingDefault": "There is no :language version yet, so the default language is shown.",
  "common.emailTemplateLabel.languageSubject": "Subject for this language",
  "common.emailTemplateLabel.languageTestHint": "The test email is sent in this language.",
  "common.emailTemplateLabel.languageTranslated": ":language ? translated",
  "common.emailTemplateLabel.languageUnavailable": "That language is not enabled for this school.",
  "common.emailTemplateLabel.languages": "Languages",
  "common.emailTemplateLabel.linkClickStats": "Link Click Statistics",
  "common.emailTemplateLabel.linkClickStatsDescription": "Total and unique clicks grouped by tracked link.",
  "common.emailTemplateLabel.listTemplate": "List Template",
  "common.emailTemplateLabel.lists": "Lists",
  "common.emailTemplateLabel.listsRequired": "Select at least one list when sending to a list.",
  "common.emailTemplateLabel.minimalTemplate": "Minimal Template",
  "common.emailTemplateLabel.mobile": "Mobile",
  "common.emailTemplateLabel.name": "Name",
  "common.emailTemplateLabel.nameRequired": "Template name is required.",
  "common.emailTemplateLabel.no": "No",
  "common.emailTemplateLabel.noChartData": "There is no chart data to show yet.",
  "common.emailTemplateLabel.noDeviceData": "There is no device data to show yet.",
  "common.emailTemplateLabel.noLinks": "No link clicks found",
  "common.emailTemplateLabel.noLinksDescription": "Tracked link clicks for this template will appear here.",
  "common.emailTemplateLabel.noResultsFound": "No Results Found",
  "common.emailTemplateLabel.overviewTab": "Overview",
  "common.emailTemplateLabel.pageTitle": "Email Templates",
  "common.emailTemplateLabel.pending": "Pending",
  "common.emailTemplateLabel.pendingRecipients": "Pending Recipients",
  "common.emailTemplateLabel.percentageAxis": "Percentage (%)",
  "common.emailTemplateLabel.performanceOverTime": "Performance Over Time",
  "common.emailTemplateLabel.performanceOverTimeDescription": "Sent, read, and click-through rates across the selected reporting window.",
  "common.emailTemplateLabel.performanceSnapshot": "All Time Performance Snapshot",
  "common.emailTemplateLabel.performanceSnapshotDescription": "Delivery, read, click, and unsubscribe rates across all emails sent with this template.",
  "common.emailTemplateLabel.performanceTab": "Performance",
  "common.emailTemplateLabel.preheaderText": "Preview text",
  "common.emailTemplateLabel.preheaderTextHint": "Short summary shown in the inbox before the email is opened.",
  "common.emailTemplateLabel.previewTemplate": "Preview",
  "common.emailTemplateLabel.publish": "Publish",
  "common.emailTemplateLabel.published": "Published",
  "common.emailTemplateLabel.publishedStatus": "Published",
  "common.emailTemplateLabel.read": "Read",
  "common.emailTemplateLabel.readCount": ":count read",
  "common.emailTemplateLabel.readRate": "Read Rate",
  "common.emailTemplateLabel.readRateShort": "Read Rate",
  "common.emailTemplateLabel.readyToSend": "Template ready to send.",
  "common.emailTemplateLabel.reusableAssets": "Reusable Assets",
  "common.emailTemplateLabel.replyToAddress": "Reply-To Address",
  "common.emailTemplateLabel.replyToHint": "The email address that will receive responses",
  "common.emailTemplateLabel.replyToInvalid": "Enter a valid reply-to address.",
  "common.emailTemplateLabel.resetBuilder": "Reset",
  "common.emailTemplateLabel.resetBuilderConfirmTitle": "Reset editor content?",
  "common.emailTemplateLabel.restoreHistory": "Restore History",
  "common.emailTemplateLabel.restoreHistoryConfirmTitle": "Restore saved history?",
  "common.emailTemplateLabel.saveAndClose": "Save & Close",
  "common.emailTemplateLabel.saveLanguageSettings": "Save language settings",
  "common.emailTemplateLabel.scheduleCancelled": "Scheduled send cancelled successfully.",
  "common.emailTemplateLabel.scheduleCreated": "Scheduled send created successfully.",
  "common.emailTemplateLabel.scheduleSend": "Schedule send",
  "common.emailTemplateLabel.scheduleSendDateHint": "Choose the day you want the campaign to go out.",
  "common.emailTemplateLabel.scheduleSendDescription": "Pick a future date and time to send this template automatically.",
  "common.emailTemplateLabel.scheduleSendTimeHint": "Choose the time you want the campaign to go out.",
  "common.emailTemplateLabel.scheduleTimezoneHint": "The selected time is interpreted using :timezone (:source).",
  "common.emailTemplateLabel.scheduleTimezoneSummary": "Scheduling uses :timezone from :source.",
  "common.emailTemplateLabel.scheduledSend": "Scheduled send",
  "common.emailTemplateLabel.searchTemplates": "Search email templates by name or subject",
  "common.emailTemplateLabel.sendDate": "Send date",
  "common.emailTemplateLabel.sendEmailToList": "Send Email To List",
  "common.emailTemplateLabel.sendEmails": "Send Emails",
  "common.emailTemplateLabel.sendDisabledNoPendingHint": "There are no pending eligible recipients. Check the template details to find the breakdown of the students.",
  "common.emailTemplateLabel.sendDisabledStatisticsCalculatingHint": "Recipient statistics are still calculating. Try again shortly.",
  "common.emailTemplateLabel.sendTime": "Send time",
  "common.emailTemplateLabel.sendToList": "Send to list",
  "common.emailTemplateLabel.sendToListLockedHint": "Template type is fixed after creation. Clone the template to use another type.",
  "common.emailTemplateLabel.sender": "Sender",
  "common.emailTemplateLabel.senderDescription": "Sender identity and reply routing used when this template is sent.",
  "common.emailTemplateLabel.sent": "Sent",
  "common.emailTemplateLabel.sentCount": ":count sent",
  "common.emailTemplateLabel.sentRate": "Sent Rate",
  "common.emailTemplateLabel.statisticsCalculating": "Calculating…",
  "common.emailTemplateLabel.noEligibleRecipientsScheduled": "No eligible recipients were available. Check communication preferences and recipient email addresses.",
  "common.emailTemplateLabel.skippedCount": "Skipped",
  "common.emailTemplateLabel.status": "Status",
  "common.emailTemplateLabel.stepAnalytics": "Analytics",
  "common.emailTemplateLabel.stepAnalyticsHint": "Optional UTM parameters for campaign tracking.",
  "common.emailTemplateLabel.stepAnnouncement": ":step (:current of :total)",
  "common.emailTemplateLabel.stepAttachments": "Attached Files",
  "common.emailTemplateLabel.stepAttachmentsHint": "Upload files to include with emails sent from this template.",
  "common.emailTemplateLabel.stepProgress": "Step :current of :total",
  "common.emailTemplateLabel.stepSender": "Email Information",
  "common.emailTemplateLabel.stepSenderHint": "Set the sender identity and optional reply-to or BCC addresses.",
  "common.emailTemplateLabel.stepTemplate": "Template Information",
  "common.emailTemplateLabel.stepTemplateHint": "Name the template, choose campus settings, and optionally pick a theme.",
  "common.emailTemplateLabel.subject": "Subject",
  "common.emailTemplateLabel.subjectRequired": "Subject is required.",
  "common.emailTemplateLabel.templateName": "Template Name",
  "common.emailTemplateLabel.templateBodyRequired": "Template body is empty. Open Build, add content, and save before sending or scheduling.",
  "common.emailTemplateLabel.templateType": "Template Type",
  "common.emailTemplateLabel.templateTypeLockedHint": "Template type is fixed after creation. Clone this template to use another type.",
  "common.emailTemplateLabel.templates": "email templates",
  "common.emailTemplateLabel.templatesEmpty": "No email templates matched the current search or filters.",
  "common.emailTemplateLabel.theme": "Theme",
  "common.emailTemplateLabel.timeOfDayAnalysis": "Time-of-Day Analysis",
  "common.emailTemplateLabel.timeOfDayAnalysisDescription": "Sent, read, and click-through rates grouped by hour of day.",
  "common.emailTemplateLabel.timezoneFromProfile": "your profile",
  "common.emailTemplateLabel.timezoneFromSchool": "school settings",
  "common.emailTemplateLabel.topolApiKeyMissing": "Topol is not configured for this environment yet.",
  "common.emailTemplateLabel.topolToolbarHint": "Use the Topol editor toolbar to Save or Save & Close this template.",
  "common.emailTemplateLabel.totalClicks": "Total Clicks",
  "common.emailTemplateLabel.totalEmails": "Total Emails",
  "common.emailTemplateLabel.tracking": "Tracking",
  "common.emailTemplateLabel.trackingDescription": "UTM tags attached to links generated from this template.",
  "common.emailTemplateLabel.trackingTab": "Tracking",
  "common.emailTemplateLabel.uniqueClicks": "Unique Clicks",
  "common.emailTemplateLabel.unsubscribeCount": ":count unsubscribed",
  "common.emailTemplateLabel.unsubscribeRate": "Unsubscribe Rate",
  "common.emailTemplateLabel.updateFailed": "Could not update the email template.",
  "common.emailTemplateLabel.updateTemplate": "Update Template",
  "common.emailTemplateLabel.updatedAt": "Updated",
  "common.emailTemplateLabel.updatedSuccessfully": "Email template updated successfully.",
  "common.emailTemplateLabel.usage": "Usage",
  "common.emailTemplateLabel.usageDescription": "Recipient volume, pending sends, and template timestamps.",
  "common.emailTemplateLabel.aiGeneratedContentToken": "AI generated content",
  "common.emailTemplateLabel.recipientEligibility": "Recipient Eligibility",
  "common.emailTemplateLabel.recipientEligibilityDescription": "Pending recipients are eligible contacts from the selected lists who have not already received this template.",
  "common.emailTemplateLabel.selectedListContacts": "Selected List Contacts",
  "common.emailTemplateLabel.eligibleContacts": "Eligible Contacts",
  "common.emailTemplateLabel.alreadySent": "Already Sent",
  "common.emailTemplateLabel.excludedContacts": "Excluded Contacts",
  "common.emailTemplateLabel.exclusionBreakdown": "Why contacts are excluded",
  "common.emailTemplateLabel.allContactsEligible": "All selected contacts are eligible.",
  "common.emailTemplateLabel.deliveryIssues": "Some eligible contacts are not ready to send",
  "common.emailTemplateLabel.deliveryIssuesDescription": "These contacts remain eligible, but the send will skip them until a valid email address is available.",
  "common.emailTemplateLabel.readyToSendCount": "Ready to Send",
  "common.emailTemplateLabel.missingEmailAddresses": "Missing Email Addresses",
  "common.emailTemplateLabel.invalidEmailAddresses": "Invalid Email Addresses",
  "common.emailTemplateLabel.exclusionDoNotContact": "Do Not Contact enabled",
  "common.emailTemplateLabel.exclusionEmailUnsubscribed": "Email unsubscribed",
  "common.emailTemplateLabel.exclusionMarketingConsentMissing": "Marketing consent not granted",
  "common.emailTemplateLabel.exclusionConsentMissing": "Required consent not granted",
  "common.emailTemplateLabel.exclusionConsentPending": "Consent verification pending",
  "common.emailTemplateLabel.exclusionParentOnlyCommunication": "Parent-only communication",
  "common.emailTemplateLabel.exclusionQuietHours": "Quiet hours",
  "common.emailTemplateLabel.exclusionContactUnavailable": "Contact unavailable",
  "common.emailTemplateLabel.exclusionCommunicationRestriction": "Communication preference restriction",
  "common.emailTemplateLabel.useByAiAssistant": "Use by AI Assistant",
  "common.emailTemplateLabel.useByAiAssistantHint": "Allow the Staff AI Assistant to send through this template. Include [AI-ASSISTANT-AGENT] in the template body where draft content should appear. Not available for list templates.",
  "common.emailTemplateLabel.usedByAiAssistant": "Used By AI",
  "common.emailTemplateLabel.usedByList": "Used By List",
  "common.emailTemplateLabel.utmCampaign": "UTM Campaign",
  "common.emailTemplateLabel.utmContent": "UTM Content",
  "common.emailTemplateLabel.utmMedium": "UTM Medium",
  "common.emailTemplateLabel.utmSource": "UTM Source",
  "common.emailTemplateLabel.utmTerm": "UTM Term",
  "common.emailTemplateLabel.viewTemplate": "View",
  "common.emailTemplateLabel.wizardNavigation": "Email template wizard navigation",
  "common.emailTemplateLabel.yes": "Yes",
  "common.emailThemeLabel.createEmailTheme": "Create Theme",
  "common.emailThemeLabel.createdAt": "Creation Date",
  "common.emailThemeLabel.deleteEmailTheme": "Delete",
  "common.emailThemeLabel.deleteEmailThemeConfirm": "Are you sure you want to delete this email theme?",
  "common.emailThemeLabel.deleteThumbImage": "Delete thumbnail",
  "common.emailThemeLabel.deletedSuccessfully": "Email theme deleted successfully.",
  "common.emailThemeLabel.editEmailTheme": "Edit",
  "common.emailThemeLabel.editEmailThemePage": "Edit Email Theme",
  "common.emailThemeLabel.emailThemes": "email themes",
  "common.emailThemeLabel.emailThemesEmpty": "No email themes matched the current search or filters.",
  "common.emailThemeLabel.id": "ID",
  "common.emailThemeLabel.importEmailTheme": "Import Theme",
  "common.emailThemeLabel.importFailed": "Theme import failed. Please check the form and try again.",
  "common.emailThemeLabel.importHtmlTheme": "Import HTML Theme",
  "common.emailThemeLabel.importThemeSubmit": "Import Theme",
  "common.emailThemeLabel.importTopolTheme": "Import Topol Theme",
  "common.emailThemeLabel.importingTheme": "Importing...",
  "common.emailThemeLabel.invalidTopolJson": "The uploaded file is not valid Topol JSON.",
  "common.emailThemeLabel.invalidTopolArchive": "The ZIP must contain one valid Topol JSON file and, optionally, a valid thumbnail.png.",
  "common.emailThemeLabel.invalidTopolJsonFile": "Please upload a .json or .zip file.",
  "common.emailThemeLabel.name": "Name",
  "common.emailThemeLabel.pageTitle": "Email Themes",
  "common.emailThemeLabel.searchEmailThemes": "Search email themes by name",
  "common.emailThemeLabel.templatesCount": "Templates",
  "common.emailThemeLabel.themeFolderTopol": "Topol Theme File",
  "common.emailThemeLabel.themeFolderTopolHelp": "Upload a Topol JSON file or a ZIP containing one JSON file and an optional thumbnail.png.",
  "common.emailThemeLabel.themeFolderZip": "Theme Folder",
  "common.emailThemeLabel.themeFolderZipHelp": "Upload a ZIP file containing your HTML email theme (index.html, images, and thumbnail).",
  "common.emailThemeLabel.themeJsonRequired": "Please upload a Topol JSON or ZIP file before importing.",
  "common.emailThemeLabel.themeName": "Theme Name",
  "common.emailThemeLabel.themeNamePlaceholder": "Enter a name for this theme",
  "common.emailThemeLabel.themeNameRequired": "Theme name is required.",
  "common.emailThemeLabel.themeThumbImage": "Theme Thumbnail",
  "common.emailThemeLabel.themeThumbImageHelp": "Upload a preview image for this theme (max 5 MB).",
  "common.emailThemeLabel.themeUploadFailed": "Theme file upload failed. Please try again.",
  "common.emailThemeLabel.themeUploadRemoveFailed": "Could not remove the uploaded theme file.",
  "common.emailThemeLabel.themeZipRequired": "Please upload a theme file before importing.",
  "common.emailThemeLabel.thumbImageDeleteFailed": "Could not delete the thumbnail.",
  "common.emailThemeLabel.thumbImageDeleted": "Thumbnail deleted successfully.",
  "common.emailThemeLabel.thumbUploadFailed": "Thumbnail upload failed. Please try again.",
  "common.emailThemeLabel.updateFailed": "Theme update failed. Please check the form and try again.",
  "common.emailThemeLabel.updateThemeSubmit": "Update Theme",
  "common.emailThemeLabel.updatingTheme": "Updating...",
  "common.emailThemeLabel.uploadingTheme": "Uploading...",
  "common.emailThemeLabel.uploadingThumb": "Uploading...",
  "common.emailThemeLabel.zipExtensionMissing": "PHP Zip extension is not installed. Please install the php-zip extension to use this feature.",
  "common.enrolledStudentLabel.agency": "Agency",
  "common.enrolledStudentLabel.agent": "Agent",
  "common.enrolledStudentLabel.archiveStudent": "Archive",
  "common.enrolledStudentLabel.cohort": "Cohort",
  "common.enrolledStudentLabel.contactType": "Contact Type",
  "common.enrolledStudentLabel.course": "Course",
  "common.enrolledStudentLabel.createStudent": "Create Student",
  "common.enrolledStudentLabel.createdAt": "Creation Date",
  "common.enrolledStudentLabel.deleteStudent": "Delete",
  "common.enrolledStudentLabel.deleteStudentConfirm": "Are you sure you want to delete this student?",
  "common.enrolledStudentLabel.email": "Email",
  "common.enrolledStudentLabel.id": "ID",
  "common.enrolledStudentLabel.name": "Name",
  "common.enrolledStudentLabel.pageTitle": "Enrolled Students",
  "common.enrolledStudentLabel.program": "Program",
  "common.enrolledStudentLabel.restoreStudent": "Restore",
  "common.enrolledStudentLabel.searchStudents": "Search enrolled students by name, email, agent, or agency",
  "common.enrolledStudentLabel.students": "students",
  "common.enrolledStudentLabel.studentsEmpty": "No enrolled students matched the current search or filters.",
  "common.enrolledStudentLabel.submissionStatus": "Submission Status",
  "common.envelopeLabel.actionFailed": "Unable to complete that action right now.",
  "common.envelopeLabel.addMapping": "Add Mapping",
  "common.envelopeLabel.addSigner": "Add Signer",
  "common.envelopeLabel.addTemplate": "Add Template",
  "common.envelopeLabel.back": "Back",
  "common.envelopeLabel.backToList": "Back to Envelopes",
  "common.envelopeLabel.campuses": "Campuses",
  "common.envelopeLabel.campusesRequired": "Select at least one campus.",
  "common.envelopeLabel.cloneEnvelope": "Clone Envelope",
  "common.envelopeLabel.configuration": "Configuration",
  "common.envelopeLabel.configurationDescription": "Template, signer, contract, and provider property counts.",
  "common.envelopeLabel.configureTemplate": "Configure",
  "common.envelopeLabel.contracts": "Contracts",
  "common.envelopeLabel.createEnvelope": "Create Envelope",
  "common.envelopeLabel.createFailed": "Unable to create the envelope. Review the form and try again.",
  "common.envelopeLabel.createdAt": "Creation Date",
  "common.envelopeLabel.createdSuccessfully": "Envelope created successfully.",
  "common.envelopeLabel.customRole": "Specify Role",
  "common.envelopeLabel.customRoleRequired": "Specify the signer role.",
  "common.envelopeLabel.deleteEnvelope": "Delete",
  "common.envelopeLabel.deleteEnvelopeConfirm": "Are you sure you want to delete this envelope?",
  "common.envelopeLabel.deleteEnvelopeTitle": "Delete Envelope",
  "common.envelopeLabel.deletedSuccessfully": "Envelope deleted successfully.",
  "common.envelopeLabel.description": "Description",
  "common.envelopeLabel.details": "Details",
  "common.envelopeLabel.detailsDescription": "Envelope title, provider, description, and campus availability.",
  "common.envelopeLabel.documentField": "Document Field",
  "common.envelopeLabel.editEnvelope": "Edit",
  "common.envelopeLabel.editEnvelopeAction": "Edit Envelope",
  "common.envelopeLabel.email": "Email",
  "common.envelopeLabel.emailInvalid": "Enter a valid email address.",
  "common.envelopeLabel.emailRequired": "Email is required.",
  "common.envelopeLabel.envelopeFallbackTitle": "Envelope",
  "common.envelopeLabel.envelopes": "envelopes",
  "common.envelopeLabel.envelopesEmpty": "No envelopes matched the current search or filters.",
  "common.envelopeLabel.firstName": "First Name",
  "common.envelopeLabel.firstNameRequired": "First name is required.",
  "common.envelopeLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.envelopeLabel.folder": "Folder",
  "common.envelopeLabel.history": "History",
  "common.envelopeLabel.historyDescription": "Record creation and update timestamps.",
  "common.envelopeLabel.id": "ID",
  "common.envelopeLabel.lastName": "Last Name",
  "common.envelopeLabel.lastNameRequired": "Last name is required.",
  "common.envelopeLabel.loadingTemplateFields": "Loading fields...",
  "common.envelopeLabel.loadingTemplates": "Loading templates...",
  "common.envelopeLabel.mappingCount": ":count mappings",
  "common.envelopeLabel.mappingRequired": "Choose a source field and document field.",
  "common.envelopeLabel.moveTemplateDown": "Move template down",
  "common.envelopeLabel.moveTemplateUp": "Move template up",
  "common.envelopeLabel.next": "Next",
  "common.envelopeLabel.noMappings": "No field mappings yet. Add mappings when this template needs contact data.",
  "common.envelopeLabel.notificationEmailContent": "Notification Email Content",
  "common.envelopeLabel.pageTitle": "Envelopes",
  "common.envelopeLabel.properties": "Properties",
  "common.envelopeLabel.removeMapping": "Remove mapping",
  "common.envelopeLabel.removeSigner": "Remove signer",
  "common.envelopeLabel.removeTemplate": "Remove template",
  "common.envelopeLabel.saveEnvelope": "Save Envelope",
  "common.envelopeLabel.searchEnvelopes": "Search envelopes by title",
  "common.envelopeLabel.selectCampuses": "Select Campuses",
  "common.envelopeLabel.selectDocumentField": "Select Document Field",
  "common.envelopeLabel.selectFolder": "Select Folder",
  "common.envelopeLabel.selectSourceField": "Select Field",
  "common.envelopeLabel.selectTemplate": "Select Template",
  "common.envelopeLabel.selectedTemplatesEmpty": "No document templates have been added to this envelope.",
  "common.envelopeLabel.service": "Service",
  "common.envelopeLabel.signerManagedAtSend": "This signer is assigned when the envelope is sent.",
  "common.envelopeLabel.signerOrder": "Signer Order",
  "common.envelopeLabel.signerOrderRequired": "Signer order is required.",
  "common.envelopeLabel.signerOrderUnique": "Each signer order must be unique.",
  "common.envelopeLabel.signerRole": "Signer Role",
  "common.envelopeLabel.signerRoleRequired": "Signer role is required.",
  "common.envelopeLabel.signerRow": "Signer :number",
  "common.envelopeLabel.signers": "Signers",
  "common.envelopeLabel.signersEmpty": "No signers yet.",
  "common.envelopeLabel.signersHint": "Add each signer in the order they should receive the envelope.",
  "common.envelopeLabel.signersInvalid": "Fix the highlighted signer fields.",
  "common.envelopeLabel.signersRequired": "Add at least one signer.",
  "common.envelopeLabel.sourceField": "Field",
  "common.envelopeLabel.stepAnnouncement": ":step (:current of :total)",
  "common.envelopeLabel.stepDetails": "Envelope Details",
  "common.envelopeLabel.stepDetailsHint": "Set the title, campuses, service, and description.",
  "common.envelopeLabel.stepProgress": "Step :current of :total",
  "common.envelopeLabel.stepSigners": "Signers",
  "common.envelopeLabel.stepSignersHint": "Define signer roles and signing order.",
  "common.envelopeLabel.stepTemplates": "Templates",
  "common.envelopeLabel.stepTemplatesHint": "Choose document templates and map CRM fields to document fields.",
  "common.envelopeLabel.template": "Template",
  "common.envelopeLabel.templateFieldsLoadFailed": "Unable to load template fields.",
  "common.envelopeLabel.templateRequired": "Select a template.",
  "common.envelopeLabel.templates": "Templates",
  "common.envelopeLabel.templatesLoadFailed": "Unable to load templates.",
  "common.envelopeLabel.templatesRequired": "Add at least one document template.",
  "common.envelopeLabel.title": "Title",
  "common.envelopeLabel.titleMin": "Title must be at least 6 characters.",
  "common.envelopeLabel.titleRequired": "Title is required.",
  "common.envelopeLabel.updateFailed": "Unable to update the envelope. Review the form and try again.",
  "common.envelopeLabel.updateTemplate": "Update Template",
  "common.envelopeLabel.updatedAt": "Updated",
  "common.envelopeLabel.updatedSuccessfully": "Envelope updated successfully.",
  "common.envelopeLabel.viewEnvelope": "View",
  "common.envelopeLabel.wizardFooterAria": "Envelope wizard actions",
  "common.envelopeLabel.wizardNavigation": "Envelope wizard navigation",
  "common.estimateLabel.addContact": "Add Contact",
  "common.estimateLabel.addLine": "Add Line",
  "common.estimateLabel.backToEstimates": "Back",
  "common.estimateLabel.contactAndDetails": "Contact and Details",
  "common.estimateLabel.contactAndDetailsHint": "Select who this estimate belongs to and set estimate details.",
  "common.estimateLabel.contactContextFailed": "Unable to load contact details. Try again.",
  "common.estimateLabel.contactEmail": "Contact Email",
  "common.estimateLabel.contactNotFound": "The selected contact could not be found.",
  "common.estimateLabel.contactRequired": "Select a contact before continuing.",
  "common.estimateLabel.contactType": "Contact Type",
  "common.estimateLabel.createEstimate": "Create Estimate",
  "common.estimateLabel.currency": "Currency",
  "common.estimateLabel.description": "Description",
  "common.estimateLabel.documentDate": "Document Date",
  "common.estimateLabel.editEstimate": "Edit Estimate #:uid",
  "common.estimateLabel.fixErrorsBeforeSave": "Fix the highlighted fields before saving.",
  "common.estimateLabel.internalNotes": "Notes",
  "common.estimateLabel.invalidContactType": "The selected contact type is not supported.",
  "common.estimateLabel.itemRow": "Line :number",
  "common.estimateLabel.items": "Items",
  "common.estimateLabel.itemsHint": "Set service, description, quantity, and unit price for each line.",
  "common.estimateLabel.lineItems": "Line Items",
  "common.estimateLabel.lineItemsHint": "Add one or more lines to build the estimate total.",
  "common.estimateLabel.lineTotal": "Line Total",
  "common.estimateLabel.loadingContactContext": "Loading contact details...",
  "common.estimateLabel.noItems": "No estimate lines yet.",
  "common.estimateLabel.notes": "Notes",
  "common.estimateLabel.quantity": "Quantity",
  "common.estimateLabel.removeLine": "Remove line",
  "common.estimateLabel.saveAndClose": "Save and Close",
  "common.estimateLabel.saveAndCreateAnother": "Save and Create Another",
  "common.estimateLabel.saveFailed": "Unable to save the estimate. Review the form and try again.",
  "common.estimateLabel.searchContact": "Search contacts by name, email, or phone",
  "common.estimateLabel.selectService": "Select service",
  "common.estimateLabel.selectStatus": "Select status",
  "common.estimateLabel.service": "Service",
  "common.estimateLabel.status": "Status",
  "common.estimateLabel.totalEstimate": "Total Estimate",
  "common.estimateLabel.unitPrice": "Unit Price",
  "common.estimateLabel.updateAndClose": "Update and Close",
  "common.estimateLabel.updateAndCreateAnother": "Update and Continue Editing",
  "common.estimateLabel.validUntil": "Valid Until",
  "common.examLabel.by": "by",
  "common.examLabel.category": "Category",
  "common.examLabel.course": "Course",
  "common.examLabel.current": "Current",
  "common.examLabel.email": "Email",
  "common.examLabel.examDateTime": "Exam Date/Time",
  "common.examLabel.examRequired": "Select an exam",
  "common.examLabel.examStatusHistory": "Exam Status History",
  "common.examLabel.exams": "exams",
  "common.examLabel.examsEmpty": "No exams matched the current search or filters.",
  "common.examLabel.exportReport": "Export Report",
  "common.examLabel.fail": "Fail",
  "common.examLabel.id": "ID",
  "common.examLabel.instructor": "Instructor",
  "common.examLabel.invitationExpiryDateTime": "Invitation Expiry Date/Time",
  "common.examLabel.inviteFormLoadError": "Unable to load the exam invitation form.",
  "common.examLabel.inviteSaveFailed": "Unable to save the exam invitation.",
  "common.examLabel.inviteSaved": "Exam invitation saved.",
  "common.examLabel.noHistoryAvailable": "No history available",
  "common.examLabel.noStatus": "No Status",
  "common.examLabel.pageTitle": "Exams",
  "common.examLabel.pass": "Pass",
  "common.examLabel.points": "Points",
  "common.examLabel.program": "Program",
  "common.examLabel.reachedMaxFailed": "Reached Max Failed",
  "common.examLabel.result": "Result",
  "common.examLabel.revokeExamInvitation": "Revoke Exam Invitation",
  "common.examLabel.searchExams": "Search exams by student, email, title, program, course, category, or instructor",
  "common.examLabel.status": "Status",
  "common.examLabel.student": "Student",
  "common.examLabel.syncExamResultWithReco": "Sync Exam Result with RECO",
  "common.examLabel.syncedAt": "Synced at",
  "common.examLabel.title": "Title",
  "common.examLabel.updatedAt": "Updated",
  "common.examLabel.viewGrades": "View Grades",
  "common.exitedRunsLabel.title": "Exited Runs",
  "common.exportLabel.title": "Export",
  "common.failedAttemptsLabel.title": "Failed Attempts",
  "common.failedWorkflowsHintLabel.description": "Requires review",
  "common.failedWorkflowsLabel.title": "Failed Workflows",
  "common.fiscalPeriodLabel.actionFailed": "Unable to complete that action right now.",
  "common.fiscalPeriodLabel.actions": "Actions",
  "common.fiscalPeriodLabel.allowCoercion": "Allow Coercion",
  "common.fiscalPeriodLabel.allowCoercionHelp": "Allow transactions to be posted into this period when dates fall outside the range.",
  "common.fiscalPeriodLabel.back": "Back",
  "common.fiscalPeriodLabel.backToList": "Back to Fiscal Periods",
  "common.fiscalPeriodLabel.cannotDeleteClosed": "Cannot delete a closed fiscal period.",
  "common.fiscalPeriodLabel.cannotEditClosed": "Cannot edit a closed fiscal period.",
  "common.fiscalPeriodLabel.closeFailed": "Cannot close fiscal period. Period must be past its end date and not already closed.",
  "common.fiscalPeriodLabel.closeFiscalPeriod": "Close",
  "common.fiscalPeriodLabel.closeFiscalPeriodConfirm": "Are you sure you want to close this fiscal period?",
  "common.fiscalPeriodLabel.closePeriod": "Close Period",
  "common.fiscalPeriodLabel.closedSuccessfully": "Fiscal period closed successfully.",
  "common.fiscalPeriodLabel.createFailed": "Unable to create fiscal period. Try again.",
  "common.fiscalPeriodLabel.createFiscalPeriod": "Create Fiscal Period",
  "common.fiscalPeriodLabel.createdAt": "Creation Date",
  "common.fiscalPeriodLabel.createdSuccessfully": "Fiscal period :name created successfully.",
  "common.fiscalPeriodLabel.dates": "Dates",
  "common.fiscalPeriodLabel.deleteFiscalPeriod": "Delete",
  "common.fiscalPeriodLabel.deleteFiscalPeriodConfirm": "Are you sure you want to delete this fiscal period?",
  "common.fiscalPeriodLabel.deleteFiscalPeriodDetailConfirm": "Deleting this fiscal period will permanently remove it from the system.",
  "common.fiscalPeriodLabel.deletedSuccessfully": "Fiscal period deleted successfully.",
  "common.fiscalPeriodLabel.description": "Description",
  "common.fiscalPeriodLabel.details": "Fiscal Period Details",
  "common.fiscalPeriodLabel.editFiscalPeriod": "Edit",
  "common.fiscalPeriodLabel.editFiscalPeriodPageTitle": "Edit Fiscal Period ? :name",
  "common.fiscalPeriodLabel.endDate": "End Date",
  "common.fiscalPeriodLabel.endDateAfterStartDate": "End date must be after the start date.",
  "common.fiscalPeriodLabel.endDateRequired": "End date is required.",
  "common.fiscalPeriodLabel.fiscalPeriodDetails": "Fiscal Period Details",
  "common.fiscalPeriodLabel.fiscalPeriods": "fiscal periods",
  "common.fiscalPeriodLabel.fiscalPeriodsEmpty": "No fiscal periods matched the current search or filters.",
  "common.fiscalPeriodLabel.fiscalYear": "Fiscal Year",
  "common.fiscalPeriodLabel.fiscalYearRequired": "Enter a fiscal year between 2000 and 2100.",
  "common.fiscalPeriodLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.fiscalPeriodLabel.id": "ID",
  "common.fiscalPeriodLabel.name": "Name",
  "common.fiscalPeriodLabel.nameRequired": "Name is required.",
  "common.fiscalPeriodLabel.next": "Next",
  "common.fiscalPeriodLabel.no": "No",
  "common.fiscalPeriodLabel.overlapError": "This fiscal period overlaps with an existing period.",
  "common.fiscalPeriodLabel.pageTitle": "Fiscal Periods",
  "common.fiscalPeriodLabel.periodNo": "Period No.",
  "common.fiscalPeriodLabel.periodOrder": "Period Order",
  "common.fiscalPeriodLabel.searchFiscalPeriods": "Search fiscal periods by name, year, or period number",
  "common.fiscalPeriodLabel.startDate": "Start Date",
  "common.fiscalPeriodLabel.startDateRequired": "Start date is required.",
  "common.fiscalPeriodLabel.status": "Status",
  "common.fiscalPeriodLabel.stepAnnouncement": "Step :current of :total: :step",
  "common.fiscalPeriodLabel.stepDetails": "Fiscal Period Details",
  "common.fiscalPeriodLabel.stepDetailsHint": "Configure the period name, fiscal year, date range, and coercion settings.",
  "common.fiscalPeriodLabel.stepProgress": "Step :current of :total",
  "common.fiscalPeriodLabel.updateFailed": "Unable to update fiscal period. Try again.",
  "common.fiscalPeriodLabel.updateFiscalPeriod": "Update Fiscal Period",
  "common.fiscalPeriodLabel.updatedAt": "Updated",
  "common.fiscalPeriodLabel.updatedSuccessfully": "Fiscal period :name updated successfully.",
  "common.fiscalPeriodLabel.viewFiscalPeriod": "View",
  "common.fiscalPeriodLabel.wizardFooterAria": "Fiscal period wizard actions",
  "common.fiscalPeriodLabel.wizardNavigation": "Fiscal period wizard navigation",
  "common.fiscalPeriodLabel.yes": "Yes",
  "common.followupLabel.assignedTo": "Assigned To",
  "common.followupLabel.callbackRequests": "Callback Requests",
  "common.followupLabel.dateAdded": "Date Added",
  "common.followupLabel.empty": "No callback requests matched the current search or filters.",
  "common.followupLabel.id": "ID",
  "common.followupLabel.name": "Name",
  "common.followupLabel.pageTitle": "Call Back Requests",
  "common.followupLabel.phone": "Phone",
  "common.followupLabel.search": "Search callback requests by name, email, phone, status, or advisor",
  "common.followupLabel.status": "Status",
  "common.followupLabel.callbackTaskTitle": "Callback requested",
  "common.followupLabel.callbackTaskDescription": "Prospect requested a callback.",
  "common.followupLabel.source": "Source",
  "common.followupLabel.campus": "Campus",
  "common.followupLabel.owner": "Owner",
  "common.followupLabel.dueBy": "Response target",
  "common.followupLabel.overdue": "Overdue",
  "common.followupLabel.notOverdue": "Not overdue",
  "common.followupLabel.cancel": "Cancel request",
  "common.followupLabel.cancelConfirmTitle": "Cancel this callback request?",
  "common.followupLabel.cancelConfirm": "This person will not be called back for this request.",
  "common.followupLabel.cancelSuccess": "Callback request cancelled.",
  "common.followupLabel.cancelFailed": "This callback request could not be cancelled.",
  "common.formLabel.addItem": "Add item",
  "common.formLabel.back": "Back",
  "common.formLabel.cancel": "Cancel",
  "common.formLabel.cloneItem": "Clone item :number",
  "common.formLabel.collapseItem": "Collapse item :number",
  "common.formLabel.discardDraft": "Start over",
  "common.formLabel.discardDraftHint": "Clear restored changes and reset this form",
  "common.formLabel.draftRestored": "We restored your unsaved changes from before you refreshed.",
  "common.formLabel.expandItem": "Expand item :number",
  "common.formLabel.next": "Next",
  "common.formLabel.removeItem": "Remove item :number",
  "common.formLabel.removeItemConfirmDescription": "Remove \":label\" from this list? Save the template to persist changes.",
  "common.formLabel.removeItemConfirmTitle": "Remove item?",
  "common.formLabel.reorderItem": "Reorder item :number",
  "common.formLabel.repeaterCount": ":count entries",
  "common.formLabel.repeaterEmpty": "No items yet.",
  "common.formLabel.repeaterListAria": "Repeater entries",
  "common.formLabel.stepHasErrors": ":step has errors",
  "common.formLabel.submit": "Submit",
  "common.formLabel.saveAndClose": "Save and Close",
  "common.formSortableSelect.empty": "No items selected. Use the search above to add items.",
  "common.formSortableSelect.moveDown": "Move :label down",
  "common.formSortableSelect.moveUp": "Move :label up",
  "common.formSortableSelect.remove": "Remove :label",
  "common.formSortableSelect.selectedOrder": ":label selected order",
  "common.fundingCaseLabel.back": "Back",
  "common.fundingCaseLabel.backToCase": "Back to case",
  "common.fundingCaseLabel.backToList": "Back to funding cases",
  "common.fundingCaseLabel.caseCloned": "Funding case cloned successfully.",
  "common.fundingCaseLabel.caseDeleted": "Funding case deleted successfully.",
  "common.fundingCaseLabel.campusUnassigned": "Unassigned",
  "common.fundingCaseLabel.caseSummary": "Case summary",
  "common.fundingCaseLabel.cloneCase": "Clone",
  "common.fundingCaseLabel.dashboardByCampus": "By Campus",
  "common.fundingCaseLabel.dashboardByFundingType": "By Funding Type",
  "common.fundingCaseLabel.dashboardByStatus": "By Status",
  "common.fundingCaseLabel.dashboardChartEmpty": "No chart data for the current filters.",
  "common.fundingCaseLabel.dashboardChartEmptyTitle": "No results found",
  "common.fundingCaseLabel.dashboardCampusChartDescription": "Expected versus received amounts by campus.",
  "common.fundingCaseLabel.dashboardCampusChartTitle": "Expected vs received by campus",
  "common.fundingCaseLabel.dashboardFundingTypeChartDescription": "Expected versus received amounts by funding type.",
  "common.fundingCaseLabel.dashboardFundingTypeChartTitle": "Expected vs received by funding type",
  "common.fundingCaseLabel.dashboardMonthlyChartDescription": "Expected versus received disbursements by month.",
  "common.fundingCaseLabel.dashboardMonthlyChartTitle": "Monthly expected vs received",
  "common.fundingCaseLabel.dashboardSnapshot": "Funding snapshot",
  "common.fundingCaseLabel.dashboardSnapshotDescription": "Pipeline volume, readiness, and receivable health for the current filters.",
  "common.fundingCaseLabel.dashboardStatusChartDescription": "Open case counts across the funding lifecycle.",
  "common.fundingCaseLabel.dashboardStatusChartTitle": "Cases by status",
  "common.fundingCaseLabel.dashboardQueuesDescription": "Work queues for the current filters.",
  "common.fundingCaseLabel.dashboardOverdueCasesDescription": "Overdue cases for the current filters.",
  "common.fundingCaseLabel.dashboardCampus": "Campus",
  "common.fundingCaseLabel.dashboardDateRange": "Date range",
  "common.fundingCaseLabel.dashboardDateRangePlaceholder": "Select expected disbursement dates",
  "common.fundingCaseLabel.dashboardCases": "Cases",
  "common.fundingCaseLabel.dashboardClearFilters": "Clear filters",
  "common.fundingCaseLabel.dashboardClearQueue": "Clear queue",
  "common.fundingCaseLabel.dashboardFilters": "Dashboard filters",
  "common.fundingCaseLabel.dashboardFundingType": "Funding Type",
  "common.fundingCaseLabel.dashboardEmptyBreakdown": "No funding cases match the current filters.",
  "common.fundingCaseLabel.dashboardEmptyMonthly": "No disbursements fall in the current forecast window.",
  "common.fundingCaseLabel.dashboardEmptyOverdue": "No overdue funding cases right now.",
  "common.fundingCaseLabel.dashboardEmptyQueues": "No cases need attention in the current filters.",
  "common.fundingCaseLabel.dashboardExpected": "Expected",
  "common.fundingCaseLabel.dashboardExpectedMonthlyForecast": "Expected Monthly Forecast",
  "common.fundingCaseLabel.dashboardExpectedReceived": "Expected :expected · Received :received",
  "common.fundingCaseLabel.dashboardMonthlyForecast": "Monthly Forecast",
  "common.fundingCaseLabel.dashboardOpenCase": "Open",
  "common.fundingCaseLabel.dashboardOpenQueue": "View cases",
  "common.fundingCaseLabel.dashboardOutstanding": "Outstanding",
  "common.fundingCaseLabel.dashboardOverdue": "Overdue",
  "common.fundingCaseLabel.dashboardOverdueCases": "Overdue Cases",
  "common.fundingCaseLabel.dashboardOverdueCasesCount": ":count Overdue Cases",
  "common.fundingCaseLabel.dashboardOverdueOutstanding": "Outstanding :amount",
  "common.fundingCaseLabel.dashboardOverdueSearch": "Search overdue cases by student, funding type, or scenario",
  "common.fundingCaseLabel.dashboardQueueActive": "Showing :queue queue",
  "common.fundingCaseLabel.dashboardQueueDraft": "Draft intake",
  "common.fundingCaseLabel.dashboardQueueOverdue": "Overdue receivables",
  "common.fundingCaseLabel.dashboardQueueReady": "Ready to submit",
  "common.fundingCaseLabel.dashboardQueues": "Work queues",
  "common.fundingCaseLabel.dashboardReady": "Ready",
  "common.fundingCaseLabel.dashboardReceived": "Received",
  "common.fundingCaseLabel.dashboardViewCases": "View cases",
  "common.fundingCaseLabel.createCase": "Create Funding Case",
  "common.fundingCaseLabel.createFailed": "Unable to create the funding case. Check the fields and try again.",
  "common.fundingCaseLabel.createInvoices": "Create invoice(s)",
  "common.fundingCaseLabel.createInvoicesAlreadyCreated": "Invoices were already created for this case.",
  "common.fundingCaseLabel.createInvoicesConfirm": "Create invoices",
  "common.fundingCaseLabel.createInvoicesConfirming": "Creating?",
  "common.fundingCaseLabel.createInvoicesDesc": "Review the invoices that will be created from this scenario's billing rules, then confirm.",
  "common.fundingCaseLabel.createInvoicesEmpty": "No billable invoice lines match the current case data.",
  "common.fundingCaseLabel.createInvoicesFailed": "Unable to create invoices from this funding case.",
  "common.fundingCaseLabel.createInvoicesLoading": "Loading invoice preview?",
  "common.fundingCaseLabel.createInvoicesSuccess": ":count invoice(s) created successfully.",
  "common.fundingCaseLabel.deleteCaseConfirm": "This will delete the funding case and cannot be undone.",
  "common.fundingCaseLabel.deleteCaseConfirmWithInvoices": "This will delete the funding case and cannot be undone. :count linked invoice(s) will remain in Finance and must be managed separately.",
  "common.fundingCaseLabel.deleteCaseConfirmWithInvoicesAndPayments": "This will delete the funding case and cannot be undone. :invoices linked invoice(s) and :payments linked payment(s) will remain in Finance and must be managed separately.",
  "common.fundingCaseLabel.deleteCaseConfirmWithPayments": "This will delete the funding case and cannot be undone. :count linked payment(s) created from receipts will remain in Finance and must be managed separately.",
  "common.fundingCaseLabel.deleteCaseTitle": "Delete funding case?",
  "common.fundingCaseLabel.deleteSelectedConfirm": "This will delete the selected funding cases and cannot be undone.",
  "common.fundingCaseLabel.deleteSelectedTitle": "Delete selected funding cases?",
  "common.fundingCaseLabel.documentsCardDescription": "Required documents and uploads follow the active funding scenario.",
  "common.fundingCaseLabel.documentsCardTitle": "Document checklist",
  "common.fundingCaseLabel.documentsEmptyRequirements": "Select a funding type and scenario to load document requirements.",
  "common.fundingCaseLabel.documentOptional": "Optional",
  "common.fundingCaseLabel.documentsOptionalCount": ":completed of :total optional",
  "common.fundingCaseLabel.documentsProgress": ":completed of :total documents",
  "common.fundingCaseLabel.documentsProgressAriaLabel": "Document progress :percent percent",
  "common.fundingCaseLabel.documentsProgressToken": "Documents completed (count)",
  "common.fundingCaseLabel.status": "Funding case status",
  "common.fundingCaseLabel.statusValue": "Funding case status value",
  "common.fundingCaseLabel.statusLabel": "Funding case status label",
  "common.fundingCaseLabel.previousStatus": "Previous funding case status",
  "common.fundingCaseLabel.fundingType": "Funding type",
  "common.fundingCaseLabel.scenario": "Funding scenario",
  "common.fundingCaseLabel.completeness": "Case completeness (%)",
  "common.fundingCaseLabel.readyToSubmit": "Ready to submit",
  "common.fundingCaseLabel.expectedTotal": "Expected total amount",
  "common.fundingCaseLabel.expectedInPeriod": "Expected in period",
  "common.fundingCaseLabel.expectedInPeriodHint": "Sum of planned disbursements whose expected date falls in the selected range.",
  "common.fundingCaseLabel.receivedInPeriod": "Received in period",
  "common.fundingCaseLabel.receivedInPeriodHint": "Amount already received against disbursements in the selected range.",
  "common.fundingCaseLabel.plannedDate": "Planned date",
  "common.fundingCaseLabel.plannedDateHint": "Earliest expected disbursement date in the selected range.",
  "common.fundingCaseLabel.plannedDateWithCount": ":date (+ :count more)",
  "common.fundingCaseLabel.caseExpected": "Case expected",
  "common.fundingCaseLabel.caseExpectedHint": "Full case total, including disbursements outside the selected range.",
  "common.fundingCaseLabel.caseReceived": "Case received",
  "common.fundingCaseLabel.caseReceivedHint": "Full amount received on the case, including disbursements outside the selected range.",
  "common.fundingCaseLabel.receivedTotal": "Received total amount",
  "common.fundingCaseLabel.varianceTotal": "Variance total amount",
  "common.fundingCaseLabel.campus": "Campus",
  "common.fundingCaseLabel.expectedDisbursementDate": "Expected disbursement date",
  "common.fundingCaseLabel.documentsRequiredCount": ":completed of :total required",
  "common.fundingCaseLabel.documentsRequiredProgress": ":completed of :total required documents received",
  "common.fundingCaseLabel.documentUploadAction": "Upload file",
  "common.fundingCaseLabel.documentMarkedShared": "Document marked as shared externally.",
  "common.fundingCaseLabel.documentMarkShared": "Share",
  "common.fundingCaseLabel.documentMarkSharedAria": "Mark :label as shared externally",
  "common.fundingCaseLabel.documentSharedAction": "Shared",
  "common.fundingCaseLabel.documentSharedExternallyDescription": "Mark when the student submitted this document directly to the government or funder instead of uploading it here.",
  "common.fundingCaseLabel.documentSharedExternallyLabel": "Shared externally / uploaded elsewhere",
  "common.fundingCaseLabel.documentUnmarkedShared": "External share mark removed from document.",
  "common.fundingCaseLabel.documentUnmarkSharedAria": "Remove the shared mark from :label",
  "common.fundingCaseLabel.documentStatusMissing": "Missing",
  "common.fundingCaseLabel.documentStatusPendingReview": "Awaiting review",
  "common.fundingCaseLabel.documentStatusSharedExternally": "Shared externally",
  "common.fundingCaseLabel.documentStatusUploaded": "Uploaded",
  "common.fundingCaseLabel.documentStatusWaived": "Waived",
  "common.fundingCaseLabel.indexDocumentsColumn": "Document progress",
  "common.fundingCaseLabel.indexDocumentsEmpty": "No documents",
  "common.fundingCaseLabel.scheduleTab": "Payment schedule",
  "common.fundingCaseLabel.scheduleRep": "Rep",
  "common.fundingCaseLabel.scheduleInvoiceAmount": "Amount to invoice",
  "common.fundingCaseLabel.scheduleSearch": "Search the payment schedule by student or funding type",
  "common.fundingCaseLabel.scheduleEmpty": "No disbursements matched the current filters.",
  "common.fundingCaseLabel.schedulePaid": "Paid",
  "common.fundingCaseLabel.schedulePlanned": "Planned",
  "common.fundingCaseLabel.schedulePartial": "Partial",
  "common.fundingCaseLabel.scheduleMissing": "Missing",
  "common.fundingCaseLabel.indexForecastColumn": "Forecast progress",
  "common.fundingCaseLabel.indexForecastEmpty": "No forecast",
  "common.fundingCaseLabel.forecastProgress": ":completed of :total disbursements",
  "common.fundingCaseLabel.forecastProgressAmounts": ":received of :expected",
  "common.fundingCaseLabel.forecastProgressAriaLabel": "Forecast progress :percent percent",
  "common.fundingCaseLabel.editCase": "Edit",
  "common.fundingCaseLabel.fieldRequired": ":field is required.",
  "common.fundingCaseLabel.fixErrorsBeforeContinue": "Complete the required fields before continuing.",
  "common.fundingCaseLabel.fundingTypeRequired": "A funding type is required.",
  "common.fundingCaseLabel.invoiceEnrollmentService": "Invoice educational service",
  "common.fundingCaseLabel.invoiceEnrollmentServiceEmpty": "No tuition fee services were found for the selected program.",
  "common.fundingCaseLabel.invoiceEnrollmentServiceHint": "Choose which tuition fee service appears on funding invoices for this enrollment.",
  "common.fundingCaseLabel.invoiceEnrollmentServiceRequired": "Select the educational service to use on invoices.",
  "common.fundingCaseLabel.invoiceLineItemSection": "Line item",
  "common.fundingCaseLabel.invoicePrefillAmount": "Amount",
  "common.fundingCaseLabel.invoicePrefillCreateDate": "Create date",
  "common.fundingCaseLabel.invoicePrefillDueDate": "Due date",
  "common.fundingCaseLabel.invoicePrefillLineItem": "Line item",
  "common.fundingCaseLabel.invoicePrefillPayer": "Payer",
  "common.fundingCaseLabel.missingDetails": "Missing details",
  "common.fundingCaseLabel.missingDetailsCount": ":count items remaining",
  "common.fundingCaseLabel.missingItemDocument": "Document",
  "common.fundingCaseLabel.missingItemField": "Field",
  "common.fundingCaseLabel.missingItemsOverflow": "+ :count more items",
  "common.fundingCaseLabel.next": "Next",
  "common.fundingCaseLabel.numberExpectedDisbursements": "Number Expected Disbursements",
  "common.fundingCaseLabel.numberExpectedDisbursementsHint": "Filled from the program start date: one disbursement at start, plus one for each later term through the program end. You can change it if needed. When the forecast has no percent, the expected amount is split equally across this count (2 = 50% each, 3 = 33.33% each).",
  "common.fundingCaseLabel.addDisbursement": "Add disbursement",
  "common.fundingCaseLabel.addDisbursements": "Add disbursements",
  "common.fundingCaseLabel.addDisbursementTitle": "Add planned disbursements",
  "common.fundingCaseLabel.addDisbursementDescription": "Add all remaining planned disbursements at once. Amounts start as equal shares of the expected amount and can be edited before you save.",
  "common.fundingCaseLabel.addDisbursementRepeaterTitle": "Disbursements",
  "common.fundingCaseLabel.addDisbursementRepeaterDescription": "Add up to :remaining remaining disbursements. Each row inherits the forecast title.",
  "common.fundingCaseLabel.addDisbursementRow": "Add disbursement",
  "common.fundingCaseLabel.addDisbursementRepeaterEmpty": "Add a disbursement to continue.",
  "common.fundingCaseLabel.removeDisbursementRow": "Remove disbursement",
  "common.fundingCaseLabel.disbursementRowNumber": "Disbursement :number",
  "common.fundingCaseLabel.addDisbursementHint": "This case expects :expected disbursements. :created of them are already planned. Add the remaining :remaining manually.",
  "common.fundingCaseLabel.addDisbursementRemaining": ":remaining remaining",
  "common.fundingCaseLabel.disbursementAdded": "Planned disbursement added.",
  "common.fundingCaseLabel.disbursementsAdded": ":count planned disbursements added.",
  "common.fundingCaseLabel.atLeastOneDisbursement": "Add at least one planned disbursement.",
  "common.fundingCaseLabel.tooManyDisbursements": "You can add at most :remaining remaining disbursements.",
  "common.fundingCaseLabel.disbursementAmountAuto": "Starts from an equal share of the expected amount (2 = 50% each, 3 = 33.33% each). You can edit it.",
  "common.fundingCaseLabel.disbursementSource": "Source",
  "common.fundingCaseLabel.disbursementSourcePlaceholder": "Select a source",
  "common.fundingCaseLabel.disbursementSourceHint": "Starts from the forecast source when one exists. You can change it.",
  "common.fundingCaseLabel.noRemainingDisbursements": "All expected disbursements are already on this case.",
  "common.fundingCaseLabel.editDisbursement": "Edit Forecast",
  "common.fundingCaseLabel.editDisbursementTitle": "Edit planned disbursement",
  "common.fundingCaseLabel.editDisbursementDescription": "Update the forecast title, source, planned date, or expected amount.",
  "common.fundingCaseLabel.saveDisbursement": "Save disbursement",
  "common.fundingCaseLabel.disbursementUpdated": "Planned disbursement updated.",
  "common.fundingCaseLabel.deleteDisbursement": "Delete Forecast",
  "common.fundingCaseLabel.deleteDisbursementConfirmTitle": "Delete this planned disbursement?",
  "common.fundingCaseLabel.deleteDisbursementConfirmDescription": "This removes the planned disbursement from the funding case. You can add another if the expected count is no longer met.",
  "common.fundingCaseLabel.cannotDeleteDisbursementWithReceipts": "This disbursement has receipts. Delete the receipts first, then delete the forecast.",
  "common.fundingCaseLabel.cannotEditCancelledDisbursement": "A cancelled disbursement cannot be edited.",
  "common.fundingCaseLabel.disbursementDeleted": "Planned disbursement deleted.",
  "common.fundingCaseLabel.expectedDisbursementNumber": "Expected disbursement :number",
  "common.fundingCaseLabel.forecastDisbursementNumber": ":label :number",
  "common.fundingCaseLabel.forecastTimelineByMonth": "By month",
  "common.fundingCaseLabel.forecastTimelineByWeek": "By week",
  "common.fundingCaseLabel.forecastTimelineCollected": "Collected :date",
  "common.fundingCaseLabel.forecastTimelineCollectedLate": "Collected :date · :days days late",
  "common.fundingCaseLabel.forecastTimelineCumulativeExpected": "Cumulative expected",
  "common.fundingCaseLabel.forecastTimelineCumulativeReceived": "Cumulative received",
  "common.fundingCaseLabel.forecastTimelineDescription": "Each disbursement against the amount collected for it.",
  "common.fundingCaseLabel.forecastTimelineEmpty": "No forecast events in this period.",
  "common.fundingCaseLabel.forecastTimelineOver": "Over collected",
  "common.fundingCaseLabel.forecastTimelineRemaining": "Remaining",
  "common.fundingCaseLabel.forecastTimelineRunningTotal": "Running total",
  "common.fundingCaseLabel.forecastTimelineShareDescription": "Collected amount against the balance still to come.",
  "common.fundingCaseLabel.forecastTimelineShareTitle": "Expected vs received",
  "common.fundingCaseLabel.forecastTimelineTitle": "By Disbursement",
  "common.fundingCaseLabel.forecastTimelineUnmatched": "Unmatched receipts",
  "common.fundingCaseLabel.forecastTimelineVariance": "Variance",
  "common.fundingCaseLabel.disbursementAddedTitle": "Planned disbursement added",
  "common.fundingCaseLabel.noCasesDeleted": "No funding cases were deleted.",
  "common.fundingCaseLabel.noScenarioFields": "No scenario fields are configured for this case.",
  "common.fundingCaseLabel.notSet": "Not set",
  "common.fundingCaseLabel.pending": "Pending",
  "common.fundingCaseLabel.progress": "Progress",
  "common.fundingCaseLabel.progressAriaLabel": "Case completeness :percent percent",
  "common.fundingCaseLabel.progressComplete": "All required fields and documents are complete.",
  "common.fundingCaseLabel.progressInProgress": "In Progress",
  "common.fundingCaseLabel.ready": "Ready",
  "common.fundingCaseLabel.receiptAutoPaymentNotice": "This scenario automatically records an invoice payment from each receipt using its configured amount, target invoice, and payment method.",
  "common.fundingCaseLabel.receiptCreatePayment": "Also record invoice payment",
  "common.fundingCaseLabel.receiptCreatePaymentHint": "Apply this receipt amount as a payment on the matching funding invoice (requires finance edit permission).",
  "common.fundingCaseLabel.deleteReceiptConfirmTitle": "Delete this receipt?",
  "common.fundingCaseLabel.deleteReceiptConfirmDescription": "This removes the receipt from the funding case and recalculates disbursement totals.",
  "common.fundingCaseLabel.deleteReceiptLinkedPaymentConfirmDescription": "This removes the receipt and any linked invoice payment created from it, then recalculates disbursement totals.",
  "common.fundingCaseLabel.receiptDeletedSuccess": "Receipt deleted successfully.",
  "common.fundingCaseLabel.receiptUpdatedSuccess": "Receipt updated successfully.",
  "common.fundingCaseLabel.receiptAppliedFromPayment": "Applied from invoice payment",
  "common.fundingCaseLabel.receiptAppliedPayment": "View payment",
  "common.fundingCaseLabel.receiptAppliedPaymentReference": "Payment :reference",
  "common.fundingCaseLabel.receiptLinkedPaymentNotice": "An invoice payment was recorded from this receipt. Deleting the receipt will also remove that payment.",
  "common.fundingCaseLabel.editReceiptTitle": "Edit Receipt",
  "common.fundingCaseLabel.editReceiptDescription": "Update the recorded receipt details and linked disbursement match.",
  "common.fundingCaseLabel.saveReceipt": "Save Receipt",
  "common.fundingCaseLabel.reviewDocumentsNote": "Documents, receipts, and timeline tracking become available after the case is created.",
  "common.fundingCaseLabel.reviewSaveNote": "Review the updated case details below. Documents, receipts, and timeline remain on the case profile after saving.",
  "common.fundingCaseLabel.saveCase": "Save Case",
  "common.fundingCaseLabel.saving": "Saving...",
  "common.fundingCaseLabel.scenarioRequired": "A scenario is required.",
  "common.fundingCaseLabel.sectionCase": "Case details",
  "common.fundingCaseLabel.sectionCaseDesc": "Ownership, funding context, and lifecycle status for this case.",
  "common.fundingCaseLabel.sectionFunding": "Funding details",
  "common.fundingCaseLabel.sectionScenarioFields": "Scenario fields",
  "common.fundingCaseLabel.sectionScenarioFieldsDesc": "Dynamic fields required by the selected funding scenario.",
  "common.fundingCaseLabel.sectionSchoolContext": "School context",
  "common.fundingCaseLabel.sectionSchoolContextDesc": "Education, cohort, program, and campus linked to this case.",
  "common.fundingCaseLabel.sectionStudent": "Student details",
  "common.fundingCaseLabel.showCase": "Funding Case",
  "common.fundingCaseLabel.stepFunding": "Funding setup",
  "common.fundingCaseLabel.stepFundingHint": "Select the funding type, scenario, initial case status, and complete any required scenario fields.",
  "common.fundingCaseLabel.stepProgress": "Step :current of :total",
  "common.fundingCaseLabel.stepReview": "Review",
  "common.fundingCaseLabel.stepReviewHint": "Confirm the case details before creating the funding case.",
  "common.fundingCaseLabel.stepReviewHintEdit": "Confirm the case details before saving your changes.",
  "common.fundingCaseLabel.stepScenarioFields": "Scenario fields",
  "common.fundingCaseLabel.stepScenarioFieldsHint": "Complete the dynamic fields required by the selected scenario.",
  "common.fundingCaseLabel.stepStudent": "Student",
  "common.fundingCaseLabel.stepStudentHint": "Choose the student, owner, and optional program or cohort.",
  "common.fundingCaseLabel.studentRequired": "A student is required.",
  "common.fundingCaseLabel.suggestedNextStatus": "This case is ready. Status will advance to :status automatically.",
  "common.fundingCaseLabel.tabDocuments": "Documents",
  "common.fundingCaseLabel.tabForecast": "Forecast & receipts",
  "common.fundingCaseLabel.tabOverview": "Overview",
  "common.fundingCaseLabel.tabScenarioFields": "Scenario fields",
  "common.fundingCaseLabel.tabTimeline": "Timeline",
  "common.fundingCaseLabel.timelineActionAria": "Open timeline action",
  "common.fundingCaseLabel.timelineClearFilters": "Clear filters",
  "common.fundingCaseLabel.timelineCurrentStatusHint": "Showing current case status.",
  "common.fundingCaseLabel.timelineDateRange": "Date",
  "common.fundingCaseLabel.timelineDateRangePlaceholder": "Filter by date",
  "common.fundingCaseLabel.timelineDateUnavailable": "Date unavailable",
  "common.fundingCaseLabel.timelineDescription": "Single audit trail for case setup, documents, submission milestones, and receipts.",
  "common.fundingCaseLabel.timelineDiffAfter": "After",
  "common.fundingCaseLabel.timelineDiffBefore": "Before",
  "common.fundingCaseLabel.timelineDocumentsReviewHint": "Review uploads and verification status.",
  "common.fundingCaseLabel.timelineEmptyDescription": "Case activity will appear here as staff update status, upload documents, and record receipts.",
  "common.fundingCaseLabel.timelineEmptyTitle": "No timeline activity yet.",
  "common.fundingCaseLabel.timelineEventsCount": ":count events",
  "common.fundingCaseLabel.timelineFilterActor": "Actor",
  "common.fundingCaseLabel.timelineFilterAll": "All",
  "common.fundingCaseLabel.timelineFilterType": "Type",
  "common.fundingCaseLabel.timelineFilters": "Timeline filters",
  "common.fundingCaseLabel.timelineForecastHint": "Track planned disbursements and recorded receipts.",
  "common.fundingCaseLabel.timelineHintCollapsed": "Showing the newest :count entries first. Expand only when you need older audit history.",
  "common.fundingCaseLabel.timelineHintDefault": "Grouped by day and phase so staff can scan where the case moved and where it is blocked.",
  "common.fundingCaseLabel.timelineHintExpanded": "Showing the complete audit trail in chronological order.",
  "common.fundingCaseLabel.timelineImportance": "Importance",
  "common.fundingCaseLabel.timelineImportantOnly": "Important only",
  "common.fundingCaseLabel.timelineLatest": "Latest: :date",
  "common.fundingCaseLabel.timelineNoDate": "No date",
  "common.fundingCaseLabel.timelineNoMatches": "No entries match the current filters.",
  "common.fundingCaseLabel.timelineOnlyImportant": "Only important",
  "common.fundingCaseLabel.timelineOverdueHint": ":count overdue disbursement(s) outstanding.",
  "common.fundingCaseLabel.timelineRequiredDocsHint": ":count required document(s) need attention.",
  "common.fundingCaseLabel.timelineSeverityBlocker": "Blocker",
  "common.fundingCaseLabel.timelineSeverityInfo": "Info",
  "common.fundingCaseLabel.timelineSeverityWarn": "Needs attention",
  "common.fundingCaseLabel.timelineShowFewer": "Show fewer items",
  "common.fundingCaseLabel.timelineShowMore": "Show :count more",
  "common.fundingCaseLabel.timelineUndated": "Undated",
  "common.fundingCaseLabel.timelineUnknownTime": "Unknown time",
  "common.fundingCaseLabel.updateFailed": "Unable to update the funding case. Check the fields and try again.",
  "common.fundingCaseLabel.wizardNavigation": "Wizard navigation",
  "common.fundingTemplateLabel.addScenario": "Add scenario",
  "common.fundingTemplateLabel.allowForecastPercentOverflow": "Allow forecast percent totals above 100%",
  "common.fundingTemplateLabel.back": "Back",
  "common.fundingTemplateLabel.backToList": "Back to funding templates",
  "common.fundingTemplateLabel.backToScenarios": "Back to scenarios",
  "common.fundingTemplateLabel.bulkActionNoneProcessed": "No selected templates were updated. Published, archived, or invalid drafts may have been skipped.",
  "common.fundingTemplateLabel.bulkActionSuccess": "Bulk action completed successfully.",
  "common.fundingTemplateLabel.bulkArchiveConfirm": "Archived templates remain available for reference but are no longer active for new funding cases.",
  "common.fundingTemplateLabel.bulkArchiveTitle": "Archive selected templates?",
  "common.fundingTemplateLabel.bulkArchivedSuccess": ":count template version(s) archived.",
  "common.fundingTemplateLabel.bulkClonedSuccess": ":count draft version(s) created.",
  "common.fundingTemplateLabel.bulkDeleteConfirm": "Only template versions with no linked funding cases will be deleted. Others in the selection will be skipped.",
  "common.fundingTemplateLabel.bulkDeleteNoneDeletable": "None of the selected templates can be deleted because they are linked to funding cases.",
  "common.fundingTemplateLabel.bulkDeleteTitle": "Delete selected templates?",
  "common.fundingTemplateLabel.bulkDeletedSuccess": ":count template version(s) deleted.",
  "common.fundingTemplateLabel.bulkImportConfirm": "Starter templates will be imported as published versions in your tenant. Already imported templates in the selection will be skipped.",
  "common.fundingTemplateLabel.bulkImportNoneImportable": "None of the selected starter templates can be imported because they are already in your tenant.",
  "common.fundingTemplateLabel.bulkImportTitle": "Import selected templates?",
  "common.fundingTemplateLabel.bulkImportedSuccess": ":count starter template(s) imported.",
  "common.fundingTemplateLabel.bulkPublishConfirm": "Published versions become immutable. Draft templates with validation errors will be skipped.",
  "common.fundingTemplateLabel.bulkPublishTitle": "Publish selected templates?",
  "common.fundingTemplateLabel.bulkPublishedSuccess": ":count template version(s) published.",
  "common.fundingTemplateLabel.cannotDeleteLastScenario": "At least one scenario is required. Add another scenario before deleting this one.",
  "common.fundingTemplateLabel.cannotDeleteTemplateWithCases": "This template version cannot be deleted because it is linked to one or more funding cases.",
  "common.fundingTemplateLabel.cloneDocument": "Clone document",
  "common.fundingTemplateLabel.cloneField": "Clone field",
  "common.fundingTemplateLabel.cloneForecastEvent": "Clone forecast event",
  "common.fundingTemplateLabel.columnCases": "Cases",
  "common.fundingTemplateLabel.columnForecast": "Forecast",
  "common.fundingTemplateLabel.createDraft": "Create Draft",
  "common.fundingTemplateLabel.createFundingCase": "Create funding case",
  "common.fundingTemplateLabel.createFundingCaseForScenario": "Create funding case",
  "common.fundingTemplateLabel.createTemplate": "Create Funding Template",
  "common.fundingTemplateLabel.createdSuccessfully": "Funding template draft created successfully.",
  "common.fundingTemplateLabel.deleteScenario": "Delete scenario",
  "common.fundingTemplateLabel.deleteScenarioConfirm": "This removes the scenario and its fields, documents, workflow, and forecast configuration from the draft template.",
  "common.fundingTemplateLabel.deleteScenarioTitle": "Delete scenario?",
  "common.fundingTemplateLabel.deleteTemplateConfirm": "This permanently deletes the funding template version. This cannot be undone.",
  "common.fundingTemplateLabel.details": "Details",
  "common.fundingTemplateLabel.documentCount": ":count document(s)",
  "common.fundingTemplateLabel.documentNoApprovalRequired": "No approval required",
  "common.fundingTemplateLabel.editDetails": "Edit details",
  "common.fundingTemplateLabel.editScenario": "Edit scenario",
  "common.fundingTemplateLabel.editScenarioHint": "Update the scenario label, key, and description. Fields, documents, and forecast configuration are managed on the other tabs.",
  "common.fundingTemplateLabel.editTemplate": "Edit Funding Template",
  "common.fundingTemplateLabel.explanation": "Explanation",
  "common.fundingTemplateLabel.exportJson": "Export JSON",
  "common.fundingTemplateLabel.exportVersion": "Export Version",
  "common.fundingTemplateLabel.fieldCount": ":count field(s)",
  "common.fundingTemplateLabel.fixErrorsBeforeContinue": "Complete the required fields before continuing.",
  "common.fundingTemplateLabel.forecastOffsetDaysHint": "Days added to the timing basis date when calculating the expected disbursement date. Use 0 for the anchor date itself; positive values schedule later, negative values schedule earlier.",
  "common.fundingTemplateLabel.forecastMonthOffset": "Month offset",
  "common.fundingTemplateLabel.forecastMonthOffsetHint": "Calendar months to move from the timing basis before the day is chosen. 0 stays in that month, 1 is the next month, and 2 is the month after that.",
  "common.fundingTemplateLabel.forecastDayOfMonth": "Day of month",
  "common.fundingTemplateLabel.forecastDayOfMonthHint": "Day of that month for the installment, such as 10 or 15. Leave blank to keep the day from the timing basis. Offset days apply after this day. Shorter months use the last day.",
  "common.fundingTemplateLabel.forecastPercentOptionalHint": "Leave blank to split the case expected amount equally across Number Expected Disbursements (2 = 50% each, 3 = 33.33% each).",
  "common.fundingTemplateLabel.headerStatusGroup": "Template status and metadata",
  "common.fundingTemplateLabel.indexTitle": "Funding Templates",
  "common.fundingTemplateLabel.invoiceAgencyId": "Agency ID",
  "common.fundingTemplateLabel.invoiceAgentId": "Agent ID",
  "common.fundingTemplateLabel.invoiceAmountBasis": "Amount basis",
  "common.fundingTemplateLabel.invoiceAmountSection": "Amount",
  "common.fundingTemplateLabel.invoiceAnyReceiptEvent": "Any receipt",
  "common.fundingTemplateLabel.invoiceAutoEnabled": "Auto-create invoices",
  "common.fundingTemplateLabel.invoiceAutoEnabledHint": "When enabled, invoices are created automatically when the trigger fires. When disabled, staff see a prefill action instead.",
  "common.fundingTemplateLabel.invoiceCreateDateBasis": "Invoice create date",
  "common.fundingTemplateLabel.invoiceCreateDateMatchDueDateHint": "The invoice create date, document date, and posting date will match each installment due date. Invoices are created in Draft status until staff post them.",
  "common.fundingTemplateLabel.invoiceCustomDescription": "Custom line description",
  "common.fundingTemplateLabel.invoiceDatesSection": "Invoice dates",
  "common.fundingTemplateLabel.invoiceDatesSectionHint": "Control when automated invoices are dated relative to their due dates.",
  "common.fundingTemplateLabel.invoiceEducationalService": "Educational service",
  "common.fundingTemplateLabel.invoiceEducationalServiceId": "Educational service ID",
  "common.fundingTemplateLabel.invoiceFixedAmount": "Fixed amount",
  "common.fundingTemplateLabel.invoiceForecastEvent": "Forecast event",
  "common.fundingTemplateLabel.invoiceFunderPortion": "Funder portion",
  "common.fundingTemplateLabel.invoiceInstallments": "Number of installments",
  "common.fundingTemplateLabel.invoiceLineItemSection": "Line item",
  "common.fundingTemplateLabel.invoiceLineItemSource": "Product / service source",
  "common.fundingTemplateLabel.invoiceMode": "Creation mode",
  "common.fundingTemplateLabel.invoiceModeHint": "Choose whether invoices are automated, manual, split, or tied to forecast disbursements.",
  "common.fundingTemplateLabel.invoiceModeNoneSummary": "No invoice automation ? funding cases track receivables only.",
  "common.fundingTemplateLabel.invoiceModeSection": "Invoice creation mode",
  "common.fundingTemplateLabel.invoiceModeSectionDesc": "How billing documents are generated for this funding program.",
  "common.fundingTemplateLabel.invoiceOverviewSection": "Invoice overview",
  "common.fundingTemplateLabel.invoiceOverviewSectionDesc": "Billing mode, triggers, payer, amounts, schedule, line item rules, and receipt payment settings for this scenario.",
  "common.fundingTemplateLabel.invoiceParentId": "Parent ID",
  "common.fundingTemplateLabel.invoicePayerField": "Payer field",
  "common.fundingTemplateLabel.invoicePayerSection": "Payer",
  "common.fundingTemplateLabel.invoicePayerSectionHint": "Who is billed on the invoice (transactable). Agency, agent, and parent payers are resolved from the student's profile.",
  "common.fundingTemplateLabel.invoicePayerType": "Payer type",
  "common.fundingTemplateLabel.invoicePaymentAmountBasis": "Payment amount",
  "common.fundingTemplateLabel.invoicePaymentAutoEnabled": "Create payment automatically",
  "common.fundingTemplateLabel.invoicePaymentAutoEnabledHint": "When off, staff choose whether to create a payment on each receipt.",
  "common.fundingTemplateLabel.invoicePaymentCreateOnReceipt": "Create payment when receipt is recorded",
  "common.fundingTemplateLabel.invoicePaymentCreateOnReceiptHint": "Applies a billing payment against a funding-linked invoice after each receipt.",
  "common.fundingTemplateLabel.invoicePaymentMethod": "Default payment method",
  "common.fundingTemplateLabel.invoicePaymentNotApplicable": "Not applicable (invoice mode is none)",
  "common.fundingTemplateLabel.invoicePaymentSection": "Receipt payment",
  "common.fundingTemplateLabel.invoicePaymentSectionHint": "Optionally record an invoice payment when staff log a funding receipt.",
  "common.fundingTemplateLabel.invoicePaymentTargetPortion": "Target invoice",
  "common.fundingTemplateLabel.invoicePaymentUseReceiptReference": "Use receipt reference as payment reference",
  "common.fundingTemplateLabel.invoicePaymentUseReceiptReferenceHint": "When the receipt has a reference, copy it to the payment reference field.",
  "common.fundingTemplateLabel.invoiceReviewAmountUnresolved": "Complete the amount settings above to preview invoice totals. Forecast-event and field-based amounts need a selected event or sample values.",
  "common.fundingTemplateLabel.invoiceReviewColumnAmount": "Amount",
  "common.fundingTemplateLabel.invoiceReviewColumnCreateDate": "Sample create date",
  "common.fundingTemplateLabel.invoiceReviewColumnDueDate": "Sample due date",
  "common.fundingTemplateLabel.invoiceReviewColumnInvoice": "Invoice",
  "common.fundingTemplateLabel.invoiceReviewColumnPayment": "Receipt payment",
  "common.fundingTemplateLabel.invoiceReviewColumnStatus": "Status",
  "common.fundingTemplateLabel.invoiceReviewCreateDateOnCreation": "On creation",
  "common.fundingTemplateLabel.invoiceReviewEmpty": "No sample invoices would be created with the current rules.",
  "common.fundingTemplateLabel.invoiceReviewEnrollmentLine": "Enrollment tuition",
  "common.fundingTemplateLabel.invoiceReviewInstallmentLabel": "Installment :index of :total",
  "common.fundingTemplateLabel.invoiceReviewPaymentAutoCreate": "Auto on receipt",
  "common.fundingTemplateLabel.invoiceReviewPaymentCapAmount": "Receipt amount (cap :amount)",
  "common.fundingTemplateLabel.invoiceReviewPaymentManualOptIn": "Manual opt-in",
  "common.fundingTemplateLabel.invoiceReviewPaymentNotConfigured": "Not configured",
  "common.fundingTemplateLabel.invoiceReviewPaymentNotTargeted": "Not targeted",
  "common.fundingTemplateLabel.invoiceReviewSampleExpectedAmount": "Sample expected funding",
  "common.fundingTemplateLabel.invoiceReviewSampleProgramStart": "Sample program start",
  "common.fundingTemplateLabel.invoiceReviewSampleSectionHint": "Adjust these sample values to see how invoice amounts and due dates change.",
  "common.fundingTemplateLabel.invoiceReviewSampleSectionTitle": "Sample case values",
  "common.fundingTemplateLabel.invoiceReviewSampleTuition": "Sample tuition",
  "common.fundingTemplateLabel.invoiceReviewSection": "Invoice review",
  "common.fundingTemplateLabel.invoiceReviewSectionHint": "Preview the invoices that would be generated from these rules using sample case values.",
  "common.fundingTemplateLabel.invoiceReviewSingleInvoice": "Single invoice",
  "common.fundingTemplateLabel.invoiceReviewStatInvoices": "Invoices",
  "common.fundingTemplateLabel.invoiceReviewStatTotal": "Total amount",
  "common.fundingTemplateLabel.invoiceReviewStatusInvoiceCreated": "Invoice created",
  "common.fundingTemplateLabel.invoiceReviewTableFooter": ":count invoice(s) total",
  "common.fundingTemplateLabel.invoiceReviewTotal": ":count invoice(s) ? :amount total",
  "common.fundingTemplateLabel.invoiceScheduleAmountBasis": "Installment amount basis",
  "common.fundingTemplateLabel.invoiceScheduleFrequency": "Installment frequency",
  "common.fundingTemplateLabel.invoiceScheduleSection": "Payment schedule",
  "common.fundingTemplateLabel.invoiceScheduleSectionHint": "How student full-tuition invoices are split over time.",
  "common.fundingTemplateLabel.invoiceScheduleType": "Schedule type",
  "common.fundingTemplateLabel.invoiceSettingsOverviewDesc": "Invoice automation and receipt payment rules configured for this scenario.",
  "common.fundingTemplateLabel.invoiceSharedWithStudent": "Share with student",
  "common.fundingTemplateLabel.invoiceSharedWithStudentHint": "Show the invoice on the student finance tab via shared invoice visibility.",
  "common.fundingTemplateLabel.invoiceSplitSection": "Split billing",
  "common.fundingTemplateLabel.invoiceSplitSectionHint": "Configure separate invoice amounts for the student gap and the funder portion.",
  "common.fundingTemplateLabel.invoiceStudentPortion": "Student portion",
  "common.fundingTemplateLabel.invoiceTrigger": "Trigger event",
  "common.fundingTemplateLabel.invoiceTriggerForecastEvent": "Forecast event",
  "common.fundingTemplateLabel.invoiceTriggerReceiptEvent": "Receipt event (optional)",
  "common.fundingTemplateLabel.invoiceTriggerReceiptEventHint": "Leave blank to trigger on any receipt, or pick a specific forecast event.",
  "common.fundingTemplateLabel.invoiceTriggerSection": "Trigger",
  "common.fundingTemplateLabel.invoiceTriggerSectionHint": "When should invoice creation run?",
  "common.fundingTemplateLabel.invoiceTriggerStatus": "Workflow status",
  "common.fundingTemplateLabel.invoiceTuitionPercent": "Percent of tuition",
  "common.fundingTemplateLabel.jurisdiction": "Jurisdiction",
  "common.fundingTemplateLabel.newTemplate": "New Template",
  "common.fundingTemplateLabel.newVersion": "New Version",
  "common.fundingTemplateLabel.republishVersion": "Republish version",
  "common.fundingTemplateLabel.republishArchivedVersion": "Republish archived version",
  "common.fundingTemplateLabel.republishVersionNumber": "Version :version",
  "common.fundingTemplateLabel.republishVersionMeta": "Updated :date · :count cases",
  "common.fundingTemplateLabel.republishConfirmTitle": "Republish version :version?",
  "common.fundingTemplateLabel.republishConfirmReplace": "Version :version will become the published template and version :replaced will be archived. New funding cases will use version :version. Existing cases stay on their current version.",
  "common.fundingTemplateLabel.republishConfirmNoPublished": "Version :version will become the published template. New funding cases will use this version.",
  "common.fundingTemplateLabel.republishConfirmGeneric": "This archived version will become the published template, and the currently published version will be archived. Existing cases stay on their current version.",
  "common.fundingTemplateLabel.republishedReplacedSuccess": "Version :version republished. Version :replaced was archived.",
  "common.fundingTemplateLabel.republishedSuccess": "Version :version republished.",
  "common.fundingTemplateLabel.next": "Next",
  "common.fundingTemplateLabel.openBuilder": "Open builder",
  "common.fundingTemplateLabel.publishedImmutableHint": "Published versions are immutable. Use New Version to continue editing in a new draft.",
  "common.fundingTemplateLabel.removeDocument": "Remove document",
  "common.fundingTemplateLabel.removeDocumentConfirmDescription": "Remove \":label\" from this scenario? Save the template to persist changes.",
  "common.fundingTemplateLabel.removeDocumentConfirmTitle": "Remove document?",
  "common.fundingTemplateLabel.removeField": "Remove field",
  "common.fundingTemplateLabel.removeFieldConfirmDescription": "Remove \":label\" from this scenario? Save the template to persist changes.",
  "common.fundingTemplateLabel.removeFieldConfirmTitle": "Remove field?",
  "common.fundingTemplateLabel.removeForecastEvent": "Remove forecast event",
  "common.fundingTemplateLabel.removeForecastEventConfirmDescription": "Remove \":label\" from this scenario? Save the template to persist changes.",
  "common.fundingTemplateLabel.removeForecastEventConfirmTitle": "Remove forecast event?",
  "common.fundingTemplateLabel.removeScenario": "Remove scenario",
  "common.fundingTemplateLabel.resourcesSaved": "Saved",
  "common.fundingTemplateLabel.saveDetails": "Save Details",
  "common.fundingTemplateLabel.saveDraft": "Save Draft",
  "common.fundingTemplateLabel.saveFailed": "Unable to save the funding template. Check the fields and try again.",
  "common.fundingTemplateLabel.saveInvoiceRules": "Save invoice rules",
  "common.fundingTemplateLabel.saveResources": "Save resources",
  "common.fundingTemplateLabel.savedSuccessfully": "Funding template updated successfully.",
  "common.fundingTemplateLabel.saving": "Saving...",
  "common.fundingTemplateLabel.scenarioAddedSuccessfully": "Scenario added successfully.",
  "common.fundingTemplateLabel.scenarioBuildPickerHint": "Select a scenario to configure its builder sections.",
  "common.fundingTemplateLabel.scenarioBuilderDocumentsEmpty": "Use Add Document to define uploads. You can reorder blocks by dragging.",
  "common.fundingTemplateLabel.scenarioBuilderDocumentsHint": "Add or edit documents in a modal. Drag blocks to reorder; use actions to move, clone, or remove.",
  "common.fundingTemplateLabel.scenarioBuilderFieldsEmpty": "Use Add Field to create questions. You can reorder blocks by dragging.",
  "common.fundingTemplateLabel.scenarioBuilderFieldsHint": "Add or edit fields in a modal. Drag blocks to reorder; use actions to move, clone, or remove.",
  "common.fundingTemplateLabel.scenarioBuilderForecastEmpty": "Add forecast events to preview cash flow timing and amount logic.",
  "common.fundingTemplateLabel.scenarioBuilderForecastHint": "Define event timing and pay-to routing. Percent is optional — leave it blank so the case Number Expected Disbursements splits the expected amount equally (2 = 50% each, 3 = 33.33% each).",
  "common.fundingTemplateLabel.scenarioBuilderInvoiceHint": "Define how finance invoices are created when staff work a funding case against this scenario.",
  "common.fundingTemplateLabel.scenarioBuilderNoScenarios": "Add a scenario on the previous step to unlock the scenario builders.",
  "common.fundingTemplateLabel.scenarioBuilderSections": "Scenario builder sections",
  "common.fundingTemplateLabel.scenarioBuilderWorkflowHint": "Configure statuses, transitions, readiness rules, and optional SLA timers.",
  "common.fundingTemplateLabel.scenarioClonedSuccessfully": "Scenario cloned successfully.",
  "common.fundingTemplateLabel.scenarioDeletedSuccessfully": "Scenario deleted successfully.",
  "common.fundingTemplateLabel.scenarioDocumentSummary": "Document key :key",
  "common.fundingTemplateLabel.scenarioFieldSummary": "Key :key ? :required",
  "common.fundingTemplateLabel.scenarioHeaderStatusGroup": "Scenario status and metadata",
  "common.fundingTemplateLabel.scenarioKeyRequired": "Each scenario needs a unique key.",
  "common.fundingTemplateLabel.scenarioLabelRequired": "A scenario label is required.",
  "common.fundingTemplateLabel.scenarioRequired": "Add at least one scenario before continuing.",
  "common.fundingTemplateLabel.scenarioResourceCanonical": "Canonical: :value",
  "common.fundingTemplateLabel.scenarioResourceCustomField": "Custom field column: :value",
  "common.fundingTemplateLabel.scenarioFieldCustomFieldColumn": "Funding case column",
  "common.fundingTemplateLabel.scenarioWorkflowStatusesHint": "Create a new status or choose an existing one. This saves on the current version, including published templates.",
  "common.fundingTemplateLabel.addWorkflowStatus": "Add status",
  "common.fundingTemplateLabel.workflowStatusAddMode": "How do you want to add it?",
  "common.fundingTemplateLabel.workflowStatusCreateNew": "Create a new status",
  "common.fundingTemplateLabel.workflowStatusSelectExisting": "Select a funding case status",
  "common.fundingTemplateLabel.workflowStatusSelectPlaceholder": "Choose a status",
  "common.fundingTemplateLabel.workflowStatusNoExisting": "Every funding case status is already on this scenario.",
  "common.fundingTemplateLabel.removeWorkflowStatus": "Remove status",
  "common.fundingTemplateLabel.removeWorkflowStatusConfirm": "Remove this status from the scenario? Existing cases keep the status they already have.",
  "common.fundingTemplateLabel.saveWorkflowStatuses": "Save statuses",
  "common.fundingTemplateLabel.editWorkflowStatuses": "Edit statuses",
  "common.fundingTemplateLabel.editWorkflowStatus": "Edit status",
  "common.fundingTemplateLabel.workflowStatusLabelSaved": "Status label saved.",
  "common.fundingTemplateLabel.searchWorkflowStatuses": "Search statuses by label or key",
  "common.fundingTemplateLabel.workflowStatusContactsHint": "Contacts in this status, counted separately for each template version.",
  "common.fundingTemplateLabel.workflowStatusesEmpty": "No statuses matched your search.",
  "common.fundingTemplateLabel.shareWorkflowStatuses": "Add this status to every scenario",
  "common.fundingTemplateLabel.shareWorkflowStatusesHint": "Other scenarios keep their own statuses. This status is added where it is missing.",
  "common.fundingTemplateLabel.enableWorkflowStatusForAllScenarios": "Enable for all scenarios",
  "common.fundingTemplateLabel.enableWorkflowStatusForAllScenariosHint": "Turn this on to use the status on every scenario. Turn it off to keep it on this scenario only.",
  "common.fundingTemplateLabel.workflowStatusLastOnScenario": "This is the only status on :scenario. Add another status there before turning this off.",
  "common.fundingTemplateLabel.workflowStatusesSaved": "Workflow statuses saved.",
  "common.fundingTemplateLabel.workflowStatusKeyHint": "The key stays fixed after save so existing cases keep their status.",
  "common.fundingTemplateLabel.workflowStatusesRequired": "Add at least one workflow status.",
  "common.fundingTemplateLabel.workflowStatusesLimit": "A scenario can have at most 40 workflow statuses.",
  "common.fundingTemplateLabel.workflowStatusLabelRequired": "Each status needs a label.",
  "common.fundingTemplateLabel.workflowStatusLabelTooLong": "A status label can be at most 120 characters.",
  "common.fundingTemplateLabel.workflowStatusNotOnScenario": "That status is not on this scenario.",
  "common.fundingTemplateLabel.workflowStatusKeyDuplicate": "Status keys must be unique.",
  "common.fundingTemplateLabel.workflowStatusKeyInvalid": "Status keys must start with a letter and use only lowercase letters, numbers, and underscores.",
  "common.fundingTemplateLabel.workflowStatusInvoiceReference": "The invoice settings for :scenario still reference \":status\". Update that trigger before removing the status.",
  "common.fundingTemplateLabel.workflowStatusesDriveCases": "Funding cases for this scenario will use this status list.",
  "common.fundingTemplateLabel.workflowStatusesUseDefaultLifecycle": "Funding cases still use the standard lifecycle until this list differs from the default workflow.",
  "common.fundingTemplateLabel.scenarioResourceConditional": ":count conditional",
  "common.fundingTemplateLabel.scenarioResourceHasDefault": "Default value",
  "common.fundingTemplateLabel.scenarioResourceOptional": ":count optional",
  "common.fundingTemplateLabel.scenarioResourceRequired": ":count required",
  "common.fundingTemplateLabel.scenarioResourceRequiresApproval": ":count need approval",
  "common.fundingTemplateLabel.scenarioResourceTotal": ":count total",
  "common.fundingTemplateLabel.scenarioResourcesSavedSuccessfully": "Scenario resources saved successfully.",
  "common.fundingTemplateLabel.scenarioResourceTotal": ":count total",
  "common.fundingTemplateLabel.scenarioResourceRequired": ":count required",
  "common.fundingTemplateLabel.scenarioResourceOptional": ":count optional",
  "common.fundingTemplateLabel.scenarioResourceConditional": ":count conditional",
  "common.fundingTemplateLabel.scenarioResourceRequiresApproval": ":count need approval",
  "common.fundingTemplateLabel.scenarioResourceHasDefault": "Default value",
  "common.fundingTemplateLabel.scenarioResourceCanonical": "Canonical: :value",
  "common.fundingTemplateLabel.scenarioForecastPercentAllocated": "Percent allocated",
  "common.fundingTemplateLabel.scenarioForecastPercentAtCapacity": "100% allocated",
  "common.fundingTemplateLabel.scenarioShowFieldsHint": "Fields staff or students complete when working a funding case for this scenario.",
  "common.fundingTemplateLabel.scenarioShowDocumentsHint": "Upload requirements and review rules for this scenario.",
  "common.fundingTemplateLabel.scenarioShowForecastHint": "Disbursement events that drive forecast dates, amounts, and pay-to routing.",
  "common.fundingTemplateLabel.scenarioSectionBasics": "Scenario identity",
  "common.fundingTemplateLabel.scenarioSectionBasicsDesc": "Label, key, and description for this funding path.",
  "common.fundingTemplateLabel.scenarioSectionCounts": "Assigned content",
  "common.fundingTemplateLabel.scenarioSectionCountsDesc": "Fields, documents, workflow, and forecast events configured for this scenario.",
  "common.fundingTemplateLabel.scenarioSummary": ":fields fields ? :documents documents ? :forecast forecast events",
  "common.fundingTemplateLabel.scenarioTabInvoices": "Invoices",
  "common.fundingTemplateLabel.scenarioTabSettings": "Scenario details",
  "common.fundingTemplateLabel.scenarioUpdatedSuccessfully": "Scenario updated successfully.",
  "common.fundingTemplateLabel.scenarioWorkflowReadinessDesc": "Readiness rules that gate case progression.",
  "common.fundingTemplateLabel.scenarioWorkflowSlasDesc": "Optional SLA timers for follow-up thresholds.",
  "common.fundingTemplateLabel.scenarioWorkflowStatusesDesc": "Workflow statuses defined for this scenario.",
  "common.fundingTemplateLabel.scenarioWorkflowTransitionsDesc": "Allowed status transitions.",
  "common.fundingTemplateLabel.scenariosEmpty": "No scenarios yet",
  "common.fundingTemplateLabel.scenariosEmptyDesc": "Add a scenario to configure fields, documents, workflow, and forecast events.",
  "common.fundingTemplateLabel.scenariosRepeaterEmpty": "Add a scenario to define fields, documents, workflow, and forecast events.",
  "common.fundingTemplateLabel.scenariosRepeaterHint": "Each scenario defines a funding path. The key auto-generates from the label unless you edit it.",
  "common.fundingTemplateLabel.scenariosRepeaterTitle": "Scenarios",
  "common.fundingTemplateLabel.searchScenarios": "Search scenarios by label, key, or description",
  "common.fundingTemplateLabel.searchVersions": "Search versions by status or number",
  "common.fundingTemplateLabel.sectionBasics": "Funding type",
  "common.fundingTemplateLabel.sectionBasicsDesc": "Identity, jurisdiction, and publication status.",
  "common.fundingTemplateLabel.sectionDetails": "Details and explanation",
  "common.fundingTemplateLabel.sectionDetailsDesc": "Short summary and guidance for staff choosing or importing this template.",
  "common.fundingTemplateLabel.sectionVersion": "Version metadata",
  "common.fundingTemplateLabel.sectionVersionDesc": "Effective dates, scenario count, and validation snapshot.",
  "common.fundingTemplateLabel.showTemplate": "Funding Template",
  "common.fundingTemplateLabel.showTemplateDescription": "Manage schema versions, validate advanced JSON, preview scenarios, and publish immutable versions.",
  "common.fundingTemplateLabel.stepProgress": "Step :current of :total",
  "common.fundingTemplateLabel.stepReview": "Review & validate",
  "common.fundingTemplateLabel.stepReviewHint": "Inspect schema JSON, validation results, and changes before saving the draft.",
  "common.fundingTemplateLabel.stepScenarioBuild": "Scenario builder",
  "common.fundingTemplateLabel.stepScenarioBuildHint": "Configure fields, documents, workflow, forecast, invoice rules, and readiness rules for the selected scenario.",
  "common.fundingTemplateLabel.stepScenarios": "Scenarios",
  "common.fundingTemplateLabel.stepScenariosHint": "Add scenarios with label, key, and description. Configure fields, documents, workflow, forecast, and invoice rules on the next step.",
  "common.fundingTemplateLabel.stepTemplateDetails": "Template details",
  "common.fundingTemplateLabel.stepTemplateDetailsHint": "Configure funding type identifiers, effective dates, and version metadata.",
  "common.fundingTemplateLabel.stepTemplateDetailsHintCreate": "Enter funding type identifiers and effective dates. After you create the draft, you will land on the template details page to add scenarios and configure fields, documents, and forecast events.",
  "common.fundingTemplateLabel.tabScenarios": "Scenarios",
  "common.fundingTemplateLabel.tabSettings": "Template details",
  "common.fundingTemplateLabel.tabValidation": "Validation",
  "common.fundingTemplateLabel.tabVersions": "Versions",
  "common.fundingTemplateLabel.templateDeletedSuccessfully": "Funding template deleted successfully.",
  "common.fundingTemplateLabel.typeKeyRequired": "A funding type key is required.",
  "common.fundingTemplateLabel.typeLabelRequired": "A funding type label is required.",
  "common.fundingTemplateLabel.unsavedInvoiceChanges": "Unsaved invoice changes",
  "common.fundingTemplateLabel.unsavedInvoiceChangesHint": "use Save invoice rules at the bottom of this tab before switching tabs or leaving the page.",
  "common.fundingTemplateLabel.unsavedInvoiceChangesScrollToSave": "Unsaved invoice changes ? scroll to save button",
  "common.fundingTemplateLabel.validationFailed": "Schema issues found",
  "common.fundingTemplateLabel.validationPassed": "Schema valid",
  "common.fundingTemplateLabel.validationSummaryHint": "Review schema, workflow rule, and forecast validation results for this version.",
  "common.fundingTemplateLabel.versionsEmpty": "No versions found",
  "common.fundingTemplateLabel.viewTemplate": "View template",
  "common.fundingTemplateLabel.wizardNavigation": "Wizard navigation",
  "common.fundingTemplateLabel.workflowReadinessEmpty": "Add readiness rules to gate when a case can advance.",
  "common.fundingTemplateLabel.workflowSlasEmpty": "Add SLA timers for optional follow-up thresholds.",
  "common.fundingTemplateLabel.workflowStatusesEmpty": "Add at least one status before defining transitions or SLA timers.",
  "common.fundingTemplateLabel.workflowTransitionsEmpty": "Add transitions to connect workflow statuses.",
  "common.goalConversionSignalLabel.description": ":percent% of runs",
  "common.goalReachedHintLabel.description": "Goal completions may exceed runs when a workflow can reach the goal more than once.",
  "common.goalReachedLabel.title": "Goal reached",
  "common.goalsLabel.title": "Goals",
  "common.goodLabel.title": "Good",
  "common.gradeLabel.assignedStudents": "Assigned Students",
  "common.gradeLabel.back": "Back",
  "common.gradeLabel.category": "Category",
  "common.gradeLabel.cloneDescription": "Create a new grade from this configuration. Review the details before saving.",
  "common.gradeLabel.cloneFailed": "Unable to clone the grade. Check the highlighted fields and try again.",
  "common.gradeLabel.cloneGrade": "Clone Grade",
  "common.gradeLabel.cloneGradeTitle": "Clone Grade",
  "common.gradeLabel.course": "Course",
  "common.gradeLabel.createCourseGrade": "Create Course Grade",
  "common.gradeLabel.createFailed": "Unable to create the grade. Check the highlighted fields and try again.",
  "common.gradeLabel.createGrade": "Create Grade",
  "common.gradeLabel.createProgramGrade": "Create Program Grade",
  "common.gradeLabel.createSchemaLink": "Create grade schema",
  "common.gradeLabel.deleteGrade": "Delete",
  "common.gradeLabel.deleteGradeConfirm": "Are you sure you want to delete this grade?",
  "common.gradeLabel.deletedSuccessfully": "Grade deleted successfully.",
  "common.gradeLabel.description": "Description",
  "common.gradeLabel.dueDate": "Due Date",
  "common.gradeLabel.editDescription": "Update grade details and assigned cohorts.",
  "common.gradeLabel.editGrade": "Edit",
  "common.gradeLabel.editGradeTitle": "Edit Grade",
  "common.gradeLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.gradeLabel.grades": "grades",
  "common.gradeLabel.gradesEmpty": "No grades matched the current search or filters.",
  "common.gradeLabel.groups": "Cohorts",
  "common.gradeLabel.groupsRequired": "Select at least one cohort.",
  "common.gradeLabel.id": "ID",
  "common.gradeLabel.instructor": "Instructor",
  "common.gradeLabel.linkedTo": "Linked To",
  "common.gradeLabel.next": "Next",
  "common.gradeLabel.noGroupsForSchema": "This schema does not have related cohorts yet.",
  "common.gradeLabel.noSchemasWarning": "Create a grade schema before adding grades.",
  "common.gradeLabel.pageTitle": "Grades",
  "common.gradeLabel.points": "Points",
  "common.gradeLabel.pointsInvalid": "Points must be a whole number.",
  "common.gradeLabel.pointsRequired": "Enter points.",
  "common.gradeLabel.program": "Program",
  "common.gradeLabel.published": "Published",
  "common.gradeLabel.schema": "Schema",
  "common.gradeLabel.schemaRequired": "Select a schema.",
  "common.gradeLabel.searchGrades": "Search grades by title",
  "common.gradeLabel.selectCohorts": "Select cohorts",
  "common.gradeLabel.selectSchema": "Select a schema",
  "common.gradeLabel.stepAnnouncement": ":step, step :current of :total",
  "common.gradeLabel.stepInformation": "Grade Information",
  "common.gradeLabel.stepInformationHint": "Select a schema, review the copied grade details, and choose the cohorts that should receive this grade.",
  "common.gradeLabel.stepProgress": "Step :current of :total",
  "common.gradeLabel.studentGrade": "Grade",
  "common.gradeLabel.title": "Title",
  "common.gradeLabel.titleRequired": "Enter a title.",
  "common.gradeLabel.updateFailed": "Unable to update the grade. Check the highlighted fields and try again.",
  "common.gradeLabel.updateGrade": "Save Grade",
  "common.gradeLabel.wizardFooterAria": "Grade wizard actions",
  "common.gradeLabel.wizardNavigation": "Grade create steps",
  "common.gradeSchemaLabel.addRubricLevel": "Add Level",
  "common.gradeSchemaLabel.back": "Back",
  "common.gradeSchemaLabel.category": "Category",
  "common.gradeSchemaLabel.categoryRequired": "Select a category.",
  "common.gradeSchemaLabel.cloneFailed": "Unable to clone the grade schema. Check the highlighted fields and try again.",
  "common.gradeSchemaLabel.cloneGradeSchema": "Clone Grade Schema",
  "common.gradeSchemaLabel.cloneGradeSchemaTitle": "Clone Grade Schema",
  "common.gradeSchemaLabel.course": "Course",
  "common.gradeSchemaLabel.courseRequired": "Select a course.",
  "common.gradeSchemaLabel.createFailed": "Unable to create the grade schema. Check the highlighted fields and try again.",
  "common.gradeSchemaLabel.createGradeSchema": "Create Grade Schema",
  "common.gradeSchemaLabel.deleteGradeSchema": "Delete",
  "common.gradeSchemaLabel.deleteGradeSchemaConfirm": "Are you sure you want to delete this grade schema?",
  "common.gradeSchemaLabel.deletedSuccessfully": "Grade schema deleted successfully.",
  "common.gradeSchemaLabel.description": "Description",
  "common.gradeSchemaLabel.dueDate": "Due Date",
  "common.gradeSchemaLabel.editGradeSchema": "Edit",
  "common.gradeSchemaLabel.editGradeSchemaTitle": "Edit Grade Schema",
  "common.gradeSchemaLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.gradeSchemaLabel.gradeSchemas": "grade schemas",
  "common.gradeSchemaLabel.gradeSchemasEmpty": "No grade schemas matched the current search or filters.",
  "common.gradeSchemaLabel.id": "ID",
  "common.gradeSchemaLabel.instructor": "Instructor",
  "common.gradeSchemaLabel.instructorRequired": "Select an instructor.",
  "common.gradeSchemaLabel.levelDescription": "Level Description",
  "common.gradeSchemaLabel.levelMaxPoints": "Maximum Points",
  "common.gradeSchemaLabel.levelMinPoints": "Minimum Points",
  "common.gradeSchemaLabel.levelTitle": "Level Title",
  "common.gradeSchemaLabel.linkCourses": "Link Courses",
  "common.gradeSchemaLabel.linkCoursesHint": "Attach this grade schema to a specific course in the selected program.",
  "common.gradeSchemaLabel.linkedTo": "Linked To",
  "common.gradeSchemaLabel.meazureProduct": "Product",
  "common.gradeSchemaLabel.meazureProductRequired": "Select an exam product.",
  "common.gradeSchemaLabel.next": "Next",
  "common.gradeSchemaLabel.noCoursesForProgram": "No courses are assigned to this program.",
  "common.gradeSchemaLabel.noInstructorsAvailable": "No instructors are available.",
  "common.gradeSchemaLabel.noInstructorsForCourse": "No instructors are assigned to this course.",
  "common.gradeSchemaLabel.noRubricLevels": "No rubric levels yet.",
  "common.gradeSchemaLabel.pageTitle": "Grade Schemas",
  "common.gradeSchemaLabel.points": "Points",
  "common.gradeSchemaLabel.pointsInvalid": "Points must be a whole number.",
  "common.gradeSchemaLabel.pointsRequired": "Enter points.",
  "common.gradeSchemaLabel.program": "Program",
  "common.gradeSchemaLabel.programRequired": "Select a program.",
  "common.gradeSchemaLabel.removeRubricLevel": "Remove rubric level",
  "common.gradeSchemaLabel.rubricDescription": "Description",
  "common.gradeSchemaLabel.rubricDisabledHint": "This grade schema will be created without rubric levels.",
  "common.gradeSchemaLabel.rubricEnabled": "Enable Rubric",
  "common.gradeSchemaLabel.rubricEnabledHint": "Add rubric title, description, and scoring levels.",
  "common.gradeSchemaLabel.rubricLevelMaxInvalid": "Maximum points must be a whole number.",
  "common.gradeSchemaLabel.rubricLevelMaxRequired": "Enter maximum points.",
  "common.gradeSchemaLabel.rubricLevelMinInvalid": "Minimum points must be a whole number.",
  "common.gradeSchemaLabel.rubricLevelMinRequired": "Enter minimum points.",
  "common.gradeSchemaLabel.rubricLevelRow": "Level :number",
  "common.gradeSchemaLabel.rubricLevelTitleRequired": "Enter a level title.",
  "common.gradeSchemaLabel.rubricLevels": "Rubric Levels",
  "common.gradeSchemaLabel.rubricLevelsHint": "Each level needs a title and a minimum and maximum point value.",
  "common.gradeSchemaLabel.rubricLevelsInvalid": "Complete the highlighted rubric levels.",
  "common.gradeSchemaLabel.rubricLevelsRequired": "Add at least one rubric level.",
  "common.gradeSchemaLabel.rubricTitle": "Title",
  "common.gradeSchemaLabel.rubricTitleRequired": "Enter a rubric title.",
  "common.gradeSchemaLabel.save": "Save",
  "common.gradeSchemaLabel.searchGradeSchemas": "Search grade schemas by title",
  "common.gradeSchemaLabel.selectCategory": "Select a category",
  "common.gradeSchemaLabel.selectCourse": "Select a course",
  "common.gradeSchemaLabel.selectInstructor": "Select an instructor",
  "common.gradeSchemaLabel.selectProduct": "Select an exam product",
  "common.gradeSchemaLabel.selectProgram": "Select a program",
  "common.gradeSchemaLabel.stepAnnouncement": ":step, step :current of :total",
  "common.gradeSchemaLabel.stepInformation": "Information",
  "common.gradeSchemaLabel.stepInformationHint": "Add the grading schema details and choose the program or course it belongs to.",
  "common.gradeSchemaLabel.stepMeazure": "Meazure Learning Settings",
  "common.gradeSchemaLabel.stepMeazureHint": "Choose the linked exam product for this grade schema.",
  "common.gradeSchemaLabel.stepProgress": "Step :current of :total",
  "common.gradeSchemaLabel.stepRubric": "Create/Add Rubric",
  "common.gradeSchemaLabel.stepRubricHint": "Optionally define rubric levels and point ranges for this schema.",
  "common.gradeSchemaLabel.title": "Title",
  "common.gradeSchemaLabel.titleRequired": "Enter a title.",
  "common.gradeSchemaLabel.updateFailed": "Unable to update the grade schema. Check the highlighted fields and try again.",
  "common.gradeSchemaLabel.wizardFooterAria": "Grade schema wizard actions",
  "common.gradeSchemaLabel.wizardNavigation": "Grade schema create steps",
  "common.gridLabel.activeFilters": "Active filters",
  "common.gridLabel.clearFilters": "Clear filters",
  "common.gridLabel.filteredEmptyDescription": "Try adjusting your search or filters to find what you need.",
  "common.gridLabel.filteredEmptyHint": "Use Reset to clear search and filters.",
  "common.gridLabel.filteredEmptyTitle": "No matching records",
  "common.gridLabel.loadFailed": "Unable to load table data. Please try again.",
  "common.gridLabel.loadingRows": "Loading rows...",
  "common.gridLabel.loadingViews": "Loading table views",
  "common.gridLabel.removeFilter": "Remove filter for :label",
  "common.gridLabel.rowSelected": ":count row selected",
  "common.gridLabel.rowsSelected": ":count rows selected",
  "common.gridLabel.searchRecords": "Search records",
  "common.gridLabel.pageCurrentOnly": "Page :current",
  "common.gridLabel.jumpToPage": "Jump to a Page",
  "common.gridLabel.jumpToPageInput": "Page number",
  "common.gridLabel.jumpToPageGo": "Go to page",
  "common.gridLabel.resultSummaryNoTotal": ":from to :to :label",
  "common.gridLabel.resultSummaryEmptyNoTotal": "0 :label",
  "common.gridLabel.allOnPageSelected": "All :count on this page are selected.",
  "common.gridLabel.selectAllMatching": "Select all :count matching records",
  "common.gridLabel.selectAllMatchingNoTotal": "Select all matching records",
  "common.gridLabel.allMatchingSelected": "All :count matching records are selected.",
  "common.gridLabel.allMatchingSelectedNoTotal": "All matching records are selected.",
  "common.gridLabel.clearSelection": "Clear selection",
  "common.gridLabel.exportCurrentPageCsv": "Export current page (CSV)",
  "common.gridLabel.exportCurrentPageExcel": "Export current page (Excel)",
  "common.gridLabel.exportSelectedRows": "Export selected rows (CSV)",
  "common.gridLabel.exportAllMatching": "Export All Results (CSV)",
  "common.gridLabel.exportAllQueued": "Export started. You will be notified when the file is ready.",
  "common.gridLabel.exportAllReady": "Export ready. Download started.",
  "common.gridLabel.exportAllFailed": "Unable to export matching records.",
  "common.gridLabel.exportAllUnsupported": "Export all matching is not available for this table.",
  "common.gridLabel.bulkMatchingNotSupported": "This bulk action does not support select-all matching yet.",
  "common.gridLabel.bulkMatchingTooMany": "Too many matching records to process at once (limit :max). Narrow your filters and try again.",
  "common.gridLabel.savedViewChangesDiscarded": "Unsaved view changes discarded.",
  "common.gridLabel.densityLabel": "Row density",
  "common.gridLabel.densityCompact": "Compact",
  "common.gridLabel.densityComfortable": "Comfortable",
  "common.gridLabel.densitySpacious": "Spacious",
  "common.gridLabel.fitColumns": "Fit columns",
  "common.gridLabel.autoSizeColumns": "Auto size columns",
  "common.gridLabel.clearRowSelection": "Clear row selection",
  "common.gridLabel.clearCellSelection": "Clear cell selection",
  "common.gridLabel.clearCharts": "Clear charts",
  "common.gridLabel.resetTableLayout": "Reset layout",
  "common.gridLabel.createListFromView": "Create a static list",
  "common.gridLabel.createListFromViewTitle": "Create a static list from view",
  "common.gridLabel.createListFromViewHelp": "Create a static list with :count matching contact(s) using this view's filters.",
  "common.gridLabel.createListFromViewLoading": "Counting matching contacts...",
  "common.gridLabel.createListFromViewName": "List name",
  "common.gridLabel.createListFromViewNamePlaceholder": "Filtered contacts",
  "common.gridLabel.createListFromViewNameRequired": "Enter a list name.",
  "common.gridLabel.createListFromViewConfirm": "Create list",
  "common.gridLabel.createListFromViewNoContacts": "No contacts match this view. Adjust filters and try again.",
  "common.gridLabel.createListFromViewPermission": "You do not have permission to create lists.",
  "common.gridLabel.createListFromViewUnsupported": "This table cannot be saved as a marketing list.",
  "common.gridLabel.createListFromViewUnavailable": "Create list is unavailable on this page.",
  "common.gridLabel.createListFromViewPreviewFailed": "Unable to count matching contacts.",
  "common.gridLabel.createListFromViewSubmitFailed": "Unable to create the marketing list.",
  "common.gridLabel.createListFromViewSuccess": "Static list \":name\" created with :count contact(s).",
  "common.gridLabel.createListFromViewSuccessGeneric": "Marketing list created.",
  "common.gridLabel.createListFromViewTruncated": "Only the first 5,000 matching contacts will be added. Refine filters for a smaller segment.",
  "common.gridLabel.createListFromViewCreatedFromView": "Created from table view: :view",
  "common.gridLabel.createListFromViewCreatedFromGrid": "Created from filtered contacts grid",
  "common.groupLabel.active": "Active",
  "common.groupLabel.addSchedule": "Add Schedule",
  "common.groupLabel.addScheduleDescription": "Create a schedule and add it to this cohort.",
  "common.groupLabel.addStudents": "Add Students",
  "common.groupLabel.addStudentsDescription": "Search for existing students, select their enrollment status, and add them to this cohort.",
  "common.groupLabel.addStudentsListDescription": "Choose a list to enroll all of its students in this cohort, then select their enrollment status.",
  "common.groupLabel.addStudentsSourceLabel": "Add students from",
  "common.groupLabel.addStudentsSourceList": "From list",
  "common.groupLabel.addStudentsSourceStudents": "Search students",
  "common.groupLabel.selectListPlaceholder": "Select a list",
  "common.groupLabel.enrollListHasNoStudents": "That list has no students to enroll.",
  "common.groupLabel.enrollListNotFound": "That list is not available.",
  "common.groupLabel.enrollStudentsOrListNotBoth": "Choose either individual students or a list, not both.",
  "common.groupLabel.back": "Back",
  "common.groupLabel.backToCohort": "Back to cohort",
  "common.groupLabel.backToList": "Back to cohorts",
  "common.groupLabel.bulkDeleteAction": "Delete selected cohorts",
  "common.groupLabel.bulkDeleteConfirm": "This will delete the selected cohorts. This action cannot be undone.",
  "common.groupLabel.bulkDeleteFailed": "Unable to delete the selected cohorts right now.",
  "common.groupLabel.bulkDeleteTitle": "Delete selected cohorts?",
  "common.groupLabel.bulkDeletedSuccessfully": ":count cohort(s) deleted successfully.",
  "common.groupLabel.campus": "Campus",
  "common.groupLabel.campusRequired": "Campus is required.",
  "common.groupLabel.cancel": "Cancel",
  "common.groupLabel.cloneCohort": "Clone Cohort",
  "common.groupLabel.cloneFailed": "The cohort could not be cloned. Check the highlighted fields and try again.",
  "common.groupLabel.clonedSuccessfully": "Cohort cloned successfully.",
  "common.groupLabel.course": "Course",
  "common.groupLabel.cohortType": "Cohort Type",
  "common.groupLabel.courseCohort": "Course Cohort",
  "common.groupLabel.courseCohortEyebrow": "Course Cohort",
  "common.groupLabel.courseEndDateRequired": "Course end date is required when a start date is set.",
  "common.groupLabel.courseName": "Course Name",
  "common.groupLabel.courseRequired": "Course is required.",
  "common.groupLabel.courseRowsIncomplete": "Complete both course dates for every course row you started.",
  "common.groupLabel.courseStartDateRequired": "Course start date is required when an end date is set.",
  "common.groupLabel.courses": "Courses",
  "common.groupLabel.coursesEmpty": "There are no courses linked to this program cohort yet.",
  "common.groupLabel.coursesEmptyTitle": "No courses",
  "common.groupLabel.coursesCohortsTab": "Course Cohorts",
  "common.groupLabel.coursesTitle": "Courses",
  "common.groupLabel.createCourseCohort": "Add Course Cohort",
  "common.groupLabel.createCourseCohortDescription": "Set course dates, campus, schedule, and instructors for this course cohort.",
  "common.groupLabel.createCourseCohortSaved": "Course cohort created successfully.",
  "common.groupLabel.createCourseCohortTitle": "Create Course Cohort — :course",
  "common.groupLabel.createFailed": "The cohort could not be created. Check the highlighted fields and try again.",
  "common.groupLabel.createGroup": "Create Cohort",
  "common.groupLabel.createProgramCohort": "Add Program Cohort",
  "common.groupLabel.customFieldsEmpty": "No custom properties are configured for cohorts yet.",
  "common.groupLabel.customFieldsRequired": "Complete the required custom properties before continuing.",
  "common.groupLabel.deleteGroup": "Delete",
  "common.groupLabel.deleteGroupConfirm": "Are you sure you want to delete this cohort?",
  "common.groupLabel.deletedSuccessfully": "Cohort deleted successfully.",
  "common.groupLabel.deselectAll": "Deselect all",
  "common.groupLabel.detailsRequired": "Complete the required cohort details before continuing.",
  "common.groupLabel.detailsTab": "Cohort",
  "common.groupLabel.editGroup": "Edit",
  "common.groupLabel.editCourseCohortDescription": "Update course dates, campus, schedule, and instructors for this course cohort.",
  "common.groupLabel.editCourseCohortCourseHint": "Course: :course",
  "common.groupLabel.editCourseCohortLoadError": "Unable to load the course cohort form. Please try again.",
  "common.groupLabel.editCourseCohortSaveError": "Unable to save the course cohort. Check the highlighted fields and try again.",
  "common.groupLabel.editCourseCohortSaved": "Course cohort updated successfully.",
  "common.groupLabel.editCourseCohortTitle": "Edit Course Cohort — :course",
  "common.groupLabel.editProgramCohorts": "Edit Program Cohorts",
  "common.groupLabel.deleteCourseCohortConfirm": "Deleting this course cohort will delete all the related data (lessons and grades).",
  "common.groupLabel.endDate": "End Date",
  "common.groupLabel.endDateAfterStart": "End date must be on or after the start date.",
  "common.groupLabel.endDateRequired": "End date is required.",
  "common.groupLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.groupLabel.gradesEmpty": "There are no student grades recorded for this cohort yet.",
  "common.groupLabel.gradesEmptyTitle": "No grades",
  "common.groupLabel.gradesTitle": "Grades",
  "common.groupLabel.gradingsEmpty": "There are no gradings configured for this cohort yet.",
  "common.groupLabel.gradingsEmptyTitle": "No gradings",
  "common.groupLabel.gradingsTitle": "Gradings",
  "common.groupLabel.groups": "cohorts",
  "common.groupLabel.groupsEmpty": "No cohorts matched the current search or filters.",
  "common.groupLabel.id": "ID",
  "common.groupLabel.importCohorts": "Import Cohorts",
  "common.groupLabel.importEnrollments": "Import Enrollments",
  "common.groupLabel.instructors": "Instructors",
  "common.groupLabel.lessonsEmpty": "There are no lessons scheduled for this cohort yet.",
  "common.groupLabel.lessonsEmptyTitle": "No lessons",
  "common.groupLabel.lessonsTitle": "Lessons",
  "common.groupLabel.next": "Next",
  "common.groupLabel.no": "No",
  "common.groupLabel.noCampuses": "You don't have any campuses. Please add a campus first.",
  "common.groupLabel.noCourseInstructors": "No instructors are assigned to this course.",
  "common.groupLabel.noCoursesForCampuses": "No active courses are available for the selected campuses.",
  "common.groupLabel.noProgramCourses": "You don't have any courses for the selected program.",
  "common.groupLabel.pageTitle": "Cohorts",
  "common.groupLabel.program": "Program",
  "common.groupLabel.programCohort": "Program Cohort",
  "common.groupLabel.programCohortEyebrow": "Program Cohort",
  "common.groupLabel.programCohorts": "Program Cohorts",
  "common.groupLabel.programCohortsDescription": "Select the program cohorts this course cohort belongs to.",
  "common.groupLabel.programCohortsLoadError": "Unable to load program cohorts. Please try again.",
  "common.groupLabel.programCohortsSaveError": "Unable to save program cohorts. Check the highlighted fields and try again.",
  "common.groupLabel.programCohortsUpdated": "Program cohorts updated successfully.",
  "common.groupLabel.programRequired": "Program is required.",
  "common.groupLabel.programs": "Programs",
  "common.groupLabel.saveSchedule": "Save Schedule",
  "common.groupLabel.saving": "Saving...",
  "common.groupLabel.schedule": "Schedule",
  "common.groupLabel.scheduleCreateFailed": "The schedule could not be added. Check the highlighted fields and try again.",
  "common.groupLabel.scheduleCreated": "Schedule added successfully.",
  "common.groupLabel.scheduleEndTime": "End time",
  "common.groupLabel.scheduleEndTimeRequired": "End time is required.",
  "common.groupLabel.scheduleLabel": "Label",
  "common.groupLabel.scheduleLabelRequired": "Schedule label is required.",
  "common.groupLabel.scheduleRequired": "Schedule is required.",
  "common.groupLabel.scheduleStartTime": "Start time",
  "common.groupLabel.scheduleStartTimeRequired": "Start time is required.",
  "common.groupLabel.schedules": "Schedules",
  "common.groupLabel.searchCourses": "Search courses",
  "common.groupLabel.searchGrades": "Search grades",
  "common.groupLabel.searchGradings": "Search gradings",
  "common.groupLabel.searchGroups": "Search cohorts by title",
  "common.groupLabel.searchLessons": "Search lessons",
  "common.groupLabel.searchStudents": "Search students",
  "common.groupLabel.sectionBasics": "Basics",
  "common.groupLabel.sectionBasicsDesc": "Title, linked program or course, campus, and intake.",
  "common.groupLabel.sectionCustomFields": "Additional fields",
  "common.groupLabel.sectionCustomFieldsDesc": "School-defined details for this cohort.",
  "common.groupLabel.selectCampus": "Select campus",
  "common.groupLabel.selectCampusFirst": "Select a campus first",
  "common.groupLabel.selectCampuses": "Select campuses",
  "common.groupLabel.selectCourse": "Select course",
  "common.groupLabel.selectInstructors": "Select instructors",
  "common.groupLabel.selectSchedules": "Select schedules",
  "common.groupLabel.selectProgram": "Select program",
  "common.groupLabel.selectProgramFirst": "Select a program first.",
  "common.groupLabel.selectSchedule": "Select schedule",
  "common.groupLabel.selectedStudentsCount": ":count selected students",
  "common.groupLabel.startDate": "Start Date",
  "common.groupLabel.startDateRequired": "Start date is required.",
  "common.groupLabel.stepAnnouncement": ":step, step :current of :total",
  "common.groupLabel.stepCourseDetailsHint": "Campus, course, dates, schedule, and instructors.",
  "common.groupLabel.stepCustomFields": "Custom Properties",
  "common.groupLabel.stepDetails": "Cohort Details",
  "common.groupLabel.stepDetailsHint": "Campus, program, dates, and schedule.",
  "common.groupLabel.stepProgramCourses": "Program Courses",
  "common.groupLabel.stepProgramCoursesHint": "Course dates and instructors for sub-cohorts.",
  "common.groupLabel.stepProgress": "Step :current of :total",
  "common.groupLabel.students": "Students",
  "common.groupLabel.studentsAddedSuccessfully": "Students added successfully.",
  "common.groupLabel.studentsEmpty": "There are no students enrolled in this cohort yet.",
  "common.groupLabel.studentsEmptyTitle": "No students",
  "common.groupLabel.studentsTitle": "Students",
  "common.groupLabel.title": "Title",
  "common.groupLabel.titleAutoHelper": "Leave blank to auto generate title following this format: :format",
  "common.groupLabel.updateFailed": "The cohort could not be updated. Check the highlighted fields and try again.",
  "common.groupLabel.wizardNavigation": "Cohort wizard navigation",
  "common.groupLabel.yes": "Yes",
  "common.healthScoreLabel.title": "Health score",
  "common.importLabel.actions": "Actions",
  "common.importLabel.agents": "Agents",
  "common.importLabel.atLeastOneMappingRequired": "Map at least one CSV column before importing.",
  "common.importLabel.availableFields": "Available Fields",
  "common.importLabel.availableFieldsHelp": "Choose the HEM-SP field that should receive each CSV column value.",
  "common.importLabel.backToList": "Back to List",
  "common.importLabel.cancel": "Cancel",
  "common.importLabel.contacts": "Contacts",
  "common.importLabel.whatsappConsent": "WhatsApp Consent",
  "common.importLabel.optedOutChannel": "Opted-out Channel",
  "common.importLabel.contracts": "Contracts",
  "common.importLabel.csvFile": "CSV File",
  "common.importLabel.csvFileHelp": "Choose a CSV or TXT file. You will map columns before importing.",
  "common.importLabel.customFields": "Custom Fields",
  "common.importLabel.detectedColumns": "Detected Columns",
  "common.importLabel.detectedRows": "Detected Rows",
  "common.importLabel.emptyFile": "The selected file does not contain any headers.",
  "common.importLabel.enrollments": "Enrollments",
  "common.importLabel.fileRequired": "Choose a CSV file to upload.",
  "common.importLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.importLabel.groups": "Cohorts",
  "common.importLabel.headersCount": ":count columns detected",
  "common.importLabel.import": "Import",
  "common.importLabel.importFailed": "Import failed. Review your mappings and try again.",
  "common.importLabel.importedSuccessfully": ":count :object imported successfully.",
  "common.importLabel.importing": "Importing...",
  "common.importLabel.instructors": "Instructors",
  "common.importLabel.meetings": "Meetings",
  "common.importLabel.notes": "Notes",
  "common.importLabel.noteOwner": "Note Owner",
  "common.importLabel.calls": "Calls",
  "common.importLabel.callStaff": "Call Staff - Email",
  "common.importLabel.callToNumber": "Call - To Number",
  "common.importLabel.callFromNumber": "Call - From Number",
  "common.importLabel.callDuration": "Call - Duration (seconds)",
  "common.importLabel.callSid": "Call - Call SID",
  "common.importLabel.sms": "SMS Messages",
  "common.importLabel.smsContent": "SMS - Message Content",
  "common.importLabel.smsFromNumber": "SMS - From Number",
  "common.importLabel.smsToNumber": "SMS - To Number",
  "common.importLabel.smsSid": "SMS - Message SID",
  "common.importLabel.smsSentByName": "SMS - Sent By Name",
  "common.importLabel.smsStaff": "SMS Staff - Email",
  "common.importLabel.mappingStepDescription": "Match each CSV column to a HEM-SP field before importing.",
  "common.importLabel.mappingStepTitle": "Map CSV Fields",
  "common.importLabel.pageTitle": "Import :object",
  "common.importLabel.parseFailed": "The file was uploaded but could not be parsed.",
  "common.importLabel.resetMappings": "Reset Mappings",
  "common.importLabel.largeFileWarningTitle": "Large file detected",
  "common.importLabel.largeFileWarningBody": "This file has :count rows. HEM-SP will import it in chunks of about :chunk rows. Keep the queue worker running and watch progress on this page or under Migrations. Very large imports can take a while.",
  "common.importLabel.rowsCount": ":count rows detected",
  "common.importLabel.rowsCountAtLeast": ":count+ rows detected",
  "common.importLabel.selectField": "Select Field",
  "common.importLabel.selectedFile": "Selected File",
  "common.importLabel.sourceColumns": "CSV Columns",
  "common.importLabel.students": "Students",
  "common.importLabel.thisDevice": "This device",
  "common.importLabel.uploadAnother": "Upload Another File",
  "common.importLabel.uploadFailed": "Unable to upload the file. Try again.",
  "common.importLabel.uploadFile": "Upload File",
  "common.importLabel.uploadStepDescription": "Upload the CSV file that contains the items to be imported. The next step will be to match the fields in the file with the fields available in HEM-SP.",
  "common.importLabel.uploadStepDescriptionWithType": "Choose the import type and upload the CSV file. The next step will be to match the fields in the file with the fields available in HEM-SP.",
  "common.importLabel.importType": "Import type",
  "common.importLabel.selectImportType": "Select import type",
  "common.importLabel.importTypeRequired": "Choose an import type.",
  "common.importLabel.importTypeForbidden": "You do not have permission to import this type.",
  "common.importLabel.importTypeHelp": "Choose which HEM-SP records this CSV should create or update.",
  "common.importLabel.uploadStepTitle": "Upload CSV",
  "common.importLabel.uploading": "Uploading...",
  "common.importLabel.meetingOrganizer": "Meeting Organizer",
  "common.inertiaDataGridLabel.openInNewWindow": "Open in new window",
  "common.instructorLabel.actionFailed": "Instructor action failed. Please try again.",
  "common.instructorLabel.active": "Active",
  "common.instructorLabel.activeStatus": "Active",
  "common.instructorLabel.attendances": "Attendances",
  "common.instructorLabel.back": "Back",
  "common.instructorLabel.backToList": "Back to Instructors",
  "common.instructorLabel.campus": "Campus",
  "common.instructorLabel.campusRequired": "Select at least one campus.",
  "common.instructorLabel.campuses": "Campuses",
  "common.instructorLabel.campusesUnavailable": "You do not have any campuses. Please add a campus first.",
  "common.instructorLabel.classroom": "Classroom",
  "common.instructorLabel.cohorts": "Cohorts",
  "common.instructorLabel.course": "Course",
  "common.instructorLabel.courses": "Courses",
  "common.instructorLabel.createFailed": "Unable to create the instructor. Review the highlighted fields and try again.",
  "common.instructorLabel.createInstructor": "Create Instructor",
  "common.instructorLabel.date": "Date",
  "common.instructorLabel.deleteInstructor": "Delete",
  "common.instructorLabel.deleteInstructorConfirm": "Are you sure you want to delete this instructor?",
  "common.instructorLabel.deletedSuccessfully": "Instructor deleted successfully.",
  "common.instructorLabel.editInstructor": "Edit",
  "common.instructorLabel.email": "Email",
  "common.instructorLabel.emailInvalid": "Enter a valid email address.",
  "common.instructorLabel.emailRequired": "Email is required.",
  "common.instructorLabel.firstName": "First Name",
  "common.instructorLabel.firstNameRequired": "First name is required.",
  "common.instructorLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.instructorLabel.fullName": "Name",
  "common.instructorLabel.id": "ID",
  "common.instructorLabel.impersonate": "Impersonate",
  "common.instructorLabel.import": "Import",
  "common.instructorLabel.importCanvas": "Import from Canvas",
  "common.instructorLabel.importCanvasAll": "Import all items",
  "common.instructorLabel.importCanvasCreatedAt": "Creation Date",
  "common.instructorLabel.importCanvasDeselectAll": "Deselect all",
  "common.instructorLabel.importCanvasDestinationDescription": "Choose the campuses that imported instructors should be assigned to.",
  "common.instructorLabel.importCanvasDestinationTitle": "Import instructors to",
  "common.instructorLabel.importCanvasFailed": "Unable to import instructors. Try again.",
  "common.instructorLabel.importCanvasFilter": "Filter instructors",
  "common.instructorLabel.importCanvasImporting": "Importing...",
  "common.instructorLabel.importCanvasItemsSelected": ":count items selected",
  "common.instructorLabel.importCanvasNoResultsDescription": "Try a different search term or filter again without a search term.",
  "common.instructorLabel.importCanvasNoResultsTitle": "No results found",
  "common.instructorLabel.importCanvasNoSelection": "Select at least one instructor to import.",
  "common.instructorLabel.importCanvasPageTitle": "Import Instructors from Canvas",
  "common.instructorLabel.importCanvasSearchDescription": "Find instructors in Canvas by partial name or full user ID, then import them into HEM-SP.",
  "common.instructorLabel.importCanvasSearchFailed": "Unable to search Canvas instructors. Try again.",
  "common.instructorLabel.importCanvasSearchHelp": "Enter at least 3 characters to search, or leave blank and filter to load all matching teacher enrollments.",
  "common.instructorLabel.importCanvasSearchLabel": "Search term",
  "common.instructorLabel.importCanvasSearchPlaceholder": "Search for instructors",
  "common.instructorLabel.importCanvasSearchTitle": "Search Canvas instructors",
  "common.instructorLabel.importCanvasSearchTooShort": "Enter at least 3 characters to search.",
  "common.instructorLabel.importCanvasSearching": "Searching...",
  "common.instructorLabel.importCanvasSelectAll": "Select all instructors",
  "common.instructorLabel.importCanvasSelectRow": "Select :name",
  "common.instructorLabel.importCanvasSelected": "Import selected items",
  "common.instructorLabel.importCanvasSuccess": "Instructors imported successfully.",
  "common.instructorLabel.importCanvasUnavailable": "Canvas integration is not available.",
  "common.instructorLabel.importCanvasUserId": "User ID",
  "common.instructorLabel.importCsv": "Import from CSV",
  "common.instructorLabel.inactiveStatus": "Inactive",
  "common.instructorLabel.instructors": "instructors",
  "common.instructorLabel.instructorsEmpty": "No instructors matched the current search or filters.",
  "common.instructorLabel.lastName": "Last Name",
  "common.instructorLabel.lastNameRequired": "Last name is required.",
  "common.instructorLabel.lessonFallbackTitle": "Lesson #:id",
  "common.instructorLabel.lessons": "lessons",
  "common.instructorLabel.lessonsShowing": "Showing {from}?{to} of {total} lessons",
  "common.instructorLabel.lessonsTab": "Lessons",
  "common.instructorLabel.name": "Name",
  "common.instructorLabel.next": "Next",
  "common.instructorLabel.nextPage": "Next",
  "common.instructorLabel.no": "No",
  "common.instructorLabel.noLessons": "No lessons yet",
  "common.instructorLabel.noLessonsDescription": "Lessons assigned to this instructor will appear here.",
  "common.instructorLabel.pageTitle": "Instructors",
  "common.instructorLabel.phone": "Phone",
  "common.instructorLabel.phoneRequired": "Phone is required.",
  "common.instructorLabel.previousPage": "Previous",
  "common.instructorLabel.profileTab": "Profile",
  "common.instructorLabel.program": "Program",
  "common.instructorLabel.searchInstructors": "Search instructors by name, email, or phone",
  "common.instructorLabel.searchLessons": "Search lessons by date, course, program, classroom, or cohort",
  "common.instructorLabel.sectionAssignments": "Assignments",
  "common.instructorLabel.sectionAssignmentsDesc": "Campus and course assignments managed through the instructor edit form.",
  "common.instructorLabel.sectionBasics": "Basic Information",
  "common.instructorLabel.sectionBasicsDesc": "Identity, communication, and access status.",
  "common.instructorLabel.sectionCustomFields": "Custom Fields",
  "common.instructorLabel.sectionCustomFieldsDesc": "Additional instructor profile fields configured for this tenant.",
  "common.instructorLabel.selectCampus": "Select Campus",
  "common.instructorLabel.selectCourses": "Select Courses",
  "common.instructorLabel.status": "Status",
  "common.instructorLabel.stepAnnouncement": ":step (:current of :total)",
  "common.instructorLabel.stepInformation": "Instructor's Information",
  "common.instructorLabel.stepInformationHint": "Enter the instructor profile and academic assignment details.",
  "common.instructorLabel.stepProgress": "Step :current of :total",
  "common.instructorLabel.time": "Time",
  "common.instructorLabel.updateFailed": "Unable to update the instructor. Review the highlighted fields and try again.",
  "common.instructorLabel.updateInstructor": "Update Instructor",
  "common.instructorLabel.viewInstructor": "View Instructor",
  "common.instructorLabel.viewLesson": "View Lesson",
  "common.instructorLabel.wizardFooterAria": "Instructor creation actions",
  "common.instructorLabel.wizardNavigation": "Instructor creation steps",
  "common.instructorLabel.yes": "Yes",
  "common.invoiceLabel.addAtLeastOneItem": "Add at least one invoice item before saving.",
  "common.invoiceLabel.addContact": "Add Contact",
  "common.invoiceLabel.addItem": "Add Item",
  "common.invoiceLabel.agentNotFound": "No agent is linked to this student.",
  "common.invoiceLabel.alreadyShared": "This invoice is already shared with the selected contact.",
  "common.invoiceLabel.amount": "Amount",
  "common.invoiceLabel.amountPaid": "Amount Paid",
  "common.invoiceLabel.backToInvoices": "Back",
  "common.invoiceLabel.backToTransactions": "Back to Transactions",
  "common.invoiceLabel.balanceDue": "Balance Due",
  "common.invoiceLabel.billingAddress": "Billing Address",
  "common.invoiceLabel.child": "Child",
  "common.invoiceLabel.childSelectionRequired": "Select a child contact before continuing.",
  "common.invoiceLabel.contact": "Contact",
  "common.invoiceLabel.contactAndBilling": "Contact and Billing",
  "common.invoiceLabel.contactAndBillingHint": "Select who this invoice belongs to and confirm billing details.",
  "common.invoiceLabel.contactContextFailed": "Unable to load contact details. Try again.",
  "common.invoiceLabel.contactEmail": "Contact Email",
  "common.invoiceLabel.contactNotFound": "The selected contact could not be found.",
  "common.invoiceLabel.contactRequired": "Select a contact before continuing.",
  "common.invoiceLabel.contactType": "Contact Type",
  "common.invoiceLabel.createInvoice": "Create Invoice",
  "common.invoiceLabel.customFields": "Custom Fields",
  "common.invoiceLabel.customFieldsRequired": "Complete all required custom fields before continuing.",
  "common.invoiceLabel.customer": "Contact",
  "common.invoiceLabel.customerInformation": "Contact Information",
  "common.invoiceLabel.customerInformationHint": "Contact, contact type, email, and billing address for this invoice.",
  "common.invoiceLabel.datesRequired": "Enter all invoice dates before continuing.",
  "common.invoiceLabel.description": "Description",
  "common.invoiceLabel.documentDate": "Document Date",
  "common.invoiceLabel.downloadPdf": "Download PDF",
  "common.invoiceLabel.dueDate": "Due Date",
  "common.invoiceLabel.editInvoice": "Edit Invoice #:uid",
  "common.invoiceLabel.editInvoiceAction": "Edit Invoice",
  "common.invoiceLabel.financialInformation": "Financial Information",
  "common.invoiceLabel.financialInformationHint": "Totals, balance, payment gateway, sharing, and linked transaction.",
  "common.invoiceLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.invoiceLabel.fixErrorsBeforeSave": "Fix the highlighted fields before saving.",
  "common.invoiceLabel.invalidContactType": "The selected contact type is not supported.",
  "common.invoiceLabel.invoice": "Invoice",
  "common.invoiceLabel.invoiceDate": "Invoice Date",
  "common.invoiceLabel.invoiceDates": "Invoice Dates",
  "common.invoiceLabel.invoiceDatesHint": "Invoice and due dates are calculated from the selected terms.",
  "common.invoiceLabel.invoiceDetails": "Invoice Details",
  "common.invoiceLabel.invoiceInformation": "Invoice Information",
  "common.invoiceLabel.invoiceInformationHint": "Status and accounting dates for this invoice.",
  "common.invoiceLabel.invoiceTotal": "Invoice Total",
  "common.invoiceLabel.itemQuantityRequired": "Quantity must be greater than zero.",
  "common.invoiceLabel.itemRateInvalid": "Rate must be zero or greater.",
  "common.invoiceLabel.itemRow": "Item :number",
  "common.invoiceLabel.itemServiceRequired": "Each invoice line must include a service.",
  "common.invoiceLabel.itemTitle": "Title",
  "common.invoiceLabel.itemTitleHint": "Label shown on the invoice PDF and payment page. Filled from the service name but can be edited for this line.",
  "common.invoiceLabel.items": "Items",
  "common.invoiceLabel.itemsHint": "Select a service and enter quantity and rate for each line.",
  "common.invoiceLabel.lineItems": "Line Items",
  "common.invoiceLabel.lineItemsHint": "Add one or more services to build the invoice total.",
  "common.invoiceLabel.loadingContactContext": "Loading contact details...",
  "common.invoiceLabel.memoOnStatement": "Memo on statement (hidden)",
  "common.invoiceLabel.memoOnStatementHint": "This memo is internal and will not be shown to the student.",
  "common.invoiceLabel.noItems": "No invoice items yet.",
  "common.invoiceLabel.noPayments": "No payments recorded.",
  "common.invoiceLabel.noteToStudent": "Note to Student",
  "common.invoiceLabel.notesAndSharing": "Notes and Sharing",
  "common.invoiceLabel.notesAndSharingHint": "Promo code, student-facing note, and internal memo.",
  "common.invoiceLabel.overview": "Overview",
  "common.invoiceLabel.parent": "Parent",
  "common.invoiceLabel.parentSelectionInvalid": "Please select a valid parent assigned to this contact.",
  "common.invoiceLabel.parentWithoutChildren": "Assign a child to this parent before creating an invoice.",
  "common.invoiceLabel.paymentDate": "Payment Date",
  "common.invoiceLabel.paymentGateway": "Payment Gateway",
  "common.invoiceLabel.paymentMethod": "Payment Method",
  "common.invoiceLabel.paymentReference": "Payment Reference",
  "common.invoiceLabel.payments": "Payments",
  "common.invoiceLabel.paymentsHint": "Payments recorded against this invoice.",
  "common.invoiceLabel.postingDate": "Posting Date",
  "common.invoiceLabel.promoCode": "Promo Code",
  "common.invoiceLabel.promoCodeApplyNote": "Save the invoice to preview the discount.",
  "common.invoiceLabel.promoCodeHint": "Promo code is applied when the invoice is saved.",
  "common.invoiceLabel.promocodeApplyFailed": "The invoice was saved, but the promo code could not be applied.",
  "common.invoiceLabel.quantity": "Quantity",
  "common.invoiceLabel.rate": "Rate",
  "common.invoiceLabel.receipt": "Receipt",
  "common.invoiceLabel.removeItem": "Remove item",
  "common.invoiceLabel.saveAndApplyCode": "Save and Apply Code",
  "common.invoiceLabel.saveAndClose": "Save and Close",
  "common.invoiceLabel.saveAndCreateAnother": "Save and Create Another",
  "common.invoiceLabel.saveAndShare": "Save and Share",
  "common.invoiceLabel.saveFailed": "Unable to save the invoice. Review the form and try again.",
  "common.invoiceLabel.saved": "Invoice saved successfully.",
  "common.invoiceLabel.savedAndCreateAnother": "Invoice saved. You can create another one now.",
  "common.invoiceLabel.savedAndShared": "Invoice saved and shared successfully.",
  "common.invoiceLabel.savedWithoutSharing": "Invoice saved without sharing.",
  "common.invoiceLabel.searchContact": "Search contacts by name, email, or phone",
  "common.invoiceLabel.selectChild": "Select child",
  "common.invoiceLabel.selectContactType": "Select contact type",
  "common.invoiceLabel.selectParent": "Select parent",
  "common.invoiceLabel.selectPaymentGateway": "Select payment gateway",
  "common.invoiceLabel.selectService": "Select service",
  "common.invoiceLabel.serviceNotSyncedWithQuickBooks": "Not synced with QuickBooks",
  "common.invoiceLabel.serviceSyncedWithQuickBooks": "Synced with QuickBooks",
  "common.invoiceLabel.selectShareOption": "Select who to share with",
  "common.invoiceLabel.selectStatus": "Select status",
  "common.invoiceLabel.selectTerms": "Select terms",
  "common.invoiceLabel.serviceName": "Service Name",
  "common.invoiceLabel.shareOnSaveHint": "Turn this on to share the invoice when you save.",
  "common.invoiceLabel.shareOptionRequired": "Choose who should receive this invoice.",
  "common.invoiceLabel.shareWith": "Share With",
  "common.invoiceLabel.shareWithAgent": "Share with Agent",
  "common.invoiceLabel.shareWithStudent": "Share with Student",
  "common.invoiceLabel.shared": "Shared",
  "common.invoiceLabel.sharedSuccessfully": "Invoice shared successfully.",
  "common.invoiceLabel.sharingRemoved": "Invoice sharing removed.",
  "common.invoiceLabel.showInvoice": "Invoice #:uid",
  "common.invoiceLabel.status": "Status",
  "common.invoiceLabel.stepContact": "Contact and Billing",
  "common.invoiceLabel.stepContactHint": "Select who this invoice belongs to and confirm billing details.",
  "common.invoiceLabel.stepCustomFieldsHint": "Add any required invoice custom fields.",
  "common.invoiceLabel.stepDates": "Invoice Dates",
  "common.invoiceLabel.stepDatesHint": "Invoice and due dates are calculated from the selected terms.",
  "common.invoiceLabel.stepItems": "Line Items",
  "common.invoiceLabel.stepItemsHint": "Add one or more services to build the invoice total.",
  "common.invoiceLabel.stepNotes": "Notes and Sharing",
  "common.invoiceLabel.stepNotesHint": "Add notes, promo codes, and sharing options before saving.",
  "common.invoiceLabel.stepProgress": "Step :current of :total",
  "common.invoiceLabel.subtotal": "Subtotal",
  "common.invoiceLabel.taxable": "Taxable",
  "common.invoiceLabel.terms": "Terms",
  "common.invoiceLabel.transaction": "Transaction",
  "common.invoiceLabel.uid": "UID",
  "common.invoiceLabel.uncategorized": "Uncategorized",
  "common.invoiceLabel.unshare": "Unshare",
  "common.invoiceLabel.updateAndClose": "Update and Close",
  "common.invoiceLabel.updateAndCreateAnother": "Update and Create Another",
  "common.invoiceLabel.updateAndShare": "Update and Share",
  "common.invoiceLabel.viewPdf": "View PDF",
  "common.invoiceLabel.wizardNavigation": "Invoice wizard navigation",
  "common.lastFailureLabel.title": "Last Failure",
  "common.leadLabel.campus": "Campus",
  "common.leadLabel.course": "Course",
  "common.leadLabel.courseEndDate": "Course End Date",
  "common.leadLabel.courseStartDate": "Course Start Date",
  "common.leadLabel.createLead": "Create Lead",
  "common.leadLabel.createdAt": "Creation Date",
  "common.leadLabel.deleteLead": "Delete",
  "common.leadLabel.deleteLeadConfirm": "Are you sure you want to delete this lead?",
  "common.leadLabel.deletedSuccessfully": "Lead deleted successfully.",
  "common.leadLabel.email": "Email",
  "common.leadLabel.fullName": "Name",
  "common.leadLabel.id": "ID",
  "common.leadLabel.leads": "leads",
  "common.leadLabel.leadsEmpty": "No leads matched the current search or filters.",
  "common.leadLabel.name": "Name",
  "common.leadLabel.pageTitle": "Leads",
  "common.leadLabel.paymentStatus": "Payment Status",
  "common.leadLabel.searchLeads": "Search leads by name or email",
  "common.leadLabel.totalPrice": "Total Price",
  "common.leadLabel.viewLead": "View",
  "common.lessonLabel.actionFailed": "Lesson action failed. Please try again.",
  "common.lessonLabel.actions": "Actions",
  "common.lessonLabel.addCourseLessons": "Add Multiple Lessons for Course",
  "common.lessonLabel.addLessons": "Add Lessons",
  "common.lessonLabel.addMultipleLessons": "Add Multiple Lessons",
  "common.lessonLabel.addProgramLessons": "Add Multiple Lessons for Program",
  "common.lessonLabel.addRow": "Add row",
  "common.lessonLabel.arrivalTime": "Arrival Time",
  "common.lessonLabel.attendancePercentage": "Attendance Percentage",
  "common.lessonLabel.attendanceStatus": "Attendance Status",
  "common.lessonLabel.attendanceSummary": "Attendance Summary",
  "common.lessonLabel.attendanceSummaryDescription": "Cohorts, students, and recorded attendance for this lesson.",
  "common.lessonLabel.attendancesTab": "Attendances",
  "common.lessonLabel.attendedTime": "Attended Time",
  "common.lessonLabel.back": "Back",
  "common.lessonLabel.backToLesson": "Back to lesson",
  "common.lessonLabel.backToList": "Back to Lessons",
  "common.lessonLabel.campus": "Campus",
  "common.lessonLabel.cancel": "Cancel",
  "common.lessonLabel.classroom": "Classroom",
  "common.lessonLabel.classroomRequired": "Classroom is required.",
  "common.lessonLabel.classroomSlotRequired": "Classroom slot is required.",
  "common.lessonLabel.clearSelectedCohorts": "Clear selected cohorts",
  "common.lessonLabel.cohort": "Cohort",
  "common.lessonLabel.cohortStudentsCount": ":count students",
  "common.lessonLabel.cohorts": "Cohorts",
  "common.lessonLabel.cohortsMissingCourseLinkHint": "Lessons are scheduled on the course cohort inside each program intake. Deselect these cohorts or create the missing course cohort before continuing.",
  "common.lessonLabel.cohortsMissingCourseLinkRequired": "Remove or fix cohorts that have no linked course cohort before continuing.",
  "common.lessonLabel.cohortsMissingCourseLinkTitle": "Some selected cohorts have no course cohort for this course",
  "common.lessonLabel.cohortsRequired": "At least one cohort is required.",
  "common.lessonLabel.cohortsResultLabel": "cohorts",
  "common.lessonLabel.cohortsTableEmpty": "No cohorts matched the current search or filters.",
  "common.lessonLabel.cohortsUpdatedSuccessfully": "Lesson cohorts updated successfully.",
  "common.lessonLabel.confirmSaveDescription": "This will create :lessons lesson(s) for :cohorts cohort(s) covering about :students student(s).",
  "common.lessonLabel.confirmSaveTitle": "Create these lessons?",
  "common.lessonLabel.contextLoadFailed": "Unable to load lesson options right now.",
  "common.lessonLabel.course": "Course",
  "common.lessonLabel.courseCohorts": "Course Cohorts",
  "common.lessonLabel.courseCohortsCurrentlyAssigned": "Course Cohorts Currently Assigned",
  "common.lessonLabel.courseRequired": "Course is required.",
  "common.lessonLabel.createLesson": "Create Lesson",
  "common.lessonLabel.createMoreLessons": "Create more lessons",
  "common.lessonLabel.createNoticeBanner": ":count lesson(s) were created. Review the day in Class Operations.",
  "common.lessonLabel.createResultDateRange": "Sessions from :first to :last.",
  "common.lessonLabel.createResultFirstDate": "First session on :date.",
  "common.lessonLabel.createResultSummary": ":count lesson(s) were created successfully.",
  "common.lessonLabel.date": "Date",
  "common.lessonLabel.dateRequired": "Date is required.",
  "common.lessonLabel.bulkDeleteAction": "Delete selected lessons",
  "common.lessonLabel.bulkDeleteConfirm": "This will delete the selected lessons. This action cannot be undone.",
  "common.lessonLabel.bulkDeleteFailed": "Unable to delete the selected lessons right now.",
  "common.lessonLabel.bulkDeleteTitle": "Delete selected lessons?",
  "common.lessonLabel.bulkDeletedSuccessfully": ":count lesson(s) deleted successfully.",
  "common.lessonLabel.deleteLesson": "Delete",
  "common.lessonLabel.deleteLessonConfirm": "Are you sure you want to delete this lesson?",
  "common.lessonLabel.deletedSuccessfully": "Lesson deleted successfully.",
  "common.lessonLabel.departureTime": "Departure Time",
  "common.lessonLabel.deselectCohort": "Deselect",
  "common.lessonLabel.deselectMissingCourseLinkCohorts": "Deselect cohorts without a course link",
  "common.lessonLabel.details": "Lesson Details",
  "common.lessonLabel.detailsDescription": "Course, classroom, instructor, and scheduled time.",
  "common.lessonLabel.detailsTab": "Details",
  "common.lessonLabel.duplicateRow": "Duplicate row",
  "common.lessonLabel.editAttendance": "Edit Attendance",
  "common.lessonLabel.editLesson": "Edit",
  "common.lessonLabel.editLessonModalDescription": "Update the lesson schedule, classroom, and instructor assignment.",
  "common.lessonLabel.editLessonTitle": "Edit Lesson",
  "common.lessonLabel.editWizardFooterAria": "Lesson edit wizard actions",
  "common.lessonLabel.editWizardNavigation": "Lesson edit wizard navigation",
  "common.lessonLabel.endDate": "End Date",
  "common.lessonLabel.endDateRequired": "End date is required.",
  "common.lessonLabel.endTime": "End Time",
  "common.lessonLabel.estimatedSessionsHint": "Estimated sessions from current rows: :count",
  "common.lessonLabel.exportAttendances": "Export Attendances",
  "common.lessonLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.lessonLabel.holidaySessionsHint": ":count generated session(s) fall on school holidays. You can remove them on Review.",
  "common.lessonLabel.holidaySessionsMore": "And :count more holiday(s) in this range.",
  "common.lessonLabel.holidaySourceHint": "Holidays come from school Settings ? Scheduling.",
  "common.lessonLabel.id": "ID",
  "common.lessonLabel.instructor": "Instructor",
  "common.lessonLabel.instructorRequired": "Instructor is required.",
  "common.lessonLabel.lessonAttendancesEmpty": "No attendances matched the current search or filters.",
  "common.lessonLabel.lessonAttendancesTitle": "Lesson Attendances",
  "common.lessonLabel.lessonFallbackTitle": "Lesson #:id",
  "common.lessonLabel.lessonOverview": "Lesson Overview",
  "common.lessonLabel.lessonOverviewTab": "Overview",
  "common.lessonLabel.lessonRowsInvalid": "Each lesson row must include weekdays, instructor, classroom, and classroom slot.",
  "common.lessonLabel.lessonRowsRequired": "Add at least one lesson row.",
  "common.lessonLabel.lessonUpdatedSuccessfully": "Lesson updated successfully.",
  "common.lessonLabel.lessons": "lessons",
  "common.lessonLabel.lessonsCreatedSuccessfully": "Lessons created successfully.",
  "common.lessonLabel.lessonsEmpty": "No lessons matched the current search or filters.",
  "common.lessonLabel.loadingLesson": "Loading lesson details...",
  "common.lessonLabel.lockedClassroomHint": "Classroom locked: :classroom. All schedule rows use this room.",
  "common.lessonLabel.excludeEmptyCohorts": "Exclude empty cohorts",
  "common.lessonLabel.excludeEmptyCohortsDescription": "Hide cohorts with no enrolled students from the list.",
  "common.lessonLabel.manageCohorts": "Manage Cohorts",
  "common.lessonLabel.manageCohortsModalDescription": "Choose which cohorts this lesson applies to.",
  "common.lessonLabel.selectCohortsPlaceholder": "Select cohorts",
  "common.lessonLabel.manageSchoolHolidays": "Manage school holidays",
  "common.lessonLabel.missingCohortDates": "Some selected cohorts are missing start or end dates.",
  "common.lessonLabel.modeCourse": "Course lessons",
  "common.lessonLabel.modeProgram": "Program lessons",
  "common.lessonLabel.modeSwitchLabel": "Lesson create mode",
  "common.lessonLabel.module": "Module",
  "common.lessonLabel.next": "Next",
  "common.lessonLabel.noAttendanceRows": "No attendance rows",
  "common.lessonLabel.noAttendanceRowsDescription": "Students from the assigned cohorts will appear here.",
  "common.lessonLabel.noCohortsAvailable": "No cohorts available. Please ensure the lesson has a program or course assigned.",
  "common.lessonLabel.noCohortsForCourse": "The selected course has no cohorts.",
  "common.lessonLabel.noCourseCohortsAvailable": "There are no course cohorts available for this lesson. Please add cohorts to the course first.",
  "common.lessonLabel.noCoursesForProgram": "The selected program has no active courses.",
  "common.lessonLabel.noPreviewLessons": "No lessons were generated for the selected inputs.",
  "common.lessonLabel.noNonEmptyCohortsAvailable": "No cohorts with enrolled students are available. Turn off the filter to see empty cohorts.",
  "common.lessonLabel.noProgramCohortsAvailable": "There are no program cohorts available for this lesson. Please add cohorts to the program first.",
  "common.lessonLabel.notRecorded": "Not Recorded",
  "common.lessonLabel.note": "Note",
  "common.lessonLabel.notes": "Notes",
  "common.lessonLabel.openClassOperations": "Open Class Operations",
  "common.lessonLabel.openCohort": "Open cohort :name",
  "common.lessonLabel.pageTitle": "Lessons",
  "common.lessonLabel.previewFailed": "Unable to generate lesson preview right now.",
  "common.lessonLabel.previewUnassignedHint": "Highlighted rows have no matching cohort for that date. They will be saved but not linked to a cohort unless you change the date range or selection.",
  "common.lessonLabel.program": "Program",
  "common.lessonLabel.programCohorts": "Program Cohorts",
  "common.lessonLabel.programModeAssignmentHint": "Select program cohorts (intakes). Lessons are created for this course?s cohorts inside those intakes?not on the program cohort itself.",
  "common.lessonLabel.programRequired": "Program is required.",
  "common.lessonLabel.rangeIntersectionHint": "Date range is limited to cohort overlap: :start to :end.",
  "common.lessonLabel.rangeNoIntersection": "Selected cohorts do not have overlapping dates.",
  "common.lessonLabel.recordedAttendances": "Recorded Attendances",
  "common.lessonLabel.remove": "Remove",
  "common.lessonLabel.removeHolidayLessons": "Remove holiday sessions",
  "common.lessonLabel.removePreviewLesson": "Remove session on :date",
  "common.lessonLabel.removeSelectedCohort": "Remove :name from selection",
  "common.lessonLabel.removeUnassignedLessons": "Remove unassigned sessions",
  "common.lessonLabel.reviewAssignedSessions": "Assigned sessions",
  "common.lessonLabel.reviewBadgeHoliday": "Holiday",
  "common.lessonLabel.reviewBadgeUnassigned": "Unassigned",
  "common.lessonLabel.reviewCohortCount": ":count cohort(s)",
  "common.lessonLabel.reviewContextTitle": "What you are creating",
  "common.lessonLabel.reviewDateRange": ":first ? :last",
  "common.lessonLabel.reviewEmptyHint": "Go back to Schedule to regenerate sessions, or keep at least one row before saving.",
  "common.lessonLabel.reviewFilterAll": "All sessions",
  "common.lessonLabel.reviewFilterIssues": "Needs attention (:count)",
  "common.lessonLabel.reviewFilterLabel": "Review session filter",
  "common.lessonLabel.reviewHolidayLessonsHint": ":count preview session(s) fall on school holidays.",
  "common.lessonLabel.reviewLiveSummary": ":lessons session(s) ready ? :assigned assigned ? :issues need attention",
  "common.lessonLabel.reviewMoreCohorts": "+ :count more",
  "common.lessonLabel.reviewNoIssues": "No sessions need attention.",
  "common.lessonLabel.reviewSelectedCohorts": ":count cohort(s) selected",
  "common.lessonLabel.reviewSessionsHint": "Showing :shown of :total session(s)",
  "common.lessonLabel.reviewSessionsTitle": "Generated sessions",
  "common.lessonLabel.reviewUnassignedTitle": ":count session(s) have no matching cohort for that date",
  "common.lessonLabel.saveFailed": "Unable to save lessons right now.",
  "common.lessonLabel.saveLessons": "Save Lessons",
  "common.lessonLabel.schedule": "Schedule",
  "common.lessonLabel.searchCohorts": "Search cohorts",
  "common.lessonLabel.searchLessonAttendances": "Search lesson attendances",
  "common.lessonLabel.searchLessons": "Search lessons",
  "common.lessonLabel.selectAllOnPage": "Select all on page",
  "common.lessonLabel.selectClassroom": "Select a classroom",
  "common.lessonLabel.selectClassroomSlot": "Select a classroom slot",
  "common.lessonLabel.selectCohort": "Select",
  "common.lessonLabel.selectCohorts": "Select cohorts",
  "common.lessonLabel.selectCourse": "Select a course",
  "common.lessonLabel.selectCourseFirstForCohorts": "Select a course first to load cohorts.",
  "common.lessonLabel.selectInstructor": "Select instructor",
  "common.lessonLabel.selectProgram": "Select a program",
  "common.lessonLabel.selectProgramCohortsHint": "Select program cohorts below to manage course cohort assignments.",
  "common.lessonLabel.selectWeekDays": "Select week days",
  "common.lessonLabel.selectedCohortsCount": "Selected cohorts: :count",
  "common.lessonLabel.selectedCohortsSummary": "Selected: :count cohort(s) ? :students student(s)",
  "common.lessonLabel.selection": "Selection",
  "common.lessonLabel.startDate": "Start Date",
  "common.lessonLabel.startDateRequired": "Start date is required.",
  "common.lessonLabel.startTime": "Start Time",
  "common.lessonLabel.courseStatus": "Course Status",
  "common.lessonLabel.status": "Status",
  "common.lessonLabel.stepAnnouncement": "Step :current of :total: :step",
  "common.lessonLabel.stepLessonDetails": "Lesson Details",
  "common.lessonLabel.stepLessonDetailsHint": "Update lesson schedule and assignments.",
  "common.lessonLabel.stepProgress": "Step :current of :total",
  "common.lessonLabel.stepReview": "Review",
  "common.lessonLabel.stepReviewHint": "Review generated lessons before saving.",
  "common.lessonLabel.stepSchedule": "Schedule",
  "common.lessonLabel.stepScheduleHint": "Configure date range and lesson slots.",
  "common.lessonLabel.stepSetup": "Setup",
  "common.lessonLabel.stepSetupHint": "Select program or course and cohorts.",
  "common.lessonLabel.studentName": "Student Name",
  "common.lessonLabel.studentStatus": "Student Status",
  "common.lessonLabel.students": "Students",
  "common.lessonLabel.time": "Time",
  "common.lessonLabel.updateCohorts": "Update Cohorts",
  "common.lessonLabel.updateCohortsFailed": "Unable to update lesson cohorts right now.",
  "common.lessonLabel.updateCourseCohorts": "Update Course Cohorts",
  "common.lessonLabel.updateLesson": "Update Lesson",
  "common.lessonLabel.updateLessonCohorts": "Update Lesson Cohorts",
  "common.lessonLabel.updateLessonCourseCohorts": "Update Lesson Course Cohorts",
  "common.lessonLabel.updateLessonFailed": "Unable to update lesson right now.",
  "common.lessonLabel.updateLessonProgramCohorts": "Update Lesson Program Cohorts",
  "common.lessonLabel.updateProgramCohorts": "Update Program Cohorts",
  "common.lessonLabel.viewClassOperations": "Class Operations",
  "common.lessonLabel.viewLesson": "View Lesson",
  "common.lessonLabel.viewLessons": "View lessons",
  "common.lessonLabel.weekDays": "Week days",
  "common.lessonLabel.willSchedule": "Will schedule",
  "common.lessonLabel.willScheduleMissing": "No course cohort linked",
  "common.lessonLabel.willScheduleNone": "None for this date",
  "common.lessonLabel.willSchedulePendingCourse": "Select a course to resolve",
  "common.lessonLabel.wizardFooterAria": "Multi-lesson wizard actions",
  "common.lessonLabel.wizardNavigation": "Multi-lesson wizard navigation",
  "common.listLabel.active": "Active",
  "common.listLabel.allSmsSentSuccessfully": "All SMS sent successfully!",
  "common.listLabel.backToList": "Back to Lists",
  "common.listLabel.batchId": "Batch ID",
  "common.listLabel.bulkDeleteAction": "Delete selected lists",
  "common.listLabel.bulkDeleteConfirm": "This will delete the selected lists. This action cannot be undone.",
  "common.listLabel.bulkDeleteFailed": "Unable to delete the selected lists right now.",
  "common.listLabel.bulkDeleteTitle": "Delete selected lists?",
  "common.listLabel.bulkDeletedSuccessfully": ":count list(s) deleted successfully.",
  "common.listLabel.bulkSmsCompletedSuccess": "Bulk SMS sending completed successfully!",
  "common.listLabel.bulkSmsCompletedWithIssues": "Bulk SMS completed with some issues. Please review the logs.",
  "common.listLabel.bulkSmsDescription": "Send an SMS to contacts in one or more lists.",
  "common.listLabel.bulkSmsInitialized": "Bulk SMS initialized.",
  "common.listLabel.bulkSmsNoRecipients": "No recipients found for this job.",
  "common.listLabel.bulkSmsProcessingCompleted": "Bulk SMS processing completed.",
  "common.listLabel.bulkSmsProcessingStarted": "Bulk SMS processing already started.",
  "common.listLabel.bulkSmsSchoolContextMissing": "School context not found.",
  "common.listLabel.bulkSmsSendingFailed": "Bulk SMS sending failed. Please check the logs for details.",
  "common.listLabel.bulkSmsTitle": "Send Bulk SMS",
  "common.listLabel.bulkWhatsappDescription": "Send an eligible WhatsApp template to contacts in one or more lists.",
  "common.listLabel.bulkWhatsappInitialized": "Bulk WhatsApp initialized.",
  "common.listLabel.bulkWhatsappSimulationTitle": "Development simulation",
  "common.listLabel.bulkWhatsappSimulationDescription": "This template is not approved by WhatsApp. Messages will be simulated locally and will not be sent through Twilio.",
  "common.listLabel.bulkWhatsappSimulationNoDelivery": "No WhatsApp messages will actually be delivered.",
  "common.listLabel.bulkWhatsappSimulationStatus": "Unapproved · Dev simulation allowed",
  "common.listLabel.bulkWhatsappSimulationQueued": "WhatsApp message simulated locally.",
  "common.listLabel.bulkWhatsappNoTemplates": "No eligible WhatsApp templates are available. In local/development, valid unapproved templates can be simulated locally; approved templates require a Twilio Content SID.",
  "common.listLabel.bulkWhatsappStepLists": "Recipient Lists",
  "common.listLabel.bulkWhatsappStepListsHint": "Choose the lists whose contacts should receive this WhatsApp template.",
  "common.listLabel.bulkWhatsappStepTemplate": "WhatsApp Template",
  "common.listLabel.bulkWhatsappStepTemplateHint": "Choose an eligible WhatsApp template and confirm the validated sender.",
  "common.listLabel.bulkWhatsappListLocked": "This list was selected from the list action and cannot be changed here.",
  "common.listLabel.bulkWhatsappTemplateLocked": "The template was selected from its details and cannot be changed here.",
  "common.listLabel.bulkWhatsappSenderHint": "This validated tenant sender will be used for every recipient.",
  "common.listLabel.bulkWhatsappReadyHint": "Each recipient will be checked again before the message is sent.",
  "common.listLabel.bulkWhatsappNoApprovedTemplates": "No approved WhatsApp templates with a Twilio Content SID are available.",
  "common.listLabel.bulkWhatsappListsRequired": "Select at least one recipient list.",
  "common.listLabel.bulkWhatsappTemplateRequired": "Select an eligible WhatsApp template.",
  "common.listLabel.bulkWhatsappPermissionDenied": "You do not have permission to send bulk WhatsApp messages.",
  "common.listLabel.bulkWhatsappInitError": "An error occurred while initializing bulk WhatsApp.",
  "common.listLabel.initBulkWhatsappError": "An error occurred while initializing bulk WhatsApp.",
  "common.listLabel.initBulkWhatsappFailed": "Failed to initialize bulk WhatsApp.",
  "common.listLabel.bulkWhatsappTitle": "Send Bulk WhatsApp",
  "common.listLabel.cloneDescription": "Create a new list from this configuration. Review the details before saving.",
  "common.listLabel.cloneFailed": "Unable to clone the list. Check the highlighted fields and try again.",
  "common.listLabel.cloneList": "Clone List",
  "common.listLabel.cloneListTitle": "Clone List",
  "common.listLabel.contacts": "contacts",
  "common.listLabel.contactsEmpty": "No contacts matched the current search or filters.",
  "common.listLabel.archiveParts": "Archive parts",
  "common.listLabel.archiveSize": "Archive size",
  "common.listLabel.downloadExport": "Download export",
  "common.listLabel.downloadPart": "Download part",
  "common.listLabel.downloadParts": "Downloadable ZIP parts",
  "common.listLabel.eta": "Estimated time",
  "common.listLabel.etaMinutes": ":count min",
  "common.listLabel.etaSeconds": ":count sec",
  "common.listLabel.etaUnknown": "Calculating",
  "common.listLabel.etaComplete": "Complete",
  "common.listLabel.exportArchiveRetry": "Archive retry needed",
  "common.listLabel.exportArchiveRetryDescription": "Some archive parts failed. Retry archive generation to continue.",
  "common.listLabel.exportFailed": "Export failed",
  "common.listLabel.exportGeneratingZip": "Generating ZIP",
  "common.listLabel.exportInProgress": "Export in progress",
  "common.listLabel.exportPreparing": "Preparing export",
  "common.listLabel.exportPreparingZip": "Preparing download",
  "common.listLabel.exportReady": "Ready to download",
  "common.listLabel.exportStalled": "Export stalled",
  "common.listLabel.exportStudentFiles": "Export student files",
  "common.listLabel.exportStudentFilesConfirm": "Snapshot this list and prepare a downloadable ZIP of its student files? The list membership will be captured now.",
  "common.listLabel.exportStatusUnavailable": "Export status is temporarily unavailable.",
  "common.listLabel.exportDownloadUnavailable": "The export download is temporarily unavailable.",
  "common.listLabel.exportWarnings": "Ready with warnings",
  "common.listLabel.retryingArchive": "Retrying archive",
  "common.listLabel.exporting": "Exporting",
  "common.listLabel.files": "Files",
  "common.listLabel.count": "Count",
  "common.listLabel.createDescription": "Configure list details and filters before saving.",
  "common.listLabel.createFailed": "Unable to create the list. Check the highlighted fields and try again.",
  "common.listLabel.createList": "Create List",
  "common.listLabel.createdAt": "Creation Date",
  "common.listLabel.createdSuccessfully": "List created successfully.",
  "common.listLabel.deleteList": "Delete",
  "common.listLabel.deleteListConfirm": "Are you sure you want to delete this list?",
  "common.listLabel.deletedSuccessfully": "List deleted successfully.",
  "common.listLabel.description": "Description",
  "common.listLabel.editDescription": "Update list details and filters.",
  "common.listLabel.editList": "Edit",
  "common.listLabel.editListTitle": "Edit List",
  "common.listLabel.failedCount": "Failed",
  "common.listLabel.filters": "Filters",
  "common.listLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.listLabel.id": "ID",
  "common.listLabel.informationAndFilters": "Information and Filters",
  "common.listLabel.initBulkSmsError": "An error occurred while initializing the bulk SMS",
  "common.listLabel.initBulkSmsFailed": "Failed to initialize bulk SMS",
  "common.listLabel.initialisingBulkSms": "Initializing...",
  "common.listLabel.jobNotFound": "Job status not found. The job may have been deleted.",
  "common.listLabel.lists": "lists",
  "common.listLabel.listsEmpty": "No lists matched the current search or filters.",
  "common.listLabel.loadTemplateError": "Error loading template. Please try again.",
  "common.listLabel.loadTemplateFailed": "Failed to load template",
  "common.listLabel.messageContent": "Message Content",
  "common.listLabel.name": "Name",
  "common.listLabel.no": "No",
  "common.listLabel.noListsSelected": "No lists selected.",
  "common.listLabel.noSenderNumbers": "No sender numbers are configured. Publish the Twilio plugin and add campus phone numbers in plugin settings before sending bulk SMS.",
  "common.listLabel.noWhatsappSender": "WhatsApp is not configured for this tenant. Validate and enable a WhatsApp sender in the Twilio plugin before sending.",
  "common.listLabel.pageTitle": "Lists",
  "common.listLabel.preparingToSendSms": "Preparing to send SMS...",
  "common.listLabel.progressLogs": "Progress Logs",
  "common.listLabel.recipientIssues": "Recipient issues",
  "common.listLabel.refreshing": "Refreshing",
  "common.listLabel.removeFromList": "Remove from list",
  "common.listLabel.removedFromListSuccessfully": "Contacts removed from list successfully.",
  "common.listLabel.reviewNoFilters": "No filters added.",
  "common.listLabel.reviewNotSet": "Not set",
  "common.listLabel.rowCount": "Count",
  "common.listLabel.saveFailed": "We couldn't save the list. Please review the fields and try again.",
  "common.listLabel.saveList": "Save List",
  "common.listLabel.searchContacts": "Search contacts in this list",
  "common.listLabel.searchLists": "Search lists by name or type",
  "common.listLabel.retryArchive": "Retry archive",
  "common.listLabel.latestExports": "Latest exports",
  "common.listLabel.noStudentExports": "No student file exports have been started for this list.",
  "common.listLabel.studentExportHistory": "Student export history",
  "common.listLabel.studentExportProgress": "Student export progress",
  "common.listLabel.studentExportProgressDescription": "The list membership was snapshotted when the export started. This page updates automatically.",
  "common.listLabel.students": "students",
  "common.listLabel.viewExport": "View export",
  "common.listLabel.warnings": "Warnings",
  "common.listLabel.startExport": "Start export",
  "common.listLabel.confirmStudentFileExport": "Confirm student file export",
  "common.listLabel.studentExportConfirmationDescription": "Review the list snapshot and estimated export size before starting.",
  "common.listLabel.studentExportConfirmationBody": "The list membership is snapshotted once and the export continues in the background. Backups for hundreds of students can take some time. ZIP archives are generated automatically after the canonical export completes, and we will email you when the export is ready. You can return to this List page at any time to check progress.",
  "common.listLabel.knownFiles": "Known files",
  "common.listLabel.approximateSize": "Approximate size",
  "common.listLabel.estimateUnavailable": "Not available",
  "common.listLabel.startingExport": "Starting export…",
  "common.listLabel.exportListEmpty": "This List has no students to export.",
  "common.listLabel.studentExportQueued": "Export :export_id was queued. Backups for hundreds of students can take some time. We will email you when the export and ZIP files are ready; you can return to this List page at any time to check progress.",
  "common.listLabel.createDownloadLinks": "Create download links",
  "common.listLabel.creatingDownloadLinks": "Creating download links…",
  "common.listLabel.exportReadyWarnings": "Ready for download with warnings",
  "common.listLabel.exportStartUnavailable": "The export could not be started. Please try again.",
  "common.listLabel.exportRetryUnavailable": "The archive retry could not be started. Please try again.",
  "common.listLabel.exportResumeDescription": "This export stopped before the remaining students finished. Resume continues those students. Files already copied are kept.",
  "common.listLabel.resumeExport": "Resume export",
  "common.listLabel.resumingExport": "Resuming export",
  "common.listLabel.exportResumeUnavailable": "The export could not be resumed. Please try again.",
  "common.listLabel.abortExport": "Abort",
  "common.listLabel.abortExportConfirmTitle": "Abort this export?",
  "common.listLabel.abortExportConfirm": "The export stops and will not finish. Files already copied stay in storage until cleanup.",
  "common.listLabel.abortExportConfirmLabel": "Abort export",
  "common.listLabel.exportAborted": "Aborted",
  "common.listLabel.exportAbortUnavailable": "This export can no longer be aborted.",
  "common.listLabel.selectLists": "Select Lists",
  "common.listLabel.selectListsPlaceholder": "Select one or more lists",
  "common.listLabel.selectSenderNumber": "Select a sender number",
  "common.listLabel.selectSmsTemplate": "Select a template",
  "common.listLabel.selectChannel": "Select a channel",
  "common.listLabel.selectWhatsappTemplate": "Select an approved WhatsApp template",
  "common.listLabel.selectedLists": "Selected Lists",
  "common.listLabel.selectedListsFromTemplate": "Lists are preselected from the template",
  "common.listLabel.sendBulkSms": "Send Bulk SMS",
  "common.listLabel.sendBulkWhatsapp": "Send Bulk WhatsApp",
  "common.listLabel.channel": "Channel",
  "common.listLabel.senderNumber": "Sender Number",
  "common.listLabel.whatsappSender": "WhatsApp Sender",
  "common.listLabel.whatsappTemplate": "WhatsApp Template",
  "common.listLabel.whatsappTemplatePreview": "WhatsApp Template Preview",
  "common.listLabel.whatsappTemplateRequired": "Select an approved WhatsApp template.",
  "common.listLabel.whatsappTemplateOutsideWindow": "Approved template used outside the 24-hour customer-service window.",
  "common.listLabel.sendingBulkSms": "Sending Bulk SMS",
  "common.listLabel.sendingSms": "Sending SMS...",
  "common.listLabel.sendingWhatsapp": "Sending WhatsApp...",
  "common.listLabel.preparingToSendWhatsapp": "Preparing to send WhatsApp...",
  "common.listLabel.whatsappSendingCompletedWithIssues": "WhatsApp sending completed with issues.",
  "common.listLabel.whatsappSendingFailed": "WhatsApp sending failed.",
  "common.listLabel.whatsappSendingProgress": "WhatsApp Sending Progress",
  "common.listLabel.whatsappSendingProgressDescription": "Track the bulk WhatsApp batch as it moves through the queue and provider send steps.",
  "common.listLabel.allWhatsappSentSuccessfully": "All WhatsApp messages sent successfully!",
  "common.listLabel.sentCount": "sent",
  "common.listLabel.skippedCount": "skipped",
  "common.listLabel.smsIssueSummary": ":count recipient issues were recorded while processing the batch.",
  "common.listLabel.smsIssueSummaryActive": "Recipient issues will appear here as the batch is processed.",
  "common.listLabel.smsIssueSummaryEmpty": "No recipient issues have been recorded yet.",
  "common.listLabel.whatsappIssueSummary": ":count recipient issues were recorded while processing the WhatsApp batch.",
  "common.listLabel.whatsappIssueSummaryActive": "WhatsApp recipient issues will appear here as the batch is processed.",
  "common.listLabel.whatsappIssueSummaryEmpty": "No WhatsApp recipient issues have been recorded yet.",
  "common.listLabel.smsProcessed": "SMS processed",
  "common.listLabel.smsSendingCompletedWithIssues": "SMS sending completed with issues.",
  "common.listLabel.smsSendingFailed": "SMS sending failed.",
  "common.listLabel.smsSendingProgress": "SMS Sending Progress",
  "common.listLabel.smsSendingProgressDescription": "Track the bulk SMS batch as it moves through the queue and delivery steps.",
  "common.listLabel.smsTemplate": "SMS Template",
  "common.listLabel.stepDetails": "Details",
  "common.listLabel.stepDetailsHint": "Name the list and choose its type.",
  "common.listLabel.stepFilters": "Filters",
  "common.listLabel.stepFiltersHint": "Choose which contacts belong to this list.",
  "common.listLabel.stepProgress": "Step :current of :total",
  "common.listLabel.stepReview": "Review",
  "common.listLabel.stepReviewHint": "Confirm the list before saving.",
  "common.listLabel.templateLocked": "Template is preselected and cannot be changed",
  "common.listLabel.type": "Type",
  "common.listLabel.typeDynamic": "Dynamic",
  "common.listLabel.typeStatic": "Static",
  "common.listLabel.unknownRecipient": "Unknown recipient",
  "common.listLabel.updateFailed": "Unable to update the list. Check the highlighted fields and try again.",
  "common.listLabel.updatedSuccessfully": "List updated successfully.",
  "common.listLabel.validRecipients": "Valid recipients",
  "common.listLabel.viewList": "View",
  "common.listLabel.wizardNavigation": "List wizard navigation",
  "common.listLabel.wizardFooterAria": "Bulk messaging wizard actions",
  "common.listLabel.yes": "Yes",
  "common.lowDataNoticeLabel.description": "Analytics are based on a small number of runs. Trends will become more reliable as this automation executes more often.",
  "common.meetingLabel.addMeeting": "Add meeting",
  "common.meetingLabel.addTask": "Add task",
  "common.meetingLabel.allDay": "All day",
  "common.meetingLabel.allMeetings": "All meetings",
  "common.meetingLabel.allStatuses": "All statuses",
  "common.meetingLabel.allStaffUsers": "Select staff users",
  "common.meetingLabel.assignedTo": "Assigned To",
  "common.meetingLabel.calendarEmpty": "No meetings in this range",
  "common.meetingLabel.calendarEmptyDescription": "Click an empty slot to schedule a meeting.",
  "common.meetingLabel.calendarLoadFailed": "Unable to load calendar.",
  "common.meetingLabel.calendarNavigation": "Calendar navigation",
  "common.meetingLabel.calendarPageTitle": "Calendar",
  "common.meetingLabel.calendarViews": "Calendar views",
  "common.meetingLabel.showTasks": "Show tasks",
  "common.meetingLabel.hideTasks": "Hide tasks",
  "common.meetingLabel.showMeetings": "Show meetings",
  "common.meetingLabel.hideMeetings": "Hide meetings",
  "common.meetingLabel.calendarLayers": "Calendar layers",
  "common.meetingLabel.showClosedDays": "Show closed days",
  "common.meetingLabel.hideClosedDays": "Hide closed days",
  "common.meetingLabel.closedDaysWeekViewOnly": "Closed days (week view only)",
  "common.meetingLabel.weekNoOpenDays": "No open days this week",
  "common.meetingLabel.weekNoOpenDaysDescription": "Turn on closed days to view the full week, or navigate to another week.",
  "common.meetingLabel.tasksLegend": "Tasks",
  "common.meetingLabel.clearFilters": "Clear filters",
  "common.meetingLabel.clearStaffSelection": "Clear selection",
  "common.meetingLabel.removeStaffUserFromView": "Remove :name from calendar",
  "common.meetingLabel.noStaffUsersFound": "No staff users found.",
  "common.meetingLabel.selectAllStaff": "Select all",
  "common.meetingLabel.staffUsersFilterDone": "Done",
  "common.meetingLabel.staffUsersSelected": ":count staff selected",
  "common.meetingLabel.closed": "Closed",
  "common.meetingLabel.closedHoliday": "Holiday",
  "common.meetingLabel.contact": "Contact",
  "common.meetingLabel.contactType": "Contact Type",
  "common.meetingLabel.category": "Category",
  "common.meetingLabel.createdAt": "Created",
  "common.meetingLabel.duration": "Duration",
  "common.meetingLabel.endTime": "End time",
  "common.meetingLabel.id": "ID",
  "common.meetingLabel.createDescription": "Add a meeting to the calendar.",
  "common.meetingLabel.createFailed": "Unable to schedule meeting.",
  "common.meetingLabel.createdSuccessfully": "Meeting scheduled successfully",
  "common.meetingLabel.formErrorsBeforeContinue": "Please correct the form errors before continuing.",
  "common.meetingLabel.deleteDescription": "This removes the meeting from the calendar. This can't be undone.",
  "common.meetingLabel.deleteFailed": "Unable to delete meeting.",
  "common.meetingLabel.deleteTitle": "Delete this meeting?",
  "common.meetingLabel.descriptionPlaceholder": "Enter meeting agenda or notes...",
  "common.meetingLabel.dragHandle": "Move meeting",
  "common.meetingLabel.editDescription": "Update meeting details and save your changes.",
  "common.meetingLabel.editMeeting": "Edit Meeting",
  "common.meetingLabel.empty": "No meetings found.",
  "common.meetingLabel.emptyDescription": "Meetings scheduled with this contact will appear here.",
  "common.meetingLabel.emptyFiltered": "No meetings match your search",
  "common.meetingLabel.emptyFilteredDescription": "Try a different subject, contact, meeting type, category, or date range.",
  "common.meetingLabel.emptyTitle": "No meetings yet",
  "common.meetingLabel.externalAttendees": "External Attendees",
  "common.meetingLabel.externalAttendeesHelper": "Enter email addresses separated by commas (e.g., admin@test.com, user@gmail.com)",
  "common.meetingLabel.externalAttendeesPlaceholder": "Comma separated list of emails",
  "common.meetingLabel.filterAll": "All",
  "common.meetingLabel.filterNoStatus": "No status",
  "common.meetingLabel.filterStatusLabel": "Filter by status",
  "common.meetingLabel.filterStaffUsersLabel": "Filter by staff user",
  "common.meetingLabel.filterTimingLabel": "Filter by schedule",
  "common.meetingLabel.formErrorsBeforeContinue": "Please correct the form errors before continuing.",
  "common.meetingLabel.dateRequired": "Meeting date is required.",
  "common.meetingLabel.timeRequired": "Meeting time is required.",
  "common.meetingLabel.indexPageTitle": "All meetings",
  "common.meetingLabel.internalAttendees": "Internal Users",
  "common.meetingLabel.jumpToNow": "Jump to now",
  "common.meetingLabel.loadFailed": "Unable to load meeting details.",
  "common.meetingLabel.loadingCalendar": "Loading calendar",
  "common.meetingLabel.meetingActionsAria": "Actions for :subject",
  "common.meetingLabel.meetingType": "Meeting type",
  "common.meetingLabel.meetingCount": ":count meeting",
  "common.meetingLabel.meetings": "meetings",
  "common.meetingLabel.meetingsCount": ":count meetings",
  "common.meetingLabel.taskCount": ":count task",
  "common.meetingLabel.tasksCount": ":count tasks",
  "common.meetingLabel.moreMeetings": "+:count more",
  "common.meetingLabel.moreInternalUsers": "+:count",
  "common.meetingLabel.noCategory": "No category",
  "common.meetingLabel.noDescription": "No description provided",
  "common.meetingLabel.noMeetingType": "No meeting type",
  "common.meetingLabel.noOrganizer": "No organizer",
  "common.meetingLabel.newMeeting": "New meeting",
  "common.meetingLabel.now": "Now",
  "common.meetingLabel.openMeeting": "Open meeting details for :subject",
  "common.meetingLabel.organizer": "Organizer",
  "common.meetingLabel.pageTitle": "Meetings",
  "common.meetingLabel.past": "Past",
  "common.meetingLabel.recent": "Recent",
  "common.meetingLabel.scheduledAt": "Scheduled at",
  "common.meetingLabel.status": "Status",
  "common.meetingLabel.subject": "Subject",
  "common.meetingLabel.timing": "Timing",
  "common.meetingLabel.rescheduleClosed": "This date is a holiday.",
  "common.meetingLabel.rescheduleOutsideHours": "This time is outside campus hours.",
  "common.meetingLabel.rescheduleFailed": "Unable to reschedule meeting.",
  "common.meetingLabel.rescheduleLocked": "This meeting cannot be rescheduled from the calendar.",
  "common.meetingLabel.rescheduledSuccessfully": "Meeting rescheduled successfully",
  "common.meetingLabel.resizeEnd": "Change end time",
  "common.meetingLabel.resizeStart": "Change start time",
  "common.meetingLabel.searchAgents": "Search agents by name or email",
  "common.meetingLabel.searchMeetings": "Search meetings",
  "common.meetingLabel.searchParents": "Search parents by name or email",
  "common.meetingLabel.searchStudentsAndAgents": "Search students or agents by name, email, or phone",
  "common.meetingLabel.sectionOther": "Other meetings",
  "common.meetingLabel.sectionPast": "Past meetings",
  "common.meetingLabel.sectionUpcoming": "Upcoming & today",
  "common.meetingLabel.selectContactType": "Select contact type",
  "common.meetingLabel.staffUser": "Staff user",
  "common.meetingLabel.staffUserColor": "Color for :name",
  "common.meetingLabel.staffUsers": "Staff users",
  "common.meetingLabel.statusUpdateFailed": "Unable to update meeting status.",
  "common.meetingLabel.today": "Today",
  "common.meetingLabel.timezone": "Timezone",
  "common.meetingLabel.calendarTimezoneTitle": "Calendar timezone",
  "common.meetingLabel.calendarTimezoneProfileInfo": "Viewing :user's calendar. Times use this user's profile timezone (:timezone).",
  "common.meetingLabel.calendarTimezoneSchoolWarning": "Viewing :user's calendar. No profile timezone is set, so times use the school's timezone (:timezone).",
  "common.meetingLabel.calendarTimezoneApplicationWarning": "Viewing :user's calendar. No profile or school timezone is set, so times use the application timezone (:timezone).",
  "common.meetingLabel.calendarTimezoneSharedProfile": "Multiple staff users selected. Times use your profile timezone (:timezone).",
  "common.meetingLabel.calendarTimezoneSharedSchool": "Multiple staff users selected. Times use the school's timezone (:timezone).",
  "common.meetingLabel.calendarTimezoneSharedApplication": "Multiple staff users selected. Times use the application timezone (:timezone).",
  "common.meetingLabel.untitledMeeting": "Untitled meeting",
  "common.meetingLabel.upcoming": "Upcoming",
  "common.meetingLabel.updateFailed": "Unable to update meeting.",
  "common.meetingLabel.updatedSuccessfully": "Meeting updated successfully",
  "common.meetingLabel.viewCalendar": "Calendar",
  "common.meetingLabel.viewMeeting": "View Meeting",
  "common.messageLabel.actions": "Actions",
  "common.messageLabel.attachments": "Attachments",
  "common.messageLabel.attachmentsHelper": "Max 5 files; each file must be 10 MB or less.",
  "common.messageLabel.attachmentRemoveFailed": "Could not remove the attachment.",
  "common.messageLabel.attachmentUploadFailed": "Could not upload the attachment.",
  "common.messageLabel.backToList": "Back to messages",
  "common.messageLabel.compose": "Compose",
  "common.messageLabel.composeDescription": "Send a new direct message.",
  "common.messageLabel.createDescription": "Send a direct message to this contact.",
  "common.messageLabel.createdAt": "Creation Date",
  "common.messageLabel.deleteDescription": "This message will be permanently removed.",
  "common.messageLabel.deleteFailed": "Unable to delete message.",
  "common.messageLabel.deleteTitle": "Delete message?",
  "common.messageLabel.deletedSuccessfully": "Message deleted successfully.",
  "common.messageLabel.findRecipient": "Find a recipient",
  "common.messageLabel.inbound": "Incoming",
  "common.messageLabel.loadFailed": "Unable to load message details.",
  "common.messageLabel.loadFailedDescription": "The message could not be opened. Check your connection and try again.",
  "common.messageLabel.loadingEmailTip1": "Opening this email?",
  "common.messageLabel.loadingEmailTip2": "Loading message content?",
  "common.messageLabel.loadingEmailTip3": "Almost ready?",
  "common.messageLabel.loadingMessage": "Loading message?",
  "common.messageLabel.loadingTip1": "Opening this conversation?",
  "common.messageLabel.loadingTip2": "Fetching the latest replies?",
  "common.messageLabel.loadingTip3": "Pulling up the thread?",
  "common.messageLabel.mailboxAll": "All",
  "common.messageLabel.mailboxInbox": "Inbox",
  "common.messageLabel.mailboxSent": "Sent",
  "common.messageLabel.mailboxUnread": "Unread",
  "common.messageLabel.mailboxesLabel": "Mailboxes",
  "common.messageLabel.messageList": "Messages",
  "common.messageLabel.collapseList": "Collapse message list",
  "common.messageLabel.expandList": "Expand message list",
  "common.messageLabel.focusReading": "Focus reading",
  "common.messageLabel.messagesEmpty": "No messages matched the current search or filters.",
  "common.messageLabel.no": "No",
  "common.messageLabel.noMailboxResults": "No messages in this mailbox",
  "common.messageLabel.noMailboxResultsDescription": "Try another mailbox or view all messages.",
  "common.messageLabel.noMessages": "No messages found",
  "common.messageLabel.noMessagesDescription": "Try another mailbox or send a new message.",
  "common.messageLabel.noSearchResults": "No matching messages",
  "common.messageLabel.noSearchResultsDescription": "Try a different search term or clear the search.",
  "common.messageLabel.noSubject": "(No subject)",
  "common.messageLabel.outbound": "Outgoing",
  "common.messageLabel.pageTitle": "Messages",
  "common.messageLabel.notificationUnreadMessage": "New message from :name",
  "common.messageLabel.preview": "Preview",
  "common.messageLabel.recipient": "To",
  "common.messageLabel.refresh": "Refresh",
  "common.messageLabel.refreshFailed": "Unable to refresh messages.",
  "common.messageLabel.refreshedSuccessfully": "Messages refreshed.",
  "common.messageLabel.replies": "Replies",
  "common.messageLabel.reply": "Reply",
  "common.messageLabel.replyFailed": "Unable to send reply.",
  "common.messageLabel.replySent": "Reply sent successfully.",
  "common.messageLabel.replyWithAiPersonaHint": "AI reply drafts use this persona and its knowledge base for the student?s stage.",
  "common.messageLabel.aiPersonaStudentOnly": "AI persona replies are available for student message threads only.",
  "common.messageLabel.retryLoad": "Try again",
  "common.messageLabel.searchPlaceholder": "Search messages by subject or sender",
  "common.messageLabel.selectMessage": "Select a message",
  "common.messageLabel.selectMessageDescription": "Choose a message from the list to read it here.",
  "common.messageLabel.sendFailed": "Unable to send message.",
  "common.messageLabel.sendMessage": "Send message",
  "common.messageLabel.sender": "Sender",
  "common.messageLabel.sentSuccessfully": "Message sent successfully.",
  "common.messageLabel.sidebarEmails": "Email",
  "common.messageLabel.sidebarMessages": "Messages",
  "common.messageLabel.subject": "Subject",
  "common.messageLabel.summarizeThreadWithAi": "Summarize thread with AI",
  "common.messageLabel.threadCount": ":count messages",
  "common.messageLabel.unread": "Unread",
  "common.messageLabel.unreadMessage": "Unread message",
  "common.messageLabel.viewAllMessages": "View all messages",
  "common.messageLabel.yes": "Yes",
  "common.messageLabel.loadingItem" : "Loading ...",
  "common.moduleLabel.actionFailed": "Unable to complete that action right now.",
  "common.moduleLabel.backToList": "Back to Modules",
  "common.moduleLabel.course": "Course",
  "common.moduleLabel.courseCode": "Course Code",
  "common.moduleLabel.deleteModule": "Delete",
  "common.moduleLabel.deleteModuleConfirm": "Are you sure you want to delete this module?",
  "common.moduleLabel.deletedSuccessfully": "Module deleted successfully.",
  "common.moduleLabel.details": "Module Details",
  "common.moduleLabel.detailsDescription": "Core module and linked course information.",
  "common.moduleLabel.editModule": "Edit",
  "common.moduleLabel.id": "ID",
  "common.moduleLabel.no": "No",
  "common.moduleLabel.pageTitle": "Modules",
  "common.moduleLabel.program": "Program",
  "common.moduleLabel.properties": "Properties",
  "common.moduleLabel.propertiesDescription": "Additional stored module properties.",
  "common.moduleLabel.title": "Title",
  "common.moduleLabel.yes": "Yes",
  "common.navCustomizeLabel.loadFailed": "Unable to load sidebar layout.",
  "common.navCustomizeLabel.loading": "Loading sidebar layout?",
  "common.navCustomizeLabel.resizeSidebar": "Resize sidebar",
  "common.navCustomizeLabel.retry": "Try again",
  "common.navCustomizeLabel.saved": "Your sidebar layout was saved.",
  "common.navCustomizeLabel.tip": "Drag to reorder. Use the icons to show, tuck under More, or hide items.",
  "common.navCustomizeLabel.unsaved": "Unsaved changes",
  "common.navigationLabel.automationTemplates": "Automation Templates",
  "common.navigationLabel.createAutomation": "Create Automation",
  "common.navigationLabel.more": "More",
  "common.navigationLabel.recent": "Recent",
  "common.needsAttentionLabel.title": "Needs Attention",
  "common.noRunsYetLabel.description": "Publish and trigger this automation to start collecting analytics.",
  "common.noRunsYetLabel.title": "No runs yet",
  "common.noteLabel.byAuthor": "By: :author",
  "common.noteLabel.createDescription": "Capture context, follow-ups, and decisions for this contact.",
  "common.noteLabel.deleteDescription": "This note will be permanently removed.",
  "common.noteLabel.deleteError": "Unable to delete that note right now.",
  "common.noteLabel.deleteTitle": "Delete note?",
  "common.noteLabel.editDescription": "Update the note title, content, or pin status.",
  "common.noteLabel.emptyDescription": "Capture important context, follow-ups, and decisions for this contact in one scannable timeline.",
  "common.noteLabel.emptyTitle": "No notes yet",
  "common.noteLabel.filterCreatedByLabel": "Created by",
  "common.noteLabel.filterPinnedLabel": "Pinned",
  "common.noteLabel.filteredEmptyDescription": "Try adjusting your search or filters to find what you need.",
  "common.noteLabel.filteredEmptyTitle": "No matching notes",
  "common.noteLabel.filters": "Note filters",
  "common.noteLabel.moreActions": "More note actions",
  "common.noteLabel.expandNote": "Expand note",
  "common.noteLabel.collapseNote": "Collapse note",
  "common.noteLabel.nextStep": "Next step",
  "common.noteLabel.notes": "notes",
  "common.noteLabel.pinNote": "Pin note",
  "common.noteLabel.pinNoteDescription": "Pinned notes stay at the top of the timeline for quick reference.",
  "common.noteLabel.pinnedSection": "Pinned notes",
  "common.noteLabel.pinnedNoteCount": ":count pinned note",
  "common.noteLabel.pinnedNotesCount": ":count pinned notes",
  "common.noteLabel.loadingPinnedNotes": "Loading pinned notes…",
  "common.noteLabel.noPinnedNotes": "No pinned notes",
  "common.noteLabel.unknownAuthor": "Unknown author",
  "common.noteLabel.pinnedNotesLoadError": "Unable to load pinned notes.",
  "common.noteLabel.retryPinnedNotes": "Try again",
  "common.noteLabel.viewAllPinnedNotes": "View all pinned notes",
  "common.noteLabel.noteContentUnavailable": "No note content",
  "common.noteLabel.updatedAt": "Updated :date",
  "common.noteLabel.resultSummary": ":from to :to of :count :label",
  "common.noteLabel.resultSummaryEmpty": "0 of 0 :label",
  "common.noteLabel.tokenTitle": "Note title",
  "common.noteLabel.tokenContent": "Note content (HTML)",
  "common.noteLabel.tokenContentPlain": "Note content (plain text)",
  "common.noteLabel.tokenAuthorName": "Note author name",
  "common.noteLabel.mentionHint": "Type @ to mention a teammate. Mentioned staff receive a notification.",
  "common.noteLabel.mentionSearching": "Searching team members…",
  "common.noteLabel.mentionNoResults": "No matching team members.",
  "common.noteLabel.mentionNotificationSubject": ":author mentioned you in a note",
  "common.noteLabel.mentionNotificationBody": "Open the contact profile to read the note.",
  "common.noteLabel.mentionNotificationBodyWithTitle": "Note: :title",
  "common.noteLabel.saveError": "Unable to save that note right now.",
  "common.noteLabel.searchPlaceholder": "Search notes by title or content...",
  "common.noteLabel.timelineSection": "Recent activity",
  "common.noteLabel.updateError": "Unable to update that note right now.",
  "common.notificationLabel.applicationActivitySubject": "Application activity",
  "common.notificationLabel.applicationSubmittedContent": ":name submitted a new application.",
  "common.notificationLabel.applicationSubmittedContentGeneric": "A new application was submitted.",
  "common.notificationLabel.applicationSubmittedSubject": "New application submitted",
  "common.notificationLabel.applicationUpdatedContent": ":name updated an application.",
  "common.notificationLabel.applicationUpdatedContentGeneric": "An application was updated.",
  "common.notificationLabel.applicationUpdatedSubject": "Application updated",
  "common.notificationLabel.bulkStatusFailed": "Unable to update notifications.",
  "common.notificationLabel.bulkStatusUpdated": ":count notifications updated.",
  "common.notificationLabel.createdAt": "Creation Date",
  "common.notificationLabel.empty": "No notifications matched the current search or filters.",
  "common.notificationLabel.id": "ID",
  "common.notificationLabel.markAllRead": "Mark all as read",
  "common.notificationLabel.markAllReadFailed": "Unable to mark all notifications as read.",
  "common.notificationLabel.markRead": "Mark as read",
  "common.notificationLabel.markReadFailed": "Unable to mark notification as read.",
  "common.notificationLabel.markUnread": "Mark as unread",
  "common.notificationLabel.model": "Model",
  "common.notificationLabel.modelId": "Model ID",
  "common.notificationLabel.noRelatedRecord": "No related record",
  "common.notificationLabel.notification": "Notification",
  "common.notificationLabel.pageTitle": "Notifications",
  "common.notificationLabel.readNotification": "Read notification",
  "common.notificationLabel.relatedRecord": "Related record",
  "common.notificationLabel.resultLabel": "Notifications",
  "common.notificationLabel.searchPlaceholder": "Search notifications",
  "common.notificationLabel.status": "Status",
  "common.notificationLabel.statusNew": "New",
  "common.notificationLabel.statusRead": "Read",
  "common.notificationLabel.statusUnread": "Unread",
  "common.notifications.assignedTo": "Assigned to",
  "common.notifications.contact": "Contact",
  "common.notifications.contactOwnerAssignedTitle": "Contact owner assigned",
  "common.notifications.dismiss": "Dismiss notification",
  "common.notifications.taskCreatedTitle": "New task assigned",
  "common.notifications.untitledTask": "Untitled task",
  "common.notifications.view": "View",
  "common.notifications.viewContact": "View contact",
  "common.notifications.viewTask": "View task",
  "common.nsfPaymentLabel.actionFailed": "Unable to complete that action right now.",
  "common.nsfPaymentLabel.amount": "Amount",
  "common.nsfPaymentLabel.backToTransactions": "Back to Transactions",
  "common.nsfPaymentLabel.bankResponseCode": "Bank Response Code",
  "common.nsfPaymentLabel.deleteNsfPayment": "Delete NSF Payment",
  "common.nsfPaymentLabel.details": "Details",
  "common.nsfPaymentLabel.detailsDescription": "Returned payment, linked payment, and resolution.",
  "common.nsfPaymentLabel.deleteNsfPaymentConfirm": "Are you sure you want to delete this NSF payment?",
  "common.nsfPaymentLabel.deletedSuccessfully": "NSF payment deleted successfully.",
  "common.nsfPaymentLabel.editNsfPayment": "Edit NSF Payment",
  "common.nsfPaymentLabel.eyebrow": "Finance",
  "common.nsfPaymentLabel.fallbackTitle": "NSF #:id",
  "common.nsfPaymentLabel.invoice": "Invoice",
  "common.nsfPaymentLabel.notes": "Notes",
  "common.nsfPaymentLabel.nsfDate": "NSF Date",
  "common.nsfPaymentLabel.nsfFee": "NSF Fee",
  "common.nsfPaymentLabel.originalPayment": "Original Payment",
  "common.nsfPaymentLabel.originalPaymentAmount": "Original Payment Amount",
  "common.nsfPaymentLabel.originalPaymentDate": "Original Payment Date",
  "common.nsfPaymentLabel.paymentGateway": "Payment Gateway",
  "common.nsfPaymentLabel.paymentMethod": "Payment Method",
  "common.nsfPaymentLabel.paymentReference": "Payment Reference",
  "common.nsfPaymentLabel.postingDate": "Posting Date",
  "common.nsfPaymentLabel.reason": "Reason",
  "common.nsfPaymentLabel.resolutionMethod": "Resolution Method",
  "common.nsfPaymentLabel.resolvedBy": "Resolved By",
  "common.nsfPaymentLabel.resolvedDate": "Resolved Date",
  "common.nsfPaymentLabel.sectionPayment": "Linked Payment",
  "common.nsfPaymentLabel.sectionPaymentDescription": "Student, invoice, and original payment references for this return.",
  "common.nsfPaymentLabel.sectionResolution": "Resolution",
  "common.nsfPaymentLabel.sectionResolutionDescription": "Resolution method, resolver, and linked transaction status.",
  "common.nsfPaymentLabel.sectionSummary": "NSF Summary",
  "common.nsfPaymentLabel.sectionSummaryDescription": "Returned-payment amount, fee, dates, and bank response details.",
  "common.nsfPaymentLabel.status": "Status",
  "common.nsfPaymentLabel.student": "Student",
  "common.nsfPaymentLabel.title": "NSF Payment :uid",
  "common.nsfPaymentLabel.totalAmount": "Total Amount",
  "common.nsfPaymentLabel.transaction": "Transaction",
  "common.nsfPaymentLabel.transactionStatus": "Transaction Status",
  "common.nsfPaymentLabel.uid": "UID",
  "common.nsfPaymentLabel.viewInvoice": "View Invoice",
  "common.nsfPaymentLabel.viewOriginalPayment": "Original Payment",
  "common.nsfPaymentLabel.back": "Back",
  "common.nsfPaymentLabel.bankResponseCodeOptional": "Optional",
  "common.nsfPaymentLabel.createFailed": "Unable to create the NSF payment.",
  "common.nsfPaymentLabel.createNsfPayment": "Create NSF Payment",
  "common.nsfPaymentLabel.createdSuccessfully": "NSF payment created.",
  "common.nsfPaymentLabel.duplicateNsf": "This payment already has an NSF payment.",
  "common.nsfPaymentLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.nsfPaymentLabel.ineligiblePayment": "Only a closed or failed payment can be marked NSF.",
  "common.nsfPaymentLabel.lockedPaymentHint": "This NSF payment is for the payment selected on the finance tab.",
  "common.nsfPaymentLabel.next": "Next",
  "common.nsfPaymentLabel.notesPlaceholder": "Additional notes about this NSF payment",
  "common.nsfPaymentLabel.nsfDateRequired": "NSF date is required.",
  "common.nsfPaymentLabel.nsfFeeRequired": "Enter an NSF fee of zero or more.",
  "common.nsfPaymentLabel.paymentRequired": "Select the original payment.",
  "common.nsfPaymentLabel.postingDateRequired": "Posting date is required.",
  "common.nsfPaymentLabel.reasonAccountClosed": "Account closed",
  "common.nsfPaymentLabel.reasonBankError": "Bank processing error",
  "common.nsfPaymentLabel.reasonDeclined": "Payment method declined",
  "common.nsfPaymentLabel.reasonInsufficientFunds": "Insufficient funds",
  "common.nsfPaymentLabel.reasonInvalidAccount": "Invalid account number",
  "common.nsfPaymentLabel.reasonOther": "Other",
  "common.nsfPaymentLabel.reasonRequired": "Select a reason.",
  "common.nsfPaymentLabel.reasonStopPayment": "Stop payment",
  "common.nsfPaymentLabel.reasonUnauthorized": "Unauthorized transaction",
  "common.nsfPaymentLabel.reviewDetails": "NSF details",
  "common.nsfPaymentLabel.reviewPayment": "Original payment",
  "common.nsfPaymentLabel.saveFailed": "Unable to save the NSF payment.",
  "common.nsfPaymentLabel.selectPayment": "Select a payment",
  "common.nsfPaymentLabel.selectReason": "Select a reason",
  "common.nsfPaymentLabel.selectStatus": "Select a status",
  "common.nsfPaymentLabel.statusPending": "Pending",
  "common.nsfPaymentLabel.statusProcessed": "Processed",
  "common.nsfPaymentLabel.statusRequired": "Select a status.",
  "common.nsfPaymentLabel.statusResolved": "Resolved",
  "common.nsfPaymentLabel.statusVoided": "Voided",
  "common.nsfPaymentLabel.stepAnnouncement": "Step :current of :total: :step",
  "common.nsfPaymentLabel.stepDetails": "NSF details",
  "common.nsfPaymentLabel.stepDetailsHint": "Fee, dates, status, reason, and notes",
  "common.nsfPaymentLabel.stepNotes": "Notes",
  "common.nsfPaymentLabel.stepNotesHint": "Review the payment and add notes",
  "common.nsfPaymentLabel.stepPayment": "Payment",
  "common.nsfPaymentLabel.stepPaymentHint": "Student and original payment",
  "common.nsfPaymentLabel.stepProgress": "Step :current of :total",
  "common.nsfPaymentLabel.studentEmail": "Student Email",
  "common.nsfPaymentLabel.updatedSuccessfully": "NSF payment updated.",
  "common.nsfPaymentLabel.viewStudentFinance": "Student Finance",
  "common.nsfPaymentLabel.voidReason": "Void Reason",
  "common.nsfPaymentLabel.wizardFooterAria": "NSF payment wizard actions",
  "common.nsfPaymentLabel.wizardNavigation": "NSF payment steps",
  "common.outcomeFunnelLabel.title": "Outcome Funnel",
  "common.pageContextOffLabel.off": "Page context off",
  "common.pageContextOnLabel.on": "Page context on",
  "common.parentLabel.activityTab": "Activity",
  "common.parentLabel.addCreditMemo": "Add Credit Memo",
  "common.parentLabel.addEstimate": "Add Estimate",
  "common.parentLabel.addInvoice": "Add Invoice",
  "common.parentLabel.addNote": "Add Note",
  "common.parentLabel.addPayment": "Add Payment",
  "common.parentLabel.addRefund": "Add Refund",
  "common.parentLabel.addTask": "Add Task",
  "common.parentLabel.assignChild": "Assign Child",
  "common.parentLabel.assignChildDescription": "Search for one or more students to link to this parent.",
  "common.parentLabel.assignChildFailed": "Unable to assign the selected children. Review the form and try again.",
  "common.parentLabel.assignChildHelper": "Type at least 2 characters. Students already linked to this parent are hidden from results.",
  "common.parentLabel.backToList": "Back to Parents",
  "common.parentLabel.calls": "Calls",
  "common.parentLabel.children": "children",
  "common.parentLabel.childrenEmpty": "No children are linked to this parent.",
  "common.parentLabel.childrenTab": "Children",
  "common.parentLabel.createFailed": "Unable to create the parent. Review the form and try again.",
  "common.parentLabel.createParent": "Create Parent",
  "common.parentLabel.createParentDescription": "Add parent contact information and optionally link existing children.",
  "common.parentLabel.createdAt": "Creation Date",
  "common.parentLabel.createdSuccessfully": "Parent created successfully.",
  "common.parentLabel.currentBalance": "Current Balance",
  "common.parentLabel.deleteParent": "Delete",
  "common.parentLabel.deleteParentConfirm": "Are you sure you want to delete this parent?",
  "common.parentLabel.deletedSuccessfully": "Parent deleted successfully.",
  "common.parentLabel.detailsTab": "Details",
  "common.parentLabel.documents": "Documents",
  "common.parentLabel.editParent": "Edit",
  "common.parentLabel.editParentDescription": "Update parent contact information and linked children.",
  "common.parentLabel.editParentPage": "Edit Parent",
  "common.parentLabel.email": "Email",
  "common.parentLabel.emails": "Emails",
  "common.parentLabel.emailsEmpty": "No emails are linked to this parent.",
  "common.parentLabel.files": "Files",
  "common.parentLabel.financeTab": "Finance",
  "common.parentLabel.firstName": "First Name",
  "common.parentLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.parentLabel.fullName": "Full Name",
  "common.parentLabel.id": "ID",
  "common.parentLabel.lastName": "Last Name",
  "common.parentLabel.latestEmails": "Latest emails",
  "common.parentLabel.latestMeetings": "Latest meetings",
  "common.parentLabel.latestNotes": "Latest notes",
  "common.parentLabel.latestTasks": "Latest tasks",
  "common.parentLabel.meeting": "Meeting",
  "common.parentLabel.meetings": "Meetings",
  "common.parentLabel.meetingsEmpty": "No meetings are linked to this parent.",
  "common.parentLabel.messages": "Messages",
  "common.parentLabel.name": "Name",
  "common.parentLabel.notes": "Notes",
  "common.parentLabel.notesEmpty": "No notes are linked to this parent.",
  "common.parentLabel.pageTitle": "Parents",
  "common.parentLabel.parents": "parents",
  "common.parentLabel.parentsEmpty": "No parents matched the current search or filters.",
  "common.parentLabel.phone": "Phone",
  "common.parentLabel.refundedAmount": "Refunded: :amount",
  "common.parentLabel.removeChild": "Remove from Parent",
  "common.parentLabel.removeChildConfirm": "Remove this child from this parent?",
  "common.parentLabel.scheduleMeeting": "Schedule Meeting",
  "common.parentLabel.searchChildren": "Search children by name or email",
  "common.parentLabel.selectChildRequired": "Select at least one child.",
  "common.parentLabel.searchParents": "Search parents by name, email, or phone",
  "common.parentLabel.searchTransactions": "Search parent transactions by UID",
  "common.parentLabel.sectionActivity": "Relationship and activity",
  "common.parentLabel.sectionActivityDesc": "Linked children, notes, meetings, and records connected to this parent.",
  "common.parentLabel.sectionBasics": "Parent basics",
  "common.parentLabel.sectionBasicsDesc": "Core parent contact information.",
  "common.parentLabel.sectionTimestamps": "Timestamps",
  "common.parentLabel.sectionTimestampsDesc": "Record creation and latest update dates.",
  "common.parentLabel.sendEmail": "Send E-mail",
  "common.parentLabel.sendSms": "Send SMS",
  "common.parentLabel.sms": "SMS",
  "common.parentLabel.tasks": "Tasks",
  "common.parentLabel.tasksEmpty": "No tasks are linked to this parent.",
  "common.parentLabel.totalCredits": "Total Credits",
  "common.parentLabel.totalInvoices": "Total Invoices",
  "common.parentLabel.totalPayments": "Total Payments",
  "common.parentLabel.transactionsEmpty": "No finance transactions are linked to this parent.",
  "common.parentLabel.unnamedParent": "Unnamed Parent",
  "common.parentLabel.untitledEmail": "Untitled email",
  "common.parentLabel.untitledNote": "Untitled note",
  "common.parentLabel.untitledTask": "Untitled task",
  "common.parentLabel.updateFailed": "Unable to update the parent. Review the form and try again.",
  "common.parentLabel.updateParent": "Update Parent",
  "common.parentLabel.updateSuccess": "Parent updated successfully.",
  "common.parentLabel.updatedAt": "Updated",
  "common.parentLabel.viewParent": "View",
  "common.parentPermissionsLabel.canApplyOnBehalf": "Apply on behalf",
  "common.parentPermissionsLabel.canApplyOnBehalfHint": "Allow this parent to start or submit applications for this student.",
  "common.parentPermissionsLabel.canDownloadDocuments": "Download documents",
  "common.parentPermissionsLabel.canDownloadDocumentsHint": "Allow this parent to download documents connected to this student.",
  "common.parentPermissionsLabel.canEditMedical": "Edit medical information",
  "common.parentPermissionsLabel.canEditMedicalHint": "Allow this parent to update medical information for this student.",
  "common.parentPermissionsLabel.canMessageStaff": "Message staff",
  "common.parentPermissionsLabel.canMessageStaffHint": "Allow this parent to communicate with staff about this student.",
  "common.parentPermissionsLabel.canPay": "Make payments",
  "common.parentPermissionsLabel.canPayHint": "Allow this parent to make payments for this student.",
  "common.parentPermissionsLabel.canSignConsents": "Sign consents",
  "common.parentPermissionsLabel.canSignConsentsHint": "Allow this parent to sign consent forms for this student.",
  "common.parentPermissionsLabel.canUploadDocuments": "Upload documents",
  "common.parentPermissionsLabel.canUploadDocumentsHint": "Allow this parent to upload documents for this student.",
  "common.parentPermissionsLabel.canViewAcademics": "View academics",
  "common.parentPermissionsLabel.canViewAcademicsHint": "Allow this parent to view academic information for this student.",
  "common.parentPermissionsLabel.canViewFinance": "View finance",
  "common.parentPermissionsLabel.canViewFinanceHint": "Allow this parent to view finance information for this student.",
  "common.parentPermissionsLabel.canViewProfile": "View profile",
  "common.parentPermissionsLabel.canViewProfileHint": "Allow this parent to view this student's profile information.",
  "common.parentPermissionsLabel.emptyDescription": "Assign a parent to this student before managing parent permissions.",
  "common.parentPermissionsLabel.emptyTitle": "No parents assigned",
  "common.parentPermissionsLabel.invalidPermission": "Invalid parent permission selected.",
  "common.parentPermissionsLabel.legacyPermissions": "Legacy permissions",
  "common.parentPermissionsLabel.pageTitle": "Parent permissions",
  "common.parentPermissionsLabel.readOnlyHint": "You can view parent permissions but do not have permission to edit them.",
  "common.parentPermissionsLabel.saveFailed": "Parent permissions could not be saved.",
  "common.parentPermissionsLabel.savedSuccessfully": "Parent permissions saved.",
  "common.parentPermissionsLabel.unsupportedDescription": "Parent permission storage is not available for this tenant.",
  "common.paymentLabel.addContact": "Add Contact",
  "common.paymentLabel.amountHelper": "Outstanding balance: :amount",
  "common.paymentLabel.amountPlaceholder": "0.00",
  "common.paymentLabel.amountToApply": "Amount to apply",
  "common.paymentLabel.applyToDisbursement": "Apply to open disbursement",
  "common.paymentLabel.applyToDisbursementHint": "The payment total is also recorded as a receipt on the selected disbursement.",
  "common.paymentLabel.disbursementApplyFailed": "The payment was not saved because it could not be applied to the disbursement.",
  "common.paymentLabel.disbursementNotOpen": "The selected disbursement is no longer open.",
  "common.paymentLabel.disbursementOutstanding": ":amount open",
  "common.paymentLabel.disbursementOverpayment": "This payment is greater than the open amount. The extra is recorded as an overpayment on the disbursement.",
  "common.paymentLabel.disbursementPermission": "You do not have permission to record a funding receipt.",
  "common.paymentLabel.back": "Back",
  "common.paymentLabel.balance": "Balance",
  "common.paymentLabel.child": "Child",
  "common.paymentLabel.contactAndPayment": "Contact and Payment Details",
  "common.paymentLabel.contactAndPaymentHint": "Select a contact, enter payment details, and allocate payment amounts to invoices.",
  "common.paymentLabel.contactContextFailed": "Unable to load contact invoices right now.",
  "common.paymentLabel.contactEmail": "Contact Email",
  "common.paymentLabel.contactNotFound": "The selected contact could not be found.",
  "common.paymentLabel.contactRequired": "Select a contact before saving.",
  "common.paymentLabel.contactType": "Contact Type",
  "common.paymentLabel.createInvoice": "Create Invoice",
  "common.paymentLabel.createInvoiceForContact": "Create invoice for this contact",
  "common.paymentLabel.datesRequired": "Enter all payment dates before continuing.",
  "common.paymentLabel.depositTo": "Deposit to",
  "common.paymentLabel.depositToRequired": "Select a deposit account before continuing.",
  "common.paymentLabel.dueDate": "Due Date",
  "common.paymentLabel.editPayment": "Edit Payment",
  "common.paymentLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.paymentLabel.invalidContactType": "The selected contact type is not valid.",
  "common.paymentLabel.invoicesAndAmounts": "Invoices and Payment Amounts",
  "common.paymentLabel.invoicesAndAmountsHint": "Enter the amount to apply for each open invoice.",
  "common.paymentLabel.invoicesStepLead": "Apply a full or partial payment to each open invoice.",
  "common.paymentLabel.loadingContactContext": "Loading contact invoices...",
  "common.paymentLabel.noOutstandingInvoices": "No outstanding invoices or balance to pay.",
  "common.paymentLabel.noOutstandingInvoicesHint": "Create an invoice for this contact before you can record a payment.",
  "common.paymentLabel.noOutstandingInvoicesTitle": "No open invoices",
  "common.paymentLabel.note": "Note",
  "common.paymentLabel.notePlaceholder": "Add an internal note for this payment.",
  "common.paymentLabel.noteSectionHint": "Optional. Stored on the payment record for your team.",
  "common.paymentLabel.noteSectionTitle": "Payment note",
  "common.paymentLabel.openInvoiceCountMany": ":count open invoices",
  "common.paymentLabel.openInvoiceCountOne": ":count open invoice",
  "common.paymentLabel.originalAmount": "Original Amount",
  "common.paymentLabel.originalAmountShort": "Original",
  "common.paymentLabel.outstandingBalance": "Outstanding balance",
  "common.paymentLabel.outstandingBalanceShort": "Balance",
  "common.paymentLabel.overdue": "Overdue",
  "common.paymentLabel.payFull": "Full",
  "common.paymentLabel.payRemainingBalance": "Pay remaining balance",
  "common.paymentLabel.payRemainingBalanceForInvoice": "Pay remaining balance for invoice #:invoice",
  "common.paymentLabel.paymentAmount": "Payment",
  "common.paymentLabel.paymentAmountRequired": "Enter at least one payment amount before continuing.",
  "common.paymentLabel.paymentDate": "Payment Date",
  "common.paymentLabel.paymentMethod": "Payment Method",
  "common.paymentLabel.paymentMethodRequired": "Select a payment method before continuing.",
  "common.paymentLabel.postingDate": "Posting Date",
  "common.paymentLabel.receivePayment": "Receive Payment",
  "common.paymentLabel.referenceNumber": "Reference No.",
  "common.paymentLabel.referenceNumberPlaceholder": "Enter reference number",
  "common.paymentLabel.referenceNumberRequired": "Enter a reference number before continuing.",
  "common.paymentLabel.save": "Save",
  "common.paymentLabel.saveAndClose": "Save and Close",
  "common.paymentLabel.saveAndCreateAnother": "Save and Create Another",
  "common.paymentLabel.saveFailed": "Unable to save payment right now. Please try again.",
  "common.paymentLabel.saved": "Payment saved successfully.",
  "common.paymentLabel.savedAndCreateAnother": "Payment saved. You can create another one now.",
  "common.paymentLabel.savedWithDisbursement": "Payment saved and applied to the selected disbursement.",
  "common.paymentLabel.savedWithDisbursementAndCreateAnother": "Payment saved and applied to the disbursement. You can create another one now.",
  "common.paymentLabel.selectDisbursement": "Do not apply to a disbursement",
  "common.paymentLabel.searchContact": "Search for a contact",
  "common.paymentLabel.selectAccount": "Select account",
  "common.paymentLabel.selectPaymentMethod": "Select Payment Method",
  "common.paymentLabel.stepContact": "Contact and Payment",
  "common.paymentLabel.stepContactHint": "Select a contact and enter payment details.",
  "common.paymentLabel.stepInvoices": "Invoices",
  "common.paymentLabel.stepInvoicesHint": "Apply payment amounts to open invoices and add an optional note.",
  "common.paymentLabel.stepNotes": "Notes",
  "common.paymentLabel.stepNotesHint": "Add an optional note for this payment.",
  "common.paymentLabel.stepProgress": "Step :current of :total",
  "common.paymentLabel.totalEntered": "Total Entered",
  "common.paymentLabel.totalPayment": "Total payment",
  "common.paymentLabel.wizardNavigation": "Payment wizard navigation",
  "common.datePicker.nextMonth": "Next month",
  "common.datePicker.previousMonth": "Previous month",
  "common.datePicker.selectMonth": "Select month",
  "common.datePicker.selectYear": "Select year",
  "common.pickDate": "Pick Date",
  "common.pluginLabel.accessDenied": "You do not have permission to edit plugins.",
  "common.pluginLabel.active": "Active",
  "common.pluginLabel.activeCount": ":active of :total active",
  "common.pluginLabel.aiVoiceManageViaPersonaAfter": "? open a persona ? Settings ? Enable AI Voice. This plugin stores credentials and the fallback default agent id only.",
  "common.pluginLabel.aiVoiceManageViaPersonaBefore": "Voice agents are managed from",
  "common.pluginLabel.aiVoiceManageViaPersonaLink": "AI Agents",
  "common.pluginLabel.aiVoiceSetupTitle": "AI Voice setup",
  "common.pluginLabel.authUrlMissing": "The authorization URL is not configured for this plugin.",
  "common.pluginLabel.popupBlocked": "Please allow popups for this site to complete authorization.",
  "common.pluginLabel.authenticated": "Plugin authenticated successfully.",
  "common.pluginLabel.authenticating": "Authenticating...",
  "common.pluginLabel.authorizing": "Opening authorization...",
  "common.pluginLabel.campusPhoneInvalid": "Enter a valid phone number before starting verification.",
  "common.pluginLabel.campusPhoneVerificationHint": "Save the plugin before verifying campus phone numbers.",
  "common.pluginLabel.campusPhoneVerified": "Verified",
  "common.pluginLabel.campusPhoneVerifiedHint": "This campus phone number is verified.",
  "common.pluginLabel.campusPhoneVerify": "Verify",
  "common.pluginLabel.campusPhoneVerifyCallHint": "Twilio will call :phone. Answer the call and enter the validation code using the phone keypad.",
  "common.pluginLabel.campusPhoneVerifyCallTitle": "Verification call started",
  "common.pluginLabel.campusPhoneVerifyCodeLabel": "Validation code",
  "common.pluginLabel.campusPhoneVerifyCodePending": "Pending",
  "common.pluginLabel.campusPhoneVerifyDescription": "Use the code below when Twilio calls this campus number.",
  "common.pluginLabel.campusPhoneVerifyFailed": "Unable to start phone number verification.",
  "common.pluginLabel.campusPhoneVerifyInstructions": "Keep this modal open until the call is complete. After the number is verified, keep the plugin saved so the verified status stays linked to the same phone number.",
  "common.pluginLabel.campusPhoneVerifyStarted": "Number verification started.",
  "common.pluginLabel.campusPhoneVerifyTitle": "Verify Campus Phone Number",
  "common.pluginLabel.canvas.automationsContact": "The Canvas user must already match a contact (Canvas user id on the contact). Otherwise the grade is synced and no automation starts.",
  "common.pluginLabel.canvas.automationsGrade": "Canvas Grade Changed runs when a grade changes in a linked course.",
  "common.pluginLabel.canvas.automationsSubmission": "Canvas Submission Updated runs when a student submits or resubmits work in a linked course.",
  "common.pluginLabel.canvas.cohortAssignments": "Sync Canvas assignments pulls assignment groups and assignments into the cohort gradebook. Assignment changes in Canvas do not arrive on their own.",
  "common.pluginLabel.canvas.cohortCreate": "Create Canvas course needs a start date and an end date on the cohort. The course name uses the course and the cohort title. If Canvas already has that SIS course id, the cohort links to the existing course.",
  "common.pluginLabel.canvas.cohortEnroll": "Enroll students creates or matches the Canvas user, then enrolls the contact in the course.",
  "common.pluginLabel.canvas.cohortGrades": "Sync Canvas grades updates scores for the linked course. You can also sync one contact from their profile.",
  "common.pluginLabel.canvas.connectAccount": "Account ID is the Canvas account the courses are created in.",
  "common.pluginLabel.canvas.connectSandbox": "Connect to Sandbox Account points this school at a Canvas test environment.",
  "common.pluginLabel.canvas.connectToken": "Access Token is the Canvas API token. It is stored encrypted. Leave it blank when saving if you want to keep the current token.",
  "common.pluginLabel.canvas.connectUrl": "Installation URL is the Canvas site, for example https://school.instructure.com.",
  "common.pluginLabel.canvas.description": "Create Canvas courses from course cohorts, enroll contacts, sync the gradebook, and start automations when students submit work or a grade changes.",
  "common.pluginLabel.canvas.goodToKnowAssignments": "New or edited Canvas assignments are not pushed to HEM-SP automatically. Use Sync Canvas assignments on the cohort.",
  "common.pluginLabel.canvas.goodToKnowDelete": "Deleting a course cohort, or changing its Canvas course, stops submission notifications for that course.",
  "common.pluginLabel.canvas.goodToKnowGrades": "Grade-change notifications cover the Canvas account. HEM-SP only acts on courses that are linked to a cohort.",
  "common.pluginLabel.canvas.guideDescription": "How to connect Canvas, work with course cohorts, and use Canvas automations.",
  "common.pluginLabel.canvas.guideTitle": "Canvas",
  "common.pluginLabel.canvas.liveEventsCapabilities": "Ask Instructure to enable live-event webhooks on your developer key before turning this on. HEM-SP cannot enable that on Canvas for you.",
  "common.pluginLabel.canvas.liveEventsCredentials": "Then enter the LTI developer key (client id), the JWT key id, and the private key. The private key is stored encrypted. Leave it blank when saving to keep the current key.",
  "common.pluginLabel.canvas.liveEventsEnable": "Turn on Enable LTI Live-Event Webhooks and save. HEM-SP registers the Canvas notifications for linked cohorts. You do not paste a callback URL into Canvas.",
  "common.pluginLabel.canvas.sectionAutomations": "Automations",
  "common.pluginLabel.canvas.sectionAutomationsBody": "After live events are connected, these triggers are available in Automation Studio.",
  "common.pluginLabel.canvas.sectionCohorts": "Course cohorts",
  "common.pluginLabel.canvas.sectionCohortsBody": "Open a course cohort. These actions appear when Canvas is the published LMS and you can edit the cohort.",
  "common.pluginLabel.canvas.sectionConnect": "Connect Canvas",
  "common.pluginLabel.canvas.sectionConnectBody": "Publish the Canvas plugin after these fields are filled in. Required fields must be saved before the plugin shows as configured.",
  "common.pluginLabel.canvas.sectionGoodToKnow": "Good to know",
  "common.pluginLabel.canvas.sectionLiveEvents": "Automatic updates",
  "common.pluginLabel.canvas.sectionLiveEventsBody": "Live events let Canvas tell HEM-SP when a student submits work or a grade changes, so automations can run without a manual sync.",
  "common.pluginLabel.canvas.sectionSignIn": "How contacts sign in to Canvas",
  "common.pluginLabel.canvas.sectionSignInBody": "These settings apply when HEM-SP creates a Canvas user for a contact or an instructor.",
  "common.pluginLabel.canvas.signInPassword": "Password Suffix is appended when a temporary password is created. The default suffix is Canvas.",
  "common.pluginLabel.canvas.signInRegistration": "Force self-registration asks new Canvas users to finish signup and set their own password, when Canvas allows it.",
  "common.pluginLabel.canvas.signInUsername": "Username Format builds the Canvas login. A common value is ${students.email}. Leave it empty to let Canvas choose.",
  "common.pluginLabel.categories": "Plugin categories",
  "common.pluginLabel.categorySummary": ":active active of :total plugins in this category.",
  "common.pluginLabel.clear": "Clear",
  "common.pluginLabel.close": "Close",
  "common.pluginLabel.configureIntegration": "Configure integration",
  "common.pluginLabel.configured": "Configured",
  "common.pluginLabel.configuredCount": ":configured of :total configured",
  "common.pluginLabel.configuredSecretPlaceholder": "Configured",
  "common.pluginLabel.connect": "Connect",
  "common.pluginLabel.copied": "Copied",
  "common.pluginLabel.copy": "Copy",
  "common.pluginLabel.copyFailed": "Unable to copy to the clipboard.",
  "common.pluginLabel.documentation": "Documentation",
  "common.pluginLabel.customFieldHelper": "Paste a provider-specific voice or model id not listed above.",
  "common.pluginLabel.customFieldLabel": "Custom value",
  "common.pluginLabel.customOption": "Custom?",
  "common.pluginLabel.customValue": "custom",
  "common.pluginLabel.customVoiceDescription": "Paste any provider voice id. Preview works for OpenAI Live voices supported by the speech API.",
  "common.pluginLabel.formHint": "Configure credentials, environment, and plugin defaults.",
  "common.pluginLabel.fallbackCountryCode": "Fallback country code",
  "common.pluginLabel.fallbackCountryCodeHelper": "Used when a phone number is missing the + sign. Example: 5142509323 becomes +15142509323 when +1 is selected.",
  "common.pluginLabel.forceSelfRegistration": "Force self-registration",
  "common.pluginLabel.forceSelfRegistrationHelper": "Send user a self-registration style email if true. Setting it means the users will get a notification asking them to complete the registration process by clicking it, setting a password, and letting them in. Will only be executed if the user does not need admin approval. Defaults to false unless explicitly provided.",
  "common.pluginLabel.flywire.description": "Accept international payments through Flywire Embedded Checkout. Secure quote completion requires the portal destination and Flywire Shared Secret.",
  "common.pluginLabel.flywire.sharedSecret": "Shared Secret",
  "common.pluginLabel.flywire.sharedSecretHelper": "Request the Shared Secret for this recipient from the Flywire Solutions team. It is encrypted here and used only for session and callback authentication.",
  "common.pluginLabel.helperDefaultVoiceOpenailive": "Set by OPENAI_LIVE_DEFAULT_VOICE_ID in .env (default gleam). Persona Voice override can still pick another GPT-Live voice.",
  "common.pluginLabel.voiceGroupNatural": "Natural voices",
  "common.pluginLabel.voiceGroupGenerated": "Generated voices",
  "common.pluginLabel.helperDefaultVoiceRetell": "ElevenLabs voice id (e.g. 11labs-Adrian). Applied when creating or syncing the persona voice agent.",
  "common.pluginLabel.helperDefaultVoiceTwilioaivoice": "Amazon Polly voice for Gather/Say fallback (e.g. Polly.Joanna). ConversationRelay may use the bridge voice instead.",
  "common.campusLabel.defaultOpenGreeting": "Thank you for calling :school, :campus. Please hold while we connect you with our team.",
  "common.campusLabel.defaultAfterHoursMessage": "You have reached :school, :campus. Our office is currently closed. Please leave your name, phone number, and a brief message after the tone. We will return your call as soon as possible.",
  "common.campusLabel.defaultAiInboundWelcome": "Hello, you have reached :school, :campus after-hours admissions. How can I help you?",
  "common.campusLabel.defaultSchoolFallback": "our school",
  "common.campusLabel.defaultCampusFallback": "our campus",
  "common.pluginLabel.helperRealtimeModelOpenailive": "Set by OPENAI_LIVE_REALTIME_MODEL in .env (default gpt-live-1).",
  "common.pluginLabel.helperBackendModelOpenailive": "Set by OPENAI_LIVE_BACKEND_MODEL in .env (default gpt-6-astra).",
  "common.pluginLabel.helperBackendReasoningOpenailive": "Set by OPENAI_LIVE_BACKEND_REASONING_EFFORT in .env (default low).",
  "common.pluginLabel.helperWebSearchOpenailive": "Set by OPENAI_LIVE_ENABLE_WEB_SEARCH in .env (default on).",
  "common.pluginLabel.helperTranscriptionOpenailive": "Set by OPENAI_LIVE_TRANSCRIPTION_MODEL in .env (default gpt-4o-transcribe). Used on Realtime fallback; GPT-Live sessions transcribe with gpt-live-1 itself.",
  "common.pluginLabel.inactive": "Inactive",
  "common.pluginLabel.manage": "Manage",
  "common.pluginLabel.noFields": "This plugin does not expose configurable fields.",
  "common.pluginLabel.noPluginsFound": "No plugins found",
  "common.pluginLabel.noPluginsFoundHint": "Clear the search to see every plugin in this category.",
  "common.pluginLabel.pageTitle": "Plugins & Integrations",
  "common.pluginLabel.plugins": "Plugins",
  "common.pluginLabel.pluginsHint": "Select a plugin to view and update its setup.",
  "common.pluginLabel.previewVoice": "Preview voice",
  "common.pluginLabel.previewVoiceFailed": "Could not generate a voice preview. Check the API key and voice id.",
  "common.pluginLabel.previewVoiceHint": "Plays a conversational sample of the selected voice. Does not place a phone call.",
  "common.pluginLabel.previewVoiceMissingApiKey": "Add an OpenAI API key (or save the plugin first) before previewing a voice.",
  "common.pluginLabel.previewVoicePlaying": "Playing voice preview.",
  "common.pluginLabel.previewVoiceSampleText": "Hi, thanks for taking a moment. I wanted to walk you through what happens next, without rushing you. There's no pressure at all — we can go at your pace. I'll share a few details, pause if anything is unclear, and when you're ready, we can find a time that actually works for you. If you'd rather think it over, that's completely fine too.",
  "common.pluginLabel.previewVoiceSelectRequired": "Select a curated voice or enter a custom voice id before previewing.",
  "common.pluginLabel.previewVoiceUnsupported": "That voice cannot be previewed. Choose a GPT-Live voice such as Gleam, or a Speech voice such as Marin.",
  "common.pluginLabel.published": "Published",
  "common.pluginLabel.publishedHelper": "Enable this plugin when it is ready to be used.",
  "common.pluginLabel.retellAgentIdEmpty": "None yet. Enable AI Voice on an AI Agent persona to create and link an agent.",
  "common.pluginLabel.retellAgentIdLabel": "Current default agent",
  "common.pluginLabel.revolut.description": "Accept Revolut Pay and card payments through the Revolut Merchant API. Requires an approved Revolut Business Merchant account.",
  "common.pluginLabel.revolut.publicApiKeyHelper": "Copy the Public API key from Revolut Business Merchant API settings. It is used by the checkout in the browser.",
  "common.pluginLabel.revolut.secretApiKeyHelper": "Copy the Secret API key from Revolut Business Merchant API settings. It is encrypted here and must only be used server-side.",
  "common.pluginLabel.revolut.webhookSigningSecret": "Webhook Signing Secret",
  "common.pluginLabel.revolut.webhookSigningSecretHelper": "Register https://your-domain/webhook/{school-slug}/revolut for ORDER_COMPLETED events in Revolut Business, then save the generated signing secret here.",
  "common.pluginLabel.sandbox": "Sandbox",
  "common.pluginLabel.sandboxConnected": "Sandbox",
  "common.pluginLabel.sandboxNotConnected": "Not sandbox",
  "common.pluginLabel.save": "Save configuration",
  "common.pluginLabel.saveAndAuthenticate": "Save & Authenticate",
  "common.pluginLabel.saveFailed": "Unable to save this plugin. Review the form and try again.",
  "common.pluginLabel.saved": "Plugin configuration saved.",
  "common.pluginLabel.saving": "Saving...",
  "common.pluginLabel.searchPlaceholder": "Search by name or type",
  "common.pluginLabel.searchPlugins": "Search plugins",
  "common.pluginLabel.secretConfiguredHelper": "A value is already saved. Leave this blank to keep it unchanged.",
  "common.pluginLabel.secretFooterHint": "Saved secrets are never shown. Leave secret fields blank to keep the stored value.",
  "common.pluginLabel.secrets": "Secrets",
  "common.pluginLabel.whatsappSender": "WhatsApp Sender",
  "common.pluginLabel.whatsappSenderCredentialsError": "The Twilio credentials are invalid. Check the Account SID and Auth Token for this tenant.",
  "common.pluginLabel.whatsappSenderE164Error": "Enter the WhatsApp sender as an E.164 phone number, for example +15551234567.",
  "common.pluginLabel.whatsappSenderNotFoundError": "This WhatsApp sender was not found under the authenticated Twilio account.",
  "common.pluginLabel.whatsappSenderNotOnlineError": "This WhatsApp sender exists under the Twilio account but is not ONLINE/usable yet.",
  "common.pluginLabel.whatsappSenderValidationError": "Twilio could not validate this WhatsApp sender. Check the configuration and try again.",
  "common.pluginLabel.whatsappSenderHelper": "Production sender in E.164 format (example: +15551234567). Local development also supports the Twilio WhatsApp Sandbox.",
  "common.pluginLabel.whatsappSenderValidated": "Validated tenant WhatsApp sender.",
  "common.pluginLabel.noMessagingSenderConfigured": "No usable SMS or WhatsApp sender is configured for this tenant.",
  "common.pluginLabel.whatsappNotConfigured": "WhatsApp is not configured for this tenant.",
  "common.pluginLabel.whatsappSenderUnavailable": "The configured WhatsApp sender is unavailable. Revalidate the Twilio plugin configuration.",
  "common.pluginLabel.whatsappRecipientInvalid": "Enter a valid WhatsApp recipient phone number in E.164 format.",
  "common.pluginLabel.whatsappRecipientNotEligible": "This recipient cannot receive this marketing WhatsApp message because they opted out or did not grant consent.",
  "common.pluginLabel.whatsappMessageEmpty": "The WhatsApp message cannot be empty.",
  "common.pluginLabel.whatsappTemplatesNotSupported": "WhatsApp templates are not available in this sending step yet.",
  "common.pluginLabel.whatsappTemplateNotApproved": "The selected WhatsApp template is not approved or is no longer available.",
  "common.pluginLabel.whatsappTemplateNotFound": "The selected WhatsApp template could not be found.",
  "common.pluginLabel.whatsappTemplateVariablesUnavailable": "The selected WhatsApp template has variables that could not be resolved for this recipient.",
  "common.pluginLabel.whatsappSandboxNotConfigured": "Twilio WhatsApp Sandbox is not configured and validated for this tenant.",
  "common.pluginLabel.whatsappSandboxTemplateUnavailable": "The selected Twilio Sandbox template is unavailable. Choose a supported Sandbox template.",
  "common.pluginLabel.whatsappSandboxTemplateVariableRequired": "Enter a value for WhatsApp Sandbox template variable :variable.",
  "common.pluginLabel.whatsappSandboxTemplateVariablesUnavailable": "The WhatsApp Sandbox template variables could not be resolved for this recipient.",
  "common.pluginLabel.whatsappSent": "WhatsApp message sent successfully.",
  "common.pluginLabel.whatsappProviderError": "Twilio could not send the WhatsApp message. Check the tenant's Twilio configuration and try again.",
  "common.pluginLabel.whatsappProviderErrorWithCode": "Twilio rejected the WhatsApp message (error code :code).",
  "common.pluginLabel.whatsappNoMessageSid": "Twilio returned no Message SID, so the WhatsApp send was recorded as failed.",
  "common.pluginLabel.whatsappProviderInitialFailure": "Twilio returned an initial WhatsApp status of :status.",
  "common.pluginLabel.whatsappWindowExpired": "The WhatsApp 24-hour customer-service window has expired. An approved WhatsApp template is required.",
  "common.pluginLabel.whatsappWindowOpen": "Customer service window: Open",
  "common.pluginLabel.whatsappWindowExpires": "Expires: :expires",
  "common.pluginLabel.whatsappWindowClosed": "Customer service window: Closed",
  "common.pluginLabel.whatsappWindowTemplateRequired": "Approved template required.",
  "common.pluginLabel.whatsappMediaRequired": "Select a WhatsApp-compatible file.",
  "common.pluginLabel.whatsappMediaTypeUnsupported": "This file type is not supported for WhatsApp media.",
  "common.pluginLabel.whatsappMediaTooLarge": "This file is too large for WhatsApp. Images must be 5 MB or less; other media must be 16 MB or less.",
  "common.pluginLabel.whatsappMediaImageTooLarge": "This image exceeds WhatsApp's :limit MB limit. Choose an image that is :limit MB or smaller.",
  "common.pluginLabel.whatsappMediaOtherTooLarge": "This audio, video, or document exceeds WhatsApp's :limit MB limit. Choose a file that is :limit MB or smaller.",
  "common.pluginLabel.whatsappMediaStorageFailed": "The WhatsApp media could not be stored. Please try again.",
  "common.pluginLabel.whatsappMediaUnavailable": "The selected WhatsApp media is no longer available. Upload it again.",
  "common.pluginLabel.whatsappMediaProviderUrlUnavailable": "The selected media cannot be made available to Twilio right now.",
  "common.pluginLabel.whatsappMediaTemplateUnsupported": "Media templates are not available in this sending step. Select a text template or send media inside the 24-hour window.",
  "common.pluginLabel.whatsappMediaUploadFailed": "The WhatsApp media could not be uploaded.",
  "common.pluginLabel.twilioAccountSidRequired": "Account SID is required when the Twilio plugin is enabled.",
  "common.pluginLabel.twilioAuthTokenRequired": "Auth Token is required when the Twilio plugin is enabled.",
  "common.pluginLabel.twilioCallFromRequired": "Call From is required when SMS capability is enabled.",
  "common.pluginLabel.twilioWhatsappSenderRequired": "WhatsApp Sender is required when WhatsApp capability is enabled.",
  "common.pluginLabel.section.campuses": "Campus phone numbers",
  "common.pluginLabel.section.connector": "Connector",
  "common.pluginLabel.section.credentials": "Credentials",
  "common.pluginLabel.section.endpoints": "Endpoints",
  "common.pluginLabel.section.organization": "Organization details",
  "common.pluginLabel.section.settings": "Settings",
  "common.pluginLabel.section.quietLine": "If the line goes quiet",
  "common.pluginLabel.section.callSound": "Language and background",
  "common.pluginLabel.section.olderVoice": "Older voice model",
  "common.pluginLabel.section.status": "Status",
  "common.pluginLabel.openailive.quietReminderSecondsUnit": "seconds",
  "common.pluginLabel.openailive.quietReminderTimesUnit": "times",
  "common.pluginLabel.openailive.quietReminderSeconds": "Wait before asking",
  "common.pluginLabel.openailive.quietReminderSecondsHelper": "How long the agent waits after it finishes speaking before it asks if the caller is still there. Applies to every call type. Default: 5 seconds.",
  "common.pluginLabel.openailive.quietReminderTimes": "How many times",
  "common.pluginLabel.openailive.quietReminderTimesHelper": "How many times to ask. After the last ask, the agent waits for the caller, then follows \"Hang up on silence\".",
  "common.pluginLabel.openailive.quietReminderSecondsInvalid": "Enter a number of seconds from 2 to 60.",
  "common.pluginLabel.openailive.quietReminderTimesInvalid": "Enter a number of times from 1 to 5.",
  "common.pluginLabel.openailive.silenceHangup": "Hang up on silence",
  "common.pluginLabel.openailive.silenceHangupHelper": "Which calls say goodbye and hang up when the caller still says nothing after the last ask. Inbound calls never hang up on silence.",
  "common.pluginLabel.openailive.silenceHangupInvoice": "Invoice reminder calls only (default)",
  "common.pluginLabel.openailive.silenceHangupOutbound": "All outbound calls",
  "common.pluginLabel.openailive.silenceHangupNever": "Never",
  "common.pluginLabel.openailive.silenceHangupSeconds": "Wait before hanging up",
  "common.pluginLabel.openailive.silenceHangupSecondsHelper": "Seconds of silence after the last ask before the agent says goodbye and hangs up. Default: 8 seconds.",
  "common.pluginLabel.openailive.silenceHangupSecondsInvalid": "Enter a number of seconds from 3 to 60.",
  "common.pluginLabel.openailive.lookupWaitSeconds": "Wait during a lookup",
  "common.pluginLabel.openailive.lookupWaitSecondsHelper": "While the agent looks something up, it does not ask if the caller is still there. This is the longest it waits for the lookup before it may ask. Default: 20 seconds.",
  "common.pluginLabel.openailive.lookupWaitSecondsInvalid": "Enter a number of seconds from 5 to 60.",
  "common.pluginLabel.openailive.callerSpeechSensitivity": "Caller speech sensitivity",
  "common.pluginLabel.openailive.callerSpeechSensitivityHelper": "How loud the caller must be for the agent to treat it as speech. Choose High if quiet callers are not heard. Choose Low if background noise interrupts the agent.",
  "common.pluginLabel.openailive.callerSpeechSensitivityLow": "Low: ignore more background noise",
  "common.pluginLabel.openailive.callerSpeechSensitivityNormal": "Normal (default)",
  "common.pluginLabel.openailive.callerSpeechSensitivityHigh": "High: hear quiet callers",
  "common.pluginLabel.openailive.languageDetection": "Language detection",
  "common.pluginLabel.openailive.languageDetectionHelper": "Switch to another supported language only after a clear stretch of the caller's speech. Off keeps the contact's Language for the whole call.",
  "common.pluginLabel.openailive.languageDetectionOff": "Off",
  "common.pluginLabel.openailive.languageDetectionStartOnly": "Opening only",
  "common.pluginLabel.openailive.languageDetectionAnytime": "Any time in the call",
  "common.pluginLabel.openailive.backgroundSound": "Background sound",
  "common.pluginLabel.openailive.backgroundSoundHelper": "A quiet bed under the agent's voice. Off leaves the line silent.",
  "common.pluginLabel.openailive.backgroundSoundOff": "Off",
  "common.pluginLabel.openailive.backgroundSoundOffice": "Office",
  "common.pluginLabel.openailive.backgroundSoundCity": "City",
  "common.pluginLabel.openailive.backgroundSoundTyping": "Typing",
  "common.pluginLabel.openailive.backgroundSoundVolume": "Background volume",
  "common.pluginLabel.openailive.backgroundSoundVolumeHelper": "How loud the bed is, from 0.05 to 0.20. Default 0.08.",
  "common.pluginLabel.openailive.backgroundSoundVolumeInvalid": "Enter a volume from 0.05 to 0.20.",
  "common.pluginLabel.openailive.invalidChoice": "Choose one of the listed options.",
  "common.pluginLabel.openailive.olderVoiceWait": "How long to wait after the caller stops",
  "common.pluginLabel.openailive.olderVoiceWaitHelper": "Milliseconds of silence after the caller stops before the older voice model replies. Default 700.",
  "common.pluginLabel.openailive.olderVoiceLoudness": "How loud the caller must be before it counts as speech",
  "common.pluginLabel.openailive.olderVoiceLoudnessHelper": "From 0 to 1. A higher number means the older voice model needs louder speech. Default 0.5.",
  "common.pluginLabel.openailive.olderVoiceSentenceStart": "How much of the start of their sentence to keep",
  "common.pluginLabel.openailive.olderVoiceSentenceStartHelper": "Milliseconds of audio kept before speech is detected, so the first sound is not cut off. Default 300.",
  "common.pluginLabel.selectPlaceholder": "Select an option",
  "common.pluginLabel.useProviderDefault": "Provider default",
  "common.pluginLabel.useProviderDefaultDescription": "Use the provider?s built-in default voice when enabling or syncing AI Voice.",
  "common.pluginLabel.usernameFormat": "Username format",
  "common.pluginLabel.usernameFormatHelper": "Build the Canvas login with merge tags. Example: ${students.email} uses the student's email. Type ${ to insert a token. Leave blank to use last name plus SIS ID.",
  "common.pluginLabel.keystone.apiKey": "API key",
  "common.pluginLabel.keystone.apiKeyHelper": "Sent as Authorization and X-API-KEY. Leave blank when the key is already in the Get Leads URL.",
  "common.pluginLabel.keystone.apiUrl": "Get Leads URL",
  "common.pluginLabel.keystone.apiUrlHelper": "Keystone POST URL, for example https://smartedu.keystoneacademics.com/api/rest/getLeads. The host must be a keystoneacademics.com or keystoneacademic.com address.",
  "common.pluginLabel.keystone.description": "Pulls unsent Keystone leads from the last day into HEM-SP contacts every 10 minutes while this plugin is published. You can also POST the sync URL to import immediately.",
  "common.pluginLabel.keystone.syncToken": "Sync token",
  "common.pluginLabel.keystone.syncTokenHelper": "Send this value as Authorization: Bearer or the X-Keystone-Sync-Token header when calling the sync URL.",
  "common.pluginLabel.keystone.syncUrl": "Sync URL",
  "common.pluginLabel.keystone.syncUrlHelper": "POST this URL to import leads now. Published plugins also pull unsent leads from the last day every 10 minutes. Optional JSON body: before, after, programme, id, amount (max 1000), limit, and test. limit 0 asks Keystone to mark the returned leads as seen.",
  "common.pluginLabel.keystone.addDefault": "Add default",
  "common.pluginLabel.keystone.addMapping": "Add mapping",
  "common.pluginLabel.keystone.defaultItemLabel": "Default :number",
  "common.pluginLabel.keystone.defaultValue": "Default value",
  "common.pluginLabel.keystone.defaultValuePlaceholder": "Value for every lead",
  "common.pluginLabel.keystone.defaultsEmpty": "No default values yet. Add a HEM-SP field and the value every Keystone lead should get.",
  "common.pluginLabel.keystone.fieldDefaults": "Default values",
  "common.pluginLabel.keystone.fieldDefaultsHelper": "Choose a HEM-SP field and a value to write on every imported lead. A Keystone mapping for the same field overrides this value.",
  "common.pluginLabel.keystone.removeDefault": "Remove default",
  "common.pluginLabel.keystone.fieldMappings": "Field mapping",
  "common.pluginLabel.keystone.fieldMappingsHelper": "Match a Keystone field to a HEM-SP contact field. Each Keystone field includes a sample value in brackets, including nested paths such as contact.email (ada@school.com). The HEM-SP list includes contact custom fields. Name, email, and phone are still read from the usual Keystone paths when you leave them unmapped.",
  "common.pluginLabel.keystone.mappingItemLabel": "Mapping :number",
  "common.pluginLabel.keystone.mappingsEmpty": "No field mappings yet. Load the Keystone fields, then add a mapping and choose a field. Each field is shown with a sample value in brackets.",
  "common.pluginLabel.keystone.removeMapping": "Remove mapping",
  "common.pluginLabel.keystone.sourceField": "Keystone field",
  "common.pluginLabel.keystone.sourcePlaceholder": "Select a Keystone field",
  "common.pluginLabel.keystone.targetCountry": "Country",
  "common.pluginLabel.keystone.targetEmail": "Email",
  "common.pluginLabel.keystone.targetField": "HEM-SP field",
  "common.pluginLabel.keystone.targetFirstName": "First name",
  "common.pluginLabel.keystone.targetLastName": "Last name",
  "common.pluginLabel.keystone.targetPhone": "Phone",
  "common.pluginLabel.keystone.loadFields": "Load fields",
  "common.pluginLabel.keystone.loadFieldsHelper": "Load one sample lead and list every Keystone field with a short sample value in brackets.",
  "common.pluginLabel.keystone.loadFieldsSuccess": "Keystone fields loaded.",
  "common.pluginLabel.keystone.loadFieldsFailed": "Keystone did not return a sample lead. Check the Get Leads URL and API key, then try again.",
  "common.pluginLabel.keystone.loadFieldsMissingUrl": "Enter the Get Leads URL before loading fields.",
  "common.pluginLabel.youcanbookme.description": "Create contacts from YouCanBook.me bookings. Paste the webhook URL into a YouCanBook.me POST notification. The webhook uses the same Create Student API, so existing emails are updated instead of duplicated.",
  "common.pluginLabel.youcanbookme.webhookUrl": "Create Student webhook URL",
  "common.pluginLabel.youcanbookme.webhookUrlHelper": "Paste this URL into YouCanBook.me (Additional options → Notifications → Webhook, POST). Use the field mapping below to generate the JSON body.",
  "common.pluginLabel.youcanbookme.fieldMappings": "Field mapping",
  "common.pluginLabel.youcanbookme.fieldMappingsHelper": "Map each YouCanBook.me token to a HEM-SP contact field. Program accepts a program id, slug, or name. Meeting Type accepts a meeting type id or title. The sample JSON uses the contact field name as the key.",
  "common.pluginLabel.youcanbookme.sourceField": "Webhook JSON key",
  "common.pluginLabel.youcanbookme.sourcePlaceholder": "firstname",
  "common.pluginLabel.youcanbookme.tokenField": "YCBM token",
  "common.pluginLabel.youcanbookme.tokenPlaceholder": "FNAME",
  "common.pluginLabel.youcanbookme.targetField": "Contact field",
  "common.pluginLabel.youcanbookme.addMapping": "Add mapping",
  "common.pluginLabel.youcanbookme.removeMapping": "Remove mapping",
  "common.pluginLabel.youcanbookme.mappingItemLabel": "Mapping :number",
  "common.pluginLabel.youcanbookme.mappingsEmpty": "No field mappings yet. Add a YouCanBook.me token and the contact field it should fill.",
  "common.pluginLabel.youcanbookme.samplePayload": "Sample webhook JSON",
  "common.pluginLabel.youcanbookme.samplePayloadHelper": "Paste this JSON into YouCanBook.me (Additional options → Notifications → Webhook → Body). YouCanBook.me replaces {FNAME} and other tokens with booking values.",
  "common.pluginLabel.youcanbookme.programMappings": "Program & meeting type mapping",
  "common.pluginLabel.youcanbookme.programMappingsHelper": "Match the program name sent by YouCanBook.me to a HEM-SP program and meeting type. Use the same text as the {PROGRAM} token value in your booking form.",
  "common.pluginLabel.youcanbookme.programNameField": "YCBM program name",
  "common.pluginLabel.youcanbookme.programNamePlaceholder": "Nursing Diploma",
  "common.pluginLabel.youcanbookme.programField": "HEM-SP program",
  "common.pluginLabel.youcanbookme.meetingTypeField": "Meeting type",
  "common.pluginLabel.youcanbookme.addProgramMapping": "Add program mapping",
  "common.pluginLabel.youcanbookme.removeProgramMapping": "Remove program mapping",
  "common.pluginLabel.youcanbookme.programMappingItemLabel": "Program mapping :number",
  "common.pluginLabel.youcanbookme.programMappingsEmpty": "No program mappings yet. Add the program name from YouCanBook.me and choose the HEM-SP program and meeting type.",
  "common.portalLabel.academicPerformance": "Academic Performance",
  "common.portalLabel.academicRecordCountMany": ":count records",
  "common.portalLabel.academicRecordCountOne": ":count record",
  "common.portalLabel.academicRecordsPageSummary": "Showing <strong>:from</strong>?<strong>:to</strong> of <strong>:total</strong> academic records",
  "common.portalLabel.academicRecordsPageSummaryRange": "Showing <strong>:from</strong> of <strong>:total</strong> academic records",
  "common.portalLabel.academicRecordsPageSummarySingle": "Showing <strong>1</strong> academic record",
  "common.portalLabel.academics": "Academics",
  "common.portalLabel.accommodation": "Accommodation",
  "common.portalLabel.accommodationCountMany": ":count accommodations",
  "common.portalLabel.accommodationCountOne": ":count accommodation",
  "common.portalLabel.accommodationDetails": "Accommodation Details",
  "common.portalLabel.accommodationDuration": "Accommodation Duration",
  "common.portalLabel.accommodationOptions": "Accommodation Options",
  "common.portalLabel.accommodationTotal": "Accommodation Total",
  "common.portalLabel.accommodations": "Accommodations",
  "common.portalLabel.account": "Account",
  "common.portalLabel.accountStatement": "Account Statement",
  "common.portalLabel.accountTypeParent": "Parent",
  "common.portalLabel.accountTypeStudent": "Student",
  "common.portalLabel.action": "Action",
  "common.portalLabel.actionFailed": "The action could not be completed.",
  "common.portalLabel.actions": "Actions",
  "common.portalLabel.actionsSheetHint": "Choose an option for this transaction",
  "common.portalLabel.actionsPayInvoiceHint": "Opens secure payment page",
  "common.portalLabel.actionsDownloadInvoiceHint": "Save invoice PDF to your device",
  "common.portalLabel.actionsDownloadReceiptHint": "Save receipt PDF to your device",
  "common.portalLabel.active": "Active",
  "common.portalLabel.activeAccommodations": "Active Accommodations",
  "common.portalLabel.activeBookings": "Active Bookings",
  "common.portalLabel.activeOnly": "Active only",
  "common.portalLabel.add": "Add",
  "common.portalLabel.addApplication": "Add Application",
  "common.portalLabel.addApplicationDescription": "Choose a child and application type to continue as that child and start the form.",
  "common.portalLabel.addChild": "Add Child",
  "common.portalLabel.addChildDescription": "Create a child applicant under your parent account. You can optionally start an application immediately.",
  "common.portalLabel.addReply": "Add your reply",
  "common.portalLabel.addRow": "Add row",
  "common.portalLabel.addStudentValidation": "Please provide a first and last name for at least one student.",
  "common.portalLabel.addStudents": "Add Students",
  "common.portalLabel.additionalInformation": "Additional Information",
  "common.portalLabel.addonTotal": "Addon Total",
  "common.portalLabel.addons": "Addons",
  "common.portalLabel.addonsOptions": "Addons Options",
  "common.portalLabel.address": "Address",
  "common.portalLabel.admissions": "Admissions",
  "common.portalLabel.admissionsHelpDescription": "Our admissions team is happy to guide you to the right application type for your situation.",
  "common.portalLabel.admissionsMessageSent": "Your message was sent to the admissions team.",
  "common.portalLabel.admissionsTeam": "Admissions Team",
  "common.portalLabel.admissionsTeamUnavailable": "The admissions team is not available for messages right now.",
  "common.portalLabel.agency": "Agency",
  "common.portalLabel.adjustBookingFilters": "Try a different search or adjust the booking filters.",
  "common.portalLabel.allCampuses": "All Campuses",
  "common.portalLabel.allChildren": "All Children",
  "common.portalLabel.allStatuses": "All Statuses",
  "common.portalLabel.allSchoolYears": "All School Years",
  "common.portalLabel.allTerms": "All Terms",
  "common.portalLabel.alreadyHaveAccount": "Already have an account? Log in ",
  "common.portalLabel.amount": "Amount",
  "common.portalLabel.amountDue": "Amount Due",
  "common.portalLabel.applicantDeleted": "Applicant deleted.",
  "common.portalLabel.applicantPortal": "Applicant Portal",
  "common.portalLabel.applicants": "Applicants",
  "common.portalLabel.application": "Application",
  "common.portalLabel.applicationDetails": "Application details",
  "common.portalLabel.applicationHeading": "Application",
  "common.portalLabel.applicationLockedNotice": "This application is locked and can no longer be edited.",
  "common.portalLabel.applicationObjectForm": "Form",
  "common.portalLabel.applicationObjectStudent": "Student",
  "common.portalLabel.applicationPreviewFinalStep": "This is the final step of the application (preview mode). Nothing was saved.",
  "common.portalLabel.applicationPreviewFooterHint": "Preview mode ? navigate freely. Progress is not saved.",
  "common.portalLabel.applicationPreviewNotice": "Preview mode: validations are ignored, and nothing is saved or submitted.",
  "common.portalLabel.applicationPreviewDraftNotice": "Draft preview ? shows unpublished canvas changes. Validations are ignored and nothing is saved or submitted.",
  "common.portalLabel.applicationPreviewPublishedNotice": "Published live preview ? shows what new portal applicants see today. Validations are ignored and nothing is saved or submitted.",
  "common.portalLabel.applicationVersionUpgradeIntro": "An updated version of this form is available. You can continue on your current version or switch to the latest published form.",
  "common.portalLabel.applicationVersionUpgradeWarning": "Switching keeps answers for matching questions when possible. You may need to fill in new required fields. If the step order changed, you will return to step 1.",
  "common.portalLabel.applicationVersionUpgradeContinue": "Continue on current form",
  "common.portalLabel.applicationVersionUpgradeSwitch": "Switch to latest form",
  "common.portalLabel.applicationVersionUpgradeMissingRequired": "Please complete these required fields on the updated form:",
  "common.portalLabel.applicationVersionUpgradeSectionReset": "The form steps were reordered. Review from the beginning to confirm your answers.",
  "common.portalLabel.applicationReadiness": "Application Readiness",
  "common.portalLabel.applicationRestartConfirm": "Are you sure you want to restart this application?",
  "common.portalLabel.applicationResubmissionDisabledNotice": "Resubmission is disabled for this application.",
  "common.portalLabel.applicationSections": "Sections",
  "common.portalLabel.applicationStatus": "Application Status",
  "common.portalLabel.applicationStepsSummary": ":done of :total complete",
  "common.portalLabel.applicationSubmitted": "Your application has been submitted.",
  "common.portalLabel.embedRedirecting": "Redirecting…",
  "common.portalLabel.embedRedirectContinue": "Continue",
  "common.portalLabel.embedSessionExpired": "Your session expired, so the form was restarted. Please fill it in again.",
  "common.portalLabel.embedCookiesBlocked": "Your browser is blocking this embedded form from saving your answers, so it cannot be submitted here.",
  "common.portalLabel.embedOpenInNewTab": "Open the form in a new tab",
  "common.portalLabel.embedLoadFailed": "We couldn't load the form. Please try again.",
  "common.portalLabel.embedRetry": "Retry",
  "common.portalLabel.embedUnexpectedError": "Something went wrong. Please try again.",
  "common.portalLabel.callStatusThrottled": "Too many requests. Please try again later.",
  "common.portalLabel.applicationTypesAvailableMany": ":count application types available",
  "common.portalLabel.applicationTypesAvailableOne": ":count application type available",
  "common.portalLabel.applicationUnlockRequested": "Your request to edit has been sent.",
  "common.portalLabel.applicationUnlockUnavailable": "You cannot request an unlock for this application.",
  "common.portalLabel.applicationWizardNoSimpleFields": "Additional field types for this step will be available in the next update.",
  "common.portalLabel.applicationWizardNoVisibleFields": "This step does not require any input. Save and continue to proceed.",
  "common.portalLabel.applicationWizardSidebarTitle": "Application steps",
  "common.portalLabel.applications": "Applications",
  "common.portalLabel.applicationsListDescription": "View and manage your submitted and in-progress applications.",
  "common.portalLabel.applicationsOnFileMany": ":count applications on file",
  "common.portalLabel.applicationsOnFileOne": ":count application on file",
  "common.portalLabel.applicationsPaymentHint": "Your application is submitted but payment is outstanding. Complete payment to finalise enrolment.",
  "common.portalLabel.applicationsPaymentNotice": "Complete your payment to finalise your enrolment and secure your spot.",
  "common.portalLabel.applicationsPendingPaymentsMany": ":count pending payments",
  "common.portalLabel.applicationsPendingPaymentsOne": ":count pending payment",
  "common.portalLabel.appliedCode": "Applied code",
  "common.portalLabel.apply": "Apply",
  "common.portalLabel.applyNow": "Apply now",
  "common.correspondenceCtaLabel.applyNow": "Apply now",
  "common.correspondenceCtaLabel.scheduleMeeting": "Schedule a meeting",
  "common.correspondenceCtaLabel.bookTour": "Book a tour",
  "common.correspondenceCtaLabel.makePayment": "Make a payment",
  "common.portalLabel.applying": "Applying...",
  "common.portalLabel.arrivalTime": "Arrival Time",
  "common.portalLabel.assessmentBreakdown": "Assessment Breakdown",
  "common.portalLabel.assignedDate": "Assigned Date",
  "common.portalLabel.assignmentsLessons": "Assignments / Lessons",
  "common.portalLabel.assistant": "Assistant",
  "common.portalLabel.assistantDeadlines": "Upcoming deadlines",
  "common.portalLabel.assistantDocuments": "What documents do I need?",
  "common.portalLabel.assistantInputPlaceholder": "Ask anything...",
  "common.portalLabel.assistantIntro": "How can we help? Jump straight to what you need.",
  "common.portalLabel.assistantMessage": "Message the school",
  "common.portalLabel.assistantStatus": "Track my application status",
  "common.portalLabel.assistantStubReply": "I'm processing your request. Our AI predicts your application is 85% complete. Would you like tips on improving it?",
  "common.portalLabel.assistantSubtitle": "Always here to help",
  "common.portalLabel.assistantTitle": "AI Assistant",
  "common.portalLabel.assistantWelcome": "Hi! I'm your AI admissions assistant. How can I help you today?",
  "common.portalLabel.attendance": "Attendance",
  "common.portalLabel.attendanceAbsences": "Attendance / Absences",
  "common.portalLabel.attendanceByCourse": "By Course",
  "common.portalLabel.attendanceByCourseTitle": "Attendance by Course",
  "common.portalLabel.attendanceAcrossAllCourses": "across all courses",
  "common.portalLabel.attendanceAttended": "Attended",
  "common.portalLabel.attendanceClassesAttendedLabel": "Classes Attended",
  "common.portalLabel.attendanceClassesMissedLabel": "Classes Missed",
  "common.portalLabel.attendanceCoursesPageSummary": "Showing :from?:to of :total courses",
  "common.portalLabel.attendanceMissed": "Missed",
  "common.portalLabel.attendanceFilterLate": "Late",
  "common.portalLabel.attendanceOutOfTotal": "out of :total total",
  "common.portalLabel.attendanceProgress": "Progress",
  "common.portalLabel.attendanceRate": "Rate",
  "common.portalLabel.attendanceStatusAtRisk": "At Risk",
  "common.portalLabel.attendanceStatusExcellent": "Excellent",
  "common.portalLabel.attendanceStatusFair": "Accepted",
  "common.portalLabel.attendanceStatusGood": "Good",
  "common.portalLabel.attendanceThisSemester": "across all programs",
  "common.portalLabel.attendanceClassesAttended": ":attended / :total classes attended",
  "common.portalLabel.attendanceMessageAtRisk": "At risk ? please attend more classes.",
  "common.portalLabel.attendanceMessageExcellent": "Excellent attendance! Keep it up.",
  "common.portalLabel.attendanceMessageFair": "Accepted standing ? aim for 80%+.",
  "common.portalLabel.attendanceMessageGood": "Good attendance ? aim for 90%+.",
  "common.portalLabel.attendancePercent": "Attendance %",
  "common.portalLabel.attendanceRecentLog": "Recent Log",
  "common.portalLabel.attendanceTime": "Attendance Time",
  "common.portalLabel.authFeatureApplication": "Track your application status",
  "common.portalLabel.authFeatureDocuments": "Upload and manage documents",
  "common.portalLabel.authFeatureFinance": "Manage payments and finance",
  "common.portalLabel.authFeatureSchedule": "View schedule and grades",
  "common.portalLabel.authHeroSubtitle": "Sign in to manage your application, documents, schedule, payments, messages, and academic progress.",
  "common.portalLabel.authHeroTitle": "Welcome to your :school portal",
  "common.portalLabel.authHeroTitleAfter": " portal",
  "common.portalLabel.authHeroTitleBefore": "Welcome to your ",
  "common.portalLabel.authRightsReserved": "All rights reserved",
  "common.portalLabel.authSecurityNote": "Secured with 256-bit SSL encryption",
  "common.portalLabel.authSslMobile": "256-bit SSL encryption",
  "common.portalLabel.authSslShort": "256-bit SSL",
  "common.portalLabel.autoGenerateChildEmailHint": "Leave this field blank to automatically generate an email address.",
  "common.portalLabel.availableBeds": "Available Beds",
  "common.portalLabel.averageScore": "Average Score",
  "common.portalLabel.back": "Back",
  "common.portalLabel.backToBookings": "Back to bookings",
  "common.portalLabel.backToApplications": "Back to applications",
  "common.portalLabel.backToProfile": "Back to profile",
  "common.portalLabel.balance": "Balance",
  "common.portalLabel.bed": "Bed",
  "common.portalLabel.bookNow": "Book Now",
  "common.portalLabel.savedQuotes": "Your saved quotes",
  "common.portalLabel.awaitingBooking": "Awaiting booking",
  "common.portalLabel.viewSavedQuote": "View quote",
  "common.portalLabel.bookQuoteBeforeApplication": "Your quote is saved. Review it and complete your booking before filling in your application.",
  "common.portalLabel.booking": "Booking",
  "common.portalLabel.bookingCount": ":count bookings",
  "common.portalLabel.bookingCountMany": ":count bookings",
  "common.portalLabel.bookingCountOne": ":count booking",
  "common.portalLabel.bookingDate": "Booking Date",
  "common.portalLabel.bookingDetails": "Booking Details",
  "common.portalLabel.bookingFilters": "Booking filters",
  "common.portalLabel.bookingInformation": "Booking Information",
  "common.portalLabel.bookingPayment": "Booking Payment",
  "common.portalLabel.bookingSummary": "Booking Summary",
  "common.portalLabel.bookings": "Bookings",
  "common.portalLabel.bookingsDescription": "Review student stays across your assigned accommodations.",
  "common.portalLabel.bookingsPageSummary": "Showing <strong>:from</strong>?<strong>:to</strong> of <strong>:total</strong> bookings",
  "common.portalLabel.bookingsPageSummaryRange": "Showing <strong>:from</strong> of <strong>:total</strong> bookings",
  "common.portalLabel.bookingsPageSummarySingle": "Showing <strong>1</strong> booking",
  "common.portalLabel.calendar": "Calendar",
  "common.portalLabel.calendarCoursesMany": ":count courses enrolled",
  "common.portalLabel.calendarCoursesOne": ":count course enrolled",
  "common.portalLabel.calendarCurrentWeek": "Current week",
  "common.portalLabel.calendarLessonsThisWeek": "This week",
  "common.portalLabel.calendarLessonsToday": "Today",
  "common.portalLabel.calendarWeekAhead": "+:count",
  "common.portalLabel.calendarWeekBehind": ":count",
  "common.portalLabel.calendarMeeting": "Meeting",
  "common.portalLabel.calendarMeetingDetails": "Meeting details",
  "common.portalLabel.calendarMeetingInvited": "Invited",
  "common.portalLabel.calendarNoEventsScheduled": "Nothing scheduled",
  "common.portalLabel.calendarDayEventsOne": ":count event",
  "common.portalLabel.calendarDayEventsMany": ":count events",
  "common.portalLabel.calendarDayEventsHeading": "Day's events ? :date",
  "common.portalLabel.calendarDayEvents": "Day's events",
  "common.portalLabel.calendarJumpToNextEvent": "Next event",
  "common.portalLabel.calendarEventTypeLesson": "Lesson",
  "common.portalLabel.calendarEventTypeInvoice": "Invoice",
  "common.portalLabel.invoiceDueDate": "Invoice due date",
  "common.portalLabel.organizer": "Organizer",
  "common.portalLabel.callUs": "Call Us",
  "common.portalLabel.campus": "Campus",
  "common.portalLabel.campuses": "Campuses",
  "common.portalLabel.cancel": "Cancel",
  "common.portalLabel.cancelled": "Cancelled",
  "common.portalLabel.cardNumber": "Card Number",
  "common.portalLabel.chargedTodayAmount": "Charged today:",
  "common.portalLabel.checkout": "Checkout",
  "common.portalLabel.child": "Child",
  "common.portalLabel.childAndApplicationRequired": "Please select a child and application.",
  "common.portalLabel.childCreateFailed": "Unable to create this child applicant.",
  "common.portalLabel.childCreated": "Child applicant created successfully.",
  "common.portalLabel.checkIn": "Check-in",
  "common.portalLabel.checkOut": "Check-out",
  "common.portalLabel.children": "Children",
  "common.portalLabel.childrenListDescription": "Select a child to view their applications and records.",
  "common.portalLabel.city": "City",
  "common.portalLabel.classAverage": "Class Average",
  "common.portalLabel.classroom": "Classroom",
  "common.portalLabel.clearFilters": "Clear filters",
  "common.portalLabel.clearSignature": "Clear signature",
  "common.portalLabel.closeMenu": "Close menu",
  "common.portalLabel.cloverNotConfigured": "Clover is not configured yet.",
  "common.portalLabel.cloverNotReady": "Clover is not ready yet.",
  "common.portalLabel.cloverSdkFailed": "Clover SDK failed to load.",
  "common.portalLabel.collapseSidebar": "Collapse sidebar",
  "common.portalLabel.collapseSteps": "Collapse steps",
  "common.portalLabel.communicationPreferences": "Communication preferences",
  "common.portalLabel.communicationPreferencesHint": "Choose which channels we may use for marketing and updates. You can withdraw consent at any time.",
  "common.portalLabel.communicationPreferencesLedgerHint": "Current consent status: :status",
  "common.portalLabel.communicationPreferencesParentDeferred": "Parent portal preference management for parents as message recipients is coming later. Students manage their own preferences here.",
  "common.portalLabel.communicationPreferencesPrivacyHint": "Your school follows privacy rules for how we contact you. Turning a channel on means you agree to receive updates there, and you can change these choices anytime.",
  "common.portalLabel.communicationPreferencesProfileHint": "Manage email, SMS, and WhatsApp marketing consents, plus SMS and phone consent.",
  "common.portalLabel.communicationPreferencesSaved": "Your communication preferences were saved.",
  "common.portalLabel.complete": "Complete",
  "common.portalLabel.completeContactForPayment": "Complete the contact details to continue payment.",
  "common.portalLabel.completeInvoice": "Complete Invoice",
  "common.portalLabel.completePaymentAmount": "Complete Payment ? :amount CAD",
  "common.portalLabel.completing": "Completing...",
  "common.portalLabel.completionDate": "Completion Date",
  "common.portalLabel.conditionsOfEnrolment": "Conditions of Enrolment",
  "common.portalLabel.confirmed": "Confirmed",
  "common.portalLabel.confirmDeleteApplicant": "Are you sure you want to delete this applicant?",
  "common.portalLabel.confirmDeleteSubmission": "Are you sure you want to delete this submission?",
  "common.portalLabel.confirmDetachStudent": "Are you sure you want to remove this student from the group?",
  "common.portalLabel.confirmRemoveDocument": "Remove this uploaded document?",
  "common.portalLabel.contact": "Contact",
  "common.portalLabel.contactType": "Contact Type",
  "common.portalLabel.continue": "Continue",
  "common.portalLabel.continueApplication": "Continue Application",
  "common.portalLabel.continueAsChild": "Continue as Child",
  "common.portalLabel.country": "Country",
  "common.portalLabel.countries": "Countries",
  "common.portalLabel.chooseStudyCountry": "Choose where you want to study",
  "common.portalLabel.chooseStudyCountryHint": "Select a country to see its campuses, courses, dates, extras, and prices.",
  "common.portalLabel.course": "Course",
  "common.portalLabel.courseCohort": "Course Cohort",
  "common.portalLabel.courseCohorts": "Course Cohorts",
  "common.portalLabel.courseGrades": "Course Grades",
  "common.portalLabel.courseHub": "Course Hub",
  "common.portalLabel.courseTitle": "Course Title",
  "common.portalLabel.courseTotal": "Course Total",
  "common.portalLabel.courses": "Courses",
  "common.portalLabel.coursesEnrolled": "Courses Enrolled",
  "common.portalLabel.createAccount": "Create an account",
  "common.portalLabel.createChild": "Create Child",
  "common.portalLabel.createChildAndStartApplication": "Create Child and Start Application",
  "common.portalLabel.createChildOnly": "Create child only",
  "common.portalLabel.createGroupBooking": "Create Group Booking",
  "common.portalLabel.createNewQuote": "Create new quote",
  "common.portalLabel.createdAt": "Creation Date",
  "common.portalLabel.currentBalance": "Current Balance",
  "common.portalLabel.pendingInvoices": "Pending Invoices",
  "common.portalLabel.pendingInvoiceCount": ":count Invoice",
  "common.portalLabel.pendingInvoicesCount": ":count Invoices",
  "common.portalLabel.paidInvoiceCount": ":count paid invoice",
  "common.portalLabel.paidInvoicesCount": ":count paid invoices",
  "common.portalLabel.financeHeroSummary": ":pending pending invoice ? :paid paid",
  "common.portalLabel.financeHeroSummaryPluralPending": ":pending pending invoices | :paid paid",
  "common.portalLabel.totalPaid": "Total Paid",
  "common.portalLabel.currentTerm": "Current Term",
  "common.portalLabel.cvv": "CVV",
  "common.portalLabel.dashboard": "Dashboard",
  "common.portalLabel.dashboardAcademicProgress": "Academic Progress",
  "common.portalLabel.dashboardActionRequired": "Action Required",
  "common.portalLabel.dashboardActionRequiredBadge": "Action Required",
  "common.portalLabel.dashboardActionRequiredHint": "Upload the remaining documents to avoid processing delays on your application.",
  "common.portalLabel.dashboardActionRequiredHintCombined": "Upload remaining documents and complete outstanding application payments to avoid processing delays.",
  "common.portalLabel.dashboardActionRequiredHintPayments": "Complete your outstanding application payments to avoid processing delays.",
  "common.portalLabel.dashboardActionRequiredCountOne": "1 item",
  "common.portalLabel.dashboardActionRequiredCountMany": ":count items",
  "common.portalLabel.dashboardAdmissionsMessage": "Admissions Message",
  "common.portalLabel.dashboardAiNotice": "AI document verification runs automatically ? upload your missing documents to complete review.",
  "common.portalLabel.dashboardAll": "All",
  "common.portalLabel.dashboardAndMore": "And :count more",
  "common.portalLabel.dashboardApplicantSubtitle": "Review your status and continue where you left off.",
  "common.portalLabel.dashboardApplicationProgress": "Application Progress",
  "common.portalLabel.dashboardAttendanceAtRisk": "At Risk",
  "common.portalLabel.dashboardAttendanceDesc": "Review your attendance record and standing.",
  "common.portalLabel.dashboardAttendanceFairStanding": "Fair Standing",
  "common.portalLabel.dashboardAttendanceGoodStanding": "Good Standing",
  "common.portalLabel.dashboardBalanceDue": "Balance Due",
  "common.portalLabel.dashboardCalendarDesc": "See your upcoming classes and important dates.",
  "common.portalLabel.dashboardClassesAttended": "Classes attended",
  "common.portalLabel.dashboardClassesToday": ":count classes today",
  "common.portalLabel.dashboardCumulativeGpa": "Cumulative GPA",
  "common.portalLabel.dashboardDetails": "Details",
  "common.portalLabel.dashboardDocumentsDesc": "Upload and manage your documents.",
  "common.portalLabel.dashboardDocumentsMissing": "Documents Missing",
  "common.portalLabel.dashboardDocumentsToSign": "Documents to Review",
  "common.portalLabel.dashboardEmptyApplicationsHint": "Start an application to track progress, documents, and payments in one place.",
  "common.portalLabel.dashboardEmptyApplicationsTitle": "Ready to begin?",
  "common.portalLabel.dashboardFinanceDesc": "Check your balance, invoices and payments.",
  "common.portalLabel.dashboardFullGrades": "Full grades",
  "common.portalLabel.dashboardFullSchedule": "Full schedule",
  "common.portalLabel.dashboardGradesDesc": "Track your results and academic progress.",
  "common.portalLabel.dashboardInProgress": "In Progress",
  "common.portalLabel.dashboardManageDocuments": "Manage Documents",
  "common.portalLabel.dashboardMessagesDesc": "Read and reply to messages from staff.",
  "common.portalLabel.dashboardNextStepContinue": "Continue your application",
  "common.portalLabel.dashboardNextStepDocuments": "Upload your required documents",
  "common.portalLabel.dashboardNextStepPayment": "Complete your application payment",
  "common.portalLabel.dashboardNextStepStart": "Start your application",
  "common.portalLabel.dashboardNextSteps": "Next steps",
  "common.portalLabel.dashboardNextStepsClear": "You are caught up. No actions needed right now.",
  "common.portalLabel.dashboardNoOutstandingPayments": "No outstanding payments",
  "common.portalLabel.dashboardPaymentRequired": "Payment Required",
  "common.portalLabel.dashboardPending": "Pending",
  "common.portalLabel.dashboardRecentMessages": "Recent Messages",
  "common.portalLabel.dashboardStudentSubtitle": "Here's everything you need for the term.",
  "common.portalLabel.dashboardTodaySchedule": "Today's Schedule",
  "common.portalLabel.dashboardUnread": "Unread",
  "common.portalLabel.dashboardUpload": "Upload",
  "common.portalLabel.dashboardViewApplication": "View",
  "common.portalLabel.dashboardViewFinance": "View Finance",
  "common.portalLabel.dashboardViewSchedule": "View your schedule",
  "common.portalLabel.dashboardWelcome": "Welcome back, :name",
  "common.portalLabel.date": "Date",
  "common.portalLabel.dateShared": "Date shared",
  "common.portalLabel.day": "Day",
  "common.portalLabel.days": "Days",
  "common.portalLabel.delete": "Delete",
  "common.portalLabel.denyConsent": "DO NOT give my consent to the processing of my personal data. The non-acceptance involves the impossibility of enrolling.",
  "common.portalLabel.departureTime": "Departure Time",
  "common.portalLabel.description": "Description",
  "common.portalLabel.disclaimer": "Disclaimer",
  "common.portalLabel.discount": "Discount",
  "common.portalLabel.document": "Document",
  "common.portalLabel.documentRemoveFailed": "Unable to remove this document. Please try again.",
  "common.portalLabel.documentNotUploaded": "Not uploaded",
  "common.portalLabel.documentRemoved": "Document removed.",
  "common.portalLabel.documentRequired": "Required",
  "common.portalLabel.documentSaved": "Document saved to your application.",
  "common.portalLabel.documents": "Documents",
  "common.portalLabel.documentsApplicationSectionHint": "Upload the documents required to complete your application.",
  "common.portalLabel.documentsListDescription": "Official documents shared with you by the school",
  "common.portalLabel.documentsNoUploadsYet": "No uploaded documents yet",
  "common.portalLabel.documentsOnFileMany": ":count documents on file",
  "common.portalLabel.documentsOnFileOne": ":count document on file",
  "common.portalLabel.documentsRequiredForApplication": "Required for your application",
  "common.portalLabel.documentsSharedBySchool": "Shared with You",
  "common.portalLabel.documentsTabShared": "Shared Documents",
  "common.portalLabel.documentsTabContracts": "Contracts",
  "common.portalLabel.documentsTabUploaded": "Uploaded Documents",
  "common.portalLabel.documentsNoContractsYet": "No contracts yet",
  "common.portalLabel.documentsContractsDescription": "Agreements sent to you for review or signature",
  "common.portalLabel.contractTitle": "Agreement",
  "common.portalLabel.download": "Download",
  "common.portalLabel.downloadInvoice": "Download Invoice",
  "common.portalLabel.downloadQuoteSummaryPdf": "Download your Summary as a PDF",
  "common.portalLabel.downloadReceipt": "Download Receipt",
  "common.portalLabel.draft": "Draft",
  "common.portalLabel.dueDate": "Due Date",
  "common.portalLabel.dueToday": "Due Today",
  "common.portalLabel.duration": "Duration",
  "common.portalLabel.email": "Email",
  "common.portalLabel.emailAddress": "Email Address",
  "common.portalLabel.emailAdmissions": "Email Admissions",
  "common.portalLabel.emailCannotBeChanged": "Your email address cannot be changed here. Contact your school if you need to update it.",
  "common.portalLabel.emailInvalid": "Email is not valid",
  "common.portalLabel.emailUserNotFound": "We can't find a user with that e-mail address.",
  "common.portalLabel.end": "End",
  "common.portalLabel.endDate": "End Date",
  "common.portalLabel.encryptedCheckout": "Encrypted checkout",
  "common.portalLabel.examInvitationsCount": ":count exam invitations",
  "common.portalLabel.exams": "Exams",
  "common.portalLabel.exitApplication": "Exit application",
  "common.portalLabel.expandSidebar": "Expand sidebar",
  "common.portalLabel.expandSteps": "Expand steps",
  "common.portalLabel.expectedStudents": "Expected number of students",
  "common.portalLabel.expiryDate": "Expiry Date",
  "common.portalLabel.export": "Export",
  "common.portalLabel.extras": "Extras",
  "common.portalLabel.fieldRequired": "This field is required.",
  "common.portalLabel.file": "File",
  "common.portalLabel.fileBrowseHint": "Click to browse",
  "common.portalLabel.fileDragHint": "or drag and drop",
  "common.portalLabel.fileDropHint": "Choose a file from your device.",
  "common.portalLabel.fileExceedsMaxSize": "File :name exceeds the maximum size of :size.",
  "common.portalLabel.fileFinishingUpload": "Finishing upload...",
  "common.portalLabel.fileFormats": "Formats",
  "common.portalLabel.fileInvalidType": "File :name is not an allowed type.",
  "common.portalLabel.fileMaxFiles": "Max files",
  "common.portalLabel.fileMaxFilesReached": "You can upload up to :count files.",
  "common.portalLabel.fileMaxSize": "Max size",
  "common.portalLabel.fileName": "File Name",
  "common.portalLabel.fileRemove": "Remove file",
  "common.portalLabel.fileType": "File type",
  "common.portalLabel.fileUploadAutoHint": "Upload starts automatically.",
  "common.portalLabel.fileUploadFailed": "The file could not be uploaded. Please try again.",
  "common.portalLabel.fileUploadUnavailable": "File upload is unavailable right now.",
  "common.portalLabel.fileUploaded": "Uploaded",
  "common.portalLabel.filesCount": "Files",
  "common.portalLabel.finalGrade": "Final Grade",
  "common.portalLabel.finance": "Finance",
  "common.portalLabel.firstName": "First Name",
  "common.portalLabel.fixErrorsBeforeContinue": "Complete the required fields before continuing.",
  "common.portalLabel.footerCopyright": "? :year :school. All rights reserved.",
  "common.portalLabel.footerRights": "All rights reserved.",
  "common.portalLabel.forgotPassword": "Forgot password?",
  "common.portalLabel.forgotPasswordQuestion": "Forgot Password?",
  "common.portalLabel.forgotPasswordSubmit": "Verify email",
  "common.portalLabel.forgotPasswordTitle": "Forgot your password?",
  "common.portalLabel.from": "From",
  "common.portalLabel.fullSchedule": "Full Schedule",
  "common.portalLabel.gender": "Gender",
  "common.portalLabel.giveConsent": "Give my consent",
  "common.portalLabel.goToDashboard": "Go to dashboard",
  "common.portalLabel.gradedAssignments": "Graded Assignments",
  "common.portalLabel.grades": "Grades",
  "common.portalLabel.gradesAverageSubtitle": "Across :count courses",
  "common.portalLabel.gradesEnrolledSubtitle": "With recorded grades",
  "common.portalLabel.gradesItemsSubtitle": "Across all courses",
  "common.portalLabel.gradesStrongPerformance": "Strong performance",
  "common.portalLabel.gradesByCourseTitle": "Grades by Course",
  "common.portalLabel.gradesAssignmentsPageSummary": "Showing :from?:to of :total assignments",
  "common.portalLabel.gradesCoursesPageSummary": "Showing :from?:to of :total courses",
  "common.portalLabel.gradesMessageAtRisk": "Below threshold ? consider seeking academic support.",
  "common.portalLabel.gradesMessageExcellent": "Excellent performance! Keep it up.",
  "common.portalLabel.gradesMessageGood": "Good work ? aim for 90%+.",
  "common.portalLabel.gradesMessageFair": "Accepted standing ? aim for 80%+.",
  "common.portalLabel.gradesStatusAtRisk": "Needs Improvement",
  "common.portalLabel.gradesStatusExcellent": "Excellent",
  "common.portalLabel.gradesStatusFair": "Accepted",
  "common.portalLabel.gradesStatusGood": "Good",
  "common.portalLabel.searchGrades": "Search grades...",
  "common.portalLabel.greetingAfternoon": "Good afternoon",
  "common.portalLabel.greetingEvening": "Good evening",
  "common.portalLabel.greetingMorning": "Good morning",
  "common.portalLabel.group": "Group",
  "common.portalLabel.groupBookings": "Group Bookings",
  "common.portalLabel.here": "here",
  "common.portalLabel.hostFamily": "Host Family",
  "common.portalLabel.housingAuthHeroSubtitle": "Manage accommodations, bookings, documents, and messages in one secure place.",
  "common.portalLabel.housingDashboardDescription": "Manage your accommodations and student bookings.",
  "common.portalLabel.housingPortal": "Housing Portal",
  "common.portalLabel.hidePassword": "Hide password",
  "common.portalLabel.highPrice": "High Price",
  "common.portalLabel.highestGrade": "Highest Grade",
  "common.portalLabel.impersonate": "Impersonate",
  "common.portalLabel.impersonateFailed": "Unable to impersonate this student.",
  "common.portalLabel.import": "Import",
  "common.portalLabel.importStudents": "Import Students",
  "common.portalLabel.inactive": "Inactive",
  "common.portalLabel.inProgress": "In Progress",
  "common.portalLabel.installApp": "Install app",
  "common.portalLabel.installAppAction": "Install",
  "common.portalLabel.installAppAndroidHint": "Use your browser menu to add this portal to your home screen.",
  "common.portalLabel.installAppAndroidStep1": "Tap the browser menu (?).",
  "common.portalLabel.installAppAndroidStep2": "Tap Install app or Add to Home screen.",
  "common.portalLabel.installAppAndroidStep3": "Confirm to add the app icon.",
  "common.portalLabel.installAppAndroidTitle": "Install from your browser",
  "common.portalLabel.installAppDescription": "Add this portal to your home screen for faster access.",
  "common.portalLabel.installAppDismiss": "Not now",
  "common.portalLabel.installAppGotIt": "Got it",
  "common.portalLabel.installAppHow": "How to install",
  "common.portalLabel.installAppIosHint": "Safari does not show an install button. Use Add to Home Screen instead.",
  "common.portalLabel.installAppIosStep1": "Tap the Share button in Safari.",
  "common.portalLabel.installAppIosStep2": "Scroll and tap Add to Home Screen.",
  "common.portalLabel.installAppIosStep3": "Tap Add to confirm.",
  "common.portalLabel.installAppIosTitle": "Add to Home Screen",
  "common.portalLabel.installAppTitle": "Install :school on your phone",
  "common.portalLabel.instructor": "Instructor",
  "common.portalLabel.instructorAddGrade": "Add grade",
  "common.portalLabel.instructorAllStudents": "All students",
  "common.portalLabel.instructorApplySelected": "Apply to selected",
  "common.portalLabel.instructorAttendanceSaved": "Attendance saved.",
  "common.portalLabel.instructorAddAttendance": "Add attendance",
  "common.portalLabel.instructorSelectAttendanceLesson": "Choose a lesson and select Edit attendance to record attendance for this student.",
  "common.portalLabel.instructorAuthSubtitle": "Manage your courses, track attendance, and keep student grades up to date.",
  "common.portalLabel.instructorCalendarLoadError": "The calendar could not be loaded. Please try again.",
  "common.portalLabel.instructorCourseAverage": "Course average",
  "common.portalLabel.instructorCourseDetails": "Course details",
  "common.portalLabel.instructorDeleteGrade": "Delete grade",
  "common.portalLabel.instructorDeleteGradeConfirm": "Delete this grade? The student’s final grade will be recalculated.",
  "common.portalLabel.instructorEditAttendance": "Edit attendance",
  "common.portalLabel.instructorEndTime": "End time",
  "common.portalLabel.instructorGradeOverview": "Grade overview",
  "common.portalLabel.instructorGradeSaved": "Grade updated.",
  "common.portalLabel.instructorHeld": "Held",
  "common.portalLabel.instructorCalendarEmpty": "No lessons on this day",
  "common.portalLabel.instructorCalendarEmptyDescription": "Choose another day to view your lessons.",
  "common.portalLabel.instructorMoreLessons": "+:count more lessons",
  "common.portalLabel.instructorLessons": "Lessons",
  "common.portalLabel.instructorLoginSubtitle": "Sign in to your instructor account at :school.",
  "common.portalLabel.instructorMaximumPoints": "Maximum points",
  "common.portalLabel.instructorPoints": "Points",
  "common.portalLabel.instructorProgramCohort": "Program cohort",
  "common.portalLabel.instructorSaveError": "Your changes could not be saved. Please try again.",
  "common.portalLabel.instructorSelect": "Select",
  "common.portalLabel.instructorSelectAll": "Select all students",
  "common.portalLabel.instructorSelectStudent": "Select :name",
  "common.portalLabel.instructorStartTime": "Start time",
  "common.portalLabel.instructorSummary_completed": "Completed",
  "common.portalLabel.instructorSummary_withdrawn": "Withdrawn",
  "common.portalLabel.instructorSummary_withdrawnBeforeStart": "Withdrawn before start",
  "common.portalLabel.instructorClose": "Close",
  "common.portalLabel.instructorAuthTitleBefore": "Your teaching at",
  "common.portalLabel.instructorAuthTitleAfter": "in one place.",
  "common.portalLabel.instructorToday": "Today",
  "common.portalLabel.instructorAllClassrooms": "All classrooms",
  "common.portalLabel.instructorActivationRequired": "Check your email address and make sure your instructor account is activated.",
  "common.portalLabel.instructorResendActivation": "Resend activation email",
  "common.portalLabel.instructorUpcoming": "Upcoming",
  "common.portalLabel.instructorFinished": "Finished",
  "common.portalLabel.instructorHideDetails": "Hide details",
  "common.portalLabel.instructorPortal": "Instructor Portal",
  "common.portalLabel.intake": "Schedule",
  "common.portalLabel.intakeDate": "Intake Date",
  "common.portalLabel.intakeTime": "Intake Time",
  "common.portalLabel.internationalTransactionNote": "International Transaction Note",
  "common.portalLabel.internationalTransactionNoteBody": "Please ensure your card is enabled for cross-border payments. A small processing fee may be applied by your bank for currency conversion.",
  "common.portalLabel.invalidCredentials": "Invalid Credentials",
  "common.portalLabel.invalidEmail": "Enter a valid email address.",
  "common.portalLabel.invalidField": "This field is invalid.",
  "common.portalLabel.invoiceCompleteFailed": "Unable to complete invoice.",
  "common.portalLabel.invoiceCompleted": "Invoice completed successfully.",
  "common.portalLabel.invoiceDate": "Invoice Date",
  "common.portalLabel.invoiceNumber": "Invoice Number",
  "common.portalLabel.invoicePaid": "Invoice Paid",
  "common.portalLabel.invoicePayment": "Invoice #:uid",
  "common.portalLabel.invoiceSummary": "Invoice Summary",
  "common.portalLabel.invoices": "Invoices",
  "common.portalLabel.issueDate": "Issue Date",
  "common.portalLabel.itemDescription": "Item Description",
  "common.portalLabel.items": "Items",
  "common.portalLabel.landlord": "Landlord",
  "common.portalLabel.language": "Language",
  "common.portalLabel.lastName": "Last Name",
  "common.portalLabel.lessonDetails": "Lesson Details",
  "common.portalLabel.loadingAddonOptions": "Loading add-on options",
  "common.portalLabel.loadingCalendar": "Loading calendar?",
  "common.portalLabel.loadingQuote": "Loading quote?",
  "common.portalLabel.login": "Login",
  "common.portalLabel.loginAs": "Login as",
  "common.portalLabel.loginCardSubtitle": "Sign in to your :school account.",
  "common.portalLabel.loginMobileSubtitle": "Sign in to your student portal",
  "common.portalLabel.loginNewAccountPrompt": "New to :school? ",
  "common.portalLabel.loginSubmit": "Login To Your Account",
  "common.portalLabel.loginTitle": "Login into your account",
  "common.portalLabel.loginToMeazure": "Login to your Meazure account",
  "common.portalLabel.loginWelcomeBack": "Welcome back",
  "common.portalLabel.logout": "Sign out",
  "common.portalLabel.lowPrice": "Low Price",
  "common.portalLabel.manageCommunicationPreferences": "Manage preferences",
  "common.portalLabel.maxWeeks": "Max. Number of weeks",
  "common.portalLabel.composeMessagePlaceholder": "Write your message?",
  "common.portalLabel.composeSubjectPlaceholder": "What is this about?",
  "common.portalLabel.conversationActive": "Active conversation",
  "common.portalLabel.messageAdmissions": "Message Admissions",
  "common.portalLabel.messageFrom": "Message from",
  "common.portalLabel.messageOwnerDescription": "Send a direct message to :name.",
  "common.portalLabel.messageOwnerRequired": "You cannot send a message until a contact owner has been assigned to your profile.",
  "common.portalLabel.messageStaff": "Message Staff",
  "common.portalLabel.messages": "Messages",
  "common.portalLabel.typeYourReply": "Type your reply?",
  "common.portalLabel.resizeMessageComposer": "Resize message area",
  "common.portalLabel.typicalReplyTime": "Usually replies within 2 hours",
  "common.portalLabel.minWeeks": "Min. Number of weeks",
  "common.portalLabel.missing": "Missing",
  "common.portalLabel.missingInvoiceNumber": "Missing invoice number.",
  "common.portalLabel.missingPaymentGateway": "Missing payment gateway information.",
  "common.portalLabel.missingSteps": "Missing Steps",
  "common.portalLabel.missingStepsCount": "Missing :count steps",
  "common.portalLabel.monerisBrowserOnly": "Moneris checkout is only available in the browser.",
  "common.portalLabel.monerisCheckoutFailed": "Unable to load Moneris checkout.",
  "common.portalLabel.monerisContainerMissing": "Moneris checkout container is not available.",
  "common.portalLabel.monerisSdkFailed": "Moneris SDK failed to load.",
  "common.portalLabel.monerisVerifyFailed": "Unable to verify Moneris payment.",
  "common.portalLabel.month": "Month",
  "common.portalLabel.more": "More",
  "common.portalLabel.myAccommodations": "My Accommodations",
  "common.portalLabel.myApplications": "My Applications",
  "common.portalLabel.myCalendar": "My Calendar",
  "common.portalLabel.myChildren": "My Children",
  "common.portalLabel.myCourses": "My Courses",
  "common.portalLabel.myDocuments": "My Documents",
  "common.portalLabel.na": "N/A",
  "common.portalLabel.name": "Name",
  "common.portalLabel.nationality": "Nationality",
  "common.portalLabel.navigation": "Portal navigation",
  "common.portalLabel.needAccommodationService": "Do you need accommodation service?",
  "common.portalLabel.needAddonsService": "Do you need addons service?",
  "common.portalLabel.needTransferService": "Do you need transfer service?",
  "common.portalLabel.new": "New",
  "common.portalLabel.newApplication": "New Application",
  "common.portalLabel.newApplicationUnavailable": "You are not eligible to start a new application at this time.",
  "common.portalLabel.newApplicationForm": "New Application Form",
  "common.portalLabel.next": "Next",
  "common.portalLabel.no": "No",
  "common.portalLabel.noAccountYet": "Don't have an account yet? Create one ",
  "common.portalLabel.noAccommodationsYet": "No accommodations yet",
  "common.portalLabel.noAccommodationsYetDescription": "Accommodations assigned to your account will appear here.",
  "common.portalLabel.noActiveAccommodations": "No active accommodations",
  "common.portalLabel.noApplicantsYet": "No applicants yet.",
  "common.portalLabel.noApplicationSections": "No sections to review",
  "common.portalLabel.noApplicationSectionsHint": "This application does not have any reviewable sections yet.",
  "common.portalLabel.noApplicationsYet": "You have not started any applications yet.",
  "common.portalLabel.noAvailableIntakeDates": "No available intake dates for this program.",
  "common.portalLabel.noBookingsFound": "No bookings found",
  "common.portalLabel.noBookingsYet": "No bookings yet",
  "common.portalLabel.noBookingsYetDescription": "Student bookings for your accommodations will appear here.",
  "common.portalLabel.noChildApplicationsYet": "No child applications have been started yet.",
  "common.portalLabel.noChildrenYet": "You don't have any linked children yet.",
  "common.portalLabel.noClassesScheduled": "No classes scheduled",
  "common.portalLabel.noCoursesYet": "You have no assigned courses yet.",
  "common.portalLabel.noDocumentsFound": "No documents found",
  "common.portalLabel.noGradesAvailable": "No Grades Available",
  "common.portalLabel.noGradesHint": "You don't have any grades to display yet. Grades will appear here once your assignments are graded.",
  "common.portalLabel.noGroupBookingsYet": "No group bookings yet.",
  "common.portalLabel.noPaymentGateway": "No payment gateway is available for this payment.",
  "common.portalLabel.noPublishedApplications": "No applications are available at this time.",
  "common.portalLabel.noRecordsFound": "No records found",
  "common.portalLabel.noRecordsYet": "There are no records yet.",
  "common.portalLabel.noResultsFound": "No results found.",
  "common.portalLabel.noSectionFields": "No answers to display in this section.",
  "common.portalLabel.noStartableApplications": "There are no applications available to start right now. If you already submitted, check My Applications for next steps.",
  "common.portalLabel.noStudentsYet": "No students yet.",
  "common.portalLabel.noSubmissionsYet": "No submissions yet.",
  "common.portalLabel.noTransactionsFound": "No transactions found.",
  "common.portalLabel.noTransactionsYet": "No transactions yet.",
  "common.portalLabel.normalPrice": "Normal Price",
  "common.portalLabel.notSureWhichToChoose": "Not sure which to choose?",
  "common.portalLabel.note": "Note",
  "common.portalLabel.notes": "Notes",
  "common.portalLabel.notificationApplicationInProgress": "Application in progress",
  "common.portalLabel.notificationAttendanceAtRisk": "Attendance needs attention",
  "common.portalLabel.notificationBalanceDue": "Outstanding balance",
  "common.portalLabel.notificationExamInvitations": "Exam invitations pending",
  "common.portalLabel.notificationNewDocument": "New document shared",
  "common.portalLabel.notificationUnreadMessage": "New message from :name",
  "common.portalLabel.browserNotificationsDescription": "Turn on browser notifications so :school can alert you about messages, documents, and important updates even when this tab is in the background.",
  "common.portalLabel.browserNotificationsDismiss": "Not now",
  "common.portalLabel.browserNotificationsEnable": "Enable notifications",
  "common.portalLabel.browserNotificationsHint": "Your browser will ask you to allow notifications. You can change this later in your browser settings.",
  "common.portalLabel.browserNotificationsTitle": "Enable notifications from :school",
  "common.portalLabel.notifications": "Notifications",
  "common.portalLabel.notificationsAllCaughtUp": "You're all caught up",
  "common.portalLabel.notificationsDelete": "Delete",
  "common.portalLabel.notificationsDeleteConfirmDescription": "Selected notifications will be removed from your list.",
  "common.portalLabel.notificationsDeleteConfirmTitle": "Delete notifications?",
  "common.portalLabel.notificationsDeleted": "Notifications deleted",
  "common.portalLabel.notificationsEmptyHint": "We'll let you know when there's something new.",
  "common.portalLabel.notificationsFilterAll": "All",
  "common.portalLabel.notificationsFilterUnread": "Unread",
  "common.portalLabel.notificationsMarkAsRead": "Mark as read",
  "common.portalLabel.notificationsMarkedAsRead": "Notifications marked as read",
  "common.portalLabel.notificationsSelectAll": "Select all",
  "common.portalLabel.notificationsSelectedCount": ":count selected",
  "common.portalLabel.notificationsUnreadSummary": ":count unread",
  "common.portalLabel.number": "No.",
  "common.portalLabel.numberOfHours": "Number of Hours",
  "common.portalLabel.numberOfWeeks": "Number of Weeks",
  "common.portalLabel.of": "of",
  "common.portalLabel.openAsStudent": "Open as Student",
  "common.portalLabel.openChildAccountFailed": "Unable to open this child account.",
  "common.portalLabel.openCourseHub": "Open Course Hub",
  "common.portalLabel.openMenu": "Open menu",
  "common.portalLabel.options": "Options",
  "common.portalLabel.outOf100": "/ 100",
  "common.portalLabel.outstanding": "Outstanding",
  "common.portalLabel.overallAttendanceRate": "Overall Attendance Rate",
  "common.portalLabel.parentApplicationsDescription": "Review applications for your children or start a new one on their behalf.",
  "common.portalLabel.parentDocumentsListDescription": "Here is the list of your uploaded documents",
  "common.portalLabel.parentLoginDisabled": "Parent login is disabled.",
  "common.portalLabel.pendingRequests": "Pending Requests",
  "common.portalLabel.password": "Password",
  "common.portalLabel.passwordConfirmation": "Password confirmation",
  "common.portalLabel.passwordKeepCurrentHint": "Leave blank to keep your current password",
  "common.portalLabel.passwordMinLength": "Password must be at least 8 characters.",
  "common.portalLabel.passwordMixedCase": "Include uppercase and lowercase letters.",
  "common.portalLabel.passwordRequiresNumber": "Include at least one number.",
  "common.portalLabel.passwordRequiresSymbol": "Include at least one symbol.",
  "common.portalLabel.passwordRequirementLength": "8+ chars",
  "common.portalLabel.passwordRequirementMixedCase": "Aa",
  "common.portalLabel.passwordRequirementNumber": "0-9",
  "common.portalLabel.passwordRequirementSymbol": "Symbol",
  "common.portalLabel.passwordStrengthLabel": "Password strength",
  "common.portalLabel.passwordStrengthStart": "Too short",
  "common.portalLabel.passwordStrengthWeak": "Weak",
  "common.portalLabel.passwordStrengthFair": "Fair",
  "common.portalLabel.passwordStrengthGood": "Good",
  "common.portalLabel.passwordStrengthStrong": "Strong",
  "common.portalLabel.passwordsMatch": "Passwords match",
  "common.portalLabel.passwordResetExpired": "Your request has expired. Please request a new link.",
  "common.portalLabel.passwordResetFailed": "Unable to reset your password. Please try again.",
  "common.portalLabel.passwordResetInvalid": "This password reset link is invalid.",
  "common.portalLabel.passwordResetLinkSent": "We have e-mailed your password reset link!",
  "common.portalLabel.passwordResetSuccess": "Your password has been reset!",
  "common.portalLabel.passwordsMismatch": "Passwords don't match",
  "common.portalLabel.payInvoice": "Pay Invoice",
  "common.portalLabel.payNow": "Pay Now",
  "common.portalLabel.payWithRevolut": "Pay with Revolut",
  "common.portalLabel.payment": "Payment",
  "common.portalLabel.paymentCancelled": "Payment was cancelled.",
  "common.portalLabel.paymentDate": "Payment Date",
  "common.portalLabel.paymentErrorTitle": "Payment could not be completed",
  "common.portalLabel.paymentRef": "Payment Ref",
  "common.portalLabel.paymentSessionFailed": "Failed to create payment session.",
  "common.portalLabel.paymentSessionBusy": "Your payment session is still being prepared. Please wait a moment and try again. If checkout was interrupted, recovery can take up to five minutes.",
  "common.portalLabel.paymentStatus": "Payment Status",
  "common.portalLabel.paymentSuccessful": "Payment Successful",
  "common.portalLabel.paymentTokenFailed": "Payment token could not be created.",
  "common.portalLabel.paymentValidationFailed": "Payment validation failed. Please try again.",
  "common.portalLabel.paymentVerificationFailed": "Payment verification failed. Please try again.",
  "common.portalLabel.paymentVerificationTimedOut": "Payment verification timed out. Please refresh and try again.",
  "common.portalLabel.invoiceAlreadyPaid": "This invoice has already been paid.",
  "common.portalLabel.loadingPaymentForm": "Loading payment form...",
  "common.portalLabel.payments": "Payments",
  "common.portalLabel.paypalCheckoutFailed": "Failed to load PayPal checkout.",
  "common.portalLabel.paypalCheckoutUnavailable": "PayPal checkout is unavailable.",
  "common.portalLabel.paypalContactNote": "Contact us for any questions.",
  "common.portalLabel.period": "Period",
  "common.portalLabel.personalInformation": "Personal Information",
  "common.portalLabel.phone": "Phone Number",
  "common.portalLabel.placementDetails": "Placement Details",
  "common.portalLabel.placeholderDate": "Select a date",
  "common.portalLabel.placeholderEmail": "Enter your email address",
  "common.portalLabel.placeholderPassword": "Enter your password",
  "common.portalLabel.placeholderPhone": "Enter your phone number",
  "common.portalLabel.placeholderSelect": "Select an option",
  "common.portalLabel.placeholderText": "Enter text",
  "common.portalLabel.placeholderTextarea": "Enter your response",
  "common.portalLabel.postalCode": "Postal code",
  "common.portalLabel.previous": "Previous",
  "common.portalLabel.pagination": "Pagination",
  "common.portalLabel.price": "Price",
  "common.portalLabel.pricing": "Pricing",
  "common.portalLabel.print": "Print",
  "common.portalLabel.privacy": "Privacy",
  "common.portalLabel.privacyPolicy": "Privacy Policy",
  "common.portalLabel.processing": "Processing...",
  "common.portalLabel.revolutAmountMismatch": "The Revolut payment amount does not match this invoice.",
  "common.portalLabel.revolutCheckoutUnavailable": "Revolut Pay checkout is unavailable. Please try again.",
  "common.portalLabel.revolutCurrencyHelper": "Three-letter ISO currency code, for example CAD, USD, or EUR.",
  "common.portalLabel.revolutCurrencyMismatch": "The Revolut payment currency does not match this invoice.",
  "common.portalLabel.revolutInvoiceMismatch": "This Revolut order does not belong to the selected invoice.",
  "common.portalLabel.revolutInvoiceRequired": "An invoice is required to start Revolut Pay.",
  "common.portalLabel.revolutInvalidAmount": "The invoice amount must be greater than zero to use Revolut Pay.",
  "common.portalLabel.revolutNotConfigured": "Revolut Pay is not fully configured.",
  "common.portalLabel.revolutOrderRequired": "The Revolut order reference is missing.",
  "common.portalLabel.revolutPaymentIncomplete": "The Revolut payment has not completed yet.",
  "common.portalLabel.revolutSandboxMode": "Revolut Sandbox mode",
  "common.portalLabel.revolutSchoolMismatch": "This Revolut order does not belong to this school.",
  "common.portalLabel.revolutUnavailable": "Revolut Pay is temporarily unavailable. Please try again.",
  "common.portalLabel.verifyingPayment": "Verifying payment...",
  "common.portalLabel.products": "Products",
  "common.portalLabel.profile": "Profile",
  "common.portalLabel.profileUpdateError": "An error occurred while updating the profile.",
  "common.portalLabel.profileUpdateFailed": "Failed to update your profile!",
  "common.portalLabel.profileUpdated": "Profile updated successfully",
  "common.portalLabel.propertiesLinkedToAccount": "Properties linked to your housing account.",
  "common.portalLabel.program": "Program",
  "common.portalLabel.programs": "Programs",
  "common.portalLabel.progressSaved": "Saved",
  "common.portalLabel.promoCode": "Promo Code",
  "common.portalLabel.promoCodeApplied": "Promo code applied successfully.",
  "common.portalLabel.promoCodeApplyFailed": "Unable to apply promo code.",
  "common.portalLabel.promoCodeCoversFullAmount": "This promo code covers the full invoice amount.",
  "common.portalLabel.promoCodeHint": "Apply a valid promo code before completing payment.",
  "common.portalLabel.promoCodeNoLongerValid": "The applied promo code is no longer valid. The invoice total has been restored.",
  "common.portalLabel.promoCodeRemoveFailed": "Unable to remove promo code.",
  "common.portalLabel.promoCodeRemoved": "Promo code removed successfully.",
  "common.portalLabel.qtyShort": "Qty",
  "common.portalLabel.quoteBookingRegistered": "Your booking has been registered.",
  "common.portalLabel.quoteBookingStudentFailed": "Payment was received but we could not create your student account. Please contact the school.",
  "common.portalLabel.quoteBookingThankYouMessage": "Thank you for your payment. You can continue with your application.",
  "common.portalLabel.quoteBuilder": "Quote Builder",
  "common.portalLabel.quoteConsentRequired": "Consent to the processing of your personal data is required to continue.",
  "common.portalLabel.quoteFormValidationError": "Please ensure all fields are valid and accept the terms and conditions before proceeding.",
  "common.portalLabel.quoteImpersonatingAs": "Stop impersonating (:name)",
  "common.portalLabel.quoteImpersonatingGroup": "Return from :group (:count students)",
  "common.portalLabel.quoteNotFound": "Quote not found.",
  "common.portalLabel.quotePaymentUnavailable": "Online payment is not available for this quote. Please contact the school to complete your booking.",
  "common.portalLabel.quotePriceSummaryPlaceholder": "Price summary will appear here.",
  "common.portalLabel.quoteRequestSubmitted": "Your quote has been submitted successfully.",
  "common.portalLabel.quoteStepPlaceholder": "Configure your quote",
  "common.portalLabel.quoteStepScaffoldHint": "Service selection for this step will be available in the next update.",
  "common.portalLabel.quoteSubmitFailed": "Unable to submit quote. Please try again.",
  "common.portalLabel.quoteAccountEmailSubject": "Your student account details",
  "common.portalLabel.quoteAccountEmailGreeting": "Hello :name,",
  "common.portalLabel.quoteAccountEmailIntro": "Your quote has been saved. You can sign in to your student account using these details:",
  "common.portalLabel.quoteAccountEmailPasswordHint": "Keep these details private. You can change your password after signing in.",
  "common.portalLabel.quoteSummary": "Quote Summary",
  "common.portalLabel.quoteTermsPrefix": "By clicking here, I state that I have read and understood the",
  "common.portalLabel.quoteThankYouMessage": "A summary of your quote has been sent to your email.",
  "common.portalLabel.quoteUnknownStepMessage": "This quote step is not available in the portal yet. Continue to the summary or contact the school for help.",
  "common.portalLabel.quoteValidTill": "This quote is valid till",
  "common.portalLabel.read": "Read",
  "common.portalLabel.readinessHint": "Finish your :count in-progress application(s) to complete.",
  "common.portalLabel.readinessHintMissingDocuments": "Upload :count more document(s) to complete your application.",
  "common.portalLabel.reasonMotif": "Reason / Motif",
  "common.portalLabel.recaptchaFailed": "reCAPTCHA verification failed. Please try again.",
  "common.portalLabel.recaptchaMissingKey": "Missing reCAPTCHA site key.",
  "common.portalLabel.recaptchaRequired": "Please complete the reCAPTCHA verification.",
  "common.portalLabel.receipts": "Receipts",
  "common.portalLabel.receiveSummary": "Receive Summary",
  "common.portalLabel.receiveSummaryOnEmail": "Receive the summary by email",
  "common.portalLabel.recentApplications": "Recent applications",
  "common.portalLabel.recentBookings": "Recent Bookings",
  "common.portalLabel.recentTransaction": "Recent Transaction",
  "common.portalLabel.refId": "Ref ID",
  "common.portalLabel.refunded": "Refunded",
  "common.portalLabel.registerAs": "Register as",
  "common.portalLabel.registerCardSubtitle": "Sign up for your :school account.",
  "common.portalLabel.registerCommunicationConsentHint": "Optional — turn everything on at once, or choose email, text, and phone below. These become your communication preferences.",
  "common.portalLabel.registerCommunicationConsentHintWithWhatsapp": "Optional — turn everything on at once, or choose email, text, phone, and WhatsApp below. These become your communication preferences.",
  "common.portalLabel.registerCommunicationConsentTitle": "Allow all contact methods",
  "common.portalLabel.registerCustomizeChannels": "Customize channels",
  "common.portalLabel.registerEmailConsent": "Email updates",
  "common.portalLabel.registerEmailConsentHelper": "News, reminders, and helpful tips about your application.",
  "common.portalLabel.registerHideChannels": "Hide channels",
  "common.portalLabel.registerLegalAnd": "and",
  "common.portalLabel.registerLegalPrefix": "I have read and agree to the",
  "common.portalLabel.registerLegalPrefixPrivacy": "I have read and agree to the",
  "common.portalLabel.registerNow": "Register Now",
  "common.portalLabel.registerPhoneConsent": "Phone calls",
  "common.portalLabel.registerPhoneConsentHelper": "A quick call if we need to talk about your application.",
  "common.portalLabel.registerSmsConsent": "Text messages",
  "common.portalLabel.registerSmsConsentHelper": "Short SMS updates when something needs your attention.",
  "common.portalLabel.registerSubmit": "Create An Account",
  "common.portalLabel.registerWhatsappConsent": "WhatsApp",
  "common.portalLabel.registerWhatsappConsentHelper": "WhatsApp messages when something needs your attention.",
  "common.portalLabel.registerTermsRequired": "You must accept the Terms and Conditions and Privacy Policy to continue.",
  "common.portalLabel.registerTermsRequiredBoth": "You must accept the Terms and Conditions and Privacy Policy to continue.",
  "common.portalLabel.registerTermsRequiredPrivacy": "You must accept the Privacy Policy to continue.",
  "common.portalLabel.registerTermsRequiredTerms": "You must accept the Terms and Conditions to continue.",
  "common.portalLabel.registerTitle": "Create your account",
  "common.portalLabel.registrationFailed": "Registration failed. Please check your details and try again.",
  "common.portalLabel.remove": "Remove",
  "common.portalLabel.removeItem": "Remove item",
  "common.portalLabel.removing": "Removing...",
  "common.portalLabel.replaceDocument": "Replace document",
  "common.portalLabel.replySent": "Reply sent successfully",
  "common.portalLabel.requestToEdit": "Request to Edit",
  "common.portalLabel.quoteCostBreakdown": "Cost breakdown",
  "common.portalLabel.quoteCostPerStudent": ":amount per student × :count",
  "common.portalLabel.requiredAddons": "Required Addons",
  "common.portalLabel.requiredField": "This field is required",
  "common.portalLabel.requiredFields": "Please fill in all required fields.",
  "common.portalLabel.resetPasswordNow": "Reset password Now",
  "common.portalLabel.resetPasswordSubmit": "Continue",
  "common.portalLabel.resetPasswordTitle": "Reset your password",
  "common.portalLabel.restartApplication": "Restart Application",
  "common.portalLabel.result": "Result",
  "common.portalLabel.resumeApplication": "Resume Application",
  "common.portalLabel.returnToParentPortal": "Return to Parent Portal",
  "common.portalLabel.review": "Review",
  "common.portalLabel.publicPaymentPaidSubtitle": "Invoice #:uid has been paid. Thank you.",
  "common.portalLabel.reviewAndCompleteInvoicePayment": "Review and complete your invoice payment for invoice #:uid.",
  "common.portalLabel.room": "Room",
  "common.portalLabel.save": "Save",
  "common.portalLabel.saveAndContinue": "Save and Continue",
  "common.portalLabel.savePreferences": "Save preferences",
  "common.portalLabel.schedule": "Schedule",
  "common.portalLabel.schedules": "Schedules",
  "common.portalLabel.schoolYear": "School Year",
  "common.portalLabel.search": "Search",
  "common.portalLabel.searchAcademics": "Search academics...",
  "common.portalLabel.searchApplicants": "Search applicants",
  "common.portalLabel.searchAttendance": "Search attendance...",
  "common.portalLabel.searchByCourseTitle": "Search by course title...",
  "common.portalLabel.searchBookings": "Search by student or accommodation?",
  "common.portalLabel.searchDocuments": "Search documents?",
  "common.portalLabel.searchExams": "Search exams...",
  "common.portalLabel.searchTransactions": "Search transactions...",
  "common.portalLabel.secureCheckoutLoading": "Loading secure checkout...",
  "common.portalLabel.secureLogin": "Secure Login",
  "common.portalLabel.securePayment": "Secure payment",
  "common.portalLabel.select": "Select",
  "common.portalLabel.selectAndStart": "Select & Start",
  "common.portalLabel.selectApplication": "Select Application",
  "common.portalLabel.selectApplicationType": "Select your application type",
  "common.portalLabel.selectArrivalTransfer": "Select arrival transfer",
  "common.portalLabel.selectChild": "Select Child",
  "common.portalLabel.selectCourse": "Select a course",
  "common.portalLabel.semesterTerm": "Semester / Term",
  "common.portalLabel.sendQuote": "Send Quote",
  "common.portalLabel.showActiveBookingsOnly": "Show active bookings only",
  "common.portalLabel.showActivePropertiesOnly": "Show active properties only",
  "common.portalLabel.showMore": "Show more",
  "common.portalLabel.showLess": "Show less",
  "common.portalLabel.showPerPage": "Show per page",
  "common.portalLabel.signHere": "Sign here",
  "common.portalLabel.signIn": "Sign In",
  "common.portalLabel.signatureDraw": "Draw",
  "common.portalLabel.signatureDate": "Signature Date",
  "common.portalLabel.signatureHelper": "Draw your signature or type your full name.",
  "common.portalLabel.signatureModeTabs": "Signature input mode",
  "common.portalLabel.signatureParentPermissionRequired": "You can view this consent, but your parent account is not permitted to sign it.",
  "common.portalLabel.signatureType": "Type",
  "common.portalLabel.signatureTypePlaceholder": "Type your full name",
  "common.portalLabel.size": "Size",
  "common.portalLabel.startAnotherApplication": "Start another",
  "common.portalLabel.startApplication": "Start Application",
  "common.portalLabel.startDate": "Start Date",
  "common.portalLabel.startNewApplication": "Start A New Application",
  "common.portalLabel.startNewApplicationDescription": "Choose the application type that matches your student profile. You'll select your program, campus, and intake inside the form.",
  "common.portalLabel.startNewApplicationTitle": "Start a new application",
  "common.portalLabel.startNow": "Start Now",
  "common.portalLabel.stateProvince": "State/Province",
  "common.portalLabel.status": "Status",
  "common.portalLabel.step": "Step",
  "common.portalLabel.stepProgress": "Step :current of :total",
  "common.portalLabel.steps": "steps",
  "common.portalLabel.stopImpersonating": "Stop Impersonating",
  "common.portalLabel.stopImpersonatingChild": "Viewing as :name",
  "common.portalLabel.street": "Street",
  "common.portalLabel.stripeCheckoutFailed": "Stripe checkout could not be started.",
  "common.portalLabel.stripeCheckoutLoading": "Loading secure Stripe checkout...",
  "common.portalLabel.stripeKeyMissing": "Stripe publishable key is missing.",
  "common.portalLabel.stripePaymentIncomplete": "Stripe payment was not completed. Please try again.",
  "common.portalLabel.student": "Student",
  "common.portalLabel.studentCalendar": "Student Calendar",
  "common.portalLabel.studentDetached": "Student removed from the group.",
  "common.portalLabel.studentInformation": "Student Information",
  "common.portalLabel.studentPortal": "Student Portal",
  "common.portalLabel.numberOfStudents": "Number of students",
  "common.portalLabel.advancedFilters": "Advanced filters",
  "common.portalLabel.minimum": "Minimum",
  "common.portalLabel.maximum": "Maximum",
  "common.portalLabel.students": "Students",
  "common.portalLabel.studentsAdded": "Students added.",
  "common.portalLabel.studentsImported": "Students imported.",
  "common.portalLabel.subject": "Subject",
  "common.portalLabel.submissionDeleted": "Submission deleted.",
  "common.portalLabel.submissions": "Submissions",
  "common.portalLabel.submitApplication": "Submit Application",
  "common.portalLabel.submitted": "Submitted",
  "common.portalLabel.submittedOn": "Submitted :date",
  "common.portalLabel.statusWithDate": ":status :date",
  "common.portalLabel.subspecialty": "Subspecialty",
  "common.portalLabel.subtotal": "Subtotal",
  "common.portalLabel.summary": "Summary",
  "common.portalLabel.support": "Support",
  "common.portalLabel.teacher": "Teacher",
  "common.portalLabel.termsAndConditions": "terms and conditions",
  "common.portalLabel.thankYouForPayment": "Thank you for your payment",
  "common.portalLabel.thankYouPayment": "Thank you for your payment",
  "common.portalLabel.thankYouPaymentReceived": "We have received your payment.",
  "common.portalLabel.themeDark": "Switch to dark theme",
  "common.portalLabel.themeLight": "Switch to light theme",
  "common.portalLabel.themeMode": "Theme",
  "common.portalLabel.themeModeDark": "Dark",
  "common.portalLabel.themeModeLight": "Light",
  "common.portalLabel.time": "Time",
  "common.portalLabel.title": "Title",
  "common.portalLabel.to": "To",
  "common.portalLabel.todaySchedule": "Today Schedule",
  "common.portalLabel.total": "Total",
  "common.portalLabel.totalAmountDue": "Total Amount Due",
  "common.portalLabel.totalApplications": "Total applications",
  "common.portalLabel.totalCredits": "Total Credits",
  "common.portalLabel.totalInvoices": "Total Invoices",
  "common.portalLabel.totalPayments": "Total Payments",
  "common.portalLabel.totalPrice": "Total Price",
  "common.portalLabel.totalBeds": "Total Beds",
  "common.portalLabel.transactionType": "Transaction Type",
  "common.portalLabel.transactionsSummary": "Showing :from?:to of :total",
  "common.portalLabel.transfer": "Transfer",
  "common.portalLabel.transferOptions": "Transfer Options",
  "common.portalLabel.transferTotal": "Transfer Total",
  "common.portalLabel.transfers": "Transfers",
  "common.portalLabel.tryAgain": "Try Again",
  "common.portalLabel.type": "Type",
  "common.portalLabel.unit": "Unit",
  "common.portalLabel.units": "Units",
  "common.portalLabel.unableToDownloadDocument": "Unable to download this document.",
  "common.portalLabel.unableToLoadAccount": "Unable to load your account.",
  "common.portalLabel.unableToLoadDocuments": "Unable to load documents.",
  "common.portalLabel.undoSignature": "Undo last stroke",
  "common.portalLabel.unlockRequestSent": "Unlock request sent",
  "common.portalLabel.unpaid": "Unpaid",
  "common.portalLabel.partiallyPaid": "Partially paid",
  "common.portalLabel.unpaidInvoicesCount": ":count unpaid invoices",
  "common.portalLabel.unreadMessagesCount": ":count unread messages",
  "common.portalLabel.upcomingEvents": "Upcoming events",
  "common.portalLabel.update": "Update",
  "common.portalLabel.updated": "Updated",
  "common.portalLabel.uploadDate": "Upload Date",
  "common.portalLabel.uploading": "Uploading...",
  "common.portalLabel.view": "View",
  "common.portalLabel.viewAll": "View all",
  "common.portalLabel.viewAllApplications": "View all applications",
  "common.portalLabel.viewAllCourses": "View All Courses",
  "common.portalLabel.viewChildApplications": "View applications",
  "common.portalLabel.viewDetails": "View Details",
  "common.portalLabel.viewBookings": "View bookings",
  "common.portalLabel.hideDetails": "Hide Details",
  "common.portalLabel.showTransactionDetails": "Show transaction details",
  "common.portalLabel.hideTransactionDetails": "Hide transaction details",
  "common.portalLabel.noTransactionsFoundHint": "Try a different search term or clear the search field.",
  "common.portalLabel.noTransactionsYetHint": "Transactions will appear here once invoices or payments are recorded.",
  "common.portalLabel.invoice": "Invoice",
  "common.portalLabel.paid": "Paid",
  "common.portalLabel.pending": "Pending",
  "common.portalLabel.transactionHistory": "Transaction History",
  "common.portalLabel.filter": "Filter",
  "common.portalLabel.all": "All",
  "common.portalLabel.transactionsPageSummarySingle": "Showing <strong>1</strong> of <strong>:total</strong> transaction",
  "common.portalLabel.transactionsPageSummaryRange": "Showing <strong>:from</strong> of <strong>:total</strong> transaction",
  "common.portalLabel.transactionsPageSummary": "Showing <strong>:from</strong>?<strong>:to</strong> of <strong>:total</strong> transactions",
  "common.portalLabel.balanceDue": "Balance Due",
  "common.portalLabel.notApplicable": "Not applicable",
  "common.portalLabel.sortAscending": "sorted ascending",
  "common.portalLabel.sortByColumn": "Sort by :column",
  "common.portalLabel.sortDescending": "sorted descending",
  "common.portalLabel.viewInvoice": "View invoice",
  "common.portalLabel.viewProfile": "View Profile",
  "common.portalLabel.week": "Week",
  "common.portalLabel.weeklySchedule": "Weekly schedule",
  "common.portalLabel.weeks": "Weeks",
  "common.portalLabel.welcome": "Welcome",
  "common.portalLabel.welcomeBack": "Welcome back",
  "common.portalLabel.wizardFooterContinueHint": "Continue your application",
  "common.portalLabel.wizardFooterSubmitHint": "Submit your application",
  "common.portalLabel.yes": "Yes",
  "common.pricingSchemaLabel.actionFailed": "Unable to complete that action right now.",
  "common.pricingSchemaLabel.active": "Active",
  "common.pricingSchemaLabel.activeStatus": "Active",
  "common.pricingSchemaLabel.addDates": "Add Dates",
  "common.pricingSchemaLabel.back": "Back",
  "common.pricingSchemaLabel.backToList": "Back to Pricing Schemas",
  "common.pricingSchemaLabel.createFailed": "Unable to create pricing schema. Try again.",
  "common.pricingSchemaLabel.createPricingSchema": "Create Pricing Schema",
  "common.pricingSchemaLabel.createdSuccessfully": "Pricing schema :title created successfully.",
  "common.pricingSchemaLabel.decrease": "Decrease",
  "common.pricingSchemaLabel.deletePricingSchema": "Delete",
  "common.pricingSchemaLabel.deletePricingSchemaConfirm": "Deleting this pricing schema will delete all related data.",
  "common.pricingSchemaLabel.deletedSuccessfully": "Pricing schema deleted successfully.",
  "common.pricingSchemaLabel.description": "Description",
  "common.pricingSchemaLabel.details": "Pricing Schema Details",
  "common.pricingSchemaLabel.editPricingSchema": "Edit",
  "common.pricingSchemaLabel.editPricingSchemaPageTitle": "Edit Pricing Schema ? :title",
  "common.pricingSchemaLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.pricingSchemaLabel.fromWeek": "From Week",
  "common.pricingSchemaLabel.fromWeekRequired": "Enter a from week between 1 and 53.",
  "common.pricingSchemaLabel.id": "ID",
  "common.pricingSchemaLabel.inactiveStatus": "Inactive",
  "common.pricingSchemaLabel.increase": "Increase",
  "common.pricingSchemaLabel.next": "Next",
  "common.pricingSchemaLabel.noChange": "No change",
  "common.pricingSchemaLabel.pageTitle": "Pricing Schemas",
  "common.pricingSchemaLabel.pricingDatesEmpty": "No pricing date ranges added yet. Use Add Dates to create one.",
  "common.pricingSchemaLabel.pricingDatesSection": "Pricing Dates",
  "common.pricingSchemaLabel.pricingDatesSectionHint": "Define week ranges and the value applied to each range.",
  "common.pricingSchemaLabel.pricingRules": "Pricing Rules",
  "common.pricingSchemaLabel.pricingSchemas": "pricing schemas",
  "common.pricingSchemaLabel.pricingSchemasEmpty": "No pricing schemas matched the current search or filters.",
  "common.pricingSchemaLabel.rangeCount": "Configured Ranges",
  "common.pricingSchemaLabel.removeDates": "Remove dates",
  "common.pricingSchemaLabel.searchPricingSchemas": "Search pricing schemas by title or description",
  "common.pricingSchemaLabel.stepAnnouncement": "Step :current of :total: :step",
  "common.pricingSchemaLabel.stepInformation": "Information",
  "common.pricingSchemaLabel.stepInformationHint": "Configure the schema title, status, description, and week-based pricing rows.",
  "common.pricingSchemaLabel.stepProgress": "Step :current of :total",
  "common.pricingSchemaLabel.title": "Title",
  "common.pricingSchemaLabel.titleRequired": "Title is required.",
  "common.pricingSchemaLabel.toWeek": "To Week",
  "common.pricingSchemaLabel.toWeekAfterFromWeek": "To week must be greater than or equal to from week.",
  "common.pricingSchemaLabel.toWeekRequired": "Enter a to week between 1 and 53.",
  "common.pricingSchemaLabel.updateFailed": "Unable to update pricing schema. Try again.",
  "common.pricingSchemaLabel.updatePricingSchema": "Update Pricing Schema",
  "common.pricingSchemaLabel.updatedSuccessfully": "Pricing schema :title updated successfully.",
  "common.pricingSchemaLabel.value": "Value",
  "common.pricingSchemaLabel.valueRequired": "Value is required.",
  "common.pricingSchemaLabel.viewPricingSchema": "View",
  "common.pricingSchemaLabel.weekValue": "Week :week value :value",
  "common.pricingSchemaLabel.weeklyValues": "Weekly Values",
  "common.pricingSchemaLabel.weeklyValuesSummary": "Week-by-week pricing adjustments for weeks 1 through 53.",
  "common.pricingSchemaLabel.wizardFooterAria": "Pricing schema wizard actions",
  "common.pricingSchemaLabel.wizardNavigation": "Pricing schema wizard navigation",
  "common.programLabel.backToList": "Back to programs",
  "common.programLabel.backToProgram": "Back to program",
  "common.programLabel.campusesRequired": "At least one campus is required",
  "common.programLabel.cloneProgram": "Clone program",
  "common.programLabel.cohortsEmpty": "No cohorts have been added to this program yet.",
  "common.programLabel.cohortsTitle": "Program cohorts",
  "common.programLabel.collapseNavigation": "Collapse navigation",
  "common.programLabel.coursesEmpty": "No courses are linked to this program yet.",
  "common.programLabel.coursesHelper": "Only courses without an associated program are shown",
  "common.programLabel.coursesTitle": "Program courses",
  "common.programLabel.createFailed": "Unable to create the program. Review the form and try again.",
  "common.programLabel.createProgram": "Add program",
  "common.programLabel.customFieldsRequired": "Complete all required custom fields before continuing",
  "common.programLabel.datesEmpty": "No start dates have been added to this program yet.",
  "common.programLabel.datesTitle": "Program start dates",
  "common.programLabel.datesTypeRequired": "Dates type is required",
  "common.programLabel.delete": "Delete program",
  "common.programLabel.deleteConfirm": "Deleting this program will delete all the related data (Dates, Cohorts, Lessons and Grades).",
  "common.programLabel.deleteGradeConfirm": "This grade will be removed from the program.",
  "common.programLabel.detailTabsLabel": "Program detail tabs",
  "common.programLabel.editProgram": "Edit program",
  "common.programLabel.expandNavigation": "Expand navigation",
  "common.programLabel.featuredImage": "Featured image",
  "common.programLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing",
  "common.programLabel.gradesEmpty": "No grades configured",
  "common.programLabel.gradesEmptyDesc": "Add a grade to define assessment categories for this program.",
  "common.programLabel.hideEmptyFields": "Hide empty fields",
  "common.programLabel.navigation": "Navigation",
  "common.programLabel.noCampusesWarning": "You don't have any campuses. Please add a campus first.",
  "common.programLabel.notSet": "Not set",
  "common.programLabel.programCodeAutoHint": "Generated automatically from the title when you leave the title field. Edit manually if needed.",
  "common.programLabel.programCodeLocked": "The program code cannot be changed after the program is created.",
  "common.programLabel.searchCohorts": "Search cohorts by title, campus, or dates",
  "common.programLabel.searchCourses": "Search courses by title or slug",
  "common.programLabel.searchDates": "Search dates by type, campus, or schedule",
  "common.programLabel.sectionBasics": "Program basics",
  "common.programLabel.sectionBasicsDesc": "Identity, code, campuses, and status.",
  "common.programLabel.sectionCustomFields": "Additional fields",
  "common.programLabel.sectionCustomFieldsDesc": "School-defined details for this program.",
  "common.programLabel.showEmptyFields": "Show empty fields",
  "common.programLabel.slugRequired": "Program code is required",
  "common.programLabel.stepCustomFields": "Custom properties",
  "common.programLabel.stepInformation": "Program information",
  "common.programLabel.stepInformationHint": "Title, code, campuses, courses, and scheduling defaults.",
  "common.programLabel.stepProgress": "Step :current of :total",
  "common.programLabel.stepVirtualAssistant": "Virtual assistant",
  "common.programLabel.stepVirtualAssistantHint": "Details, video, and featured image for the assistant experience.",
  "common.programLabel.titleRequired": "Title is required",
  "common.programLabel.updateFailed": "Unable to update the program. Review the form and try again.",
  "common.programLabel.wizardNavigation": "Program wizard navigation",
  "common.promocodeLabel.actionFailed": "Unable to complete that action right now.",
  "common.promocodeLabel.activatePromocode": "Activate",
  "common.promocodeLabel.activatePromocodeConfirm": "Are you sure you want to activate this promo code?",
  "common.promocodeLabel.activatedSuccessfully": "Promo code activated successfully.",
  "common.promocodeLabel.active": "Active",
  "common.promocodeLabel.applications": "Applications",
  "common.promocodeLabel.appliesTo": "Applies To",
  "common.promocodeLabel.appliesToHelper": "Choose whether this code is available everywhere or limited to selected quote builders.",
  "common.promocodeLabel.applyAutomatically": "Apply automatically in quote builder",
  "common.promocodeLabel.applyAutomaticallyHelper": "Automatic codes are applied by the quote builder when eligible.",
  "common.promocodeLabel.automatic": "Automatic",
  "common.promocodeLabel.back": "Back",
  "common.promocodeLabel.backToList": "Back to Promo Codes",
  "common.promocodeLabel.code": "Code",
  "common.promocodeLabel.codeHelper": "Leave blank to generate a unique code automatically. Use letters, numbers, and dashes only.",
  "common.promocodeLabel.codeInvalid": "Promo codes can only contain letters, numbers, and dashes.",
  "common.promocodeLabel.codePlaceholder": "AUTO-GENERATED",
  "common.promocodeLabel.codeRequired": "Promo code is required.",
  "common.promocodeLabel.contactEmail": "Email",
  "common.promocodeLabel.contactName": "Name",
  "common.promocodeLabel.createFailed": "Unable to create the promo code right now.",
  "common.promocodeLabel.createPromocode": "Create Promocode",
  "common.promocodeLabel.deactivatePromocode": "Deactivate",
  "common.promocodeLabel.deactivatePromocodeConfirm": "Are you sure you want to deactivate this promo code?",
  "common.promocodeLabel.deactivatedSuccessfully": "Promo code deactivated successfully.",
  "common.promocodeLabel.deletePromocode": "Delete",
  "common.promocodeLabel.deletePromocodeConfirm": "Are you sure you want to delete this promocode?",
  "common.promocodeLabel.deletedSuccessfully": "Promocode deleted successfully.",
  "common.promocodeLabel.details": "Promo Code Details",
  "common.promocodeLabel.detailsTab": "Details",
  "common.promocodeLabel.discount": "Discount",
  "common.promocodeLabel.discountFlatMax": "Flat discounts must be less than 10,000.",
  "common.promocodeLabel.discountHelper": "Percentage discounts can be up to 100%. Flat discounts are capped at invoice or quote subtotal when applied.",
  "common.promocodeLabel.discountPercentageMax": "Percentage discounts must be between 1 and 100.",
  "common.promocodeLabel.discountRequired": "Discount is required.",
  "common.promocodeLabel.discountType": "Discount Type",
  "common.promocodeLabel.discountTypeRequired": "Discount type is required.",
  "common.promocodeLabel.editPromocode": "Edit",
  "common.promocodeLabel.editPromocodeHint": "Update promo code settings, quote-builder scope, and student-facing notes.",
  "common.promocodeLabel.editPromocodeTitle": "Edit Promo Code",
  "common.promocodeLabel.email": "Email",
  "common.promocodeLabel.expiresAfterStart": "Expiry date must be on or after the start date.",
  "common.promocodeLabel.expiresAt": "Expires",
  "common.promocodeLabel.expiresAtHelper": "Leave blank for no expiry date.",
  "common.promocodeLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.promocodeLabel.flat": "Flat",
  "common.promocodeLabel.global": "Global",
  "common.promocodeLabel.id": "ID",
  "common.promocodeLabel.immediately": "Immediately",
  "common.promocodeLabel.inactive": "Inactive",
  "common.promocodeLabel.message": "Message",
  "common.promocodeLabel.name": "Name",
  "common.promocodeLabel.next": "Next",
  "common.promocodeLabel.no": "No",
  "common.promocodeLabel.noApplications": "No applications",
  "common.promocodeLabel.noEmail": "No email",
  "common.promocodeLabel.noExpiry": "No expiry",
  "common.promocodeLabel.noInvoices": "No invoices",
  "common.promocodeLabel.noUsage": "No usage yet",
  "common.promocodeLabel.notes": "Notes",
  "common.promocodeLabel.notesHelper": "Optional student-facing note shown above the promo code box on invoice payment pages.",
  "common.promocodeLabel.pageTitle": "Promocodes",
  "common.promocodeLabel.paymentStatus": "Payment Status",
  "common.promocodeLabel.percentage": "Percentage",
  "common.promocodeLabel.promocodes": "promocodes",
  "common.promocodeLabel.promocodesEmpty": "No promocodes matched the current search or filters.",
  "common.promocodeLabel.quoteBuilders": "Quote Builders",
  "common.promocodeLabel.quoteBuildersHelper": "Only used when Applies To is set to selected quote builders.",
  "common.promocodeLabel.quoteBuildersRequired": "Select at least one quote builder.",
  "common.promocodeLabel.remainingUses": "Remaining Uses",
  "common.promocodeLabel.remainingUsesHelper": "Leave blank for unlimited uses. Usage is consumed only when an invoice or quote payment completes.",
  "common.promocodeLabel.rules": "Rules",
  "common.promocodeLabel.scopeGlobal": "All invoices and quote builders",
  "common.promocodeLabel.scopeQuotation": "Selected quote builders only",
  "common.promocodeLabel.scopeRequired": "Applies To is required.",
  "common.promocodeLabel.searchPromocodes": "Search promocodes by code",
  "common.promocodeLabel.searchUsage": "Search usage by student, email, or application",
  "common.promocodeLabel.showingUsage": "Showing :showing of :total usage records",
  "common.promocodeLabel.singleUse": "Single Use",
  "common.promocodeLabel.singleUseHelper": "Single-use codes can be consumed once across all students.",
  "common.promocodeLabel.startDate": "Start Date",
  "common.promocodeLabel.startDateHelper": "Leave blank to make the code available immediately.",
  "common.promocodeLabel.status": "Status",
  "common.promocodeLabel.stepAnnouncement": "Step :current of :total: :step",
  "common.promocodeLabel.stepGeneral": "General",
  "common.promocodeLabel.stepGeneralHint": "Configure the promo code details before saving.",
  "common.promocodeLabel.stepProgress": "Step :current of :total",
  "common.promocodeLabel.studentNotes": "Student-facing notes",
  "common.promocodeLabel.totalUsage": ":total usage records",
  "common.promocodeLabel.type": "Type",
  "common.promocodeLabel.unknownApplication": "Unknown application",
  "common.promocodeLabel.unlimited": "Unlimited",
  "common.promocodeLabel.unnamedContact": "Unnamed contact",
  "common.promocodeLabel.updateFailed": "Unable to update the promo code right now.",
  "common.promocodeLabel.updatePromocode": "Update Promo Code",
  "common.promocodeLabel.updatedSuccessfully": "Promo code updated successfully.",
  "common.promocodeLabel.usage": "Usage",
  "common.promocodeLabel.usageEmpty": "No students have used this promo code yet.",
  "common.promocodeLabel.usageRecords": "usage records",
  "common.promocodeLabel.usageTab": "Usage",
  "common.promocodeLabel.used": "Used",
  "common.promocodeLabel.wizardFooterAria": "Promocode wizard actions",
  "common.promocodeLabel.wizardNavigation": "Promocode wizard navigation",
  "common.promocodeLabel.yes": "Yes",
  "common.pwaLabel.browser.chrome": "Chrome",
  "common.pwaLabel.browser.edge": "Microsoft Edge",
  "common.pwaLabel.browser.firefox": "Firefox",
  "common.pwaLabel.browser.opera": "Opera",
  "common.pwaLabel.browser.other": "your browser",
  "common.pwaLabel.browser.safari": "Safari",
  "common.pwaLabel.browser.samsung": "Samsung Internet",
  "common.pwaLabel.defaultAppName": "HEM-SP",
  "common.pwaLabel.detectedEnvironment": "Detected: :browser on :device",
  "common.pwaLabel.device.android": "Android phone",
  "common.pwaLabel.device.desktop": "computer",
  "common.pwaLabel.device.ios": "iPhone / iPad",
  "common.pwaLabel.device.macos": "Mac",
  "common.pwaLabel.device.windows": "Windows",
  "common.pwaLabel.help.android_chrome.hint": "Choose Install app (not Add to Home screen) so it opens as a standalone app.",
  "common.pwaLabel.help.android_chrome.step1": "Tap the Chrome menu (?) at the top right.",
  "common.pwaLabel.help.android_chrome.step2": "Tap Install app. Avoid Add to Home screen if both appear.",
  "common.pwaLabel.help.android_chrome.step3": "Confirm Install so the app opens without browser chrome.",
  "common.pwaLabel.help.android_chrome.title": "Install from Chrome",
  "common.pwaLabel.help.android_edge.hint": "Choose Install app so it opens as a standalone app.",
  "common.pwaLabel.help.android_edge.step1": "Tap the Edge menu (?).",
  "common.pwaLabel.help.android_edge.step2": "Tap Add to phone, then Install.",
  "common.pwaLabel.help.android_edge.step3": "Confirm Install.",
  "common.pwaLabel.help.android_edge.title": "Install from Edge",
  "common.pwaLabel.help.android_firefox.hint": "Firefox can install this site as an app on Android.",
  "common.pwaLabel.help.android_firefox.step1": "Tap the Firefox menu (?).",
  "common.pwaLabel.help.android_firefox.step2": "Tap Install.",
  "common.pwaLabel.help.android_firefox.step3": "Confirm Install.",
  "common.pwaLabel.help.android_firefox.title": "Install from Firefox",
  "common.pwaLabel.help.android_opera.hint": "Use Opera?s menu to install the app on your home screen.",
  "common.pwaLabel.help.android_opera.step1": "Tap the Opera menu.",
  "common.pwaLabel.help.android_opera.step2": "Tap Add to? or Install.",
  "common.pwaLabel.help.android_opera.step3": "Confirm Install / Add.",
  "common.pwaLabel.help.android_opera.title": "Install from Opera",
  "common.pwaLabel.help.android_samsung.hint": "Samsung Internet can add the app to your home screen as a standalone shortcut.",
  "common.pwaLabel.help.android_samsung.step1": "Tap the Samsung Internet menu (?) at the bottom.",
  "common.pwaLabel.help.android_samsung.step2": "Tap Add page to, then Home screen (or Install).",
  "common.pwaLabel.help.android_samsung.step3": "Confirm Add / Install.",
  "common.pwaLabel.help.android_samsung.title": "Install from Samsung Internet",
  "common.pwaLabel.help.desktop_chrome.hint": "Chrome can install this site as a standalone app.",
  "common.pwaLabel.help.desktop_chrome.step1": "Click the Install icon in the address bar, or open the Chrome menu.",
  "common.pwaLabel.help.desktop_chrome.step2": "Choose Install app.",
  "common.pwaLabel.help.desktop_chrome.step3": "Confirm Install.",
  "common.pwaLabel.help.desktop_chrome.title": "Install with Chrome",
  "common.pwaLabel.help.desktop_edge.hint": "Microsoft Edge can install this site as an app.",
  "common.pwaLabel.help.desktop_edge.step1": "Open the Edge menu (?) or click the app icon in the address bar.",
  "common.pwaLabel.help.desktop_edge.step2": "Choose Apps ? Install this site as an app.",
  "common.pwaLabel.help.desktop_edge.step3": "Confirm Install.",
  "common.pwaLabel.help.desktop_edge.title": "Install with Edge",
  "common.pwaLabel.help.desktop_firefox.hint": "Firefox has limited app install support. Chrome or Edge usually works best.",
  "common.pwaLabel.help.desktop_firefox.step1": "Open this page in Chrome or Microsoft Edge.",
  "common.pwaLabel.help.desktop_firefox.step2": "Use Install app from the address bar or menu.",
  "common.pwaLabel.help.desktop_firefox.step3": "Confirm Install.",
  "common.pwaLabel.help.desktop_firefox.title": "Install this app",
  "common.pwaLabel.help.desktop_opera.hint": "Opera can install this site as an app when supported.",
  "common.pwaLabel.help.desktop_opera.step1": "Open the Opera menu.",
  "common.pwaLabel.help.desktop_opera.step2": "Choose Install? / Add to desktop.",
  "common.pwaLabel.help.desktop_opera.step3": "Confirm Install.",
  "common.pwaLabel.help.desktop_opera.title": "Install with Opera",
  "common.pwaLabel.help.desktop_other.hint": "For the best install experience, open this site in Chrome or Microsoft Edge.",
  "common.pwaLabel.help.desktop_other.step1": "Open this page in Chrome or Microsoft Edge.",
  "common.pwaLabel.help.desktop_other.step2": "Use Install app from the address bar or browser menu.",
  "common.pwaLabel.help.desktop_other.step3": "Confirm Install.",
  "common.pwaLabel.help.desktop_other.title": "Install this app",
  "common.pwaLabel.help.desktop_safari.hint": "Safari install options depend on your operating system. On Mac, try File ? Add to Dock.",
  "common.pwaLabel.help.desktop_safari.step1": "Open the File menu in Safari.",
  "common.pwaLabel.help.desktop_safari.step2": "Choose Add to Dock if available.",
  "common.pwaLabel.help.desktop_safari.step3": "Confirm Add.",
  "common.pwaLabel.help.desktop_safari.title": "Install with Safari",
  "common.pwaLabel.help.ios_chrome.hint": "On iPhone and iPad, :browser installs through the Share menu (same as Safari).",
  "common.pwaLabel.help.ios_chrome.step1": "Tap the Share button in :browser.",
  "common.pwaLabel.help.ios_chrome.step2": "Scroll and tap Add to Home Screen.",
  "common.pwaLabel.help.ios_chrome.step3": "Tap Add to confirm.",
  "common.pwaLabel.help.ios_chrome.title": "Add to Home Screen in :browser",
  "common.pwaLabel.help.ios_safari.hint": "Safari does not show an Install button. Use Add to Home Screen instead.",
  "common.pwaLabel.help.ios_safari.step1": "Tap the Share button at the bottom of Safari.",
  "common.pwaLabel.help.ios_safari.step2": "Scroll and tap Add to Home Screen.",
  "common.pwaLabel.help.ios_safari.step3": "Tap Add to confirm.",
  "common.pwaLabel.help.ios_safari.title": "Add to Home Screen in Safari",
  "common.pwaLabel.help.macos_chrome.hint": "Chrome can install this site as an app on your Mac.",
  "common.pwaLabel.help.macos_chrome.step1": "Click the Install icon in the Chrome address bar, or open Chrome?s menu.",
  "common.pwaLabel.help.macos_chrome.step2": "Choose Install app / Install :school.",
  "common.pwaLabel.help.macos_chrome.step3": "Confirm Install. The app opens in its own window.",
  "common.pwaLabel.help.macos_chrome.title": "Install on Mac with Chrome",
  "common.pwaLabel.help.macos_edge.hint": "Microsoft Edge can install this site as an app on your Mac.",
  "common.pwaLabel.help.macos_edge.step1": "Open the Edge menu (?) or click the app icon in the address bar.",
  "common.pwaLabel.help.macos_edge.step2": "Choose Apps ? Install this site as an app.",
  "common.pwaLabel.help.macos_edge.step3": "Confirm Install.",
  "common.pwaLabel.help.macos_edge.title": "Install on Mac with Edge",
  "common.pwaLabel.help.macos_firefox.hint": "Firefox has limited app install support. For the best experience, use Chrome, Edge, or Safari.",
  "common.pwaLabel.help.macos_firefox.step1": "Open this page in Chrome, Edge, or Safari.",
  "common.pwaLabel.help.macos_firefox.step2": "Follow that browser?s Install / Add to Dock option.",
  "common.pwaLabel.help.macos_firefox.step3": "Confirm to finish.",
  "common.pwaLabel.help.macos_firefox.title": "Install on Mac",
  "common.pwaLabel.help.macos_opera.hint": "Opera can install this site as an app when supported.",
  "common.pwaLabel.help.macos_opera.step1": "Open the Opera menu.",
  "common.pwaLabel.help.macos_opera.step2": "Choose Install? / Add to desktop.",
  "common.pwaLabel.help.macos_opera.step3": "Confirm Install.",
  "common.pwaLabel.help.macos_opera.title": "Install on Mac with Opera",
  "common.pwaLabel.help.macos_other.hint": "Use Chrome, Edge, or Safari to install this app on your Mac.",
  "common.pwaLabel.help.macos_other.step1": "Open this page in Chrome, Edge, or Safari.",
  "common.pwaLabel.help.macos_other.step2": "Use Install app or Add to Dock.",
  "common.pwaLabel.help.macos_other.step3": "Confirm to finish.",
  "common.pwaLabel.help.macos_other.title": "Install on Mac",
  "common.pwaLabel.help.macos_safari.hint": "On recent macOS versions, Safari can add this site to your Dock as an app.",
  "common.pwaLabel.help.macos_safari.step1": "In Safari, open the File menu.",
  "common.pwaLabel.help.macos_safari.step2": "Choose Add to Dock (or Add to Home Screen on some versions).",
  "common.pwaLabel.help.macos_safari.step3": "Confirm Add.",
  "common.pwaLabel.help.macos_safari.title": "Add to Dock in Safari",
  "common.pwaLabel.help.windows_chrome.hint": "Chrome can install this site as a desktop app in its own window.",
  "common.pwaLabel.help.windows_chrome.step1": "Click the Install icon in the Chrome address bar (or open the ? menu).",
  "common.pwaLabel.help.windows_chrome.step2": "Choose Install app / Install :school.",
  "common.pwaLabel.help.windows_chrome.step3": "Confirm Install. The app opens without browser tabs.",
  "common.pwaLabel.help.windows_chrome.title": "Install on Windows with Chrome",
  "common.pwaLabel.help.windows_edge.hint": "Microsoft Edge can install this site as an app from the Apps menu.",
  "common.pwaLabel.help.windows_edge.step1": "Click the App available icon in the Edge address bar, or open the ? menu.",
  "common.pwaLabel.help.windows_edge.step2": "Choose Apps ? Install this site as an app (or Install).",
  "common.pwaLabel.help.windows_edge.step3": "Confirm Install. The app opens in its own window.",
  "common.pwaLabel.help.windows_edge.title": "Install on Windows with Edge",
  "common.pwaLabel.help.windows_firefox.hint": "Firefox has limited app install support. For the best experience, open this site in Chrome or Microsoft Edge.",
  "common.pwaLabel.help.windows_firefox.step1": "Open this page in Google Chrome or Microsoft Edge.",
  "common.pwaLabel.help.windows_firefox.step2": "In that browser, use Install app from the address bar or menu.",
  "common.pwaLabel.help.windows_firefox.step3": "Confirm Install to open the app in its own window.",
  "common.pwaLabel.help.windows_firefox.title": "Install on Windows",
  "common.pwaLabel.help.windows_opera.hint": "Opera can install this site as a desktop app when supported.",
  "common.pwaLabel.help.windows_opera.step1": "Open the Opera menu and look for Install? / Add to desktop.",
  "common.pwaLabel.help.windows_opera.step2": "Choose Install app.",
  "common.pwaLabel.help.windows_opera.step3": "Confirm Install.",
  "common.pwaLabel.help.windows_opera.title": "Install on Windows with Opera",
  "common.pwaLabel.help.windows_other.hint": "Use Google Chrome or Microsoft Edge to install as a standalone desktop app.",
  "common.pwaLabel.help.windows_other.step1": "Open this page in Chrome or Microsoft Edge.",
  "common.pwaLabel.help.windows_other.step2": "Click Install in the address bar or browser menu.",
  "common.pwaLabel.help.windows_other.step3": "Confirm Install.",
  "common.pwaLabel.help.windows_other.title": "Install on Windows",
  "common.pwaLabel.installApp": "Install app",
  "common.pwaLabel.installAppAction": "Install",
  "common.pwaLabel.installAppAndroidHint": "Choose Install app (not Add to Home screen) so it opens as a standalone app.",
  "common.pwaLabel.installAppAndroidStep1": "Tap the browser menu (?).",
  "common.pwaLabel.installAppAndroidStep2": "Tap Install app. Avoid Add to Home screen if both appear.",
  "common.pwaLabel.installAppAndroidStep3": "Confirm Install so the app opens without browser chrome.",
  "common.pwaLabel.installAppAndroidTitle": "Install from your browser",
  "common.pwaLabel.installAppDescription": "Add this app to your home screen for faster access.",
  "common.pwaLabel.installAppDescriptionDesktop": "Install this app on your computer for faster access in its own window.",
  "common.pwaLabel.installAppDismiss": "Not now",
  "common.pwaLabel.installAppGotIt": "Got it",
  "common.pwaLabel.installAppHow": "How to install",
  "common.pwaLabel.installAppIosHint": "Safari does not show an install button. Use Add to Home Screen instead.",
  "common.pwaLabel.installAppIosStep1": "Tap the Share button in Safari.",
  "common.pwaLabel.installAppIosStep2": "Scroll and tap Add to Home Screen.",
  "common.pwaLabel.installAppIosStep3": "Tap Add to confirm.",
  "common.pwaLabel.installAppIosTitle": "Add to Home Screen",
  "common.pwaLabel.installAppIosUnavailable": "This device does not support one-tap install from the browser.",
  "common.pwaLabel.installAppTitle": "Install :school on your phone",
  "common.pwaLabel.installAppTitleAndroid": "Install :school on your Android phone",
  "common.pwaLabel.installAppTitleDesktop": "Install :school on Windows",
  "common.pwaLabel.installAppTitleIos": "Install :school on your iPhone or iPad",
  "common.pwaLabel.installAppTitleMac": "Install :school on your Mac",
  "common.pwaLabel.installAppTitleWindows": "Install :school on Windows",
  "common.pwaLabel.installAppUnavailable": "Automatic install is not available in :browser right now.",
  "common.pwaLabel.installAppWindowsHint": "Use Chrome or Microsoft Edge to install as a standalone desktop app.",
  "common.pwaLabel.installAppWindowsStep1": "Click the Install icon in the address bar, or open the browser menu (?).",
  "common.pwaLabel.installAppWindowsStep2": "Choose Install app (or Install from the browser menu).",
  "common.pwaLabel.installAppWindowsStep3": "Confirm Install. The app opens in its own window without browser tabs.",
  "common.pwaLabel.installAppWindowsTitle": "Install on Windows",
  "common.quotationLabel.accommodationsPickerHelper": "Search and add accommodations. Use arrows to reorder.",
  "common.quotationLabel.actionFailed": "Unable to complete that action right now.",
  "common.quotationLabel.addonsPickerHelper": "Search and add addons. Use arrows to reorder.",
  "common.quotationLabel.application": "Application",
  "common.quotationLabel.applicationRequired": "Select an application before continuing.",
  "common.quotationLabel.backToList": "Back to Quotations",
  "common.quotationLabel.bookingGroupQuotes": "Booking Group Quotes",
  "common.quotationLabel.bookings": "Bookings",
  "common.quotationLabel.branding": "Branding",
  "common.quotationLabel.brandingDescription": "Customize the colors of the quotation.",
  "common.quotationLabel.campusesPickerHelper": "Search and add campuses. Use arrows to reorder.",
  "common.quotationLabel.coursesPickerHelper": "Search and add courses. Use arrows to reorder.",
  "common.quotationLabel.coursesRequired": "Select at least one course before saving.",
  "common.quotationLabel.createFailed": "Unable to create the quotation right now.",
  "common.quotationLabel.createQuotation": "Create Quotation",
  "common.quotationLabel.createdAt": "Creation Date",
  "common.quotationLabel.createdSuccessfully": "Quotation created successfully.",
  "common.quotationLabel.deleteQuotation": "Delete",
  "common.quotationLabel.deleteQuotationConfirm": "Are you sure you want to delete this quotation?",
  "common.quotationLabel.deleteQuotationTitle": "Delete Quotation",
  "common.quotationLabel.deletedSuccessfully": "Quotation deleted successfully.",
  "common.quotationLabel.description": "Description",
  "common.quotationLabel.details": "Details",
  "common.quotationLabel.detailsDescription": "Core quotation metadata and description.",
  "common.quotationLabel.editQuotation": "Edit",
  "common.quotationLabel.editQuotationAction": "Edit Quotation",
  "common.quotationLabel.enableAccommodationSelection": "Enable accommodation selection",
  "common.quotationLabel.enableAddonsSelection": "Enable addons selection",
  "common.quotationLabel.enableCampusSelection": "Enable campus selection",
  "common.quotationLabel.enableTransferSelection": "Enable transfers selection",
  "common.quotationLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.quotationLabel.id": "ID",
  "common.quotationLabel.linkedRecords": "Linked Records",
  "common.quotationLabel.linkedRecordsDescription": "Application, bookings, booking-group quotes, and promotions connected to this quotation.",
  "common.quotationLabel.mauticIntegration": "Integrations ? Mautic",
  "common.quotationLabel.no": "No",
  "common.quotationLabel.noCoursesWarning": "You don't have any courses. Please add a course first.",
  "common.quotationLabel.openPublicQuote": "Open public quote wizard",
  "common.quotationLabel.pageTitle": "Quotations",
  "common.quotationLabel.postPaymentRedirectHelper": "Optional. Paid booking invoices from this quote builder redirect here instead of the default invoice page.",
  "common.quotationLabel.primaryColor": "Primary color",
  "common.quotationLabel.primaryColorHelper": "Used in primary buttons.",
  "common.quotationLabel.promocodes": "Promotion Codes",
  "common.quotationLabel.properties": "Properties",
  "common.quotationLabel.propertiesDescription": "Saved quotation builder configuration and custom values.",
  "common.quotationLabel.publicQuoteUrl": "Public quote URL",
  "common.quotationLabel.quotationValidityHelper": "How many days the offer will be valid.",
  "common.quotationLabel.quotations": "quotations",
  "common.quotationLabel.quotationsEmpty": "No quotations matched the current search or filters.",
  "common.quotationLabel.searchQuotations": "Search quotations by title",
  "common.quotationLabel.secondaryColor": "Secondary color",
  "common.quotationLabel.secondaryColorHelper": "Used in secondary buttons.",
  "common.quotationLabel.sidebarBackgroundColor": "Sidebar background color",
  "common.quotationLabel.sidebarBackgroundColorHelper": "Used in the sidebar background.",
  "common.quotationLabel.slug": "Slug",
  "common.quotationLabel.stepAccommodation": "Accommodation",
  "common.quotationLabel.stepAccommodationHint": "Optional accommodation services, step labels, and instructions.",
  "common.quotationLabel.stepAddons": "Addons",
  "common.quotationLabel.stepAddonsHint": "Optional addon services, step labels, and instructions.",
  "common.quotationLabel.stepAnnouncement": ":step (:current of :total)",
  "common.quotationLabel.stepCampuses": "Campuses",
  "common.quotationLabel.stepCampusesHint": "Optional campus selection, step labels, and instructions.",
  "common.quotationLabel.stepConfirmation": "Quote confirmation",
  "common.quotationLabel.stepConfirmationHint": "Disclaimer, consent, legal links, thank-you pages, and email settings.",
  "common.quotationLabel.stepCourses": "Courses",
  "common.quotationLabel.stepCoursesHint": "Required course catalog, step labels, and instructions.",
  "common.quotationLabel.stepFinance": "Finance",
  "common.quotationLabel.stepFinanceHint": "Deposit type, amount, and quotation validity.",
  "common.quotationLabel.stepGeneral": "General",
  "common.quotationLabel.stepGeneralHint": "Title, application, layout, branding colors, and description.",
  "common.quotationLabel.stepIntegrations": "Integrations",
  "common.quotationLabel.stepIntegrationsHint": "Mautic request and contact type mapping.",
  "common.quotationLabel.stepProgress": "Step :current of :total",
  "common.quotationLabel.stepTransportation": "Transportation",
  "common.quotationLabel.stepTransportationHint": "Optional transfer services, step labels, and instructions.",
  "common.quotationLabel.thankYouEmailTokens": "%FIRST_NAME%, %LAST_NAME%, %EMAIL%, %BOOKING_DETAILS%, %BOOKING_BUTTON%, and %PRICE% are available in the email body.",
  "common.quotationLabel.title": "Title",
  "common.quotationLabel.titleRequired": "Enter a title before continuing.",
  "common.quotationLabel.transfersPickerHelper": "Search and add transfers. Use arrows to reorder.",
  "common.quotationLabel.updateFailed": "Unable to update the quotation right now.",
  "common.quotationLabel.updateQuotation": "Update Quotation",
  "common.quotationLabel.updatedAt": "Updated",
  "common.quotationLabel.updatedSuccessfully": "Quotation updated successfully.",
  "common.quotationLabel.view": "View",
  "common.quotationLabel.wizardFooterAria": "Quotation wizard actions",
  "common.quotationLabel.wizardNavigation": "Quotation wizard navigation",
  "common.quotationLabel.yes": "Yes",
  "common.quoteBookingLabel.backToQuotations": "Back to Quotations",
  "common.quoteBookingLabel.bookingId": "Booking ID",
  "common.quoteBookingLabel.createdAt": "Creation Date",
  "common.quoteBookingLabel.downloadQuote": "Download Quote",
  "common.quoteBookingLabel.email": "Email",
  "common.quoteBookingLabel.eyebrow": "Quote Booking",
  "common.quoteBookingLabel.hash": "Hash",
  "common.quoteBookingLabel.invoices": "Invoices",
  "common.quoteBookingLabel.itemsTab": "Quote Items",
  "common.quoteBookingLabel.name": "Name",
  "common.quoteBookingLabel.noItems": "No quote items",
  "common.quoteBookingLabel.noItemsDescription": "This booking does not include saved quote item details.",
  "common.quoteBookingLabel.phone": "Phone",
  "common.quoteBookingLabel.quotation": "Quotation",
  "common.quoteBookingLabel.sectionContact": "Contact",
  "common.quoteBookingLabel.sectionContactDescription": "Contact information attached to this quote booking.",
  "common.quoteBookingLabel.sectionQuote": "Quote",
  "common.quoteBookingLabel.sectionQuoteDescription": "Booking, quotation, totals, and linked finance/application counts.",
  "common.quoteBookingLabel.student": "Student",
  "common.quoteBookingLabel.submissions": "Submissions",
  "common.quoteBookingLabel.summaryTab": "Summary",
  "common.quoteBookingLabel.title": "Quote Booking #:id",
  "common.quoteBookingLabel.total": "Total",
  "common.quoteBookingLabel.updatedAt": "Updated",
  "common.quoteBookingLabel.value": "Value",
  "common.quoteBookingLabel.viewStudent": "View Student",
  "common.recentLabel.clearSearch": "Clear search",
  "common.recentLabel.emptyHint": "Open a student profile, invoice, cohort, or lesson ? each stop will appear here for a quick return.",
  "common.recentLabel.emptyTitle": "Your recent trail starts here",
  "common.recentLabel.filterSummary": "Showing :count of :total records",
  "common.recentLabel.filteredCount": ":count matching records",
  "common.recentLabel.invoiceTitle": "Invoice #:number",
  "common.recentLabel.loadFailed": "We couldn't load your recent records right now.",
  "common.recentLabel.loadFailedHint": "Your visit history is still safe ? give it another try.",
  "common.recentLabel.loading": "Loading recent records?",
  "common.recentLabel.noSearchResults": "No records match \":query\"",
  "common.recentLabel.noSearchResultsHint": "Try a student name, invoice number, or record type.",
  "common.recentLabel.pageTitle": "Recent",
  "common.recentLabel.resultCount": ":count recent records",
  "common.recentLabel.retryLoad": "Try again",
  "common.recentLabel.searchAria": "Search recent records",
  "common.recentLabel.searchPlaceholder": "Search recent records?",
  "common.recentLabel.timeUnavailable": "Time unavailable",
  "common.recommendedActionsLabel.title": "Recommended Actions",
  "common.recruitmentAssistantLabel.application": "Application",
  "common.recruitmentAssistantLabel.applicationRequired": "Application is required.",
  "common.recruitmentAssistantLabel.assistantRequestTitle": "Assistant Request #:id",
  "common.recruitmentAssistantLabel.assistants": "assistants",
  "common.recruitmentAssistantLabel.assistantsEmpty": "No assistants matched the current search or filters.",
  "common.recruitmentAssistantLabel.backToList": "Back to Assistants",
  "common.recruitmentAssistantLabel.builder": "Builder",
  "common.recruitmentAssistantLabel.campuses": "Campuses",
  "common.recruitmentAssistantLabel.campusesPickerHelper": "Search and add campuses. Use arrows to reorder.",
  "common.recruitmentAssistantLabel.contactTitle": "Title",
  "common.recruitmentAssistantLabel.courses": "Courses",
  "common.recruitmentAssistantLabel.coursesPickerHelper": "Search and add courses.",
  "common.recruitmentAssistantLabel.createAssistant": "Create Assistant",
  "common.recruitmentAssistantLabel.createFailed": "Unable to create the assistant. Review the form and try again.",
  "common.recruitmentAssistantLabel.createdAt": "Creation Date",
  "common.recruitmentAssistantLabel.dates": "Dates",
  "common.recruitmentAssistantLabel.deleteAssistant": "Delete",
  "common.recruitmentAssistantLabel.deleteAssistantConfirm": "Are you sure you want to delete this assistant?",
  "common.recruitmentAssistantLabel.deletedSuccessfully": "Assistant deleted successfully.",
  "common.recruitmentAssistantLabel.editAssistant": "Edit",
  "common.recruitmentAssistantLabel.editAssistantBuilder": "Edit Assistant",
  "common.recruitmentAssistantLabel.email": "Email",
  "common.recruitmentAssistantLabel.endDate": "End Date",
  "common.recruitmentAssistantLabel.financialAid": "Financial Aid",
  "common.recruitmentAssistantLabel.financialPickerHelper": "Select the financial aid options to show.",
  "common.recruitmentAssistantLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.recruitmentAssistantLabel.id": "ID",
  "common.recruitmentAssistantLabel.location": "Location",
  "common.recruitmentAssistantLabel.name": "Name",
  "common.recruitmentAssistantLabel.no": "No",
  "common.recruitmentAssistantLabel.noSelections": "No selections",
  "common.recruitmentAssistantLabel.noSelectionsDescription": "This assistant request does not include any saved campus, program, course, or financial-aid selections.",
  "common.recruitmentAssistantLabel.openPublicAssistant": "Open Public Assistant",
  "common.recruitmentAssistantLabel.overviewTab": "Overview",
  "common.recruitmentAssistantLabel.pageTitle": "Recruitment Assistant",
  "common.recruitmentAssistantLabel.phone": "Phone",
  "common.recruitmentAssistantLabel.programs": "Programs",
  "common.recruitmentAssistantLabel.programsPickerHelper": "Search and add programs. Use arrows to reorder.",
  "common.recruitmentAssistantLabel.publicUrl": "Public URL",
  "common.recruitmentAssistantLabel.requestEyebrow": "Virtual Assistant Request",
  "common.recruitmentAssistantLabel.schedule": "Schedule",
  "common.recruitmentAssistantLabel.searchAssistants": "Search assistants by title",
  "common.recruitmentAssistantLabel.sectionContact": "Contact",
  "common.recruitmentAssistantLabel.sectionContactDescription": "Contact information captured when the summary was requested.",
  "common.recruitmentAssistantLabel.sectionRequest": "Request",
  "common.recruitmentAssistantLabel.sectionRequestDescription": "Assistant builder, application, and request metadata.",
  "common.recruitmentAssistantLabel.selectionFallback": "Selection :number",
  "common.recruitmentAssistantLabel.selectionsTab": "Selections",
  "common.recruitmentAssistantLabel.startDate": "Start Date",
  "common.recruitmentAssistantLabel.stepAnnouncement": ":step (:current of :total)",
  "common.recruitmentAssistantLabel.stepApplyHint": "Help copy shown on the assistant application step.",
  "common.recruitmentAssistantLabel.stepCampusHint": "Campus visibility, selected campuses, step labels, and help copy.",
  "common.recruitmentAssistantLabel.stepCoursesHint": "Course visibility, selected courses, step labels, and help copy.",
  "common.recruitmentAssistantLabel.stepFinancialHint": "Financial aid visibility, options, step labels, and help copy.",
  "common.recruitmentAssistantLabel.stepGeneralHint": "Title, linked application, helper copy, and helper icon.",
  "common.recruitmentAssistantLabel.stepIntegrationsHint": "Mautic request, contact, and program field mapping.",
  "common.recruitmentAssistantLabel.stepProgramsHint": "Program visibility, selected programs, step labels, and help copy.",
  "common.recruitmentAssistantLabel.stepProgress": "Step :current of :total",
  "common.recruitmentAssistantLabel.stepThankYouEmailHint": "Email sender, subject, source, and message copy.",
  "common.recruitmentAssistantLabel.stepThankYouPageHint": "Redirect, banner, page visibility, and thank-you copy.",
  "common.recruitmentAssistantLabel.student": "Student",
  "common.recruitmentAssistantLabel.submissions": "Submissions",
  "common.recruitmentAssistantLabel.title": "Title",
  "common.recruitmentAssistantLabel.titleRequired": "Title is required.",
  "common.recruitmentAssistantLabel.updateFailed": "Unable to update the assistant. Review the form and try again.",
  "common.recruitmentAssistantLabel.updatedAt": "Updated",
  "common.recruitmentAssistantLabel.userId": "User ID",
  "common.recruitmentAssistantLabel.viewStudent": "View Student",
  "common.recruitmentAssistantLabel.wizardFooterAria": "Recruitment assistant wizard actions",
  "common.recruitmentAssistantLabel.wizardNavigation": "Recruitment assistant wizard navigation",
  "common.recruitmentAssistantLabel.yes": "Yes",
  "common.refreshLabel.title": "Refresh",
  "common.refundLabel.account": "Account",
  "common.refundLabel.addContact": "Add Contact",
  "common.refundLabel.addItem": "Add refund item",
  "common.refundLabel.amount": "Amount",
  "common.refundLabel.amountMustBePositive": "Each refund item must have a positive amount.",
  "common.refundLabel.amountPlaceholder": "0.00",
  "common.refundLabel.back": "Back",
  "common.refundLabel.contactContextFailed": "Unable to load contact invoices right now.",
  "common.refundLabel.contactEmail": "Contact Email",
  "common.refundLabel.contactNotFound": "The selected contact could not be found.",
  "common.refundLabel.contactRequired": "Select a contact before saving.",
  "common.refundLabel.contactType": "Contact Type",
  "common.refundLabel.createInvoice": "Create Invoice",
  "common.refundLabel.createRefund": "Create Refund",
  "common.refundLabel.description": "Description",
  "common.refundLabel.descriptionPlaceholder": "Optional note",
  "common.refundLabel.documentDate": "Document Date",
  "common.refundLabel.editRefund": "Edit Refund",
  "common.refundLabel.invalidContactType": "The selected contact type is not valid.",
  "common.refundLabel.invoice": "Invoice",
  "common.refundLabel.invoiceItem": "Item",
  "common.refundLabel.invoiceItemRequired": "Select an invoice item for each refund item.",
  "common.refundLabel.invoiceRequired": "Select an invoice for each refund item.",
  "common.refundLabel.itemNumber": "Item :number",
  "common.refundLabel.items": "Refund Items",
  "common.refundLabel.itemsHint": "Each refund line must reference an invoice item and a positive refund amount.",
  "common.refundLabel.itemsRequired": "Add at least one refund item before saving.",
  "common.refundLabel.loadingContactContext": "Loading contact invoices...",
  "common.refundLabel.maxAmount": "Maximum refundable amount: :amount",
  "common.refundLabel.method": "Method",
  "common.refundLabel.noInvoices": "No paid or partially paid invoices were found for this contact.",
  "common.refundLabel.noItems": "No refund items yet.",
  "common.refundLabel.notes": "Notes",
  "common.refundLabel.notesPlaceholder": "Add internal notes for this refund.",
  "common.refundLabel.postingDate": "Posting Date",
  "common.refundLabel.referenceNumber": "Reference No.",
  "common.refundLabel.referenceNumberPlaceholder": "Enter reference number",
  "common.refundLabel.refundDetails": "Refund Details",
  "common.refundLabel.refundDetailsHint": "Select a contact, choose refund settings, and add one or more invoice items to refund.",
  "common.refundLabel.removeItem": "Remove item",
  "common.refundLabel.saveAndClose": "Save and close",
  "common.refundLabel.saveAndCreateAnother": "Save and create another",
  "common.refundLabel.saveFailed": "Unable to save refund right now. Please try again.",
  "common.refundLabel.searchContact": "Search for a contact",
  "common.refundLabel.selectAccount": "Select account",
  "common.refundLabel.selectInvoice": "Select invoice",
  "common.refundLabel.selectInvoiceFirst": "Select invoice first",
  "common.refundLabel.selectInvoiceItem": "Select item",
  "common.refundLabel.selectMethod": "Select method",
  "common.refundLabel.selectStatus": "Select status",
  "common.refundLabel.status": "Status",
  "common.refundLabel.totalRefund": "Total Refund",
  "common.refundLabel.updateAndClose": "Update and close",
  "common.refundLabel.updateAndCreateAnother": "Update and continue editing",
  "common.reportLabel.actions": "Actions",
  "common.reportLabel.exportPivotTableExcel": "Export Pivot Table to Excel",
  "common.reportLabel.exportDefinition": "Export Definition",
  "common.reportLabel.bulkExportDefinitions": "Export selected definitions",
  "common.reportLabel.bulkExportNoneSelected": "Select at least one report to export.",
  "common.reportLabel.bulkExportSuccess": "Exported :count report definition(s).",
  "common.reportLabel.bulkExportFailed": "Unable to export the selected report definitions.",
  "common.reportLabel.importReports": "Import Reports",
  "common.reportLabel.importDescription": "Upload a report definition JSON file exported from HEM-SP. Single or bulk packages are supported. New reports are created; existing reports are not overwritten.",
  "common.reportLabel.importFileLabel": "Definition file (.json)",
  "common.reportLabel.importFileRequired": "Choose a report definition JSON file to import.",
  "common.reportLabel.importInvalidJson": "The uploaded file is not valid report definition JSON.",
  "common.reportLabel.importUnsupportedFormat": "This file uses an unsupported report definition format.",
  "common.reportLabel.importUnsupportedVersion": "This report definition version is not supported.",
  "common.reportLabel.importNoReports": "No report definitions were found in the uploaded file.",
  "common.reportLabel.importTooMany": "You can import at most :max reports at once.",
  "common.reportLabel.importInvalidReport": "Report #:number in the file is missing a required name or source.",
  "common.reportLabel.importSuccess": "Imported :count report(s) successfully.",
  "common.reportLabel.importFailed": "Unable to import report definitions.",
  "common.reportLabel.importingReports": "Importing...",
  "common.reportLabel.importReportsSubmit": "Import Reports",
  "common.reportLabel.importCancel": "Cancel",
  "common.reportLabel.backToReports": "Back to Reports",
  "common.reportLabel.active": "Active",
  "common.reportLabel.activityOutcomeType": "Activity type",
  "common.reportLabel.activityOutcomeOwner": "Activity owner",
  "common.reportLabel.activityOutcomeTypeCalls": "Calls",
  "common.reportLabel.activityOutcomeTypeMeetings": "Meetings",
  "common.reportLabel.activityOutcomeTypeTasks": "Tasks",
  "common.reportLabel.activityOutcomesReport": "Activity Outcomes",
  "common.reportLabel.addFilter": "Add filter",
  "common.reportLabel.addFilterGroup": "Add filter group",
  "common.reportLabel.admissionsActivityReport": "Admissions Activity",
  "common.reportLabel.ageDays": "Age Days",
  "common.reportLabel.agingBucket0To30": "0-30 days",
  "common.reportLabel.agingBucket31To60": "31-60 days",
  "common.reportLabel.agingBucket61To90": "61-90 days",
  "common.reportLabel.agingBucket91Plus": "91+ days",
  "common.reportLabel.agingBucketFuture": "Future",
  "common.reportLabel.agingBucketUndated": "No date",
  "common.reportLabel.agingByColumn": "Aging by :column",
  "common.reportLabel.agingColumnsHint": ":count selected column(s) will appear in the aging preview.",
  "common.reportLabel.agingDateColumn": "Aging Date Column",
  "common.reportLabel.agingDisplayColumns": "Columns Needed",
  "common.reportLabel.agingFilteredBy": "Filtered by: Custom date ? :column",
  "common.reportLabel.agingGroupColumn": "Stack By Column",
  "common.reportLabel.agingGroupColumnHint": "This column becomes the stacked legend in the aging chart.",
  "common.reportLabel.agingHiddenRows": ":count additional row(s) are hidden from this preview.",
  "common.reportLabel.agingNoChartData": "No aging chart data is available for the selected date range.",
  "common.reportLabel.agingNoPreviewRows": "No preview rows in this aging bucket.",
  "common.reportLabel.agingPreviewHint": "Preview rows use the columns selected when the report was created.",
  "common.reportLabel.agingReceivablesDescription": "Visualize invoices grouped by aging buckets (0-30, 31-60, 61-90, 90+ days).",
  "common.reportLabel.agingReceivablesHeatmap": "Aging Receivables Heatmap",
  "common.reportLabel.agingReceivablesReport": "Aging Receivables Report",
  "common.reportLabel.agingReport": "Aging Report",
  "common.reportLabel.agingTotalRecords": ":count total record(s)",
  "common.reportLabel.agingUndatedRecords": ":count record(s) without a date are excluded from this chart.",
  "common.reportLabel.all": "All",
  "common.reportLabel.amount": "Amount",
  "common.reportLabel.and": "AND",
  "common.reportLabel.asOfDate": "As of :date",
  "common.reportLabel.category": "Category",
  "common.reportLabel.chooseField": "Choose Field",
  "common.reportLabel.clearFilters": "Clear filters",
  "common.reportLabel.clearSelection": "Clear selection",
  "common.reportLabel.cloneDescription": "Create a new report from this configuration. Update the name before saving.",
  "common.reportLabel.cloneReport": "Clone Report",
  "common.reportLabel.compareBucketDay": "Day :number",
  "common.reportLabel.compareBucketMonth": "Month :number",
  "common.reportLabel.compareBucketQuarter": "Quarter :number",
  "common.reportLabel.compareBucketWeek": "Week :number",
  "common.reportLabel.compareBucketYear": "Year :number",
  "common.reportLabel.compareDateColumn": "Date field to compare",
  "common.reportLabel.compareFieldPeriodDates": ":field (:start ? :end)",
  "common.reportLabel.compareFieldRange": ":field Range :number",
  "common.reportLabel.compareFieldRangeDates": ":field Range :number (:start ? :end)",
  "common.reportLabel.compareNoData": "No comparison data",
  "common.reportLabel.compareNoDataHint": "Neither selected range contains data for this report.",
  "common.reportLabel.compareReport": "Comparison",
  "common.reportLabel.compareReportType": "Comparison Report",
  "common.reportLabel.compareSelectRanges": "Select two date ranges",
  "common.reportLabel.compareSelectRangesHint": "Choose :field Range 1 and :field Range 2 above to compare them in the same chart.",
  "common.reportLabel.compareVariation": "Variation",
  "common.reportLabel.compareVariationDecrease": ":percentage decrease",
  "common.reportLabel.compareVariationIncrease": ":percentage increase",
  "common.reportLabel.compareVariationNew": "New",
  "common.reportLabel.compareVariationNoChange": "No change",
  "common.reportLabel.contactCountMany": ":count contacts",
  "common.reportLabel.contactCountOne": ":count contact",
  "common.reportLabel.count": "Count",
  "common.reportLabel.countByColumn": "Count By Column",
  "common.reportLabel.countByColumnName": "Count by :column",
  "common.reportLabel.countReportType": "Count Report",
  "common.reportLabel.createDescription": "Configure the report source, type, and filters before saving.",
  "common.reportLabel.createReport": "Create Report",
  "common.reportLabel.createdAt": "Creation Date",
  "common.reportLabel.createdSuccessfully": "Report created successfully.",
  "common.reportLabel.currencyCadSuffix": "C$",
  "common.reportLabel.current": "Current",
  "common.reportLabel.customerName": "Contact",
  "common.reportLabel.dateField": "Date field",
  "common.reportLabel.dateFieldActivityCreation": "Activity creation date",
  "common.reportLabel.dateFieldConfirmed": "Confirmed date",
  "common.reportLabel.dateFieldContactsCreation": "Contacts creation date",
  "common.reportLabel.dateFieldCreation": "Creation Date",
  "common.reportLabel.dateFieldEnrolled": "Enrolled date",
  "common.reportLabel.dateFieldGraduated": "Graduated date",
  "common.reportLabel.dateFieldStarted": "Started date",
  "common.reportLabel.dateRange": "Date range",
  "common.reportLabel.deleteReport": "Delete",
  "common.reportLabel.deleteReportConfirm": "Are you sure you want to delete this report?",
  "common.reportLabel.deletedSuccessfully": "Report deleted successfully.",
  "common.reportLabel.description": "Description",
  "common.reportLabel.editDescription": "Update the report source, type, and filters.",
  "common.reportLabel.editReport": "Edit Report",
  "common.reportLabel.filterLogic": "Combine with previous filter",
  "common.reportLabel.filterRow": "Filter",
  "common.reportLabel.filterRowHint": "Choose a field, operator, and value.",
  "common.reportLabel.filters": "Filters",
  "common.reportLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.reportLabel.funnelReport": "Funnel Report",
  "common.reportLabel.gridColumnAccommodation": "Accommodation",
  "common.reportLabel.gridColumnActions": "Actions",
  "common.reportLabel.gridColumnAgency": "Agency",
  "common.reportLabel.gridColumnAgent": "Agent",
  "common.reportLabel.gridColumnAgents": "Agents",
  "common.reportLabel.gridColumnApproved": "Approved",
  "common.reportLabel.gridColumnAssignee": "Assignee",
  "common.reportLabel.gridColumnAttendedAt": "Attended at",
  "common.reportLabel.gridColumnContact": "Contact",
  "common.reportLabel.gridColumnCourse": "Course",
  "common.reportLabel.gridColumnCreatedAt": "Creation Date",
  "common.reportLabel.gridColumnDate": "Date",
  "common.reportLabel.gridColumnDescription": "Description",
  "common.reportLabel.gridColumnDirection": "Direction",
  "common.reportLabel.gridColumnDueDate": "Due date",
  "common.reportLabel.gridColumnEmail": "Email",
  "common.reportLabel.gridColumnFrom": "From",
  "common.reportLabel.gridColumnFromDate": "From date",
  "common.reportLabel.gridColumnInstructor": "Instructor",
  "common.reportLabel.gridColumnLeftAt": "Left at",
  "common.reportLabel.gridColumnMeetingType": "Meeting type",
  "common.reportLabel.gridColumnNote": "Note",
  "common.reportLabel.gridColumnOwner": "Owner",
  "common.reportLabel.gridColumnPhone": "Phone",
  "common.reportLabel.gridColumnPriority": "Priority",
  "common.reportLabel.gridColumnProgram": "Program",
  "common.reportLabel.gridColumnRole": "Role",
  "common.reportLabel.gridColumnScheduledAt": "Scheduled at",
  "common.reportLabel.gridColumnStatus": "Status",
  "common.reportLabel.gridColumnStudent": "Contact",
  "common.reportLabel.gridColumnStudents": "Contacts",
  "common.reportLabel.gridColumnSubject": "Subject",
  "common.reportLabel.gridColumnTime": "Time",
  "common.reportLabel.gridColumnTimeAttended": "Time attended",
  "common.reportLabel.gridColumnTimePercentage": "Time percentage",
  "common.reportLabel.gridColumnTitle": "Title",
  "common.reportLabel.gridColumnToDate": "To date",
  "common.reportLabel.gridColumnType": "Type",
  "common.reportLabel.groupJoin": "Then",
  "common.reportLabel.groupBy": "Group by",
  "common.reportLabel.groupLogic": "Combine with previous group",
  "common.reportLabel.id": "ID",
  "common.reportLabel.informationAndFilters": "Information and Filters",
  "common.reportLabel.invoiceCountMany": ":count invoices",
  "common.reportLabel.invoiceCountOne": ":count invoice",
  "common.reportLabel.invoiceCountWithCount": ":count invoices",
  "common.reportLabel.leadConversionReport": "Lead Conversion",
  "common.reportLabel.leadConversionReportType": "Lead Conversion Report",
  "common.reportLabel.listReportType": "List Report",
  "common.reportLabel.loadingField": "Loading field…",
  "common.reportLabel.loadingReportData": "Loading report data...",
  "common.reportLabel.loadingSelectedRecords": "Loading selected records...",
  "common.reportLabel.match": "Match",
  "common.reportLabel.name": "Name",
  "common.reportLabel.ninetyOneAndOverDays": "91 and over",
  "common.reportLabel.no": "No",
  "common.reportLabel.noDateColumnsAvailable": "No date columns are available for this source.",
  "common.reportLabel.noReceivables": "No outstanding receivables",
  "common.reportLabel.noReceivablesHint": "Invoices that still have a balance will appear here.",
  "common.reportLabel.noReportDataAvailable": "No report data available.",
  "common.reportLabel.notAvailable": "N/A",
  "common.reportLabel.oneToThirtyDays": "1-30",
  "common.reportLabel.operator": "Operator",
  "common.reportLabel.isEqualToAnyOf": "Is equal to any of",
  "common.reportLabel.or": "OR",
  "common.reportLabel.outstandingAmount": "Outstanding amount",
  "common.reportLabel.outstandingReceivables": "Outstanding receivables",
  "common.reportLabel.pageTitle": "Reports",
  "common.reportLabel.paymentCountMany": ":count payments",
  "common.reportLabel.paymentCountOne": ":count payment",
  "common.reportLabel.recordCountMany": ":count records",
  "common.reportLabel.recordCountOne": ":count record",
  "common.reportLabel.responseTimeReportType": "Response Time Report",
  "common.reportLabel.payments": "Payments",
  "common.reportLabel.pivotReport": "Pivot Table Report",
  "common.reportLabel.pivotReportWithColumns": "Pivot Table Report - :x by :y",
  "common.reportLabel.removeGroup": "Remove group",
  "common.reportLabel.reportFilters": "Report filters",
  "common.reportLabel.noDataForDateRange": "No data is available for the selected date range.",
  "common.reportLabel.reportRecordsEmpty": "No records matched the current search or filters.",
  "common.reportLabel.reportTabs": "Report result tabs",
  "common.reportLabel.reportType": "Report Type",
  "common.reportLabel.reports": "reports",
  "common.reportLabel.reportsEmpty": "No reports matched the current search or filters.",
  "common.reportLabel.reviewNoFilters": "No filters added.",
  "common.reportLabel.reviewNotSet": "Not set",
  "common.reportLabel.saveFailed": "We couldn't save the report. Please review the fields and try again.",
  "common.reportLabel.saveReport": "Save Report",
  "common.reportLabel.saving": "Saving...",
  "common.reportLabel.searchReportRecords": "Search report records",
  "common.reportLabel.searchReports": "Search reports by name or source",
  "common.reportLabel.searchSelectedRecords": "Search selected records",
  "common.reportLabel.selectCategory": "Select category",
  "common.reportLabel.selectColumn": "Select column",
  "common.reportLabel.selectColumns": "Select columns",
  "common.reportLabel.selectDateField": "Select date field",
  "common.reportLabel.selectDate": "Select date",
  "common.reportLabel.selectDateRange": "Select date range",
  "common.reportLabel.selectSource": "Select source",
  "common.reportLabel.selectType": "Select type",
  "common.reportLabel.selectedRecords": "Selected Records",
  "common.reportLabel.selectedRecordsEmpty": "No selected records matched the current search or filters.",
  "common.reportLabel.sms": "SMS",
  "common.reportLabel.source": "Source",
  "common.reportLabel.sourceAccommodations": "Accommodations",
  "common.reportLabel.sourceAgencies": "Agencies",
  "common.reportLabel.sourceAgents": "Agents",
  "common.reportLabel.sourceAttendances": "Attendances",
  "common.reportLabel.sourceColumn": "Source Column",
  "common.reportLabel.sourceContacts": "Contacts",
  "common.reportLabel.sourceGroupBookings": "Group Bookings",
  "common.reportLabel.sourceInvoices": "Invoices",
  "common.reportLabel.sourcePayments": "Payments",
  "common.reportLabel.stepConfiguration": "Configuration",
  "common.reportLabel.stepConfigurationHint": "Choose the columns this report type needs.",
  "common.reportLabel.stepDetails": "Details",
  "common.reportLabel.stepDetailsHint": "Name the report and choose its source and type.",
  "common.reportLabel.stepFilters": "Filters",
  "common.reportLabel.stepFiltersHint": "Limit the records included in the report.",
  "common.reportLabel.stepProgress": "Step :current of :total",
  "common.reportLabel.stepReview": "Review",
  "common.reportLabel.stepReviewHint": "Confirm the report before saving.",
  "common.reportLabel.timeSeriesByGroup": ":group over time",
  "common.reportLabel.timeSeriesDateField": "Date field",
  "common.reportLabel.timeSeriesGroupBy": "Group by",
  "common.reportLabel.timeSeriesInterval": "Time interval",
  "common.reportLabel.timeSeriesIntervalDay": "Daily",
  "common.reportLabel.timeSeriesIntervalMonth": "Monthly",
  "common.reportLabel.timeSeriesIntervalQuarter": "Quarterly",
  "common.reportLabel.timeSeriesIntervalWeek": "Weekly",
  "common.reportLabel.timeSeriesIntervalYear": "Yearly",
  "common.reportLabel.timeSeriesPeriod": "Period",
  "common.reportLabel.timeSeriesQuarterLabel": "Q:quarter :year",
  "common.reportLabel.timeSeriesReportType": "Time Series Report",
  "common.reportLabel.total": "Total",
  "common.reportLabel.outreachPerformanceReport": "Outreach Performance Report",
  "common.reportLabel.callCenterSource": "Call Center",
  "common.reportLabel.callCenterAgentPerformance": "Call Center Agent performance",
  "common.reportLabel.callCenterCallDate": "Call date",
  "common.reportLabel.callCenterOverview": "Overview",
  "common.reportLabel.callCenterIncomingCalls": "Incoming calls",
  "common.reportLabel.callCenterIncomingHelp": "Calls that entered a campus queue during the selected dates.",
  "common.reportLabel.callCenterAnswered": "Answered by a Call Center Agent",
  "common.reportLabel.callCenterAnsweredHelp": "Incoming calls a Call Center Agent connected. An AI answer is not included.",
  "common.reportLabel.callCenterAnsweredShort": "Answered",
  "common.reportLabel.callCenterCallbackRequests": "Call me back requests",
  "common.reportLabel.callCenterCallbackRequestsHelp": "Callback requests created during the selected dates, including Speak to Us and inbound callback capture.",
  "common.reportLabel.callCenterCampaignCalls": "Campaign calls",
  "common.reportLabel.callCenterCampaignCallsHelp": "Outbound campaign dials placed during the selected dates. A cancelled claim is not a call.",
  "common.reportLabel.callCenterMeetingsBooked": "Meetings booked",
  "common.reportLabel.callCenterMeetingsBookedHelp": "Handled calls that booked a meeting for the contact. A call counts when the outcome is Appointment confirmed, or when that Call Center Agent creates a meeting for the same contact within 24 hours. One meeting is credited to the latest matching call.",
  "common.reportLabel.callCenterMeetingsMeta": ":rate% of :handled handled calls",
  "common.reportLabel.callCenterWhereStand": "Where the calls stand",
  "common.reportLabel.callCenterWhereStandHelp": "Handled calls split into incoming answers, callback dials, and campaign calls. Each handled call is counted once.",
  "common.reportLabel.callCenterHandled": "handled calls",
  "common.reportLabel.callCenterIncomingAnswered": "Incoming answered",
  "common.reportLabel.callCenterCallbackDials": "Callback dials",
  "common.reportLabel.callCenterFocus": "Where to focus",
  "common.reportLabel.callCenterFocusHelp": "These groups can overlap. Do not add them together.",
  "common.reportLabel.callCenterFocusOverlap": "These groups can overlap. Do not add their counts together.",
  "common.reportLabel.callCenterNotAnswered": "Incoming not answered",
  "common.reportLabel.callCenterNotAnsweredHelp": "Incoming calls no Call Center Agent connected.",
  "common.reportLabel.callCenterCallbackMissed": "Callbacks with no answer",
  "common.reportLabel.callCenterCallbackMissedHelp": "Callback dials recorded as no answer or failed.",
  "common.reportLabel.callCenterCampaignMissed": "Campaign calls not reached",
  "common.reportLabel.callCenterCampaignMissedHelp": "Campaign dials that were not marked reached.",
  "common.reportLabel.callCenterNoMeeting": "No meeting booked",
  "common.reportLabel.callCenterNoMeetingHelp": "Handled calls that did not book a meeting for the contact.",
  "common.reportLabel.callCenterByAgent": "By Call Center Agent",
  "common.reportLabel.callCenterByAgentHelp": "Offered and missed count inbound reservations for that Call Center Agent. Meetings booked count handled calls that booked a meeting.",
  "common.reportLabel.callCenterAgentChartCaption": "Bar length compares handled calls with the busiest Call Center Agent. Color splits those calls into answered calls, call me back dials, and campaign calls. Meetings booked are counted beside the name, because a meeting is not another call.",
  "common.reportLabel.callCenterMeetingsShort": "meetings",
  "common.reportLabel.callCenterSearchAgents": "Search Call Center Agents",
  "common.reportLabel.callCenterAgent": "Call Center Agent",
  "common.reportLabel.callCenterAgentNumber": "Call Center Agent :id",
  "common.reportLabel.callCenterOffered": "Offered",
  "common.reportLabel.callCenterMissed": "Missed",
  "common.reportLabel.callCenterAvgTalk": "Avg talk",
  "common.reportLabel.callCenterRequests": "Requests",
  "common.reportLabel.callCenterDials": "Dials",
  "common.reportLabel.callCenterCampaignShort": "Campaign",
  "common.reportLabel.callCenterMeetingRate": "Meeting rate",
  "common.reportLabel.callCenterUnassigned": "Unassigned",
  "common.reportLabel.callCenterDrilldown": "Selected contacts",
  "common.reportLabel.callCenterDrilldownEmpty": "Choose a number to see the contacts",
  "common.reportLabel.callCenterDrilldownEmptyDescription": "A number opens the matched contacts. A call with no matched contact stays in the count and is not listed.",
  "common.reportLabel.callCenterAllCampuses": "All campuses",
  "common.reportLabel.callCenterAllAgents": "All Call Center Agents",
  "common.reportLabel.outreachOverview": "Overview",
  "common.reportLabel.outreachMatrix": "Status intersection",
  "common.reportLabel.outreachProgression": "Conversion impact",
  "common.reportLabel.outreachTotalContacts": "Contacts in scope",
  "common.reportLabel.outreachAllContacts": "All contacts",
  "common.reportLabel.outreachAllContactsHelp": "All distinct contacts matching the current report filters, before outreach eligibility and closed-state exclusions.",
  "common.reportLabel.outreachMetricDenominator": "of :count contacts in the denominator",
  "common.reportLabel.outreachActiveWorkload": "Active workload",
  "common.reportLabel.outreachMissingNextAction": "Missing next activities",
  "common.reportLabel.outreachOverdueFollowUps": "Overdue follow-ups",
  "common.reportLabel.outreachOverdueIndicator": "Overdue",
  "common.reportLabel.outreachWithAttempts": "Contacts with attempts",
  "common.reportLabel.outreachTotalAttempts": "Current-cycle attempts",
  "common.reportLabel.outreachLifetimeAttempts": "Lifetime attempts",
  "common.reportLabel.outreachStateDistribution": "Current outreach states",
  "common.reportLabel.outreachAttemptDistribution": "Current-cycle attempts",
  "common.reportLabel.outreachTimeInStatus": "Time in current outreach status",
  "common.reportLabel.outreachAttemptsNone": "No attempts",
  "common.reportLabel.outreachAttemptsOne": "1 attempt",
  "common.reportLabel.outreachAttemptsTwo": "2 attempts",
  "common.reportLabel.outreachAttemptsThreePlus": "3+ attempts",
  "common.reportLabel.outreachTimeInStatus0To2": "0–2 days",
  "common.reportLabel.outreachTimeInStatus3To7": "3–7 days",
  "common.reportLabel.outreachTimeInStatus8To14": "8–14 days",
  "common.reportLabel.outreachTimeInStatus15Plus": "15+ days",
  "common.reportLabel.outreachDefinitions": "Definitions",
  "common.reportLabel.outreachMatrixTitle": "Contact status × outreach status",
  "common.reportLabel.outreachStatus": "Outreach status",
  "common.reportLabel.outreachProgressionTitle": "Cohort progression",
  "common.reportLabel.outreachHistoryUnavailable": "Contacts without outreach history",
  "common.reportLabel.outreachHistoryUnavailableCount": ":count contacts have no historical outreach transition in the available history.",
  "common.reportLabel.outreachWindow": "Outcome window",
  "common.reportLabel.outreachEntryState": "Outreach state entered",
  "common.reportLabel.outreachCohortSize": "Cohort size",
  "common.reportLabel.outreachContactCreationCohort": "Contact created",
  "common.reportLabel.outreachExcludedImmature": ":excluded excluded · :immature still maturing · :unavailable baseline unavailable",
  "common.reportLabel.outreachFollowUpQueue": "Follow-up queue",
  "common.reportLabel.outreachFollowUpQueueDescription": "Use the grid to review both statuses, owner, attempts, last outreach or reply, and the next activity timing.",
  "common.reportLabel.outreachDataUnavailable": "Outreach reporting data is unavailable for this tenant.",
  "common.reportLabel.outreachAsOf": "Snapshot :date · :timezone",
  "common.reportLabel.outreachSnapshotDefinition": "Current outreach and contact statuses are independent snapshots for each contact in scope.",
  "common.reportLabel.outreachMissingNextActionDefinition": "Active outreach contacts with no next activity date. An overdue activity remains scheduled and is shown separately.",
  "common.reportLabel.outreachOverdueDefinition": "Active outreach contacts whose existing next activity is earlier than the current school time.",
  "common.reportLabel.outreachProgressionDefinition": "For each first entry into an outreach state during the selected cohort period, converted contacts reached the target within the selected window. The denominator excludes contacts already at or beyond the target and contacts whose window is still open. This shows correlation, not causation.",
  "common.reportLabel.outreachDaysInState": ":count days",
  "common.reportLabel.outreachClosedExcluded": ":count closed · excluded from workload",
  "common.reportLabel.outreachWorkloadByOwner": "Workload by contact owner",
  "common.reportLabel.outreachWorkloadByOwnerDescription": "Groups all filtered contacts by their current contact owner, with active workload shown separately. Each number opens the contacts behind it; next-step coverage is the share of active contacts with a complete, non-overdue activity and assigned action owner.",
  "common.reportLabel.outreachSearchContactOwners": "Search contact owners",
  "common.reportLabel.outreachContactOwner": "Contact owner",
  "common.reportLabel.outreachAllShort": "All",
  "common.reportLabel.outreachActiveShort": "Active",
  "common.reportLabel.outreachUnworkedShort": "Unworked",
  "common.reportLabel.outreachOverdueShort": "Overdue",
  "common.reportLabel.outreachNoNextActivity": "No next activity",
  "common.reportLabel.outreachOwnerTargets": "Suggested pilot targets: 0 active contacts without an owner; ≥95% next-step coverage; 0 follow-ups more than 2 days overdue. These are proposed internal targets, not industry benchmarks.",
  "common.reportLabel.contacts": "contacts",
  "common.reportLabel.viewContacts": "View contacts",
  "common.reportLabel.reviewContacts": "Review these contacts",
  "common.reportLabel.reviewCountContacts": "Review :count contacts",
  "common.reportLabel.followUpToSchedule": "Follow-up to schedule",
  "common.reportLabel.outreachExcludedFromWorkload": "excluded from workload",
  "common.reportLabel.outreachOverdueCardMeta": "Scheduled activity due before now",
  "common.reportLabel.outreachMissingCardMeta": "Active contacts without a next activity",
  "common.reportLabel.outreachNextStepCoverage": "Next-step coverage",
  "common.reportLabel.outreachCoverageCardMeta": ":covered of :active active · future activity + owner",
  "common.reportLabel.outreachWhereStand": "Where outreach stands",
  "common.reportLabel.outreachWhereStandDescription": "Shows the current outreach status of every distinct filtered contact. Each contact appears once, so the counts add up to the report total; this is a snapshot, not a conversion funnel.",
  "common.reportLabel.outreachStatesNotFunnel": "Outreach states can repeat or move backwards. They are not conversion funnel steps.",
  "common.reportLabel.outreachFocusToday": "Where to focus today",
  "common.reportLabel.outreachFocusTodayDescription": "These are current operational signals, not Outreach Status values. Select a count to review the matching contacts.",
  "common.reportLabel.outreachViewQueue": "View queue",
  "common.reportLabel.outreachPriorityOverdue": "A complete next activity is past its due time",
  "common.reportLabel.outreachPriorityMissing": "The next activity type or scheduled date is missing",
  "common.reportLabel.outreachUnworkedContacts": "Unworked contacts",
  "common.reportLabel.outreachPriorityUnworked": "No qualifying outreach recorded",
  "common.reportLabel.outreachOwnershipGaps": "Ownership gaps",
  "common.reportLabel.outreachPriorityOwnership": "The Contact owner is missing, or the next activity has no owner",
  "common.reportLabel.outreachPriorityOverlap": "Priority groups overlap; do not add their counts together.",
  "common.reportLabel.outreachConnectProgress": "Connect activity to progress.",
  "common.reportLabel.outreachAdvancedMissing": ":count applicants or confirmed contacts have no next activity.",
  "common.reportLabel.outreachIndependentDimensions": "Contact status explains where they are. Outreach status and follow-up health explain what needs attention.",
  "common.reportLabel.outreachCurrentCycleDescription": "Qualifying attempts in the current outreach cycle",
  "common.reportLabel.outreachTwoStatuses": "Two independent statuses. One shared view.",
  "common.reportLabel.outreachTwoStatusesDescription": "Each cell connects the admissions milestone with the outreach work happening around it.",
  "common.reportLabel.outreachMatrixFooter": "Every contact appears in exactly one current snapshot cell. Row and column totals reconcile with the report population.",
  "common.reportLabel.outreachFindStalled": "Find the stalled applications",
  "common.reportLabel.outreachFindStalledDescription": "Applied or Confirmed contacts with no scheduled next activity.",
  "common.reportLabel.outreachKeepMilestonesStable": "Keep milestone reporting stable",
  "common.reportLabel.outreachCompareWindows": "Compare equal observation windows.",
  "common.reportLabel.outreachProgressionFooter": "Cohorts are not additive. A contact may appear in several separately labelled outreach-state cohorts.",
  "common.reportLabel.unavailable": "Unavailable",
  "common.reportLabel.days": "days",
  "common.reportLabel.totalOverdue": "Total overdue",
  "common.reportLabel.totalOverdueAmount": "Total overdue amount",
  "common.reportLabel.updatedSuccessfully": "Report updated successfully.",
  "common.reportLabel.value": "Value",
  "common.reportLabel.selectValues": "Select or enter values",
  "common.reportLabel.viewAgingReceivablesBucket": "View invoices for :bucket",
  "common.reportLabel.viewBucketRecords": "View Records",
  "common.reportLabel.viewMode": "Report view",
  "common.reportLabel.viewModeChart": "Chart",
  "common.reportLabel.viewModeTable": "Table",
  "common.reportLabel.viewReport": "View",
  "common.reportLabel.where": "WHERE",
  "common.reportLabel.wizardNavigation": "Report wizard navigation",
  "common.reportLabel.xColumn": "Columns (X axis)",
  "common.reportLabel.yColumn": "Rows (Y axis)",
  "common.reportLabel.yes": "Yes",
  "common.reviewCancelledRunsLabel.title": "Review cancelled runs to confirm whether cancellations are expected.",
  "common.reviewFailuresLabel.title": "Review the :step step because it has :count failed attempt(s).",
  "common.richTextToolbar.bold": "Bold",
  "common.richTextToolbar.bulletList": "Bullet list",
  "common.richTextToolbar.emoji": "Insert emoji",
  "common.richTextToolbar.image": "Insert image",
  "common.richTextToolbar.inlineCode": "Inline code",
  "common.richTextToolbar.italic": "Italic",
  "common.richTextToolbar.label": "Formatting",
  "common.richTextToolbar.link": "Insert link",
  "common.richTextToolbar.linkPrompt": "Enter URL",
  "common.richTextToolbar.more": "More formatting",
  "common.richTextToolbar.orderedList": "Numbered list",
  "common.richTextToolbar.strikethrough": "Strikethrough",
  "common.roleLabel.access": "Access",
  "common.roleLabel.accessDescription": "Permission and user assignment counts for this role.",
  "common.roleLabel.actionFailed": "Unable to complete that action right now.",
  "common.roleLabel.assignedUsers": "Assigned Users",
  "common.roleLabel.assignedUsersCount": ":count assigned users",
  "common.roleLabel.back": "Back",
  "common.roleLabel.backToList": "Back to Roles",
  "common.roleLabel.clearAll": "Clear All",
  "common.roleLabel.createFailed": "Unable to create role. Review the form and try again.",
  "common.roleLabel.createRole": "Create Role",
  "common.roleLabel.createdAt": "Creation Date",
  "common.roleLabel.createdSuccessfully": "Role created successfully.",
  "common.roleLabel.deleteRole": "Delete",
  "common.roleLabel.deleteRoleConfirm": "Are you sure you want to delete this role?",
  "common.roleLabel.deleteRoleTitle": "Delete Role",
  "common.roleLabel.deletedSuccessfully": "Role deleted successfully.",
  "common.roleLabel.details": "Details",
  "common.roleLabel.detailsDescription": "Role identity, guard, and access mode.",
  "common.roleLabel.editRole": "Edit",
  "common.roleLabel.editRoleAction": "Edit Role",
  "common.roleLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.roleLabel.fullAccess": "Full Access",
  "common.roleLabel.fullAccessGranted": "Full access granted",
  "common.roleLabel.fullAccessGrantedHint": "The role is set to have full access granted. To adjust individual permissions, disable full access on the Role Information step.",
  "common.roleLabel.fullAccessQuestion": "Has full system access?",
  "common.roleLabel.changeRole": "Change Role",
  "common.roleLabel.changeRoleDescriptionBulk": "Move :count selected users to another role.",
  "common.roleLabel.changeRoleDescriptionSingle": "Move :name to another role.",
  "common.roleLabel.changeRoleFailed": "Unable to change role for the selected users.",
  "common.roleLabel.changeRoleNoTargets": "There are no other roles available to assign.",
  "common.roleLabel.changeRoleNoUsersError": "No eligible users were found for this role change.",
  "common.roleLabel.changeRoleSameRoleError": "Choose a different role than the current one.",
  "common.roleLabel.changeRoleSuccess": ":count user(s) moved to :role.",
  "common.roleLabel.targetRole": "Target role",
  "common.roleLabel.targetRoleHelp": "The selected users will be moved to this role.",
  "common.roleLabel.fullPermissionFor": "Full permissions on :resource",
  "common.roleLabel.guard": "Guard",
  "common.roleLabel.id": "ID",
  "common.roleLabel.manageUsers": "Manage Users",
  "common.roleLabel.name": "Name",
  "common.roleLabel.nameRequired": "Role name is required.",
  "common.roleLabel.next": "Next",
  "common.roleLabel.no": "No",
  "common.roleLabel.noAssignedUsers": "No users assigned.",
  "common.roleLabel.noAssignedUsersDescription": "Assign staff users to this role to grant them its permissions.",
  "common.roleLabel.pageTitle": "Roles",
  "common.roleLabel.permissionGroups": "Permission Groups",
  "common.roleLabel.permissions": "Permissions",
  "common.roleLabel.role": "Role",
  "common.roleLabel.roles": "roles",
  "common.roleLabel.removeFromRole": "Remove from role",
  "common.roleLabel.removeFromRoleConfirm": "Remove :name from the :role role? Their user account will stay active.",
  "common.roleLabel.removeFromRoleConfirmBulk": "Remove :count selected users from this role? Their user accounts will stay active.",
  "common.roleLabel.removedFromRoleSuccessfully": "User removed from role successfully.",
  "common.roleLabel.removeFromRoleFailed": "Unable to remove the selected users from this role.",
  "common.roleLabel.searchRoleUsers": "Search assigned users by name, email, or phone",
  "common.roleLabel.searchRoles": "Search roles by name",
  "common.roleLabel.selectAll": "Select All",
  "common.roleLabel.selectUsers": "Select users",
  "common.roleLabel.selectedPermissionsCount": ":selected of :total selected",
  "common.roleLabel.settingsTab": "Settings",
  "common.roleLabel.selectedPermissionsCount": ":selected of :total selected",
  "common.roleLabel.stepAnnouncement": ":step. Step :current of :total.",
  "common.roleLabel.stepInformation": "Role Information",
  "common.roleLabel.stepInformationHint": "Set the role name and full-access mode.",
  "common.roleLabel.stepPermissions": "Permissions",
  "common.roleLabel.stepPermissionsHint": "Review module-level permissions when full access is disabled.",
  "common.roleLabel.stepProgress": "Step :current of :total",
  "common.roleLabel.stepUsers": "Users",
  "common.roleLabel.stepUsersHint": "Assign or remove staff users for this role.",
  "common.roleLabel.updateFailed": "Unable to update role. Review the form and try again.",
  "common.roleLabel.updateRole": "Update Role",
  "common.roleLabel.updatedAt": "Updated",
  "common.roleLabel.usersTab": "Users",
  "common.roleLabel.viewAllUsers": "View All Users",
  "common.roleLabel.wizardFooterAria": "Role wizard actions",
  "common.roleLabel.wizardNavigation": "Role wizard navigation",
  "common.roleLabel.previewStarted": "Now viewing the system as :role.",
  "common.roleLabel.previewStopped": "Stopped role preview.",
  "common.roleLabel.previewingAs": "Viewing as :role",
  "common.roleLabel.selectRoleToPreview": "Select a role to preview permissions.",
  "common.roleLabel.stopPreview": "Stop preview",
  "common.roleLabel.viewAsRole": "View as role",
  "common.roleLabel.yes": "Yes",
  "common.runsByStatusLabel.title": "Runs by Status",
  "common.schoolLabel.addFavorite": "Add to favorites",
  "common.schoolLabel.addInviteRow": "Add user",
  "common.schoolLabel.addSchool": "Add School",
  "common.schoolLabel.allSchools": "All Schools",
  "common.schoolLabel.back": "Back",
  "common.schoolLabel.backToHome": "Back to home",
  "common.schoolLabel.continue": "Continue",
  "common.schoolLabel.createDescription": "Create a new school workspace and invite teammates when you are ready.",
  "common.schoolLabel.createFailed": "Unable to create the school.",
  "common.schoolLabel.createSchool": "Create school",
  "common.schoolLabel.createdSuccessfully": "School created.",
  "common.schoolLabel.creating": "Creating...",
  "common.schoolLabel.dataCenter": "Data Center",
  "common.schoolLabel.datacenterRequired": "Select a data center.",
  "common.schoolLabel.deleteConfirm": "Delete school",
  "common.schoolLabel.deleteDescription": "Delete :name? This action cannot be undone.",
  "common.schoolLabel.deleteFailed": "Unable to delete the school.",
  "common.schoolLabel.deleteSchool": "Delete :name",
  "common.schoolLabel.deleteTitle": "Delete school",
  "common.schoolLabel.deleted": "School deleted.",
  "common.schoolLabel.description": "Description",
  "common.schoolLabel.emptyDescription": "Get started by adding your first school, then build your first application.",
  "common.schoolLabel.emptyTitle": "Start now",
  "common.schoolLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.schoolLabel.homeDescription": "Select a school to open its workspace.",
  "common.schoolLabel.indexDescription": "Choose a school to open its workspace or manage your school list.",
  "common.schoolLabel.inviteEmail": "Email",
  "common.schoolLabel.inviteName": "Name",
  "common.schoolLabel.inviteRowLabel": "User :number",
  "common.schoolLabel.inviteUsers": "Invite users",
  "common.schoolLabel.inviteUsersHint": "Optional. Invite teammates when this school is created.",
  "common.schoolLabel.language": "Language",
  "common.schoolLabel.localeRequired": "Select a language.",
  "common.schoolLabel.logout": "Log out",
  "common.schoolLabel.nameRequired": "Enter a school name.",
  "common.schoolLabel.noPlan": "No plan",
  "common.schoolLabel.noSearchResults": "No schools match your search.",
  "common.schoolLabel.notSet": "Not set",
  "common.schoolLabel.pageTitle": "Schools",
  "common.schoolLabel.plan": "Plan",
  "common.schoolLabel.planRequired": "Select a plan.",
  "common.schoolLabel.removeFavorite": "Remove from favorites",
  "common.schoolLabel.reviewNoInvites": "No users will be invited.",
  "common.schoolLabel.saveFailed": "Unable to save the school.",
  "common.schoolLabel.schoolListAria": "Available schools",
  "common.schoolLabel.schoolName": "School Name",
  "common.schoolLabel.searchPlaceholder": "Search by school name or region",
  "common.schoolLabel.searchResultsCount": ":count schools",
  "common.schoolLabel.searchSchools": "Search schools",
  "common.schoolLabel.selectDataCenter": "Select data center",
  "common.schoolLabel.selectPlan": "Select a plan",
  "common.schoolLabel.stepAnnouncement": ":step, step :current of :total",
  "common.schoolLabel.stepInformation": "School information",
  "common.schoolLabel.stepInformationHint": "Enter the school name, plan, and data center.",
  "common.schoolLabel.stepInvites": "Invite users",
  "common.schoolLabel.stepInvitesHint": "Invite teammates now, or skip this step.",
  "common.schoolLabel.stepReview": "Review",
  "common.schoolLabel.stepReviewHint": "Confirm the details before creating the school.",
  "common.schoolLabel.stepSettings": "School settings",
  "common.schoolLabel.stepSettingsHint": "Choose the school language and website.",
  "common.schoolLabel.website": "Website",
  "common.schoolLabel.websitePlaceholder": "https://",
  "common.schoolLabel.wizardFooterAria": "Create school navigation",
  "common.schoolLabel.wizardNavAria": "Create school steps",
  "common.schoolLabel.wizardProgress": "Step :current of :total",
  "common.schoolLabel.wizardSidebarTitle": "Create school",
  "common.semesterLabel.academicLinks": "Academic Links",
  "common.semesterLabel.academicLinksDescription": "Programs, courses, cohorts, dates, and lessons connected to this semester.",
  "common.semesterLabel.actionFailed": "Unable to complete that action right now.",
  "common.semesterLabel.back": "Back",
  "common.semesterLabel.backToList": "Back to Semesters",
  "common.semesterLabel.cohorts": "Cohorts",
  "common.semesterLabel.courseRequired": "Select at least one course.",
  "common.semesterLabel.courses": "Courses",
  "common.semesterLabel.createFailed": "Unable to create the semester. Check the highlighted fields and try again.",
  "common.semesterLabel.createSemester": "Create Semester",
  "common.semesterLabel.createdAt": "Creation Date",
  "common.semesterLabel.dates": "Dates",
  "common.semesterLabel.deleteSemester": "Delete",
  "common.semesterLabel.deleteSemesterConfirm": "Are you sure you want to delete this semester?",
  "common.semesterLabel.deleteSemesterTitle": "Delete Semester",
  "common.semesterLabel.deletedSuccessfully": "Semester deleted successfully.",
  "common.semesterLabel.details": "Details",
  "common.semesterLabel.detailsDescription": "Semester title, date range, and audit timestamps.",
  "common.semesterLabel.editSemester": "Edit",
  "common.semesterLabel.editSemesterAction": "Edit Semester",
  "common.semesterLabel.endDate": "End Date",
  "common.semesterLabel.endDateRequired": "Select an end date.",
  "common.semesterLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.semesterLabel.groups": "Groups",
  "common.semesterLabel.groupsRequired": "Select at least one group.",
  "common.semesterLabel.id": "ID",
  "common.semesterLabel.lessons": "Lessons",
  "common.semesterLabel.next": "Next",
  "common.semesterLabel.noGroupsAvailable": "No groups are available for the selected item.",
  "common.semesterLabel.pageTitle": "Semesters",
  "common.semesterLabel.program": "Program",
  "common.semesterLabel.programRequired": "Select at least one program.",
  "common.semesterLabel.programs": "Programs",
  "common.semesterLabel.relatedToCourses": "Related to Courses",
  "common.semesterLabel.relatedToCoursesHint": "Select courses and assign their cohorts.",
  "common.semesterLabel.relatedToPrograms": "Related to Programs",
  "common.semesterLabel.relatedToProgramsHint": "Select programs and assign their cohorts.",
  "common.semesterLabel.relationRequired": "Choose whether this semester is related to programs or courses.",
  "common.semesterLabel.searchSemesters": "Search semesters by title",
  "common.semesterLabel.selectCourse": "Select a course",
  "common.semesterLabel.selectGroups": "Select groups",
  "common.semesterLabel.selectProgram": "Select a program",
  "common.semesterLabel.semester": "Semester",
  "common.semesterLabel.semesters": "semesters",
  "common.semesterLabel.semestersEmpty": "No semesters matched the current search or filters.",
  "common.semesterLabel.startDate": "Start Date",
  "common.semesterLabel.startDateRequired": "Select a start date.",
  "common.semesterLabel.stepAnnouncement": ":step, step :current of :total",
  "common.semesterLabel.stepInformation": "Semester Information",
  "common.semesterLabel.stepInformationHint": "Set the semester title and date range.",
  "common.semesterLabel.stepProgress": "Step :current of :total",
  "common.semesterLabel.stepRelationships": "Semester Programs/Courses",
  "common.semesterLabel.stepRelationshipsHint": "Choose related programs or courses, then assign cohorts to this semester.",
  "common.semesterLabel.title": "Title",
  "common.semesterLabel.titleRequired": "Enter a semester title.",
  "common.semesterLabel.updateFailed": "Unable to update the semester. Check the highlighted fields and try again.",
  "common.semesterLabel.updateSemester": "Update Semester",
  "common.semesterLabel.updatedAt": "Updated",
  "common.semesterLabel.wizardFooterAria": "Semester wizard actions",
  "common.semesterLabel.wizardNavigation": "Semester create steps",
  "common.sendEmailLabel.back": "Back",
  "common.sendEmailLabel.bccAddress": "BCC Address",
  "common.sendEmailLabel.bccAddressHint": "The email address that you want to include",
  "common.sendEmailLabel.breadcrumbSend": "Send E-mail",
  "common.sendEmailLabel.contentRequired": "Email content cannot be empty.",
  "common.sendEmailLabel.emailContentTabsAria": "Email content tabs",
  "common.sendEmailLabel.emailPreview": "Email Preview",
  "common.sendEmailLabel.emailPreviewBlockHint": "Review the rendered email below, or switch to Edit to change the content.",
  "common.sendEmailLabel.emailPreviewBlockTitle": "Email preview",
  "common.sendEmailLabel.emailPreviewSimpleTextHint": "Review the message below, or switch to Edit to write the email content.",
  "common.sendEmailLabel.emailTemplate": "Email Template",
  "common.sendEmailLabel.emailText": "Email Text",
  "common.sendEmailLabel.emptyPreview": "No message content yet.",
  "common.sendEmailLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.sendEmailLabel.fromAddress": "From Address",
  "common.sendEmailLabel.fromAddressHint": "Sender's email",
  "common.sendEmailLabel.fromName": "From Name",
  "common.sendEmailLabel.fromNameHint": "Sender's name",
  "common.sendEmailLabel.loadingTemplate": "Loading the selected template?",
  "common.sendEmailLabel.messagePreview": "Message preview",
  "common.sendEmailLabel.next": "Next",
  "common.sendEmailLabel.openPreview": "Open preview",
  "common.sendEmailLabel.pageTitle": "Send E-mail (:name)",
  "common.sendEmailLabel.pageTitleFallback": "Send E-mail",
  "common.sendEmailLabel.previewFrom": "From",
  "common.sendEmailLabel.previewTo": "To",
  "common.sendEmailLabel.previewWindowTitle": "Email Preview",
  "common.sendEmailLabel.recipientEmail": "Email",
  "common.sendEmailLabel.recipientEmailInvalid": "Enter a valid email address.",
  "common.sendEmailLabel.recipientEmailRequired": "Recipient email is required.",
  "common.sendEmailLabel.recipientName": "Name",
  "common.sendEmailLabel.recipientNameRequired": "Recipient name is required.",
  "common.sendEmailLabel.replyToAddress": "Reply To Address",
  "common.sendEmailLabel.replyToAddressHint": "The email address who will receive the response",
  "common.sendEmailLabel.reviewPreviewHint": "This is how the email will appear to the recipient.",
  "common.sendEmailLabel.reviewTitle": "Review email",
  "common.sendEmailLabel.selectTemplate": "Select an email",
  "common.sendEmailLabel.sendEmail": "Send E-mail",
  "common.sendEmailLabel.sendFailed": "Unable to send the email. Review the form and try again.",
  "common.sendEmailLabel.senderResolutionFailed": "Unable to resolve a valid sender for this email. Please fill in the template sender fields or check the student owner/default sender settings.",
  "common.sendEmailLabel.sentSuccessfully": "Email sent to :name successfully!",
  "common.sendEmailLabel.stepAnnouncement": ":step (:current of :total)",
  "common.sendEmailLabel.stepCompose": "Message",
  "common.sendEmailLabel.stepComposeHint": "Choose a template and edit the subject, sender details, and email content.",
  "common.sendEmailLabel.stepProgress": "Step :current of :total",
  "common.sendEmailLabel.stepRecipient": "Recipient",
  "common.sendEmailLabel.stepRecipientHint": "Confirm the recipient name and email address.",
  "common.sendEmailLabel.stepReview": "Review",
  "common.sendEmailLabel.stepReviewHint": "Confirm the details before sending.",
  "common.sendEmailLabel.subject": "Subject",
  "common.sendEmailLabel.subjectRequired": "Subject is required.",
  "common.sendEmailLabel.tabEdit": "Edit",
  "common.sendEmailLabel.tabView": "View",
  "common.sendEmailLabel.templateLoadFailed": "Unable to load the selected email template. Please try again.",
  "common.sendEmailLabel.attachAssets": "Attach assets",
  "common.sendEmailLabel.attachAssetsHint": "Select assets to attach to the email.",
  "common.sendEmailLabel.selectAssets": "Select assets…",
  "common.sendEmailLabel.noAssetsAvailable": "No assets are available. Create an asset in the Asset Library to select one here.",
  "common.sendEmailLabel.additionalAttachments": "Additional attachments",
  "common.sendEmailLabel.additionalAttachmentsHint": "Add files to send with this email. You can select more than one.",
  "common.sendEmailLabel.selectedAttachments": "Selected attachments",
  "common.sendEmailLabel.removeAttachment": "Remove attachment :name",
  "common.sendEmailLabel.templateAttachments": "Attachments included with this template",
  "common.sendEmailLabel.templateAttachmentsHint": "These files will be sent automatically. You can add more attachments below.",
  "common.sendEmailLabel.templateAssets": "Assets linked to this template",
  "common.sendEmailLabel.templateAssetsHint": "These assets will be sent automatically. Selecting them again will not create duplicate attachments.",
  "common.sendEmailLabel.templateRequired": "Select an email template.",
  "common.sendEmailLabel.wizardFooterAria": "Send email wizard actions",
  "common.sendEmailLabel.wizardNavigation": "Send email wizard navigation",
  "common.sendEmailLabel.wizardSidebarTitle": "Send email",
  "common.sentEmailLabel.id": "ID",
  "common.sentEmailLabel.pageTitle": "Sent Emails",
  "common.sentEmailLabel.previewError": "Unable to load email content.",
  "common.sentEmailLabel.readAt": "Read Date",
  "common.sentEmailLabel.recipient": "Recipient",
  "common.sentEmailLabel.recipientEmail": "Recipient Email",
  "common.sentEmailLabel.recipientId": "Recipient #:id",
  "common.sentEmailLabel.searchSentEmails": "Search sent emails by subject, status, or recipient",
  "common.sentEmailLabel.sentAt": "Sent Date",
  "common.sentEmailLabel.sentEmails": "sent emails",
  "common.sentEmailLabel.sentEmailsEmpty": "No sent emails matched the current search or filters.",
  "common.sentEmailLabel.status": "Status",
  "common.sentEmailLabel.subject": "Subject",
  "common.sentEmailLabel.unknownRecipient": "Unknown recipient",
  "common.sentEmailLabel.unread": "Unread",
  "common.sentEmailLabel.viewEmail": "View",
  "common.serviceCategoryLabel.back": "Back",
  "common.serviceCategoryLabel.categories": "service categories",
  "common.serviceCategoryLabel.categoriesEmpty": "No service categories matched the current search or filters.",
  "common.serviceCategoryLabel.categoryTitle": "Category Title",
  "common.serviceCategoryLabel.commissionable": "Commissionable",
  "common.serviceCategoryLabel.createCategory": "Create Category",
  "common.serviceCategoryLabel.createFailed": "Unable to create the service category right now.",
  "common.serviceCategoryLabel.deleteCategory": "Delete",
  "common.serviceCategoryLabel.deleteCategoryConfirm": "Are you sure you want to delete this service category?",
  "common.serviceCategoryLabel.deletedSuccessfully": "Service category deleted successfully.",
  "common.serviceCategoryLabel.editCategory": "Edit",
  "common.serviceCategoryLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.serviceCategoryLabel.id": "ID",
  "common.serviceCategoryLabel.isCommissionable": "Is Commissionable",
  "common.serviceCategoryLabel.isCommissionableHelp": "If commissionable, the service amount created by this category will be accountable to the agents' commissions calculation.",
  "common.serviceCategoryLabel.isPublished": "Is Published",
  "common.serviceCategoryLabel.name": "Name",
  "common.serviceCategoryLabel.nameRequired": "Category title is required.",
  "common.serviceCategoryLabel.next": "Next",
  "common.serviceCategoryLabel.no": "No",
  "common.serviceCategoryLabel.notFound": "Service category not found.",
  "common.serviceCategoryLabel.pageTitle": "Service Categories",
  "common.serviceCategoryLabel.searchCategories": "Search service categories by name",
  "common.serviceCategoryLabel.stepAnnouncement": "Step :current of :total: :step",
  "common.serviceCategoryLabel.stepInformation": "Category Information",
  "common.serviceCategoryLabel.stepInformationHint": "Configure the service category details before saving.",
  "common.serviceCategoryLabel.stepProgress": "Step :current of :total",
  "common.serviceCategoryLabel.updateCategory": "Update Category",
  "common.serviceCategoryLabel.updateFailed": "Unable to update the service category right now.",
  "common.serviceCategoryLabel.wizardFooterAria": "Service category wizard actions",
  "common.serviceCategoryLabel.wizardNavigation": "Service category wizard navigation",
  "common.serviceCategoryLabel.yes": "Yes",
  "common.serviceLabel.account": "Account",
  "common.serviceLabel.accountRequired": "Account is required.",
  "common.serviceLabel.actionFailed": "Unable to complete that action right now.",
  "common.serviceLabel.addSubVariation": "Add Sub-variation",
  "common.serviceLabel.addSubvariation": "Add Sub-variation",
  "common.serviceLabel.addVariation": "Add Variation",
  "common.serviceLabel.amount": "Amount",
  "common.serviceLabel.amountPlaceholder": "0.00",
  "common.serviceLabel.back": "Back",
  "common.serviceLabel.backToList": "Back to Services",
  "common.serviceLabel.backToServices": "Back to Services",
  "common.serviceLabel.campusRequired": "Select at least one campus.",
  "common.serviceLabel.campuses": "Campuses",
  "common.serviceLabel.category": "Category",
  "common.serviceLabel.categoryNotFound": "The selected category could not be found.",
  "common.serviceLabel.categoryRequired": "Category is required.",
  "common.serviceLabel.cloneService": "Clone Service",
  "common.serviceLabel.cloneVariation": "Clone Variation",
  "common.serviceLabel.code": "Code (#SKU)",
  "common.serviceLabel.codeSku": "Code (#SKU)",
  "common.serviceLabel.createFailed": "Unable to create the service right now. Please review the form and try again.",
  "common.serviceLabel.createService": "Create Service",
  "common.serviceLabel.createVariationType": "Create Variation Type",
  "common.serviceLabel.createdAt": "Creation Date",
  "common.serviceLabel.customFieldsRequired": "Please complete all required custom fields.",
  "common.serviceLabel.deleteService": "Delete",
  "common.serviceLabel.deleteServiceConfirm": "Are you sure you want to delete this service?",
  "common.serviceLabel.deleteVariation": "Delete Variation",
  "common.serviceLabel.deleteVariationConfirm": "Are you sure you want to delete this variation?",
  "common.serviceLabel.deletedSuccessfully": "Service deleted successfully.",
  "common.serviceLabel.description": "Description",
  "common.serviceLabel.descriptionPlaceholder": "Optional internal notes for this service.",
  "common.serviceLabel.detailsTab": "Details",
  "common.serviceLabel.dynamicFieldRequired": ":field is required.",
  "common.serviceLabel.editService": "Edit",
  "common.serviceLabel.editServicePage": "Edit Service",
  "common.serviceLabel.editTemplate": "Edit Template",
  "common.serviceLabel.editVariation": "Edit Variation",
  "common.serviceLabel.exportVariation": "Export Variation",
  "common.serviceLabel.fixErrorsBeforeContinue": "Please fix the highlighted fields before continuing.",
  "common.serviceLabel.id": "ID",
  "common.serviceLabel.importVariations": "Import Variations",
  "common.serviceLabel.loadingTemplateContext": "Loading category templates and linked objects...",
  "common.serviceLabel.loadingTemplateFields": "Loading template fields...",
  "common.serviceLabel.nameRequired": "Service title is required.",
  "common.serviceLabel.noVariations": "No variations yet",
  "common.serviceLabel.noVariationsDescription": "Variation records created for this service will appear here.",
  "common.serviceLabel.noVariationsTitle": "No variations yet",
  "common.serviceLabel.object": "Object",
  "common.serviceLabel.objectRequired": "Select the linked object for this category.",
  "common.serviceLabel.pageTitle": "Services",
  "common.serviceLabel.permissionDenied": "Permission denied.",
  "common.serviceLabel.price": "Price",
  "common.serviceLabel.pricingSchema": "Pricing Schema",
  "common.serviceLabel.pricingTemplate": "Pricing Template",
  "common.serviceLabel.qboItemRef": "QBO Item Ref",
  "common.serviceLabel.searchServices": "Search services by title, account, category, or pricing template",
  "common.serviceLabel.sectionBasics": "Basics",
  "common.serviceLabel.sectionBasicsDesc": "Core service, pricing, account, campus, and template details.",
  "common.serviceLabel.sectionCustomFields": "Custom Fields",
  "common.serviceLabel.sectionCustomFieldsDesc": "Additional custom fields configured for educational services.",
  "common.serviceLabel.sectionCustomProperties": "Custom Properties",
  "common.serviceLabel.sectionServiceDetails": "Service Details",
  "common.serviceLabel.sectionTemplateFields": "Template Fields",
  "common.serviceLabel.sectionTemplateFieldsDesc": "Editable values defined by the selected educational-service template.",
  "common.serviceLabel.sectionTemplateProperties": "Template Properties",
  "common.serviceLabel.selectAccount": "Select account",
  "common.serviceLabel.selectCampuses": "Select campuses",
  "common.serviceLabel.selectCategory": "Select category",
  "common.serviceLabel.selectFieldOption": "Select :field",
  "common.serviceLabel.selectObject": "Select :object",
  "common.serviceLabel.selectPricingSchema": "Select pricing schema",
  "common.serviceLabel.selectTemplate": "Select template",
  "common.serviceLabel.services": "services",
  "common.serviceLabel.servicesEmpty": "No services matched the current search or filters.",
  "common.serviceLabel.sku": "SKU",
  "common.serviceLabel.stepAnnouncement": ":step. Step :current of :total.",
  "common.serviceLabel.stepCustomProperties": "Custom Properties",
  "common.serviceLabel.stepCustomPropertiesHint": "Review and update custom service fields.",
  "common.serviceLabel.stepProgress": "Step :current of :total",
  "common.serviceLabel.stepServiceDetails": "Service Details",
  "common.serviceLabel.stepServiceDetailsHint": "Set the category, account, campuses, and optional template properties.",
  "common.serviceLabel.subVariation": "Sub-variation",
  "common.serviceLabel.tabDetails": "Educational Service Details",
  "common.serviceLabel.tabVariations": "Variations",
  "common.serviceLabel.template": "Template",
  "common.serviceLabel.templateContextLoadFailed": "Unable to load templates for the selected category.",
  "common.serviceLabel.templateFieldsLoadFailed": "Unable to load template fields for the selected template.",
  "common.serviceLabel.templateProperties": "Template Properties",
  "common.serviceLabel.templateUnavailableHint": "Select a category to load templates.",
  "common.serviceLabel.title": "Title",
  "common.serviceLabel.type": "Type",
  "common.serviceLabel.updateFailed": "Unable to update the service right now. Please review the form and try again.",
  "common.serviceLabel.updateService": "Update Service",
  "common.serviceLabel.updatedAt": "Updated",
  "common.serviceLabel.updatedSuccessfully": "Service :title updated successfully.",
  "common.serviceLabel.variationDeleted": "Variation deleted successfully.",
  "common.serviceLabel.variationDeletedSuccessfully": "Variation deleted successfully.",
  "common.serviceLabel.variationListHint": "Use this tab to manage pricing and object-specific variations for the selected service.",
  "common.serviceLabel.variationLockHint": "This field is locked because the service already has variations.",
  "common.serviceLabel.variationProperties": "Variation Properties",
  "common.serviceLabel.variationsTab": "Variations",
  "common.serviceLabel.viewService": "View",
  "common.serviceLabel.wizardFooterAria": "Service create actions",
  "common.serviceLabel.wizardNavigation": "Service create steps",
  "common.settingsLabel.admissionsDailyBriefSectionTitle": "Admissions Daily Brief",
  "common.settingsLabel.admissionsDailyBriefSectionDescription": "Scheduled snapshot for the AI Assistant Daily Brief tab. Email summaries respect each recipient's section permissions.",
  "common.settingsLabel.admissionsDailyBriefSectionsHint": "Include each section in the tenant snapshot (generation, drawer, and email). No means the section is omitted entirely for all users.",
  "common.settingsLabel.admissionsDailyBriefEnabled": "Enable daily brief generation",
  "common.settingsLabel.admissionsDailyBriefDeliveryEmail": "Email daily brief summary",
  "common.settingsLabel.admissionsDailyBriefRecipientType": "Brief recipients",
  "common.settingsLabel.admissionsDailyBriefRecipientTypeRole": "By role",
  "common.settingsLabel.admissionsDailyBriefRecipientTypeTeam": "By staff team",
  "common.settingsLabel.admissionsDailyBriefRecipientTypeUsers": "Specific users",
  "common.settingsLabel.admissionsDailyBriefRecipientRole": "Role filter",
  "common.settingsLabel.admissionsDailyBriefRecipientRoleAll": "All active users",
  "common.settingsLabel.admissionsDailyBriefRecipientRoleHint": "Used when recipients are By role. Leave empty for all active school users.",
  "common.settingsLabel.admissionsDailyBriefRecipientTeam": "Staff team",
  "common.settingsLabel.admissionsDailyBriefRecipientTeamHint": "Used when recipients are By staff team.",
  "common.settingsLabel.admissionsDailyBriefRecipientUsers": "Users",
  "common.settingsLabel.admissionsDailyBriefRecipientUsersHint": "Used when recipients are Specific users.",
  "common.settingsLabel.mobileAppIcon192": "192x192",
  "common.settingsLabel.mobileAppIcon192Hint": "Upload an icon for the mobile app. This is the icon that will be used for the mobile app.",
  "common.settingsLabel.mobileAppIcon512": "512x512",
  "common.settingsLabel.mobileAppIcon512Hint": "Upload an icon for the mobile app. This is the icon that will be used for the mobile app.",
  "common.settingsLabel.logoDark": "Dark mode logo",
  "common.settingsLabel.logoDarkHint": "Shown on dark backgrounds and when dark mode is enabled.",
  "common.settingsLabel.mobileAppIcons": "Mobile app icons",
  "common.settingsLabel.mobileAppIconsHelp": "Upload icons for the mobile app.",
  "common.smsConversationLabel.actionFailed": "Unable to complete that action right now.",
  "common.smsConversationLabel.automated": "Automated",
  "common.smsConversationLabel.backToHistory": "Back to SMS History",
  "common.smsConversationLabel.cancel": "Cancel",
  "common.smsConversationLabel.category": "Category",
  "common.smsConversationLabel.attachments": "Attachments",
  "common.smsConversationLabel.attachmentUnavailable": "Attachment preview is unavailable.",
  "common.smsConversationLabel.content": "Content",
  "common.smsConversationLabel.conversations": "conversations",
  "common.smsConversationLabel.conversationsEmpty": "No SMS conversations matched the current search or filters.",
  "common.smsConversationLabel.deleteConversation": "Delete",
  "common.smsConversationLabel.deleteConversationConfirm": "Are you sure you want to delete this SMS conversation?",
  "common.smsConversationLabel.deletedSuccessfully": "SMS conversation deleted successfully.",
  "common.smsConversationLabel.detailTitle": "SMS Conversation #:id",
  "common.smsConversationLabel.details": "SMS Details",
  "common.smsConversationLabel.detailsDescription": "Delivery, sender, recipient, and automation metadata.",
  "common.smsConversationLabel.direction": "Direction",
  "common.smsConversationLabel.downloadReport": "Download Report",
  "common.smsConversationLabel.downloadUsageReport": "Download Usage Report",
  "common.smsConversationLabel.failReason": "Fail Reason",
  "common.smsConversationLabel.id": "ID",
  "common.smsConversationLabel.loadTemplateFailed": "Unable to load that SMS template.",
  "common.smsConversationLabel.message": "Message",
  "common.smsConversationLabel.messageDescription": "Message content and delivery failure details when available.",
  "common.smsConversationLabel.no": "No",
  "common.smsConversationLabel.noCampusNumbers": "No campus phone numbers are configured.",
  "common.smsConversationLabel.noRecipientNumbers": "This contact does not have a valid phone number.",
  "common.smsConversationLabel.pageTitle": "SMS History",
  "common.smsConversationLabel.recipient": "Recipient",
  "common.smsConversationLabel.recipientNumber": "Recipient Phone Number",
  "common.smsConversationLabel.searchConversations": "Search SMS history by content, sender, student, or email",
  "common.smsConversationLabel.selectCampusNumber": "Select a campus number",
  "common.smsConversationLabel.selectDateRangeWarning": "Please select start and end date!",
  "common.smsConversationLabel.selectPurpose": "Select a purpose",
  "common.smsConversationLabel.selectRecipientNumber": "Select a number",
  "common.smsConversationLabel.noTemplates": "No SMS templates available.",
  "common.smsConversationLabel.selectTemplate": "Select a template",
  "common.smsConversationLabel.sendTemplate": "Send template",
  "common.smsConversationLabel.attachFile": "Attach file",
  "common.smsConversationLabel.attachImage": "Attach image",
  "common.smsConversationLabel.previewImage": "Preview image",
  "common.smsConversationLabel.previewAttachment": "Attachment",
  "common.smsConversationLabel.downloadAttachment": "Download",
  "common.smsConversationLabel.closePreview": "Close preview",
  "common.smsConversationLabel.removeAttachment": "Remove attachment",
  "common.smsConversationLabel.attachmentTooLarge": "Attachments must total 5 MB or less.",
  "common.smsConversationLabel.tooManyAttachments": "You can attach up to :count files.",
  "common.smsConversationLabel.unsupportedAttachment": "That file type cannot be sent by MMS.",
  "common.smsConversationLabel.send": "Send",
  "common.smsConversationLabel.sendFailed": "Failed to send SMS.",
  "common.smsConversationLabel.resend": "Resend",
  "common.smsConversationLabel.resendSuccess": "SMS resent successfully.",
  "common.smsConversationLabel.resendFailed": "Failed to resend SMS.",
  "common.smsConversationLabel.resendNotAllowed": "This SMS cannot be resent.",
  "common.smsConversationLabel.sendSms": "Send SMS",
  "common.smsConversationLabel.sendSmsDescription": "Send an SMS message to :name.",
  "common.smsConversationLabel.sendSmsFallbackDescription": "Send an SMS message to this contact.",
  "common.smsConversationLabel.sendSuccess": "SMS sent successfully.",
  "common.smsConversationLabel.senderNumber": "Sender Phone Number",
  "common.smsConversationLabel.sending": "Sending...",
  "common.smsConversationLabel.sentBy": "Sent By",
  "common.smsConversationLabel.sentOn": "Sent On",
  "common.smsConversationLabel.status": "Status",
  "common.smsConversationLabel.student": "Student",
  "common.smsConversationLabel.template": "Template",
  "common.smsConversationLabel.viewDetails": "View Details",
  "common.smsConversationLabel.composePlaceholder": "Text message",
  "common.smsConversationLabel.contact": "Contact",
  "common.smsConversationLabel.deliveryFailed": "Not delivered",
  "common.smsConversationLabel.emptyDescription": "SMS messages with this contact will appear here as a conversation.",
  "common.smsConversationLabel.emptyTitle": "No SMS messages yet",
  "common.smsConversationLabel.messageOptions": "Message options",
  "common.smsConversationLabel.openMessageDetails": "View message details",
  "common.smsConversationLabel.viewConversation": "View Conversation",
  "common.smsConversationLabel.showingLatest": "Showing the latest :count of :total messages",
  "common.smsConversationLabel.newMessage": "New message",
  "common.smsConversationLabel.jumpToLatest": "Jump to latest messages",
  "common.smsConversationLabel.applyingMessage": "Applying new message",
  "common.smsConversationLabel.smsWith": "SMS with :name",
  "common.smsConversationLabel.you": "You",
  "common.smsConversationLabel.yes": "Yes",
  "common.smsTemplateLabel.actionFailed": "Unable to complete that action right now.",
  "common.smsTemplateLabel.actions": "Actions",
  "common.smsTemplateLabel.activeScheduleExists": "An active send schedule already exists for this SMS template.",
  "common.smsTemplateLabel.allTimePerformanceSnapshot": "All time performance snapshot",
  "common.smsTemplateLabel.back": "Back",
  "common.smsTemplateLabel.backToList": "Back to SMS Templates",
  "common.smsTemplateLabel.backToTemplate": "Back to SMS template",
  "common.smsTemplateLabel.bulkSendRequiresList": "This template is not configured for bulk sending. Please enable \"Send to list\" option.",
  "common.smsTemplateLabel.cancelSchedule": "Cancel schedule",
  "common.smsTemplateLabel.cancelScheduleConfirm": "Are you sure you want to cancel this scheduled send?",
  "common.smsTemplateLabel.characterCount": "Character count",
  "common.smsTemplateLabel.completedWithIssues": "Completed with issues",
  "common.smsTemplateLabel.content": "Content",
  "common.smsTemplateLabel.contentHelper": "You can use ${students.first_name}, ${students.last_name}, and other merge tags. They will be replaced with each recipient's information.",
  "common.smsTemplateLabel.contentPlaceholder": "Write your SMS message?",
  "common.smsTemplateLabel.contentRequired": "SMS message content is required.",
  "common.smsTemplateLabel.createFailed": "Could not create the SMS template. Please try again.",
  "common.smsTemplateLabel.createSmsTemplate": "Create SMS Template",
  "common.smsTemplateLabel.createTemplate": "Create Template",
  "common.smsTemplateLabel.createdAt": "Creation Date",
  "common.smsTemplateLabel.currentAppTime": "Current app time",
  "common.smsTemplateLabel.days": "Days",
  "common.smsTemplateLabel.deleteSmsTemplate": "Delete",
  "common.smsTemplateLabel.deleteSmsTemplateConfirm": "Are you sure you want to delete this SMS template?",
  "common.smsTemplateLabel.deleteTemplate": "Delete",
  "common.smsTemplateLabel.deleteTemplateConfirm": "Are you sure you want to delete this template?",
  "common.smsTemplateLabel.deletedSuccessfully": "Template deleted successfully.",
  "common.smsTemplateLabel.delivered": "Delivered",
  "common.smsTemplateLabel.deliveryRate": "Delivery Rate",
  "common.smsTemplateLabel.details": "SMS Template Details",
  "common.smsTemplateLabel.detailsDescription": "Template status, list sending, delivery usage, and timestamps.",
  "common.smsTemplateLabel.draftStatus": "Draft",
  "common.smsTemplateLabel.editSmsTemplate": "Edit",
  "common.smsTemplateLabel.editSmsTemplatePage": "Edit SMS Template",
  "common.smsTemplateLabel.editTemplate": "Edit",
  "common.smsTemplateLabel.failedCount": "Failed",
  "common.smsTemplateLabel.failedRate": "Failed Rate",
  "common.smsTemplateLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.smsTemplateLabel.hourOfDay": "Hour of Day",
  "common.smsTemplateLabel.id": "ID",
  "common.smsTemplateLabel.insertMergeTags": "Insert merge tags",
  "common.smsTemplateLabel.isPublished": "Published",
  "common.smsTemplateLabel.listSendingDisabled": "This SMS template is not configured for list sending.",
  "common.smsTemplateLabel.lists": "Lists",
  "common.smsTemplateLabel.listsRequired": "Select at least one list when sending to a list.",
  "common.smsTemplateLabel.mergeTagsHint": "You can use merge tags to personalize your message.",
  "common.smsTemplateLabel.mergeTagsSelectCategory": "Select a category to browse merge tags.",
  "common.smsTemplateLabel.messageContent": "Message Content",
  "common.smsTemplateLabel.messageContentDescription": "The SMS body sent when this template is used.",
  "common.smsTemplateLabel.name": "Name",
  "common.smsTemplateLabel.namePlaceholder": "Enter template name",
  "common.smsTemplateLabel.nameRequired": "Template name is required.",
  "common.smsTemplateLabel.next": "Next",
  "common.smsTemplateLabel.no": "No",
  "common.smsTemplateLabel.noChartData": "There is no chart data to show yet.",
  "common.smsTemplateLabel.noEligibleRecipientsScheduled": "No eligible SMS recipients were available. Check SMS consent, communication preferences, and recipient phone numbers.",
  "common.smsTemplateLabel.noPendingRecipients": "No pending recipients are available for this SMS template.",
  "common.smsTemplateLabel.noResultsFound": "No Results Found",
  "common.smsTemplateLabel.noScheduledSend": "No scheduled send yet.",
  "common.smsTemplateLabel.notScheduled": "Not scheduled",
  "common.smsTemplateLabel.overviewTab": "Overview",
  "common.smsTemplateLabel.pageTitle": "SMS Templates",
  "common.smsTemplateLabel.pending": "Pending",
  "common.smsTemplateLabel.pendingRecipients": "Pending Recipients",
  "common.smsTemplateLabel.percentageAxis": "Percentage (%)",
  "common.smsTemplateLabel.performanceOverTime": "Performance Over Time",
  "common.smsTemplateLabel.performanceOverTimeDescription": "Sent and delivered rates across the last 30 days.",
  "common.smsTemplateLabel.performanceSnapshot": "All Time Performance Snapshot",
  "common.smsTemplateLabel.performanceSnapshotDescription": "Delivery and engagement rates across all conversations sent with this template.",
  "common.smsTemplateLabel.performanceTab": "Performance",
  "common.smsTemplateLabel.published": "Published",
  "common.smsTemplateLabel.publishedStatus": "Published",
  "common.smsTemplateLabel.read": "Read",
  "common.smsTemplateLabel.readRate": "Read Rate (Delivered)",
  "common.smsTemplateLabel.readRateDelivered": "Read rate (delivered)",
  "common.smsTemplateLabel.readRateShort": "Read Rate",
  "common.smsTemplateLabel.readyToSend": "Template ready to send.",
  "common.smsTemplateLabel.scheduleCancelled": "Scheduled send cancelled successfully.",
  "common.smsTemplateLabel.scheduleCreated": "Scheduled send created successfully.",
  "common.smsTemplateLabel.scheduleNoLongerCancelable": "This scheduled send can no longer be cancelled.",
  "common.smsTemplateLabel.scheduleSend": "Schedule send",
  "common.smsTemplateLabel.scheduleSendDateHint": "Choose the day you want the SMS to go out.",
  "common.smsTemplateLabel.scheduleSendDescription": "Pick a future date and time to send this SMS template automatically.",
  "common.smsTemplateLabel.scheduleSendTimeHint": "Choose the time you want the SMS to go out.",
  "common.smsTemplateLabel.scheduleTab": "Schedule",
  "common.smsTemplateLabel.scheduleTimezoneHint": "The selected time is interpreted using :timezone (:source).",
  "common.smsTemplateLabel.scheduleTimezoneSummary": "Scheduling uses :timezone from :source.",
  "common.smsTemplateLabel.scheduledSend": "Scheduled send",
  "common.smsTemplateLabel.scheduledTemplateNotFound": "Scheduled SMS template was not found.",
  "common.smsTemplateLabel.searchSmsTemplates": "Search SMS templates by name",
  "common.smsTemplateLabel.searchTemplates": "Search templates by name",
  "common.smsTemplateLabel.segments": "Segments",
  "common.smsTemplateLabel.selectListsPlaceholder": "Select lists?",
  "common.smsTemplateLabel.sendBulkSms": "Send Bulk SMS",
  "common.smsTemplateLabel.sendDate": "Send date",
  "common.smsTemplateLabel.sendSmsToList": "Send SMS to list",
  "common.smsTemplateLabel.sendTime": "Send time",
  "common.smsTemplateLabel.sendToList": "Send to List",
  "common.smsTemplateLabel.senderNumbers": "Sender numbers",
  "common.smsTemplateLabel.sent": "Sent",
  "common.smsTemplateLabel.sentCount": "Sent",
  "common.smsTemplateLabel.sentRate": "Sent Rate",
  "common.smsTemplateLabel.smsMessage": "SMS message",
  "common.smsTemplateLabel.smsTemplates": "SMS templates",
  "common.smsTemplateLabel.smsTemplatesEmpty": "No SMS templates matched the current search or filters.",
  "common.smsTemplateLabel.status": "Status",
  "common.smsTemplateLabel.stepAnnouncement": ":step (:current of :total)",
  "common.smsTemplateLabel.stepProgress": "Step :current of :total",
  "common.smsTemplateLabel.stepTemplateInformation": "Template information",
  "common.smsTemplateLabel.stepTemplateInformationHint": "Enter the template name, delivery settings, and SMS message content.",
  "common.smsTemplateLabel.templateNotFound": "SMS template not found.",
  "common.smsTemplateLabel.templateType": "Template Type",
  "common.smsTemplateLabel.templates": "templates",
  "common.smsTemplateLabel.templatesEmpty": "No templates matched the current search or filters.",
  "common.smsTemplateLabel.timeOfDayAnalysis": "Time-of-Day Analysis",
  "common.smsTemplateLabel.timeOfDayAnalysisDescription": "Sent and delivered rates grouped by hour of day.",
  "common.smsTemplateLabel.timezoneFromProfile": "your profile",
  "common.smsTemplateLabel.timezoneFromSchool": "school settings",
  "common.smsTemplateLabel.totalCharacters": "Total characters",
  "common.smsTemplateLabel.totalConversations": "Total Conversations",
  "common.smsTemplateLabel.unsubscribeRate": "Unsubscribe Rate",
  "common.smsTemplateLabel.unsubscribed": "Unsubscribed",
  "common.smsTemplateLabel.updateFailed": "Could not update the SMS template. Please try again.",
  "common.smsTemplateLabel.updateTemplate": "Update Template",
  "common.smsTemplateLabel.updatedAt": "Updated",
  "common.smsTemplateLabel.usage": "Usage",
  "common.smsTemplateLabel.usageDescription": "Recipient volume, pending sends, and template timestamps.",
  "common.smsTemplateLabel.wizardFooterAria": "SMS template creation actions",
  "common.smsTemplateLabel.wizardFooterAriaEdit": "SMS template edit actions",
  "common.smsTemplateLabel.wizardNavigation": "SMS template creation steps",
  "common.smsTemplateLabel.wizardNavigationEdit": "SMS template edit steps",
  "common.smsTemplateLabel.yes": "Yes",
  "common.staffActionLabel.formLoadError": "Unable to load this form. Please try again.",
  "common.staffActionLabel.formMissing": "No form was found to submit.",
  "common.staffActionLabel.formModalTitle": "Form",
  "common.staffActionLabel.formSubmitError": "Unable to save. Please try again.",
  "common.staffTeamLabel.active": "Active",
  "common.staffTeamLabel.activeHelp": "Inactive teams remain in the system but can be hidden from workflows.",
  "common.staffTeamLabel.activityToggleUnavailable": "User activity status is not available in this environment.",
  "common.staffTeamLabel.addUsers": "Add users",
  "common.staffTeamLabel.addUsersDescription": "Select staff users from this school to add to the team.",
  "common.staffTeamLabel.addUsersFailed": "Unable to add users. Review the form and try again.",
  "common.staffTeamLabel.addUsersSuccess": "Users added to the team.",
  "common.staffTeamLabel.backToList": "Back to teams",
  "common.staffTeamLabel.createDescription": "Create a team and assign staff members.",
  "common.staffTeamLabel.createTeam": "Create Team",
  "common.staffTeamLabel.createdSuccessfully": "Team created successfully.",
  "common.staffTeamLabel.deleteTeam": "Delete",
  "common.staffTeamLabel.deleteTeamConfirm": "Are you sure you want to delete this team?",
  "common.staffTeamLabel.deletedSuccessfully": "Team deleted successfully.",
  "common.staffTeamLabel.description": "Description",
  "common.staffTeamLabel.descriptionHelp": "Use this description to explain the team scope, responsibilities, and collaboration expectations.",
  "common.staffTeamLabel.detailsSection": "Team information",
  "common.staffTeamLabel.detailsSectionDesc": "Core team settings and identifiers.",
  "common.staffTeamLabel.detailsTab": "Team details",
  "common.staffTeamLabel.editDescription": "Update team details and member assignments.",
  "common.staffTeamLabel.editTeam": "Edit",
  "common.staffTeamLabel.editTeamTitle": "Edit Team",
  "common.staffTeamLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.staffTeamLabel.id": "ID",
  "common.staffTeamLabel.invalidMembers": "One or more selected users are not part of this school.",
  "common.staffTeamLabel.memberActivityToggledSuccessfully": "User activity status updated.",
  "common.staffTeamLabel.members": "Members",
  "common.staffTeamLabel.membersEmpty": "No members assigned",
  "common.staffTeamLabel.membersEmptyDesc": "Use Add users in the header to assign staff members who belong to this school.",
  "common.staffTeamLabel.membersHelp": "Assign staff users who belong to this school.",
  "common.staffTeamLabel.membersTab": "Members",
  "common.staffTeamLabel.name": "Name",
  "common.staffTeamLabel.nameRequired": "Team name is required.",
  "common.staffTeamLabel.no": "No",
  "common.staffTeamLabel.noAvailableUsers": "All school staff users are already assigned to this team.",
  "common.staffTeamLabel.pageTitle": "Teams",
  "common.staffTeamLabel.removeFromTeam": "Remove from team",
  "common.staffTeamLabel.removeFromTeamConfirm": "Remove this user from the team?",
  "common.staffTeamLabel.removedFromTeamSuccessfully": "User removed from the team.",
  "common.staffTeamLabel.saveFailed": "Unable to save this team. Review the form and try again.",
  "common.staffTeamLabel.searchMembers": "Search members by name, email, or phone",
  "common.staffTeamLabel.searchTeams": "Search teams by name or description",
  "common.staffTeamLabel.slug": "Slug",
  "common.staffTeamLabel.stepDescription": "Description",
  "common.staffTeamLabel.stepDescriptionHint": "Describe the team purpose and responsibilities.",
  "common.staffTeamLabel.stepDetails": "Team details",
  "common.staffTeamLabel.stepDetailsHint": "Name the team, set whether it is active, and describe its purpose.",
  "common.staffTeamLabel.stepMembers": "Members",
  "common.staffTeamLabel.stepMembersHint": "Assign staff users who belong to this school.",
  "common.staffTeamLabel.stepProgress": "Step :current of :total",
  "common.staffTeamLabel.teams": "teams",
  "common.staffTeamLabel.teamsEmpty": "No teams matched the current search or filters.",
  "common.staffTeamLabel.updatedSuccessfully": "Team updated successfully.",
  "common.staffTeamLabel.wizardNavigation": "Team wizard navigation",
  "common.staffTeamLabel.yes": "Yes",
  "common.startedLabel.title": "Started",
  "common.statusDistributionLabel.description": "Share of total workflow executions",
  "common.statusLabel.actionFailed": "Unable to complete that action right now.",
  "common.statusLabel.addStatus": "Add Status",
  "common.statusLabel.back": "Back",
  "common.statusLabel.backToList": "Back to Statuses",
  "common.statusLabel.cloneStatus": "Clone status",
  "common.statusLabel.createFailed": "Unable to create statuses. Review the form and try again.",
  "common.statusLabel.createStatus": "Create Status",
  "common.statusLabel.createdAt": "Creation Date",
  "common.statusLabel.createdSuccessfully": "Statuses created successfully.",
  "common.statusLabel.defaultStatus": "Default",
  "common.statusLabel.deleteStatus": "Delete",
  "common.statusLabel.bulkDeleteInUseWarning": "Some of the selected records cannot be deleted because they are being used by other records.",
  "common.statusLabel.bulkDeleteNoneSelected": "No statuses were selected.",
  "common.statusLabel.bulkDeletePartialSuccess": "Some statuses were deleted. Others could not be removed because they are in use.",
  "common.statusLabel.deleteInUseWarning": "This status cannot be deleted because it is being used by other records.",
  "common.statusLabel.deleteStatusTitle": "Delete Status",
  "common.statusLabel.deletedSuccessfully": "Status deleted successfully.",
  "common.statusLabel.deleteStatusConfirm": "Are you sure you want to delete this status?",
  "common.statusLabel.details": "Details",
  "common.statusLabel.detailsDescription": "Status label, value, and model type information.",
  "common.statusLabel.editDisabled": "Status editing is disabled.",
  "common.statusLabel.onlyLabelEditable": "Only the status label can be edited.",
  "common.statusLabel.editStatus": "Edit",
  "common.statusLabel.editStatusAction": "Edit Status",
  "common.statusLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.statusLabel.history": "History",
  "common.statusLabel.historyDescription": "Record creation and update timestamps.",
  "common.statusLabel.id": "ID",
  "common.statusLabel.label": "Label",
  "common.statusLabel.labelRequired": "Label is required.",
  "common.statusLabel.linkedRecords": "Linked Records",
  "common.statusLabel.next": "Next",
  "common.statusLabel.no": "No",
  "common.statusLabel.pageTitle": "Statuses",
  "common.statusLabel.removeStatus": "Remove status",
  "common.statusLabel.searchStatuses": "Search statuses by label or value",
  "common.statusLabel.selectStatusType": "Select Status Type",
  "common.statusLabel.statusFallbackTitle": "Status",
  "common.statusLabel.statusNumber": "Status :number",
  "common.statusLabel.statusRows": "Status Rows",
  "common.statusLabel.statusRowsEmpty": "Add at least one status row.",
  "common.statusLabel.statusRowsHint": "Add one or more statuses with their value, display label, and model type.",
  "common.statusLabel.statuses": "statuses",
  "common.statusLabel.statusesEmpty": "No statuses matched the current search or filters.",
  "common.statusLabel.stepAnnouncement": ":step. Step :current of :total.",
  "common.statusLabel.stepInformation": "Status Information",
  "common.statusLabel.stepInformationHint": "Update the status value, display label, and model type.",
  "common.statusLabel.stepProgress": "Step :current of :total",
  "common.statusLabel.stepStatuses": "Statuses",
  "common.statusLabel.stepStatusesHint": "Create the status options available across tenant records.",
  "common.statusLabel.type": "Type",
  "common.statusLabel.typeRequired": "Status type is required.",
  "common.statusLabel.updateFailed": "Unable to update status. Review the form and try again.",
  "common.statusLabel.updateStatus": "Update Status",
  "common.statusLabel.updatedAt": "Updated",
  "common.statusLabel.updatedSuccessfully": "Status updated successfully.",
  "common.statusLabel.usage": "Usage",
  "common.statusLabel.usageDescription": "Default-state and dependency details that affect whether this status can be deleted.",
  "common.statusLabel.value": "Value",
  "common.statusLabel.valueRequired": "Value is required.",
  "common.statusLabel.viewStatus": "View",
  "common.statusLabel.wizardFooterAria": "Status wizard actions",
  "common.statusLabel.wizardNavigation": "Status wizard navigation",
  "common.statusLabel.yes": "Yes",
  "common.stepFailuresHintLabel.description": ":count step failure(s) recorded in otherwise non-failed runs",
  "common.stepFailuresLabel.title": "Step Failures",
  "common.stepFailuresTableHintLabel.description": "Failed action or communication attempts, even when the workflow did not fully fail",
  "common.stepLabel.title": "Step",
  "common.studentCreateLabel.campusesRequired": "A campus is required.",
  "common.studentCreateLabel.createFailed": "Unable to create the contact. Review the form and try again.",
  "common.studentCreateLabel.emailInvalid": "Enter a valid email address.",
  "common.studentCreateLabel.emailRequired": "Email is required.",
  "common.studentCreateLabel.firstNameRequired": "First name is required.",
  "common.studentCreateLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.studentCreateLabel.lastNameRequired": "Last name is required.",
  "common.studentCreateLabel.program": "Program (Optional)",
  "common.studentCreateLabel.selectProgram": "Select Program",
  "common.studentCreateLabel.stageRequired": "Contact type is required.",
  "common.studentCreateLabel.stepAnnouncement": ":step (:current of :total)",
  "common.studentCreateLabel.stepProgress": "Step :current of :total",
  "common.studentCreateLabel.wizardFooterAria": "Student create wizard actions",
  "common.studentCreateLabel.wizardNavigation": "Student create wizard navigation",
  "common.studentProfileLabel.activityIndicatorTooltip": ":label (:count)",
  "common.studentProfileLabel.aiClassification": "AI Classification",
  "common.studentProfileLabel.aiClassificationEmpty": "Not classified yet",
  "common.studentProfileLabel.auditLogEmpty": "No audit events recorded for this contact yet.",
  "common.studentProfileLabel.auditLogGridHint": "Use View details on a row (or double-click the row) to open field changes, actor details, correlation, related events, and restore when the subject is soft-deleted.",
  "common.studentProfileLabel.auditLogIntro": "Review changes to this contact with the same detail drawer, field diffs, restore, and privacy export tools used in the unified audit hub.",
  "common.studentProfileLabel.auditLogOpenHub": "Open audit hub",
  "common.studentProfileLabel.auditLogPrivacyReport": "Privacy report",
  "common.studentProfileLabel.auditLogStudentDeletedHint": "This contact is soft-deleted. You can restore it from here if you have audit access.",
  "common.studentProfileLabel.auditLogTitle": "Audit log",
  "common.studentProfileLabel.createdAt": "Created at",
  "common.studentProfileLabel.fieldHistoryEmpty": "No recorded changes for this field.",
  "common.studentProfileLabel.fieldHistoryLoadError": "Unable to load field history right now.",
  "common.studentProfileLabel.fieldHistoryLoading": "Loading field history…",
  "common.studentProfileLabel.fieldHistoryOpen": "View change history",
  "common.studentProfileLabel.fieldHistoryTitle": "Change history: :field",
  "common.studentProfileLabel.hideActivitySplit": "Hide activity timeline",
  "common.studentProfileLabel.listAddedAt": "Added to list",
  "common.studentProfileLabel.listMembership": "Membership",
  "common.studentProfileLabel.listMembershipDynamic": "Dynamic match",
  "common.studentProfileLabel.listMembershipManual": "Added manually",
  "common.studentProfileLabel.listMembershipStatic": "Static membership",
  "common.studentProfileLabel.listsEmpty": "This contact is not on any lists yet.",
  "common.studentProfileLabel.listsSearchPlaceholder": "Search lists",
  "common.studentProfileLabel.quickActivities": "Quick activities",
  "common.studentProfileLabel.expandConversation": "Full screen",
  "common.studentProfileLabel.exitConversationFullscreen": "Exit full screen",
  "common.studentProfileLabel.showActivitySplit": "Show activity timeline",
  "common.studentProfileLabel.signatureAuditTrailTab": "Signature Audit Trail",
  "common.studentProfileLabel.signatureMode": "Signature Mode",
  "common.studentProfileLabel.workflows": "Workflows",
  "common.submissionLabel.addNewSubmission": "Add New Submission",
  "common.submissionLabel.agency": "Agency",
  "common.submissionLabel.agent": "Agent",
  "common.submissionLabel.answers": "Application Answers",
  "common.submissionLabel.answersDescription": "Submitted field values for this application, grouped by section.",
  "common.submissionLabel.answersTab": "Answers",
  "common.submissionLabel.application": "Application",
  "common.submissionLabel.archiveApplicant": "Archive",
  "common.submissionLabel.archiveSubmissions": "Archive",
  "common.submissionLabel.archivedSuccessfully": "Archived successfully.",
  "common.submissionLabel.backToList": "Back to Submissions",
  "common.submissionLabel.by": "By:",
  "common.submissionLabel.campus": "Campus",
  "common.submissionLabel.contactType": "Contact Type",
  "common.submissionLabel.course": "Course",
  "common.submissionLabel.createdAt": "Creation Date",
  "common.submissionLabel.deleteApplicant": "Delete",
  "common.submissionLabel.deleteApplicantConfirm": "Are you sure you want to delete this applicant?",
  "common.submissionLabel.deleteSubmissions": "Delete",
  "common.submissionLabel.deletedSuccessfully": "Deleted successfully.",
  "common.submissionLabel.detailTitle": "Submission #:id",
  "common.submissionLabel.details": "Submission Details",
  "common.submissionLabel.detailsDescription": "Applicant, application, status, progress, and academic selections.",
  "common.submissionLabel.detailsTab": "Details",
  "common.submissionLabel.email": "Email",
  "common.submissionLabel.historyActorStaff": "Staff",
  "common.submissionLabel.historyActorStudent": "Student",
  "common.submissionLabel.historyActorSystem": "System",
  "common.submissionLabel.historyAmount": "Amount",
  "common.submissionLabel.historyBadgeConfirmed": "Confirmed",
  "common.submissionLabel.historyBadgeContract": "Contract",
  "common.submissionLabel.historyBadgeCreated": "Created",
  "common.submissionLabel.historyBadgeDeleted": "Deleted",
  "common.submissionLabel.historyBadgeEvent": "Event",
  "common.submissionLabel.historyBadgeFormUpdated": "Form updated",
  "common.submissionLabel.historyBadgeLocked": "Locked",
  "common.submissionLabel.historyBadgePaid": "Paid",
  "common.submissionLabel.historyBadgePayment": "Payment",
  "common.submissionLabel.historyBadgeRestored": "Restored",
  "common.submissionLabel.historyBadgeSigned": "Signed",
  "common.submissionLabel.historyBadgeStep": "Step",
  "common.submissionLabel.historyBadgeUnlocked": "Unlocked",
  "common.submissionLabel.historyClearFilters": "Clear filters",
  "common.submissionLabel.historyCollapsedHint": ":count duplicate status updates were hidden.",
  "common.submissionLabel.historyContractCreated": "Contract created: :title",
  "common.submissionLabel.historyContractFallback": "Contract",
  "common.submissionLabel.historyContractStatusChangedFromTo": ":title status changed from :from to :to",
  "common.submissionLabel.historyContractStatusSetTo": ":title status set to :status",
  "common.submissionLabel.historyContractTitle": "Contract",
  "common.submissionLabel.historyDescription": "Application activity: status, form updates, signatures, contracts, and payments.",
  "common.submissionLabel.historyEmptyDescription": "No submission activity found for :name.",
  "common.submissionLabel.historyField": "Field",
  "common.submissionLabel.historyFilterActor": "Actor",
  "common.submissionLabel.historyFilterAllActors": "All actors",
  "common.submissionLabel.historyFilterAllApplications": "All applications",
  "common.submissionLabel.historyFilterAllTypes": "All event types",
  "common.submissionLabel.historyFilterApplication": "Application",
  "common.submissionLabel.historyFilterDateFrom": "From date",
  "common.submissionLabel.historyFilterDateRange": "Date range",
  "common.submissionLabel.historyFilterDateRangePlaceholder": "Select date range",
  "common.submissionLabel.historyFilterDateTo": "To date",
  "common.submissionLabel.historyFilterType": "Event type",
  "common.submissionLabel.historyFilterTypeContractCreated": "Contract created",
  "common.submissionLabel.historyFilterTypeContractStatus": "Contract status",
  "common.submissionLabel.historyFilterTypeFormUpdated": "Form updated",
  "common.submissionLabel.historyFilterTypeInvoicePaid": "Invoice paid",
  "common.submissionLabel.historyFilterTypeLocked": "Locked",
  "common.submissionLabel.historyFilterTypePaymentReceived": "Payment received",
  "common.submissionLabel.historyFilterTypeSigned": "Signed",
  "common.submissionLabel.historyFilterTypeStatus": "Status change",
  "common.submissionLabel.historyFilterTypeStep": "Step progress",
  "common.submissionLabel.historyFilterTypeSubmissionCreated": "Submission created",
  "common.submissionLabel.historyFilterTypeSubmissionDeleted": "Submission deleted",
  "common.submissionLabel.historyFilterTypeSubmissionRestored": "Submission restored",
  "common.submissionLabel.historyFilterTypeUnlocked": "Unlocked",
  "common.submissionLabel.historyFilters": "Submission history filters",
  "common.submissionLabel.historyFormFieldUpdated": "Updated :field",
  "common.submissionLabel.historyFormFieldsUpdated": "Updated :count form fields",
  "common.submissionLabel.historyGroupByApplication": "Group by application",
  "common.submissionLabel.historyGroupEventCount": ":count events",
  "common.submissionLabel.historyInvoice": "Invoice",
  "common.submissionLabel.historyInvoicePaid": "Invoice marked paid",
  "common.submissionLabel.historyInvoicePaidAmount": "Invoice paid (:amount)",
  "common.submissionLabel.historyMoreFields": "+ :count more fields",
  "common.submissionLabel.historyNewValue": "New",
  "common.submissionLabel.historyNoMatches": "No matching activity",
  "common.submissionLabel.historyNoMatchesDescription": "Try clearing filters or adjusting the date range.",
  "common.submissionLabel.historyOldValue": "Previous",
  "common.submissionLabel.historyPaymentConfirmedStatus": "Submission confirmed after payment",
  "common.submissionLabel.historyPaymentMethod": "Payment method",
  "common.submissionLabel.historyPaymentReceived": "Payment received",
  "common.submissionLabel.historyPaymentReceivedAmount": "Payment received (:amount)",
  "common.submissionLabel.historyShowingCount": "Showing :shown of :total",
  "common.submissionLabel.historySignatureCaptured": "Signature captured: :field",
  "common.submissionLabel.historySource": "Source",
  "common.submissionLabel.historyStatusChangedFromTo": "Status changed from :from to :to",
  "common.submissionLabel.historyStatusSetTo": "Status set to :status",
  "common.submissionLabel.historyStep": "Step",
  "common.submissionLabel.historyStepChangedFromTo": "Moved from step :from to step :to",
  "common.submissionLabel.historyStepUpdated": "Application step updated",
  "common.submissionLabel.historySubmissionCreated": "Submission created",
  "common.submissionLabel.historySubmissionDeleted": "Submission deleted",
  "common.submissionLabel.historySubmissionLocked": "Submission locked",
  "common.submissionLabel.historySubmissionRestored": "Submission restored",
  "common.submissionLabel.historySubmissionUnlocked": "Submission unlocked",
  "common.submissionLabel.historyTab": "History",
  "common.submissionLabel.historyTitle": "Submission History",
  "common.submissionLabel.historyViewInvoice": "View invoice",
  "common.submissionLabel.historyViewRelated": "View related record",
  "common.submissionLabel.historyViewSubmission": "View submission",
  "common.submissionLabel.id": "ID",
  "common.submissionLabel.name": "Name",
  "common.submissionLabel.noStatusHistory": "No status history",
  "common.submissionLabel.noStatusHistoryDescription": "Status changes recorded for this submission will appear here.",
  "common.submissionLabel.notSet": "Not set",
  "common.submissionLabel.pageTitle": "Submissions Status",
  "common.submissionLabel.profileEmptyDescription": "This contact has not submitted any applications yet.",
  "common.submissionLabel.program": "Program",
  "common.submissionLabel.progressStatus": "Progress Status",
  "common.submissionLabel.recentTransaction": "Recent Transaction",
  "common.submissionLabel.restoreApplicant": "Restore",
  "common.submissionLabel.searchSubmissions": "Search submissions by applicant, email, application, agent, or agency",
  "common.submissionLabel.signatureIpAddress": "IP Address",
  "common.submissionLabel.signaturePreview": "Signature",
  "common.submissionLabel.signatureSignedAt": "Signed At",
  "common.submissionLabel.signatureSource": "Source",
  "common.submissionLabel.signatureTrail": "Signature Audit Trail",
  "common.submissionLabel.signatureTrailDescription": "Recorded signature events for this submission, including mode, source, and IP address.",
  "common.submissionLabel.signatureTrailEmpty": "No signature events",
  "common.submissionLabel.signatureTrailEmptyDescription": "Signature audit events for this submission will appear here once a signature field is signed.",
  "common.submissionLabel.signaturesTab": "Signatures",
  "common.submissionLabel.status": "Status",
  "common.submissionLabel.statusTimeline": "Status Timeline",
  "common.submissionLabel.statusTimelineDescription": "Historical status changes recorded for this submission.",
  "common.submissionLabel.submissions": "submissions",
  "common.submissionLabel.submissionsEmpty": "No submissions matched the current search or filters.",
  "common.submissionLabel.syncWith": "Sync with :service",
  "common.submissionLabel.system": "System",
  "common.submissionLabel.updatedAt": "Updated",
  "common.submissionLabel.viewApplicant": "View Applicant",
  "common.successRateHintLabel.description": ":completed of :finished completed runs",
  "common.successRateLabel.title": "Success Rate",
  "common.taskLabel.assigned": "Assigned",
  "common.taskLabel.assignedTo": "Assigned To",
  "common.taskLabel.assignedUser": "Assigned User",
  "common.taskLabel.assigneeNotOnStaffTeam": "The selected user is not a member of that staff team.",
  "common.taskLabel.assigneeOrTeamRequired": "Select a staff user, a staff team, or both.",
  "common.taskLabel.assignmentHelp": "Assign a user, a team, or both. Team-only tasks notify all active team members.",
  "common.taskLabel.attachments": "Attachments",
  "common.taskLabel.board": "Board",
  "common.taskLabel.calendar": "Calendar",
  "common.taskLabel.calendarEventCount": ":count scheduled item",
  "common.taskLabel.calendarEventsCount": ":count scheduled items",
  "common.taskLabel.calendarLoadFailed": "Unable to load calendar.",
  "common.taskLabel.calendarNavigation": "Calendar navigation",
  "common.taskLabel.calendarTimezoneTitle": "Calendar timezone",
  "common.taskLabel.calendarTimezoneProfileInfo": "Viewing :user's calendar. Times use this user's profile timezone (:timezone).",
  "common.taskLabel.calendarTimezoneSchoolWarning": "Viewing :user's calendar. No profile timezone is set, so times use the school's timezone (:timezone).",
  "common.taskLabel.calendarTimezoneApplicationWarning": "Viewing :user's calendar. No profile or school timezone is set, so times use the application timezone (:timezone).",
  "common.taskLabel.chooseDate": "Choose a date",
  "common.taskLabel.clearFilters": "Clear filters",
  "common.taskLabel.clearSelection": "Clear selection",
  "common.taskLabel.contact": "Contact",
  "common.taskLabel.createFailed": "Unable to create task.",
  "common.taskLabel.createTask": "Create Task",
  "common.taskLabel.createTaskDescription": "Add a task to the board and calendar.",
  "common.taskLabel.duration": "Duration",
  "common.taskLabel.newTask": "New Task",
  "common.taskLabel.createdAt": "Creation Date",
  "common.taskLabel.createdSuccessfully": "Task created successfully!",
  "common.taskLabel.formErrorsBeforeContinue": "Please correct the form errors before continuing.",
  "common.taskLabel.deleteFailed": "Unable to delete task.",
  "common.taskLabel.deleteTask": "Delete Task",
  "common.taskLabel.deleteTaskConfirm": "Are you sure you want to delete this task?",
  "common.taskLabel.deletedSuccessfully": "Task deleted successfully.",
  "common.taskLabel.dueDate": "Due Date",
  "common.taskLabel.dueDateRangePlaceholder": "All due dates",
  "common.taskLabel.editTask": "Edit Task",
  "common.taskLabel.editTaskDescription": "Update task details, assignment, and status.",
  "common.taskLabel.filters": "Task filters",
  "common.taskLabel.id": "ID",
  "common.taskLabel.kanban": "Board",
  "common.taskLabel.loadDetailsFailed": "Unable to load task details.",
  "common.taskLabel.loadMoreTasksRemaining": "Load :count more",
  "common.taskLabel.loadingCalendar": "Loading calendar...",
  "common.taskLabel.moveSelectedTo": "Move to",
  "common.taskLabel.noTasksInStatus": "No tasks in this status",
  "common.taskLabel.nextDay": "Next day",
  "common.taskLabel.noCalendarEvents": "Nothing scheduled",
  "common.taskLabel.noCalendarEventsDescription": "Choose another date to view its tasks and meetings.",
  "common.taskLabel.notifyByEmail": "Notify by email",
  "common.taskLabel.pageTitle": "Tasks",
  "common.taskLabel.priority": "Priority",
  "common.taskLabel.previousDay": "Previous day",
  "common.taskLabel.rescheduleFailed": "Unable to reschedule task.",
  "common.taskLabel.rescheduledSuccessfully": "Task rescheduled successfully!",
  "common.taskLabel.searchStaffTeams": "Search teams by name",
  "common.taskLabel.searchTasks": "Search tasks by title",
  "common.taskLabel.selectStaffTeam": "Select team",
  "common.taskLabel.selectTask": "Select task",
  "common.taskLabel.selectedTasks": ":count selected",
  "common.taskLabel.showingTasksInStage": ":visible of :total",
  "common.taskLabel.sortDueDateAsc": "Sort by due date: earliest first",
  "common.taskLabel.sortDueDateDesc": "Sort by due date: latest first",
  "common.taskLabel.staffTeam": "Staff Team",
  "common.taskLabel.staffTeamInvalid": "Select a valid active staff team.",
  "common.taskLabel.staffTeamUnavailable": "Staff teams are not available for this school.",
  "common.taskLabel.status": "Status",
  "common.taskLabel.statusUpdateFailed": "Unable to update task status.",
  "common.taskLabel.statusUpdated": "Task status updated.",
  "common.taskLabel.statusUpdatedBulk": ":count tasks updated.",
  "common.taskLabel.taskType.call": "Call",
  "common.taskLabel.taskType.email": "Email",
  "common.taskLabel.taskType.meeting": "Meeting",
  "common.taskLabel.taskType.to_do": "To-Do",
  "common.taskLabel.tasks": "tasks",
  "common.taskLabel.tasksEmpty": "No tasks matched the current search or filters.",
  "common.taskLabel.tasksPerStage": "Tasks per stage",
  "common.taskLabel.title": "Title",
  "common.taskLabel.type": "Type",
  "common.taskLabel.updateFailed": "Unable to update task.",
  "common.taskLabel.updatedSuccessfully": "Task updated successfully!",
  "common.taskLabel.viewModes": "Task view modes",
  "common.taskLabel.viewTask": "View Task",
  "common.templateLabel.actionFailed": "Unable to complete that action right now.",
  "common.templateLabel.active": "Active",
  "common.templateLabel.addCustomField": "Add Custom Field",
  "common.templateLabel.back": "Back",
  "common.templateLabel.backToList": "Back to Templates",
  "common.templateLabel.backToTemplates": "Back to Templates",
  "common.templateLabel.category": "Category",
  "common.templateLabel.createFailed": "Unable to create the template right now.",
  "common.templateLabel.createTemplate": "Create Template",
  "common.templateLabel.createVariationType": "Create Variation Type",
  "common.templateLabel.createdSuccessfully": "Template :title created successfully.",
  "common.templateLabel.customFieldNumber": "Custom Field :number",
  "common.templateLabel.customFields": "Custom Fields",
  "common.templateLabel.customFieldsEmpty": "No custom fields have been added.",
  "common.templateLabel.customFieldsHint": "Fields saved under the template properties.",
  "common.templateLabel.default": "Default",
  "common.templateLabel.deleteTemplate": "Delete",
  "common.templateLabel.deleteTemplateConfirm": "Are you sure you want to delete this template?",
  "common.templateLabel.deleteVariationTypeConfirm": "Are you sure you want to delete this variation type?",
  "common.templateLabel.deletedSuccessfully": "Template deleted successfully.",
  "common.templateLabel.description": "Description",
  "common.templateLabel.descriptionPlaceholder": "Describe how this template should be used",
  "common.templateLabel.details": "Template Details",
  "common.templateLabel.detailsTab": "Details",
  "common.templateLabel.editTemplate": "Edit",
  "common.templateLabel.editTemplatePage": "Edit Template",
  "common.templateLabel.editVariationType": "Edit Variation Type",
  "common.templateLabel.exportTemplate": "Export",
  "common.templateLabel.feesLabel": "Fees Label",
  "common.templateLabel.feesLabelRequired": "Fees label is required when fees are enabled.",
  "common.templateLabel.fieldLabel": "Field Label",
  "common.templateLabel.fieldLabelPlaceholder": "Enter field label",
  "common.templateLabel.fieldName": "Field Name",
  "common.templateLabel.fieldNameLockedHint": "Field names cannot be changed after the field is created.",
  "common.templateLabel.fieldNamePlaceholder": "field_name",
  "common.templateLabel.fieldType": "Field Type",
  "common.templateLabel.fieldTypeDate": "Date",
  "common.templateLabel.fieldTypeList": "List",
  "common.templateLabel.fieldTypeModel": "Model",
  "common.templateLabel.fieldTypeNumber": "Number",
  "common.templateLabel.fieldTypeShortText": "Short Text",
  "common.templateLabel.fieldTypeText": "Text",
  "common.templateLabel.fieldUpdatedSuccessfully": "Template field updated successfully.",
  "common.templateLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.templateLabel.hasFees": "Has Fees",
  "common.templateLabel.id": "ID",
  "common.templateLabel.listOptionsDataSource": "List Options",
  "common.templateLabel.listOptionsHint": "Use one option per line. Use Label|Value when the stored value should differ from the label.",
  "common.templateLabel.modelType": "Model Type",
  "common.templateLabel.modelTypeCampus": "Campus",
  "common.templateLabel.modelTypeCourse": "Course",
  "common.templateLabel.modelTypeGroup": "Group",
  "common.templateLabel.modelTypeProgram": "Program",
  "common.templateLabel.modelTypeSemester": "Semester",
  "common.templateLabel.multipleField": "Multiple",
  "common.templateLabel.next": "Next",
  "common.templateLabel.no": "No",
  "common.templateLabel.noVariationTypes": "No variation types",
  "common.templateLabel.noVariationTypesDescription": "This template does not define any variation types yet.",
  "common.templateLabel.noVariationTypesTitle": "No variation types yet",
  "common.templateLabel.object": "Object",
  "common.templateLabel.pageTitle": "Templates",
  "common.templateLabel.priceModel": "Price Model",
  "common.templateLabel.priceModelRequired": "Price model is required.",
  "common.templateLabel.pricingModel": "Pricing Model",
  "common.templateLabel.pricingTemplate": "Pricing Template",
  "common.templateLabel.requiredField": "Required",
  "common.templateLabel.searchTemplates": "Search templates by title",
  "common.templateLabel.selectFieldType": "Select field type",
  "common.templateLabel.selectModelType": "Select model type",
  "common.templateLabel.selectObject": "Select an object",
  "common.templateLabel.selectPriceModel": "Select a price model",
  "common.templateLabel.services": "Services",
  "common.templateLabel.stepAnnouncement": "Step :current of :total: :label",
  "common.templateLabel.stepInformation": "Information",
  "common.templateLabel.stepInformationHint": "Update template details, pricing behavior, fees, and custom fields.",
  "common.templateLabel.stepProgress": "Step :current of :total",
  "common.templateLabel.tabDetails": "Pricing Template Details",
  "common.templateLabel.tabVariationTypes": "Variation Types",
  "common.templateLabel.template": "Template",
  "common.templateLabel.templateInformation": "Template Information",
  "common.templateLabel.templateInformationHint": "Core template settings used by services and variations.",
  "common.templateLabel.templateObject": "Template Object",
  "common.templateLabel.templateObjectRequired": "Template object is required.",
  "common.templateLabel.templateTitle": "Template Title",
  "common.templateLabel.templateTitlePlaceholder": "Enter a template title",
  "common.templateLabel.templateTitleRequired": "Template title is required.",
  "common.templateLabel.templates": "templates",
  "common.templateLabel.templatesEmpty": "No templates matched the current search or filters.",
  "common.templateLabel.title": "Title",
  "common.templateLabel.type": "Type",
  "common.templateLabel.updateFailed": "Unable to update the template. Review the highlighted fields and try again.",
  "common.templateLabel.updateTemplate": "Update Template",
  "common.templateLabel.updatedSuccessfully": "Template :title updated successfully.",
  "common.templateLabel.usage": "Usage",
  "common.templateLabel.variationType": "Type",
  "common.templateLabel.variationTypeDeleted": "Variation type deleted successfully.",
  "common.templateLabel.variationTypes": "Variation Types",
  "common.templateLabel.variations": "Variations",
  "common.templateLabel.variationsCount": "Variations",
  "common.templateLabel.viewTemplate": "View",
  "common.templateLabel.wizardFooterAria": "Template wizard actions",
  "common.templateLabel.wizardNavigation": "Template wizard steps",
  "common.templateLabel.yes": "Yes",
  "common.textPrediction.acceptHint": "Press Tab to accept suggestion",
  "common.textPrediction.loading": "Suggesting...",
  "common.timeLabel.hour": "Hour",
  "common.timeLabel.minute": "Minute",
  "common.timeLabel.period": "AM/PM",
  "common.timeLabel.pickTime": "Pick a time",
  "common.timeLabel.reset": "Reset",
  "common.timeLabel.set": "Set",
  "common.timeLabel.inputHint": "Type a time (for example 2:30 PM or 1430) or use the wheels.",
  "common.timeLabel.applyHint": "Changes apply when you click Set or close the picker.",
  "common.timeLabel.invalidTime": "Enter a valid time.",
  "common.timeLabel.openPicker": "Open time picker",
  "common.timeLabel.resetToOriginal": "Reset to the time shown when the picker opened",
  "common.timeLabel.hourUp": "Increase hour",
  "common.timeLabel.hourDown": "Decrease hour",
  "common.timeLabel.minuteUp": "Increase minute",
  "common.timeLabel.minuteDown": "Decrease minute",
  "common.timeLabel.periodUp": "Switch to next period",
  "common.timeLabel.periodDown": "Switch to previous period",
  "common.tokenPicker.categories": "Token categories",
  "common.tokenPicker.insertToken": "Insert token",
  "common.tokenPicker.loading": "Loading tokens?",
  "common.tokenPicker.modalDescription": "Search and select a merge tag to insert at the cursor.",
  "common.tokenPicker.noResults": "No tokens match your search.",
  "common.tokenPicker.searchPlaceholder": "Search tokens?",
  "common.tokenPicker.tokens": "Tokens",
  "common.totalRunsHintLabel.description": "All executions in selected period",
  "common.totalRunsLabel.title": "Total Runs",
  "common.transactionLabel.actionFailed": "Unable to complete that action right now.",
  "common.transactionLabel.actions": "Actions",
  "common.transactionLabel.amount": "Amount",
  "common.transactionLabel.backToTransactions": "Back to Transactions",
  "common.transactionLabel.fundingCaseStatus": "Funding Case Status",
  "common.transactionLabel.fundingComments": "Funding Comments",
  "common.transactionLabel.campus": "Campus",
  "common.transactionLabel.client": "Client",
  "common.transactionLabel.createBulkInvoice": "Bulk Invoices/Estimates",
  "common.transactionLabel.createCreditMemo": "Create New Credit Memo",
  "common.transactionLabel.createEstimate": "Create New Estimate",
  "common.transactionLabel.createInvoice": "Create New Invoice",
  "common.transactionLabel.createPayment": "Receive Payment",
  "common.transactionLabel.createRefund": "Create New Refund",
  "common.transactionLabel.createdAt": "Creation Date",
  "common.transactionLabel.deleteTransaction": "Delete",
  "common.transactionLabel.deleteTransactionConfirm": "Are you sure you want to delete this transaction?",
  "common.transactionLabel.deletedSuccessfully": "Transaction deleted successfully.",
  "common.transactionLabel.editTransaction": "Edit",
  "common.transactionLabel.eyebrow": "Finance",
  "common.transactionLabel.id": "ID",
  "common.transactionLabel.invoiceDate": "Invoice Date",
  "common.transactionLabel.invoiceDueDate": "Invoice Due Date",
  "common.transactionLabel.postingDate": "Posting Date",
  "common.transactionLabel.items": "Items",
  "common.transactionLabel.pageTitle": "Transactions",
  "common.transactionLabel.paymentDate": "Payment Date",
  "common.transactionLabel.paymentRef": "Payment Ref",
  "common.transactionLabel.searchTransactions": "Search transactions by UID",
  "common.transactionLabel.sectionParties": "Related Party",
  "common.transactionLabel.sectionPartiesDescription": "Student, agent, agency, or parent linked to this transaction.",
  "common.transactionLabel.sectionSource": "Source Document",
  "common.transactionLabel.sectionSourceDescription": "The invoice, payment, credit memo, refund, estimate, or NSF payment behind the transaction.",
  "common.transactionLabel.sectionSummary": "Transaction Summary",
  "common.transactionLabel.sectionSummaryDescription": "Core transaction status, amount, and posting dates.",
  "common.transactionLabel.sourceDocument": "Source Document",
  "common.transactionLabel.sourceDocumentId": "Source Document ID",
  "common.transactionLabel.sourceType": "Source Type",
  "common.transactionLabel.status": "Status",
  "common.transactionLabel.studentId": "Student ID",
  "common.transactionLabel.studentNumber": "Student Number",
  "common.transactionLabel.title": "Transaction :uid",
  "common.transactionLabel.transactableType": "Client Type",
  "common.transactionLabel.transactionType": "Transaction Type",
  "common.transactionLabel.transactions": "transactions",
  "common.transactionLabel.transactionsEmpty": "No transactions matched the current search or filters.",
  "common.transactionLabel.type": "Type",
  "common.transactionLabel.uid": "UID",
  "common.transactionLabel.viewTransaction": "View",
  "common.transactionLabel.voidInvoices": "Bulk Invoice Void",
  "common.transactionLabel.voidInvoicesConfirm": "Void the selected invoices? Payments on those invoices will be unapplied. This cannot be undone.",
  "common.transactionLabel.voidInvoicesConfirmLabel": "Void Invoices",
  "common.transactionLabel.voidInvoicesFailed": "Unable to void the selected invoices.",
  "common.transactionLabel.voidInvoicesNoneSelected": "Select at least one invoice to void.",
  "common.transactionLabel.voidInvoicesPartial": ":voided invoices voided. :failed could not be voided.",
  "common.transactionLabel.voidInvoicesSuccess": ":count invoices voided successfully.",
  "common.transactionLabel.voidInvoicesTitle": "Void selected invoices",
  "common.translationLabel.apply": "Apply translation",
  "common.translationLabel.cancel": "Cancel",
  "common.translationLabel.close": "Close",
  "common.translationLabel.source": "Source (:language)",
  "common.translationLabel.translate": "Translate",
  "common.translationLabel.translateFrom": "Translate from :language",
  "common.translationLabel.translation": "Translation",
  "common.translationLabel.translationPlaceholder": "Add translation",
  "common.translationLabel.translationsCountMany": ":count translations",
  "common.translationLabel.translationsCountOne": "1 translation",
  "common.translationLabel.unsaved": "Unsaved changes",
  "common.typeLabel.title": "Type",
  "common.usePageContextClarifyLabel.pageContextDisabled": "Page context is turned off for this chat. Turn on \"Use page context\" in the assistant drawer, or tell me the exact name or ID to look up.",
  "common.usePageContextHelpLabel.help": "When on, the assistant uses the current page and open record. Turn off to ask about someone or something else.",
  "common.usePageContextLabel.usePageContext": "Use page context",
  "common.upgradeLabel.action": "Action",
  "common.upgradeLabel.finishedAt": "Finished at: :date",
  "common.upgradeLabel.noTasks": "No upgrade tasks found.",
  "common.upgradeLabel.pageDescription": "Upgrade school",
  "common.upgradeLabel.pageTitle": "Upgrade",
  "common.upgradeLabel.pending": "Pending",
  "common.upgradeLabel.run": "Run",
  "common.upgradeLabel.runFailed": "Something went wrong. Please try again later.",
  "common.upgradeLabel.runSuccess": "Upgrade task completed successfully.",
  "common.upgradeLabel.running": "Running...",
  "common.upgradeLabel.status": "Status",
  "common.upgradeLabel.task": "Task",
  "common.userLabel.active": "Active",
  "common.userLabel.back": "Back",
  "common.userLabel.backToList": "Back to users",
  "common.userLabel.campus": "Campus",
  "common.userLabel.campusRequired": "Select at least one campus.",
  "common.userLabel.createFailed": "Unable to create user. Review the form and try again.",
  "common.userLabel.createUser": "Create User",
  "common.userLabel.createdSuccessfully": "User created successfully.",
  "common.userLabel.deleteUser": "Delete",
  "common.userLabel.deleteUserConfirm": "Are you sure you want to delete this user?",
  "common.userLabel.deletedSuccessfully": "User deleted successfully.",
  "common.userLabel.editUser": "Edit",
  "common.userLabel.editUserAction": "Edit User",
  "common.userLabel.email": "Email",
  "common.userLabel.emailInvalid": "Enter a valid email address.",
  "common.userLabel.emailRequired": "Email is required.",
  "common.userLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.userLabel.inactiveStatus": "Inactive",
  "common.userLabel.name": "Name",
  "common.userLabel.nameRequired": "Name is required.",
  "common.userLabel.next": "Next",
  "common.userLabel.no": "No",
  "common.userLabel.pageTitle": "Users",
  "common.userLabel.password": "Password",
  "common.userLabel.passwordConfirmation": "Confirm Password",
  "common.userLabel.passwordConfirmationMismatch": "Password confirmation must match the password.",
  "common.userLabel.passwordHint": "Leave empty to keep the current password.",
  "common.userLabel.phone": "Phone",
  "common.userLabel.position": "Position",
  "common.userLabel.role": "Role",
  "common.userLabel.roleRequired": "Role is required.",
  "common.userLabel.roles": "Roles",
  "common.userLabel.searchUsers": "Search users by name, email, or phone",
  "common.userLabel.sectionAccess": "Access",
  "common.userLabel.sectionAccessDesc": "Role and campus assignments for this school. Use Edit User to change access.",
  "common.userLabel.sectionPreferences": "Preferences",
  "common.userLabel.sectionPreferencesDesc": "Locale, timezone, and booking calendar settings.",
  "common.userLabel.sectionProfile": "Profile",
  "common.userLabel.sectionProfileDesc": "Core contact details and account status.",
  "common.userLabel.settingsTab": "User Details",
  "common.userLabel.selectCampuses": "-- Campuses --",
  "common.userLabel.selectRole": "Select Role",
  "common.userLabel.sendInvitationEmail": "Send invitation email",
  "common.userLabel.sendInvitationEmailHint": "The user will receive an email with credentials to log in. Disable this to activate the account automatically.",
  "common.userLabel.stepAccess": "Access",
  "common.userLabel.stepAccessCreateHint": "Choose the assigned role, campuses, and whether credentials should be sent.",
  "common.userLabel.stepAccessEditHint": "Update role, campus access, or optionally reset the user's password.",
  "common.callCenterLabel.supervisorLiveVoiceTitle": "Supervisor — Live voice",
  "common.callCenterLabel.supervisorLiveVoiceDescription": "Live queue and Call Center Agent states by campus.",
  "common.callCenterLabel.kpiWaiting": "Waiting now",
  "common.callCenterLabel.kpiLongestWait": "Longest wait",
  "common.callCenterLabel.lastSuccessful": "Last successful refresh: :time",
  "common.callCenterLabel.tryAgain": "Try again",
  "common.callCenterLabel.loadFailed": "Live voice could not be loaded.",
  "common.callCenterLabel.emptyScope": "No campuses are in this view.",
  "common.callCenterLabel.emptyWaiting": "No callers are waiting.",
  "common.callCenterLabel.waitingCalls": "Waiting callers",
  "common.callCenterLabel.caller": "Caller",
  "common.callCenterLabel.age": "Wait",
  "common.callCenterLabel.sla": "Service level",
  "common.callCenterLabel.slaWithin": "Within limit",
  "common.callCenterLabel.slaBreached": "Past limit",
  "common.callCenterLabel.attempts": "Offers",
  "common.callCenterLabel.routingTrace": "Offer history",
  "common.callCenterLabel.contact": "Contact",
  "common.callCenterLabel.multipleContacts": ":count matching contacts",
  "common.callCenterLabel.alerts": "Needs attention",
  "common.callCenterLabel.alertQueueWait": ":campus is past the wait limit.",
  "common.callCenterLabel.alertNoAgent": ":campus has callers waiting and no available Call Center Agent in this view.",
  "common.callCenterLabel.alertAgentStale": ":agent is still ringing past the ring limit.",
  "common.callCenterLabel.alertSmsFailed": ":campus has SMS that failed to send.",
  "common.callCenterLabel.acknowledge": "Acknowledge",
  "common.callCenterLabel.acknowledged": "Acknowledged",
  "common.callCenterLabel.severityWarning": "Warning",
  "common.callCenterLabel.severityCritical": "Critical",
  "common.callCenterLabel.recoverAgent": "Move to break",
  "common.callCenterLabel.overflowCaller": "Send to overflow campus",
  "common.callCenterLabel.reassignCallback": "Assign callback",
  "common.callCenterLabel.confirmRecover": "Move this ringing Call Center Agent to break? They will not be set to available.",
  "common.callCenterLabel.confirmAgentStatus": "Change this Call Center Agent to :status?",
  "common.callCenterLabel.confirmOverflow": "Offer this waiting caller to the overflow campus on the next hold cycle? This happens once.",
  "common.callCenterLabel.confirmReassign": "Assign this callback to the selected person?",
  "common.callCenterLabel.confirmAction": "Confirm",
  "common.callCenterLabel.cancelAction": "Cancel",
  "common.callCenterLabel.actionPending": "Working…",
  "common.callCenterLabel.actionFailed": "That action did not complete.",
  "common.callCenterLabel.actionConfirmed": "Saved.",
  "common.callCenterLabel.staleTarget": "That record changed. Refresh and try again.",
  "common.callCenterLabel.forbiddenAction": "You do not have permission for that action.",
  "common.callCenterLabel.duty": "Duty",
  "common.callCenterLabel.onDuty": "On duty",
  "common.callCenterLabel.offDuty": "Off duty",
  "common.callCenterLabel.endpoint": "Endpoint",
  "common.callCenterLabel.endpointReady": "Phone ready",
  "common.callCenterLabel.endpointMissing": "No phone",
  "common.callCenterLabel.endpointRegistered": "Browser registered",
  "common.callCenterLabel.browserCallingStatus": "Browser calling status",
  "common.callCenterLabel.browserMicBlocked": "Microphone blocked",
  "common.callCenterLabel.browserError": "Browser error",
  "common.callCenterLabel.currentCall": "Current call",
  "common.callCenterLabel.stateDuration": "Time in state",
  "common.callCenterLabel.openRecord": "Open",
  "common.callCenterLabel.retrySms": "Retry SMS",
  "common.callCenterLabel.retryPending": "Retrying. Waiting for the provider.",
  "common.callCenterLabel.selectOwner": "Callback owner",
  "common.callCenterLabel.callbackRows": "Callback records",
  "common.callCenterLabel.smsRows": "SMS records",
  "common.callCenterLabel.degradedLive": "Live voice is not connected. The last figures are still shown.",
  "common.callCenterLabel.allCampuses": "All campuses",
  "common.callCenterLabel.inactiveAgents": ":count inactive Call Center Agents are hidden from this roster.",
  "common.callCenterLabel.record": "Record",
  "common.callCenterLabel.due": "Due",
  "common.callCenterLabel.queuesWaitingNow": "Queues — Waiting now",
  "common.callCenterLabel.agentsCurrentStates": "Call Center Agents — Current states",
  "common.callCenterLabel.stateAvailable": "Available",
  "common.callCenterLabel.stateRinging": "Ringing",
  "common.callCenterLabel.stateOnCall": "On call",
  "common.callCenterLabel.stateWrapUp": "Wrap up",
  "common.callCenterLabel.stateBreak": "Break",
  "common.callCenterLabel.stateOffline": "Offline",
  "common.callCenterLabel.advisors": "Call Center Agents",
  "common.callCenterLabel.campuses": "Campuses",
  "common.callCenterLabel.email": "Email",
  "common.callCenterLabel.status": "Status",
  "common.callCenterLabel.since": "Since",
  "common.callCenterLabel.emptyAgents": "No Call Center Agents are covering these campuses.",
  "common.callCenterLabel.offer": "Offer",
  "common.callCenterLabel.offerReasonEligible": "Can be offered",
  "common.callCenterLabel.offerReasonInactive": "Inactive",
  "common.callCenterLabel.offerReasonUnreachable": "No ring phone",
  "common.callCenterLabel.offerReasonNoCampus": "Not covering this campus",
  "common.callCenterLabel.offerReasonVacation": "On vacation",
  "common.callCenterLabel.offerReasonOutsideHours": "Outside working hours",
  "common.callCenterLabel.offerReasonInvalidTimezone": "Invalid timezone",
  "common.callCenterLabel.offerReasonNotAvailable": "Not available",
  "common.callCenterLabel.offerReasonOpenReservation": "Already on an offer",
  "common.callCenterLabel.offerReasonBrowserOffline": "Browser not registered",
  "common.callCenterLabel.offerReasonOutboundReserved": "On an outbound campaign call",
  "common.callCenterLabel.browserRegistered": "Browser registered",
  "common.callCenterLabel.browserOffline": "Browser offline",
  "common.callCenterLabel.browserMicBlocked": "Microphone blocked",
  "common.callCenterLabel.browserFailed": "Browser disconnected",
  "common.callCenterLabel.lookupFailed": "Contact lookup failed. You can still take the call.",
  "common.callCenterLabel.noContactMatch": "No contact matches this number.",
  "common.callCenterLabel.createInboundContact": "Create contact",
  "common.callCenterLabel.createInboundContactHelp": "Campus and phone start from this call. You can change them.",
  "common.callCenterLabel.createInboundContactFirstName": "First name",
  "common.callCenterLabel.createInboundContactLastName": "Last name",
  "common.callCenterLabel.createInboundContactEmail": "Email",
  "common.callCenterLabel.createInboundContactCancel": "Cancel",
  "common.callCenterLabel.createInboundContactSaved": "Contact created.",
  "common.callCenterLabel.createInboundContactFailed": "The contact could not be created.",
  "common.callCenterLabel.createInboundContactForbidden": "You cannot create contacts.",
  "common.callCenterLabel.createInboundContactBusy": "This number is already being saved.",
  "common.callCenterLabel.createInboundContactPhoneTaken": "A contact already uses this number.",
  "common.callCenterLabel.createInboundContactEmailTaken": "A contact already uses this email.",
  "common.callCenterLabel.createInboundContactEmailRequired": "Enter a valid email address.",
  "common.callCenterLabel.createInboundContactNameRequired": "Enter a first and last name.",
  "common.callCenterLabel.createInboundContactNoNumber": "This caller has no number to save.",
  "common.callCenterLabel.createInboundContactProgram": "Program",
  "common.callCenterLabel.createInboundContactProgramInvalid": "Choose a program offered at this campus.",
  "common.callCenterLabel.createInboundContactAlreadyLinked": "This voicemail is already linked to a contact.",
  "common.callCenterLabel.chooseContact": "Choose a contact",
  "common.callCenterLabel.openContactConfirmTitle": "Open this contact?",
  "common.callCenterLabel.openContactConfirm": ":name matches this call. Open their contact page?",
  "common.callCenterLabel.openContactConfirmUnknown": "This call matches a contact. Open their contact page?",
  "common.callCenterLabel.openContactStay": "Stay here",
  "common.callCenterLabel.contactStage": "Stage",
  "common.callCenterLabel.contactOwner": "Owner",
  "common.callCenterLabel.wrapUpNote": "Call note",
  "common.callCenterLabel.wrapUpNotePlaceholder": "Add a note for this contact",
  "common.callCenterLabel.noteSaveFailed": "The note could not be saved. Wrap-up is still open.",
  "common.callCenterLabel.mute": "Mute",
  "common.callCenterLabel.unmute": "Unmute",
  "common.callCenterLabel.hold": "Hold",
  "common.callCenterLabel.resume": "Resume",
  "common.callCenterLabel.transfer": "Transfer",
  "common.callCenterLabel.transferTarget": "Transfer to",
  "common.callCenterLabel.transferTargetPhone": "Phone and extension",
  "common.callCenterLabel.transferTargetAgent": "Call Center Agent",
  "common.callCenterLabel.transferAgent": "Call Center Agent",
  "common.callCenterLabel.transferAgentPlaceholder": "Select a Call Center Agent",
  "common.callCenterLabel.transferAgentEmpty": "No other Call Center Agent is available.",
  "common.callCenterLabel.transferAgentHint": "Available Call Center Agents on this campus.",
  "common.callCenterLabel.transferDestination": "Phone number",
  "common.callCenterLabel.transferDestinationPlaceholder": "+15145551234",
  "common.callCenterLabel.transferDestinationHint": "Full number starting with +.",
  "common.callCenterLabel.transferDestinationInvalid": "Enter a phone number that starts with +.",
  "common.callCenterLabel.transferExtension": "Extension",
  "common.callCenterLabel.transferExtensionPlaceholder": "101",
  "common.callCenterLabel.transferExtensionHint": "Optional. Sent after the number answers.",
  "common.callCenterLabel.transferExtensionInvalid": "Use digits, *, or #.",
  "common.callCenterLabel.transferBlind": "Blind transfer",
  "common.callCenterLabel.transferAttended": "Attended transfer",
  "common.callCenterLabel.transferConference": "Conference",
  "common.callCenterLabel.transferConfirm": "Confirm transfer",
  "common.callCenterLabel.transferCancel": "Cancel transfer",
  "common.callCenterLabel.transferPending": "Waiting for the other party",
  "common.callCenterLabel.transferConfirmed": "Transfer confirmed",
  "common.callCenterLabel.transferFailed": "Transfer failed. The caller is still with you.",
  "common.callCenterLabel.transferIncoming": "Transferred call",
  "common.callCenterLabel.transferIncomingLive": "On a transferred call",
  "common.callCenterLabel.transferDecline": "Decline",
  "common.callCenterLabel.transferDeclineTitle": "Decline transfer",
  "common.callCenterLabel.transferDeclineConfirm": "Decline this transfer. The caller stays with the other Call Center Agent.",
  "common.callCenterLabel.callFailed": "Call failed",
  "common.callCenterLabel.callBack": "Call back",
  "common.callCenterLabel.callbackLeftOpen": "This callback stays open until the follow-up is completed.",
  "common.callCenterLabel.dialerUnavailable": "The phone dialer is not available.",
  "common.callCenterLabel.navStatus": "Call status",
  "common.callCenterLabel.navPendingCalls": ":count pending calls",
  "common.callCenterLabel.workOfferHide": "Hide this window",
  "common.callCenterLabel.workOfferHideFor": "Hide for :count minutes",
  "common.callCenterLabel.workOfferHiddenFor": "Hidden for :count minutes. Pending calls stay in your queue.",
  "common.callCenterLabel.workOfferDismiss": "Dismiss",
  "common.callCenterLabel.workOfferDismissHint": "Stays hidden until you close this browser tab.",
  "common.callCenterLabel.workOfferDismissed": "Hidden until you close this browser tab. Pending calls stay in your queue.",
  "common.callCenterLabel.takeCallsAction": "Take calls",
  "common.callCenterLabel.goOnBreak": "Go on break",
  "common.callCenterLabel.goOffline": "Go offline",
  "common.callCenterLabel.finishWrapUp": "Finish wrap-up",
  "common.callCenterLabel.outcome": "Call outcome",
  "common.callCenterLabel.outcomePlaceholder": "Choose an outcome",
  "common.callCenterLabel.outcomeRequired": "Choose a call outcome before finishing wrap-up.",
  "common.callCenterLabel.outcomeInvalid": "That call outcome is not in the list.",
  "common.callCenterLabel.outcomeAttempted": "Attempted",
  "common.callCenterLabel.outcomeReached": "Reached",
  "common.callCenterLabel.outcomeInterested": "Interested",
  "common.callCenterLabel.outcomeAppointmentConfirmed": "Appointment confirmed",
  "common.callCenterLabel.outcomeMeetingBooked": "Meeting booked",
  "common.callCenterLabel.outcomeAiResolved": "AI resolved",
  "common.callCenterLabel.outcomeCallbackRequested": "Callback requested",
  "common.callCenterLabel.outcomeCallbackReached": "Callback reached",
  "common.callCenterLabel.outcomeQuestion": "Question",
  "common.callCenterLabel.outcomeNoAnswer": "No answer",
  "common.callCenterLabel.outcomeWrongParty": "Wrong person",
  "common.callCenterLabel.recentCalls": "Recent calls",
  "common.callCenterLabel.noRecentCalls": "No calls yet.",
  "common.callCenterLabel.recentCallsHint": "Calls offered to you appear here.",
  "common.callCenterLabel.statusLoading": "Checking your status.",
  "common.callCenterLabel.statusSaving": "Updating your status.",
  "common.callCenterLabel.statusRefreshFailed": "Your status could not be refreshed.",
  "common.callCenterLabel.retryStatus": "Try again",
  "common.callCenterLabel.liveCall": "Current call",
  "common.callCenterLabel.openCallLog": "Call log",
  "common.callCenterLabel.callConnected": "Connected",
  "common.callCenterLabel.callMissed": "Missed",
  "common.callCenterLabel.callDeclined": "Declined",
  "common.callCenterLabel.callCenterRecoveryNoAnswer": "Missed call. You are on Break.",
  "common.callCenterLabel.callCenterRecoveryBusy": "The line was busy. You are on Break.",
  "common.callCenterLabel.callCenterRecoveryFailed": "The offer failed. You are on Break.",
  "common.callCenterLabel.callCenterRecoveryDeclined": "You declined the call.",
  "common.callCenterLabel.callCenterRecoveryHangup": "The caller hung up. You are on Break.",
  "common.callCenterLabel.callCenterRecoveryStale": "The offer expired. You are on Break.",
  "common.callCenterLabel.callCancelled": "Cancelled",
  "common.callCenterLabel.statusUpdated": "Status updated.",
  "common.callCenterLabel.notTakingCalls": "Takes calls is off, so the queue will not ring this phone.",
  "common.callCenterLabel.waiting": "Waiting",
  "common.callCenterLabel.longestWait": "Longest",
  "common.callCenterLabel.loading": "Loading…",
  "common.callCenterLabel.emptyCampuses": "No campuses available.",
  "common.callCenterLabel.updatedAt": "Updated at: :time",
  "common.callCenterLabel.errorMessage": "Error: :message",
  "common.callCenterLabel.supervisorHistoricalVoiceTitle": "Supervisor — Historical voice",
  "common.callCenterLabel.historicalOutcomes": "Call outcomes",
  "common.callCenterLabel.historicalWait": "Wait time",
  "common.callCenterLabel.historicalTalk": "Talk time",
  "common.callCenterLabel.historicalOutcomesChartDescription": "Answered, abandoned, and forwarded calls in the selected range.",
  "common.callCenterLabel.historicalWaitChartDescription": "Average wait time (seconds) by campus.",
  "common.callCenterLabel.historicalTalkChartDescription": "Average talk time (seconds) by campus.",
  "common.callCenterLabel.historicalChartEmptyTitle": "No chart data yet",
  "common.callCenterLabel.historicalChartEmptyDescription": "Charts appear once there are calls in the selected range.",
  "common.callCenterLabel.historicalSummary": "Summary",
  "common.callCenterLabel.historicalTable": "By campus",
  "common.callCenterLabel.historicalTableDescription": "One row per campus in the selected range.",
  "common.callCenterLabel.historicalCallsSearch": "Search calls",
  "common.callCenterLabel.historicalCallsResult": "calls",
  "common.callCenterLabel.historicalCallsEmpty": "No calls match this count.",
  "common.callCenterLabel.historicalCallWhen": "When",
  "common.callCenterLabel.historicalCallWait": "Wait",
  "common.callCenterLabel.historicalCallTalk": "Talk",
  "common.callCenterLabel.historicalCallDuration": "Duration",
  "common.callCenterLabel.navGroup": "Call Center",
  "common.callCenterLabel.navSetupOps": "Setup & ops",
  "common.callCenterLabel.navOutbound": "Outbound",
  "common.callCenterLabel.navHistory": "History",
  "common.callCenterLabel.navLiveVoice": "Live Incoming",
  "common.callCenterLabel.navHistoricalVoice": "Incoming Call History",
  "common.callCenterLabel.navRouting": "Routing check",
  "common.callCenterLabel.navAiOperations": "AI operations",
  "common.callCenterLabel.navInbox": "Work inbox",
  "common.callCenterLabel.navVoicemail": "Voicemail",
  "common.callCenterLabel.navQuality": "Quality",
  "common.callCenterLabel.navOperations": "Operations",
  "common.callCenterLabel.navCampaigns": "Campaigns",
  "common.callCenterLabel.campaignsTitle": "Outbound campaigns",
  "common.callCenterLabel.campaignsDescription": "Preview and progressive campaigns use the existing click-to-call desk. AI and predictive dialing stay off until they are separately approved.",
  "common.callCenterLabel.campaignEmpty": "No campaigns yet.",
  "common.callCenterLabel.campaignUnavailable": "Campaigns are not available yet.",
  "common.callCenterLabel.campaignUnavailableDescription": "The campaign tables are not on this school yet.",
  "common.callCenterLabel.campaignNew": "New campaign",
  "common.callCenterLabel.campaignEdit": "Edit campaign",
  "common.callCenterLabel.campaignBack": "Back to campaigns",
  "common.callCenterLabel.campaignOverviewTab": "Overview",
  "common.callCenterLabel.campaignDeskTab": "Work Queue",
  "common.callCenterLabel.campaignAudienceTab": "Audience",
  "common.callCenterLabel.campaignProgressTab": "Progress",
  "common.callCenterLabel.campaignResultsTab": "Results",
  "common.callCenterLabel.campaignDeskNotRunning": "This campaign is not running. Resume or launch it before taking calls.",
  "common.callCenterLabel.campaignDeskStrategyAi": "The voice assistant places these calls. Use the Audience tab to track contacts.",
  "common.callCenterLabel.campaignDeskStrategyPredictive": "The dialer prepares contacts before you ask. Open a reserved contact here to record the outcome.",
  "common.callCenterLabel.campaignMemberResultLabel": "contacts",
  "common.callCenterLabel.campaignMemberSearch": "Search contacts by name, email, or phone",
  "common.callCenterLabel.campaignMemberEmpty": "No snapshotted contacts match the current search or filters.",
  "common.callCenterLabel.campaignMemberReason": "Hold reason",
  "common.callCenterLabel.campaignMemberReasonHint": "Why the contact is deferred, suppressed, or exhausted. Empty when Status is Eligible or Pending — they are not on hold.",
  "common.callCenterLabel.campaignMemberReasonNone": "No hold",
  "common.callCenterLabel.campaignOfferAgain": "Offer again",
  "common.callCenterLabel.campaignOfferAgainDone": "This contact is back in the pool and can be claimed.",
  "common.callCenterLabel.campaignOfferAgainHeld": "This contact stays on hold. An unclear call start is not offered again.",
  "common.callCenterLabel.campaignOfferAgainBusy": "This contact is already on a call.",
  "common.callCenterLabel.campaignOfferAgainUnavailable": "Only a deferred contact can be offered again.",
  "common.callCenterLabel.campaignMemberHandler": "Owner",
  "common.callCenterLabel.campaignAttemptResultLabel": "attempts",
  "common.callCenterLabel.campaignAttemptSearch": "Search attempts by contact name or phone",
  "common.callCenterLabel.campaignAttemptEmpty": "No call attempts match the current search or filters.",
  "common.callCenterLabel.campaignClassification": "Classification",
  "common.callCenterLabel.campaignOutcomeLabel": "Outcome",
  "common.callCenterLabel.campaignReachedLabel": "Reached",
  "common.callCenterLabel.campaignFinalizedAt": "Finalized",
  "common.callCenterLabel.campaignMemberStatus.pending": "Pending",
  "common.callCenterLabel.campaignMemberStatus.eligible": "Eligible",
  "common.callCenterLabel.campaignMemberStatus.deferred": "Deferred",
  "common.callCenterLabel.campaignMemberStatus.suppressed": "Suppressed",
  "common.callCenterLabel.campaignMemberStatus.exhausted": "Exhausted",
  "common.callCenterLabel.campaignMemberStatus.completed": "Completed",
  "common.callCenterLabel.campaignMemberStatusHint.pending": "On the roster; not fully decided yet. Still waiting to be claimed.",
  "common.callCenterLabel.campaignMemberStatusHint.eligible": "Ready for Take call when a Call Center Agent claims them.",
  "common.callCenterLabel.campaignMemberStatusHint.deferred": "Temporarily held. Check Hold reason — spacing, window, or a missing campaign setting.",
  "common.callCenterLabel.campaignMemberStatusHint.suppressed": "Must not be dialed (opt-out, bad phone, or similar).",
  "common.callCenterLabel.campaignMemberStatusHint.exhausted": "Attempt caps used up for this campaign.",
  "common.callCenterLabel.campaignMemberStatusHint.completed": "Reached or finished successfully.",
  "common.callCenterLabel.campaignProgressDescription": "Roster status is not the same as a call attempt. Deferred contacts stay off Take call until the hold ends — check Hold reason (for example spacing).",
  "common.callCenterLabel.campaignAttemptStatus.claimed": "Claimed",
  "common.callCenterLabel.campaignAttemptStatus.initiated": "Initiated",
  "common.callCenterLabel.campaignAttemptStatus.ringing": "Ringing",
  "common.callCenterLabel.campaignAttemptStatus.answered": "Answered",
  "common.callCenterLabel.campaignAttemptStatus.bridged": "Bridged",
  "common.callCenterLabel.campaignAttemptStatus.ending": "Ending",
  "common.callCenterLabel.campaignAttemptStatus.finalized": "Finalized",
  "common.callCenterLabel.campaignAttemptStatus.failed": "Failed",
  "common.callCenterLabel.campaignAttemptStatus.cancelled": "Cancelled",
  "common.callCenterLabel.campaignDetailTabs": "Campaign sections",
  "common.callCenterLabel.campaignSnapshotTitle": "Campaign pulse",
  "common.callCenterLabel.campaignSnapshotDescription": "Eligible contacts ready to dial, who is still callable, and how much of the roster is done.",
  "common.callCenterLabel.campaignEligibleContactsBadge": "Eligible contacts: :count",
  "common.callCenterLabel.campaignOverviewStatEligible": "Eligible contacts",
  "common.callCenterLabel.campaignOverviewStatEligibleHint": "Passed the last eligibility check and are waiting to be dialed.",
  "common.callCenterLabel.campaignOverviewStatTotalRoster": "Contacts on roster",
  "common.callCenterLabel.campaignOverviewStatCallable": "Still callable",
  "common.callCenterLabel.campaignOverviewStatCallableHint": "Pending or eligible contacts still waiting to be dialed.",
  "common.callCenterLabel.campaignOverviewStatOnHold": "On hold",
  "common.callCenterLabel.campaignOverviewStatOnHoldHint": "Deferred until a calling window opens or a review blocker is fixed.",
  "common.callCenterLabel.campaignOverviewStatAttempts": "Attempts logged",
  "common.callCenterLabel.campaignOverviewStatReachRate": "Reach rate",
  "common.callCenterLabel.campaignOverviewStatRosterCompleted": "Roster completed",
  "common.callCenterLabel.campaignOverviewStatCompletionRate": "Roster completion",
  "common.callCenterLabel.campaignOverviewStatCompletionHint": "Share of the roster that is completed, exhausted, or suppressed.",
  "common.callCenterLabel.campaignOverviewNoRoster": "No contacts on the roster yet.",
  "common.callCenterLabel.campaignRosterTitle": "Roster by status",
  "common.callCenterLabel.campaignRosterDescription": "How each contact is classified on this campaign before and after dialing.",
  "common.callCenterLabel.campaignRosterCountTotal": "Total on roster",
  "common.callCenterLabel.campaignPipelineTitle": "Live dial pipeline",
  "common.callCenterLabel.campaignPipelineDescription": "In-flight and finalized attempt states — not the same as roster status above.",
  "common.callCenterLabel.campaignPipelineCount.waiting": "Waiting to dial",
  "common.callCenterLabel.campaignPipelineCount.dialing": "Dialing",
  "common.callCenterLabel.campaignPipelineCount.ringing": "Ringing",
  "common.callCenterLabel.callStarting": "Call starting",
  "common.callCenterLabel.campaignPipelineCount.human_connected": "Human reached",
  "common.callCenterLabel.campaignPipelineCount.ai_active": "AI active",
  "common.callCenterLabel.campaignPipelineCount.machine_or_unknown": "Machine or unknown",
  "common.callCenterLabel.campaignPipelineCount.completed": "Finalized attempts",
  "common.callCenterLabel.campaignPipelineCount.failed": "Failed attempts",
  "common.callCenterLabel.campaignPipelineCount.skipped": "Skipped / cancelled",
  "common.callCenterLabel.campaignResultsStatAttempts": "Total attempts",
  "common.callCenterLabel.campaignResultsStatAttemptsHint": "Every dial row on this campaign.",
  "common.callCenterLabel.campaignResultsStatContacts": "Unique contacts",
  "common.callCenterLabel.campaignResultsStatContactsHint": "Distinct roster contacts (reach rate denominator).",
  "common.callCenterLabel.campaignResultsStatHumanReached": "Human conversations",
  "common.callCenterLabel.campaignResultsStatHumanReachedHint": "Classified human and marked reached.",
  "common.callCenterLabel.campaignProgressTitle": "Audience progress",
  "common.callCenterLabel.campaignProgressDescription": "Snapshot status counts and every contact on this campaign. Filter the table to find who is waiting, deferred, or completed.",
  "common.callCenterLabel.campaignResultsTitle": "Call results",
  "common.callCenterLabel.campaignVersion": "Version",
  "common.callCenterLabel.campaignWindows": "Calling windows",
  "common.callCenterLabel.campaignWindowLine": ":day :window",
  "common.callCenterLabel.campaignSelectedCount": ":count selected",
  "common.callCenterLabel.campaignConsentRecorded": "Recorded",
  "common.callCenterLabel.campaignConsentMissing": "Not recorded",
  "common.callCenterLabel.campaignAiReadyLabel": "AI voice",
  "common.callCenterLabel.campaignAiReady": "Allowed for this campaign",
  "common.callCenterLabel.campaignWaiting": "Waiting contacts",
  "common.callCenterLabel.campaignOutcomes": "Record an outcome",
  "common.callCenterLabel.campaignStopDescription": "This stops new calls. A call that is already connected can still be finished.",
  "common.callCenterLabel.campaignMetricAttemptsLabel": "Attempts",
  "common.callCenterLabel.campaignMetricContactsLabel": "Contacts",
  "common.callCenterLabel.campaignMetricHumanLabel": "Human reached",
  "common.callCenterLabel.campaignMetricUnknownLabel": "Unknown",
  "common.callCenterLabel.campaignMetricMachineLabel": "Machine",
  "common.callCenterLabel.campaignMetricReachedLabel": "Reached",
  "common.callCenterLabel.campaignMetricAiLabel": "AI resolved",
  "common.callCenterLabel.campaignMetricReachRateLabel": "Reach rate",
  "common.callCenterLabel.campaignMetricAbandonRateLabel": "Not reached after connect",
  "common.callCenterLabel.campaignMetricSample": "Sample :sample",
  "common.callCenterLabel.campaignPacingPlacesLabel": "Places calls",
  "common.callCenterLabel.campaignPacingRecommendedLabel": "Recommended claims",
  "common.callCenterLabel.campaignPacingReadyLabel": "Ready Call Center Agents",
  "common.callCenterLabel.campaignPacingReasonCode.disabled": "Predictive dialing is off",
  "common.callCenterLabel.campaignPacingReasonCode.low_sample": "Fewer than 50 finished calls",
  "common.callCenterLabel.campaignPacingReasonCode.zero_capacity": "No Call Center Agent is ready",
  "common.callCenterLabel.campaignPacingReasonCode.capped": "Capped by ready Call Center Agents",
  "common.callCenterLabel.campaignSearch": "Search campaigns",
  "common.callCenterLabel.campaignName": "Name",
  "common.callCenterLabel.campaignNameRequired": "Enter a campaign name.",
  "common.callCenterLabel.campaignCampus": "Campus",
  "common.callCenterLabel.campaignCampusRequired": "Choose a campus.",
  "common.callCenterLabel.campaignStatusLabel": "Status",
  "common.callCenterLabel.campaignStrategyLabel": "Strategy",
  "common.callCenterLabel.campaignStrategyRequired": "Choose a strategy.",
  "common.callCenterLabel.campaignPurposeLabel": "Purpose",
  "common.callCenterLabel.campaignPurposeRequired": "Choose a purpose.",
  "common.callCenterLabel.campaignJurisdictionLabel": "Jurisdiction",
  "common.callCenterLabel.campaignJurisdictionRequired": "Choose a jurisdiction.",
  "common.callCenterLabel.campaignCallerId": "Caller ID",
  "common.callCenterLabel.campaignCallerRequired": "Choose the approved caller ID.",
  "common.callCenterLabel.campaignCallerHint": "Use a caller ID already saved for this campus.",
  "common.callCenterLabel.campaignPersona": "AI persona",
  "common.callCenterLabel.campaignPersonaNone": "No persona",
  "common.callCenterLabel.campaignPersonaInbound": ":name (inbound only)",
  "common.callCenterLabel.campaignAiConsent": "AI consent is recorded for this purpose",
  "common.callCenterLabel.campaignInclude": "Contact IDs to include",
  "common.callCenterLabel.campaignIncludeHint": "Comma-separated contact IDs on this campus. A blank list is not dialed unless a stage, program, or saved list is selected.",
  "common.callCenterLabel.campaignExclude": "Contact IDs to exclude",
  "common.callCenterLabel.campaignExcludeHint": "Comma-separated contact IDs to leave out of the snapshot.",
  "common.callCenterLabel.campaignAudienceRequired": "Choose a contact type, program, or list. A blank audience is not snapshotted.",
  "common.callCenterLabel.campaignStage": "Contact type",
  "common.callCenterLabel.campaignStageAny": "Any type",
  "common.callCenterLabel.campaignStage.applicant": "Applicant",
  "common.callCenterLabel.campaignStage.student": "Student",
  "common.callCenterLabel.campaignStage.lead": "Lead",
  "common.callCenterLabel.campaignProgram": "Program",
  "common.callCenterLabel.campaignProgramAny": "Any program",
  "common.callCenterLabel.campaignList": "Lists",
  "common.callCenterLabel.campaignListAny": "Any list",
  "common.callCenterLabel.campaignPreviewAction": "Preview count",
  "common.callCenterLabel.campaignPreviewWaiting": "Choose a contact type, program, or list.",
  "common.callCenterLabel.campaignPreviewCounting": "Counting contacts for this selection.",
  "common.callCenterLabel.campaignPreviewNone": "No contacts match this selection.",
  "common.callCenterLabel.campaignPreviewCount": ":count contacts match this campus list.",
  "common.callCenterLabel.campaignDaily": "Daily attempts",
  "common.callCenterLabel.campaignWeekly": "Weekly attempts",
  "common.callCenterLabel.campaignSpacing": "Minutes between attempts",
  "common.callCenterLabel.campaignConcurrent": "Concurrent calls",
  "common.callCenterLabel.campaignCostCeiling": "Spend ceiling (cents)",
  "common.callCenterLabel.campaignCostCeilingHint": "Leave blank for no ceiling. A recorded spend at or above this value stops new claims.",
  "common.callCenterLabel.campaignWindowHint": "Example: 09:00-17:00",
  "common.callCenterLabel.campaignWindowRequired": "Open at least one day.",
  "common.callCenterLabel.campaignWindowOrder": "The end time has to be later than the start time.",
  "common.callCenterLabel.campaignScheduleClosedWeek": "A fully closed week has no calling window. Open at least one day.",
  "common.callCenterLabel.campaignSave": "Save draft",
  "common.callCenterLabel.callbacksWaiting": "Callbacks waiting",
  "common.callCenterLabel.browserRingWaiting": "Waiting for a call…",
  "common.callCenterLabel.currentOwner": "Current owner",
  "common.callCenterLabel.unowned": "Unowned",
  "common.callCenterLabel.browserRingMissing": "Browser ringing support is missing. Ring the phone instead.",
  "common.callCenterLabel.campaignSaved": "Campaign saved. Nothing was dialed.",
  "common.callCenterLabel.campaignSaveFailed": "The campaign could not be saved.",
  "common.callCenterLabel.refuseCall": "Refuse call",
  "common.callCenterLabel.refuseCallTitle": "Refuse call",
  "common.callCenterLabel.refuseCallConfirm": "Refuse the call. This will mark the contact as not reached.",
  "common.callCenterLabel.campaignUpdated": "Campaign updated.",
  "common.callCenterLabel.campaignRunning": "Campaign is running. New calls still wait for an agent action on Preview, or a free agent on Progressive.",
  "common.callCenterLabel.campaignValidating": "The snapshot is continuing in the background. Launch again if it stops before the campaign is running.",
  "common.callCenterLabel.campaignLocked": "That change is not available for this campaign.",
  "common.callCenterLabel.campaignCampusLocked": "Campus cannot change after the campaign has launched.",
  "common.callCenterLabel.campaignStrategyLocked": "Strategy cannot change after the campaign has launched.",
  "common.callCenterLabel.campaignMissing": "That campaign could not be found.",
  "common.callCenterLabel.campaignFieldNotEditable": "That field cannot be edited here.",
  "common.callCenterLabel.campaignNameInvalid": "Enter a campaign name of 120 characters or fewer.",
  "common.callCenterLabel.campaignCallerIdInvalid": "Enter a caller ID of 32 characters or fewer.",
  "common.callCenterLabel.campaignLimitInvalid": "Enter a number greater than zero.",
  "common.callCenterLabel.campaignDayClosed": "Closed",
  "common.callCenterLabel.campaignWindowInvalid": "Use HH:MM-HH:MM ranges separated by commas, e.g. 09:00-17:00.",
  "common.callCenterLabel.campaignWizardNavigation": "Campaign steps",
  "common.callCenterLabel.campaignWizardFooterAria": "Campaign wizard actions",
  "common.callCenterLabel.campaignStepAnnouncement": "Step :current of :total, :step",
  "common.callCenterLabel.campaignStepInvalid": "Finish this step before continuing.",
  "common.callCenterLabel.workQueueClearCallsTitle": "Clear incoming calls",
  "common.callCenterLabel.workQueueClearCallsConfirm": "Clear incoming calls from the queue. This will remove all incoming calls from the queue.",
  "common.callCenterLabel.workQueueClearCallbacksTitle": "Clear callback requests",
  "common.callCenterLabel.workQueueClearCallbacksConfirm": "Clear these callback requests from your queue. This cancels the open requests.",
  "common.callCenterLabel.workQueueClearCallbackTitle": "Clear callback request",
  "common.callCenterLabel.workQueueClearCallbackConfirm": "Clear this callback request from your queue. This cancels the open request.",
  "common.callCenterLabel.campaignMetricReachDetail": "Reach detail",
  "common.callCenterLabel.campaignStepDetails": "Details",
  "common.callCenterLabel.campaignStepDetailsHint": "Name, campus, purpose, and jurisdiction.",
  "common.callCenterLabel.campaignStepAudience": "Audience",
  "common.callCenterLabel.campaignStepAudienceHint": "Contacts snapshotted from this campus.",
  "common.callCenterLabel.campaignStepStrategy": "Strategy",
  "common.callCenterLabel.campaignStepStrategyHint": "Choose how each contact is called.",
  "common.callCenterLabel.campaignStrategyIntro": "Pick how each contact is called. Every option stays visible so you can compare them before you choose.",
  "common.callCenterLabel.campaignStepAssignment": "Assignment",
  "common.callCenterLabel.campaignStepAssignmentHint": "Approved caller ID, who may claim contacts, and for AI a separate outbound persona.",
  "common.callCenterLabel.campaignRespectOwner": "Respect student owner",
  "common.callCenterLabel.campaignRespectOwnerOn": "Student owner",
  "common.callCenterLabel.campaignRespectOwnerOff": "Call Center Agent pool",
  "common.callCenterLabel.campaignRespectOwnerHintOn": "Offers go first to the contact’s owner when that login is a Call Center Agent on this campus. Unowned contacts stay in the shared pool.",
  "common.callCenterLabel.campaignRespectOwnerHintOff": "Each Call Center Agent sees contacts assigned to them, contacts they own, and contacts whose owner has no Call Center Agent on this campus. A contact owned by another Call Center Agent stays on that agent's desk.",
  "common.callCenterLabel.campaignOfferBreakOffline": "Offer to Offline and Break",
  "common.callCenterLabel.campaignOfferBreakOfflineOn": "Offline and Break",
  "common.callCenterLabel.campaignOfferBreakOfflineOff": "Available only",
  "common.callCenterLabel.campaignOfferBreakOfflineHintOn": "Call Center Agents who are Offline or on Break can be offered a campaign contact and can take the call.",
  "common.callCenterLabel.campaignOfferBreakOfflineHintOff": "Only Call Center Agents who are Available are offered a campaign contact.",
  "common.callCenterLabel.campaignStepSchedule": "Schedule",
  "common.callCenterLabel.campaignStepScheduleHint": "Recipient-local windows and attempt limits.",
  "common.callCenterLabel.campaignStepReview": "Review",
  "common.callCenterLabel.campaignStepReviewHint": "Saving does not place a call.",
  "common.callCenterLabel.campaignReviewSaved": "Save stores a draft. Launch is a separate action and still checks every blocker.",
  "common.callCenterLabel.campaignFlagOff": "Outbound campaigns are off for this school. Drafts can be saved. Launch stays blocked.",
  "common.callCenterLabel.campaignPredictiveHeld": "Like Progressive, but the next contacts are prepared before an agent asks. The phone still waits for Call. It starts only after you approve it below, predictive dialing is on for the school, and 50 calls have finished.",
  "common.callCenterLabel.campaignPredictiveApproval": "Allow this campaign to prepare contacts before agents ask",
  "common.callCenterLabel.campaignAiHeld": "The AI calls the contact. This runs only when outbound AI is on, the persona can make outbound calls, and consent is recorded. A persona for incoming calls only cannot be used. If the call does not start, that contact is not called again automatically.",
  "common.callCenterLabel.campaignPreviewHint": "An agent sees who to call, then clicks Call. The phone does not ring until they do.",
  "common.callCenterLabel.campaignProgressiveHint": "The next contact goes to one free agent. That agent still clicks Call. They are not offered an incoming call while this contact is open.",
  "common.callCenterLabel.campaignLaunch": "Launch",
  "common.callCenterLabel.campaignContinue": "Continue snapshot",
  "common.callCenterLabel.campaignPause": "Pause",
  "common.callCenterLabel.campaignResume": "Resume",
  "common.callCenterLabel.campaignStop": "Stop",
  "common.callCenterLabel.campaignStopConfirm": "Stop new calls",
  "common.callCenterLabel.campaignBlockers": "Launch stays blocked",
  "common.callCenterLabel.campaignLoadedAt": "Loaded :time. Refresh before treating a count as current.",
  "common.callCenterLabel.campaignDesk": "Agent desk",
  "common.callCenterLabel.campaignDeskActiveContact": "Active contact",
  "common.callCenterLabel.campaignDeskEmpty": "No contact is waiting for you.",
  "common.callCenterLabel.campaignDeskQueueTitle": "Work queue",
  "common.callCenterLabel.campaignDeskQueueDescription": "Callable contacts and anyone with an open attempt on this campaign, in dial order. Hold reason and Defer until stay empty while Status is Eligible — use Take call on the dialer to claim the next contact.",
  "common.callCenterLabel.campaignDeskQueueAttempt": "Live attempt",
  "common.callCenterLabel.campaignDeskQueueNotDialing": "Not dialing",
  "common.callCenterLabel.campaignDeskDeferUntil": "Defer until",
  "common.callCenterLabel.campaignDeskDeferUntilHint": "When a timed hold ends and the contact can be claimed again. Empty means no timer — Eligible contacts are ready now.",
  "common.callCenterLabel.campaignDeskDeferUntilNone": "—",
  "common.callCenterLabel.campaignDeskQueueResultLabel": "queue contacts",
  "common.callCenterLabel.campaignDeskQueueSearch": "Search queue…",
  "common.callCenterLabel.campaignDeskQueueEmpty": "No contacts are waiting in the queue.",
  "common.callCenterLabel.campaignDeskAttemptsTitle": "Your attempts",
  "common.callCenterLabel.campaignDeskAttemptsDescription": "Open and recent dials assigned to you on this campaign.",
  "common.callCenterLabel.campaignDeskAttemptsResultLabel": "attempts",
  "common.callCenterLabel.campaignDeskAttemptsSearch": "Search your attempts…",
  "common.callCenterLabel.campaignDeskAttemptsEmpty": "You have not placed any attempts on this campaign yet.",
  "common.callCenterLabel.campaignDeskAttemptsNeedsAgentTitle": "Call Center Agent required",
  "common.callCenterLabel.campaignDeskAttemptsNeedsAgentDescription": "Link your user to a Call Center Agent to see your attempt history here.",
  "common.callCenterLabel.campaignAttemptStatusLabel": "Attempt status",
  "common.callCenterLabel.campaignNoAgent": "Choose the Call Center Agent for this login before taking a campaign call.",
  "common.callCenterLabel.campaignNext": "Next contact",
  "common.callCenterLabel.campaignCall": "Call",
  "common.callCenterLabel.campaignVoicemailDrop": "Voicemail message",
  "common.callCenterLabel.campaignVoicemailDropHint": "Upload an MP3 or WAV of 8 MB or less. It plays first, then the campus voice reads the spoken message, when a Call Center Agent presses the button.",
  "common.callCenterLabel.campaignVoicemailDropCurrent": "Saved recording: :name",
  "common.callCenterLabel.campaignVoicemailDropClear": "Remove the saved recording",
  "common.callCenterLabel.campaignVoicemailDropInvalid": "Upload an MP3 or WAV recording of 8 MB or less.",
  "common.callCenterLabel.campaignVoicemailRecording": "Recording",
  "common.callCenterLabel.campaignVoicemailScript": "Spoken message",
  "common.callCenterLabel.campaignVoicemailScriptHint": "Type the voicemail. The campus spoken message voice reads it when a Call Center Agent plays the voicemail. A recording, if you add one, plays first.",
  "common.callCenterLabel.campaignVoicemailScriptInvalid": "Enter a spoken message of 1,500 characters or fewer.",
  "common.callCenterLabel.campaignVoicemailPlay": "Play voicemail message",
  "common.callCenterLabel.campaignVoicemailDetected": "Voicemail answered. Play the saved message, then this call ends for you.",
  "common.callCenterLabel.campaignVoicemailPlayed": "The voicemail message is playing.",
  "common.callCenterLabel.campaignVoicemailDropFailed": "The voicemail message could not be played.",
  "common.callCenterLabel.campaignVoicemailLeave": "Leave voicemail",
  "common.callCenterLabel.campaignVoicemailLeft": "The voicemail message is playing. It hangs up when the message ends. Record an outcome, then take the next call.",
  "common.callCenterLabel.campaignSkip": "Skip",
  "common.callCenterLabel.campaignHangUp": "Hang up",
  "common.callCenterLabel.campaignOnCall": "On the call",
  "common.callCenterLabel.campaignWrapUp": "Record outcome",
  "common.callCenterLabel.campaignContact": "Contact",
  "common.callCenterLabel.campaignDialing": "Dialing. A connected carrier is not a person reached.",
  "common.callCenterLabel.campaignConnectedUnknown": "The carrier connected. The result stays unknown until you record an outcome.",
  "common.callCenterLabel.campaignEnded": "The call ended. Record an outcome if you spoke with someone.",
  "common.callCenterLabel.campaignSkipped": "Contact skipped.",
  "common.callCenterLabel.workQueueTitle": "Your queue",
  "common.callCenterLabel.workQueueOpen": "Open your queue",
  "common.callCenterLabel.workQueueClose": "Close your queue",
  "common.callCenterLabel.workQueueResize": "Resize your queue",
  "common.callCenterLabel.workQueueDismiss": "Dismiss",
  "common.callCenterLabel.workQueueCampaigns": "Campaigns",
  "common.callCenterLabel.workQueueTabs": "Call Center Agent queue",
  "common.callCenterLabel.workQueueCalls": "Incoming calls",
  "common.callCenterLabel.workQueueCallbacks": "Callback requests",
  "common.callCenterLabel.workQueueCallInbound": "Inbound",
  "common.callCenterLabel.workQueueCallOutbound": "Outbound",
  "common.callCenterLabel.workQueueEmptyCampaigns": "No running campaign is waiting on you.",
  "common.callCenterLabel.workQueueEmptyCalls": "No incoming calls for this Call Center Agent yet.",
  "common.callCenterLabel.workQueueClearCalls": "Clear incoming calls",
  "common.callCenterLabel.workQueueCallsCleared": "Incoming calls cleared.",
  "common.callCenterLabel.workQueueClearCallbacks": "Clear callback requests",
  "common.callCenterLabel.workQueueCallbacksCleared": "Callback requests cleared.",
  "common.callCenterLabel.workQueueClearCallback": "Clear callback",
  "common.callCenterLabel.workQueueCallbackCleared": "Callback request cleared.",
  "common.callCenterLabel.workQueueEmptyCallbacks": "No callback request is due today.",
  "common.callCenterLabel.workQueueNeedsAgent": "Choose the Call Center Agent for this login before taking a campaign call.",
  "common.callCenterLabel.workQueueReady": "A contact will appear here when one is ready for you.",
  "common.callCenterLabel.workQueuePreviewWait": "Choose Next contact when you are ready. Nothing is reserved until you do.",
  "common.callCenterLabel.workQueueAiOwns": "The voice assistant places these calls.",
  "common.callCenterLabel.workQueuePredictiveOwns": "The dialer places this call. Record the outcome when it ends.",
  "common.callCenterLabel.workQueueOpenCampaign": "Open campaign",
  "common.callCenterLabel.workQueueLoadFailed": "The queue could not be loaded.",
  "common.callCenterLabel.workQueueActionFailed": "That action could not be completed.",
  "common.callCenterLabel.workQueueCallback": "Callback",
  "common.callCenterLabel.workQueueOpenContact": "Open contact",
  "common.callCenterLabel.workQueueHandledBy": "Handled by :name",
  "common.callCenterLabel.workQueueOwnerUncovered": ":name owns this contact. That login has no Call Center Agent on this campus.",
  "common.callCenterLabel.workQueueNoOwner": "No owner. Any Call Center Agent on this campus can call.",
  "common.callCenterLabel.workQueueOwnerMissing": "No owner",
  "common.callCenterLabel.workQueueSeveralContacts": "Several contacts share this number.",
  "common.callCenterLabel.workQueuePromptWaiting": "This contact is waiting for you.",
  "common.callCenterLabel.workQueueTakeCall": "Take this call",
  "common.callCenterLabel.workQueueReserved": "Reserved for you. Call to reach this contact.",
  "common.callCenterLabel.campaignReached": "Recorded as reached.",
  "common.callCenterLabel.campaignNotReached": "Recorded. This was not marked as a person reached.",
  "common.callCenterLabel.campaignClassification": "Classification: :value",
  "common.callCenterLabel.campaignMetrics": "Results",
  "common.callCenterLabel.campaignMetricsHint": "Unknown is not counted as reached. AI is not a human answer.",
  "common.callCenterLabel.campaignMetricAttempts": "Attempts: :count",
  "common.callCenterLabel.campaignMetricContacts": "Contacts: :count",
  "common.callCenterLabel.campaignMetricHuman": "Human reached: :count",
  "common.callCenterLabel.campaignMetricUnknown": "Unknown: :count",
  "common.callCenterLabel.campaignMetricMachine": "Machine: :count",
  "common.callCenterLabel.campaignAbandonDenominator": "Not reached after connect counts finalized attempts classified human or unknown that were not marked reached. Unknown is not reached. An AI result is not a human answer.",
  "common.callCenterLabel.campaignMetricReached": "Reached: :count",
  "common.callCenterLabel.campaignMetricAi": "AI resolved (not a human answer): :count",
  "common.callCenterLabel.campaignMetricReachRate": "Reach rate: :rate (unique contacts)",
  "common.callCenterLabel.campaignMetricDenominator": "Reach rate uses unique contacts as the denominator.",
  "common.callCenterLabel.campaignMetricAbandonRate": "Not reached after connect rate: :rate (sample :sample)",
  "common.callCenterLabel.campaignPacing": "Pacing estimate",
  "common.callCenterLabel.campaignPacingPlaces": "Places calls: :value",
  "common.callCenterLabel.campaignPacingReason": "Reason: :reason",
  "common.callCenterLabel.campaignPacingRecommended": "Recommended claims: :count",
  "common.callCenterLabel.campaignPacingReady": "Ready agents: :count",
  "common.callCenterLabel.campaignUseProgressive": "Switch to progressive",
  "common.callCenterLabel.campaignOutcomeNoteTitle": "Call outcome #:id",
  "common.callCenterLabel.campaignOutcomeNote": "Outcome: :outcome. :reached. Closing a follow-up task does not mark this contact reached.",
  "common.callCenterLabel.campaignStatus.draft": "Draft",
  "common.callCenterLabel.campaignStatus.validating": "Validating",
  "common.callCenterLabel.campaignStatus.ready": "Ready",
  "common.callCenterLabel.campaignStatus.running": "Running",
  "common.callCenterLabel.campaignStatus.paused": "Paused",
  "common.callCenterLabel.campaignStatus.completed": "Completed",
  "common.callCenterLabel.campaignStatus.cancelled": "Cancelled",
  "common.callCenterLabel.campaignStatus.failed": "Failed",
  "common.callCenterLabel.campaignStrategy.preview": "Preview",
  "common.callCenterLabel.campaignStrategy.progressive": "Progressive",
  "common.callCenterLabel.campaignStrategy.ai_voice": "AI voice",
  "common.callCenterLabel.campaignStrategy.predictive": "Predictive",
  "common.callCenterLabel.campaignStrategyWho.preview": "Who calls · An agent",
  "common.callCenterLabel.campaignStrategyWho.progressive": "Who calls · One free agent",
  "common.callCenterLabel.campaignStrategyWho.ai_voice": "Who calls · The AI",
  "common.callCenterLabel.campaignStrategyWho.predictive": "Who calls · Free agents, still after Call",
  "common.callCenterLabel.campaignStrategyChip.preview.one": "One contact",
  "common.callCenterLabel.campaignStrategyChip.preview.two": "Agent clicks Call",
  "common.callCenterLabel.campaignStrategyChip.progressive.one": "Next contact",
  "common.callCenterLabel.campaignStrategyChip.progressive.two": "Incoming calls wait",
  "common.callCenterLabel.campaignStrategyChip.ai_voice.one": "Needs consent",
  "common.callCenterLabel.campaignStrategyChip.ai_voice.two": "Not retried if it fails",
  "common.callCenterLabel.campaignStrategyChip.predictive.one": "After 50 calls",
  "common.callCenterLabel.campaignStrategyChip.predictive.two": "Approve below",
  "common.callCenterLabel.campaignPurpose.transactional": "Transactional",
  "common.callCenterLabel.campaignPurpose.operational": "Operational",
  "common.callCenterLabel.campaignPurpose.marketing": "Marketing",
  "common.callCenterLabel.campaignJurisdiction.eu": "European Union",
  "common.callCenterLabel.campaignJurisdiction.ca": "Canada",
  "common.callCenterLabel.campaignJurisdiction.us": "United States",
  "common.callCenterLabel.campaignJurisdiction.strict": "Strict review",
  "common.callCenterLabel.campaignDay.mon": "Monday",
  "common.callCenterLabel.campaignDay.tue": "Tuesday",
  "common.callCenterLabel.campaignDay.wed": "Wednesday",
  "common.callCenterLabel.campaignDay.thu": "Thursday",
  "common.callCenterLabel.campaignDay.fri": "Friday",
  "common.callCenterLabel.campaignDay.sat": "Saturday",
  "common.callCenterLabel.campaignDay.sun": "Sunday",
  "common.callCenterLabel.campaignClass.human": "Human",
  "common.callCenterLabel.campaignClass.machine": "Machine",
  "common.callCenterLabel.campaignClass.unknown": "Unknown",
  "common.callCenterLabel.campaignClass.busy": "Busy",
  "common.callCenterLabel.campaignClass.no_answer": "No answer",
  "common.callCenterLabel.campaignClass.failed": "Failed",
  "common.callCenterLabel.campaignClass.cancelled": "Cancelled",
  "common.callCenterLabel.campaignCount.pending": "Pending",
  "common.callCenterLabel.campaignCount.dialing": "Dialing",
  "common.callCenterLabel.campaignCount.ringing": "Ringing",
  "common.callCenterLabel.campaignCount.human_connected": "Human reached",
  "common.callCenterLabel.campaignCount.ai_active": "AI active",
  "common.callCenterLabel.campaignCount.machine_or_unknown": "Machine or unknown",
  "common.callCenterLabel.campaignCount.completed": "Completed",
  "common.callCenterLabel.campaignCount.failed": "Failed",
  "common.callCenterLabel.campaignCount.skipped": "Skipped",
  "common.callCenterLabel.campaignChartReachFunnel": "Reach funnel",
  "common.callCenterLabel.campaignChartReachFunnelHint": "How contacts move from pending through human reach, completion, or failure.",
  "common.callCenterLabel.campaignChartMemberStatus": "Audience roster status",
  "common.callCenterLabel.campaignChartMemberStatusHint": "How each contact is classified on the campaign roster (eligible, deferred, completed, and so on).",
  "common.callCenterLabel.campaignChartPipeline": "Dial pipeline",
  "common.callCenterLabel.campaignChartPipelineHint": "Live attempt states across the full outbound pipeline.",
  "common.callCenterLabel.campaignChartClassification": "Call classification",
  "common.callCenterLabel.campaignChartClassificationHint": "Human, machine, unknown, and AI-resolved attempts.",
  "common.callCenterLabel.campaignChartOutcomes": "Agent outcomes",
  "common.callCenterLabel.campaignChartOutcomesHint": "Most frequent disposition codes logged by agents.",
  "common.callCenterLabel.campaignChartAttemptsOverTime": "Finalized attempts over time",
  "common.callCenterLabel.campaignChartAttemptsOverTimeHint": "Daily volume of completed attempts (last 30 days with activity).",
  "common.callCenterLabel.campaignChartEmptyTitle": "No chart data yet",
  "common.callCenterLabel.campaignChartEmptyDescription": "Charts appear once this campaign has matching activity.",
  "common.callCenterLabel.campaignBlocker.purpose_missing": "Choose a call purpose.",
  "common.callCenterLabel.campaignBlocker.jurisdiction_missing": "Choose a jurisdiction. A missing jurisdiction is not dialed.",
  "common.callCenterLabel.campaignBlocker.calling_window_missing": "Add at least one calling window.",
  "common.callCenterLabel.campaignBlocker.caller_id_unapproved": "The caller ID is not an approved number for this campus.",
  "common.callCenterLabel.campaignBlocker.audience_missing": "Choose a contact type, program, or list. A blank audience is not snapshotted.",
  "common.callCenterLabel.campaignBlocker.ai_start_failed": "The AI voice session did not start. This contact is held and will not be dialed again automatically.",
  "common.callCenterLabel.campaignBlocker.provider_ambiguous": "The provider result is ambiguous. The existing call is kept when a call log exists. Otherwise the contact is held and is not redialed.",
  "common.callCenterLabel.campaignBlocker.provider_start_unconfirmed": "The dial started, but the provider did not confirm it. This contact stays held and is not called again automatically.",
  "common.callCenterLabel.campaignBlocker.offer_not_taken": "The Call Center Agent did not take this offer. The contact is back on the queue.",
  "common.callCenterLabel.campaignBlocker.predictive_pilot_not_approved": "Predictive dialing is not approved and does not place calls.",
  "common.callCenterLabel.campaignBlocker.runtime_owner_approval_required": "AI voice still needs runtime-owner approval and does not start a session.",
  "common.callCenterLabel.campaignBlocker.inbound_persona": "That persona is inbound-only and cannot be used for a campaign.",
  "common.callCenterLabel.campaignBlocker.ai_consent_missing": "Record AI consent for this purpose before an AI campaign can be reviewed.",
  "common.callCenterLabel.campaignBlocker.flag_off": "Turn on outbound campaigns for this school before launch.",
  "common.callCenterLabel.campaignBlocker.campus": "That campus is outside your access.",
  "common.callCenterLabel.campaignBlocker.invalid": "Check the campaign name and strategy.",
  "common.callCenterLabel.campaignBlocker.locked": "This campaign can no longer be changed that way.",
  "common.callCenterLabel.campaignBlocker.stale_version": "This draft was saved somewhere else. Reload it and try again.",
  "common.callCenterLabel.campaignBlocker.storage": "Campaign tables are not on this school yet.",
  "common.callCenterLabel.campaignBlocker.blocked": "Fix the blockers before launch.",
  "common.callCenterLabel.campaignBlocker.remaining": "The snapshot is still running.",
  "common.callCenterLabel.campaignBlocker.stopped": "This campaign is not accepting new calls.",
  "common.callCenterLabel.campaignBlocker.dialer_unavailable": "Click-to-call is not available.",
  "common.callCenterLabel.campaignBlocker.no_agent": "No Call Center Agent is selected for this login.",
  "common.callCenterLabel.campaignBlocker.none": "No eligible contact is waiting.",
  "common.callCenterLabel.campaignBlocker.missing": "That campaign or attempt is not available.",
  "common.callCenterLabel.campaignBlocker.strategy": "This strategy does not place a call from the desk.",
  "common.callCenterLabel.campaignBlocker.contact_unavailable": "The contact is no longer available.",
  "common.callCenterLabel.campaignBlocker.invalid_phone": "The contact phone number cannot be dialed.",
  "common.callCenterLabel.campaignBlocker.outside_window": "The contact is outside the calling window.",
  "common.callCenterLabel.campaignHoursDisclaimerTitle": "Outside working hours",
  "common.callCenterLabel.campaignHoursDisclaimerBody": "This outbound campaign can still place the call. Inbound calls keep the campus business hours and this Call Center Agent's working hours.",
  "common.callCenterLabel.campaignHoursDisclaimerCampus": "This campus is outside its business hours.",
  "common.callCenterLabel.campaignHoursDisclaimerAgent": "This Call Center Agent is outside their working hours.",
  "common.callCenterLabel.campaignHoursDisclaimerContinue": "Place the call",
  "common.callCenterLabel.campaignHoursDisclaimerCancel": "Not now",
  "common.callCenterLabel.campaignBlocker.unknown_timezone": "The contact has no timezone, so the call waits.",
  "common.callCenterLabel.campaignBlocker.invalid_timezone": "The contact timezone could not be read, so the call waits.",
  "common.callCenterLabel.campaignBlocker.consent_unverified": "Consent could not be verified, so the call waits.",
  "common.callCenterLabel.campaignBlocker.contact_unsubscribed": "The contact is unsubscribed from phone.",
  "common.callCenterLabel.campaignBlocker.spacing": "Too soon after the last attempt. Wait for the campaign spacing window, then Take call again.",
  "common.callCenterLabel.campaignBlocker.daily_ceiling": "Daily attempt limit reached for this contact. They return tomorrow.",
  "common.callCenterLabel.campaignBlocker.weekly_ceiling": "Weekly attempt limit reached for this contact on this campaign.",
  "common.callCenterLabel.campaignBlocker.skipped": "Skipped by a Call Center Agent. Offered again after a short hold.",
  "common.callCenterLabel.campaignBlocker.attempt_ceiling_missing": "Set daily, weekly, and spacing limits on the campaign.",
  "common.callCenterLabel.campaignBlocker.strategy_missing": "Choose a dial strategy.",
  "common.callCenterLabel.operationsFlag.outboundCampaigns": "Outbound campaigns",
  "common.callCenterLabel.operationsFlag.outboundCampaignsOff": "Off keeps drafts and history, and claims no new calls. Inbound offers are unchanged.",
  "common.callCenterLabel.operationsFlag.outboundAi": "Outbound AI",
  "common.callCenterLabel.operationsFlag.outboundAiOff": "Off does not start an AI voice session from a campaign.",
  "common.callCenterLabel.operationsFlag.predictive": "Predictive pacing",
  "common.callCenterLabel.operationsFlag.predictiveOff": "Off hides the pacing estimate. Predictive never places a call from this page.",
  "common.callCenterLabel.operationsTitle": "Operations",
  "common.callCenterLabel.operationsDescription": "Capacity, flags, and one call trace. This page does not place a call.",
  "common.callCenterLabel.operationsLoadFailed": "The operations view could not be loaded.",
  "common.callCenterLabel.operationsEmpty": "No campus is in your access.",
  "common.callCenterLabel.operationsEmptyDescription": "Queue counts stay hidden until a campus is in scope.",
  "common.callCenterLabel.operationsRingTimeout": "Ring timeout",
  "common.callCenterLabel.operationsMaxOffers": "Max offers",
  "common.callCenterLabel.operationsMaxWait": "Max wait",
  "common.callCenterLabel.operationsOpenReservations": "Open reservations",
  "common.callCenterLabel.operationsDelayedCallbacks": "Callbacks past due",
  "common.callCenterLabel.operationsUnavailable": "Unavailable",
  "common.callCenterLabel.operationsRetention": "Recording retention",
  "common.callCenterLabel.operationsRetentionDays": ":count days",
  "common.callCenterLabel.operationsRetentionKeep": "Kept until someone suppresses playback.",
  "common.callCenterLabel.operationsPlaybackTtl": "Playback links last :count minutes.",
  "common.callCenterLabel.operationsCampuses": "Campuses",
  "common.callCenterLabel.operationsWaiting": "Waiting",
  "common.callCenterLabel.operationsReserved": "Reserved",
  "common.callCenterLabel.operationsLongestWait": "Longest wait",
  "common.callCenterLabel.operationsSeconds": ":count s",
  "common.callCenterLabel.operationsBottleneck.none": "Within limits",
  "common.callCenterLabel.operationsBottleneck.wait": "Wait limit",
  "common.callCenterLabel.operationsBottleneck.offer_cap": "Offer limit",
  "common.callCenterLabel.operationsBottleneck.no_free_agent": "No free agent",
  "common.callCenterLabel.operationsFlags": "Flags",
  "common.callCenterLabel.operationsFlagsHint": "Change a flag on the Call Center plugin. Turning it off keeps existing rows.",
  "common.callCenterLabel.operationsFlagOn": "On",
  "common.callCenterLabel.operationsFlagOff": "Off",
  "common.callCenterLabel.operationsFlag.browserSoftphone": "Browser softphone",
  "common.callCenterLabel.operationsFlag.browserSoftphoneOff": "Off rings the saved phone and does not require a browser.",
  "common.callCenterLabel.operationsFlag.ownerPriority": "Contact owner first",
  "common.callCenterLabel.operationsFlag.ownerPriorityOff": "Off offers the longest-idle eligible agent.",
  "common.callCenterLabel.operationsFlag.shadow": "Routing shadow",
  "common.callCenterLabel.operationsFlag.shadowOff": "Off does not store a routing explanation.",
  "common.callCenterLabel.operationsFlag.fallback": "Early fallback policy",
  "common.callCenterLabel.operationsFlag.fallbackOff": "Off keeps a caller holding until the queue limits.",
  "common.callCenterLabel.operationsFlag.earlyFallback": "No-agent fallback",
  "common.callCenterLabel.operationsFlag.earlyFallbackOff": "Off does not leave the queue early when nobody is eligible.",
  "common.callCenterLabel.operationsFlag.aiCorrelation": "AI handoff correlation",
  "common.callCenterLabel.operationsFlag.aiCorrelationOff": "Off does not write a correlation row. The caller still hears the existing handoff.",
  "common.callCenterLabel.operationsFlag.wrapUpOutcome": "Require a call outcome",
  "common.callCenterLabel.operationsFlag.wrapUpOutcomeOff": "Off lets wrap-up finish without an outcome.",
  "common.callCenterLabel.operationsFlag.webhookAuth": "Webhook signature",
  "common.callCenterLabel.operationsFlag.webhookAuthOff": "Off until one school validates a real signature. Leave it off to roll back.",
  "common.callCenterLabel.operationsFailures": "Failures",
  "common.callCenterLabel.operationsInstrumented": "Checked here",
  "common.callCenterLabel.operationsDocumented": "Documented",
  "common.callCenterLabel.operationsFailure.webhookReplay": "Repeated provider delivery",
  "common.callCenterLabel.operationsFailure.webhookReplayFallback": "The same CallSid or event key keeps the first row.",
  "common.callCenterLabel.operationsFailure.staleReservation": "Stale offer",
  "common.callCenterLabel.operationsFailure.staleReservationFallback": "The caller returns to waiting and the agent goes to Break, not Available.",
  "common.callCenterLabel.operationsFailure.workerDelay": "Delayed recovery job",
  "common.callCenterLabel.operationsFailure.workerDelayFallback": "The minute job is late. It does not mark the caller answered, and it never sets Available.",
  "common.callCenterLabel.operationsFailure.missingQueue": "Queue tables missing",
  "common.callCenterLabel.operationsFailure.missingQueueFallback": "Allocation does nothing. This page shows unavailable instead of zero callers.",
  "common.callCenterLabel.operationsFailure.recordingUrl": "Recording address",
  "common.callCenterLabel.operationsFailure.recordingUrlFallback": "A non-Twilio address is not stored. Suppressed or expired playback is blocked.",
  "common.callCenterLabel.operationsFailure.browserDisconnect": "Browser disconnect",
  "common.callCenterLabel.operationsFailure.browserDisconnectFallback": "With the softphone flag off, the offer still uses the saved phone. The same offer does not dial both.",
  "common.callCenterLabel.operationsFailure.aiRepeat": "Repeated AI start",
  "common.callCenterLabel.operationsFailure.aiRepeatFallback": "A second correlation for the same call does not add a second event. The media bridge is unchanged.",
  "common.callCenterLabel.operationsFailure.callbackPastDue": "Callback past due",
  "common.callCenterLabel.operationsFailure.callbackPastDueFallback": "The count is visible. Dialing does not close the callback.",
  "common.callCenterLabel.operationsFailure.incompleteTrace": "Missing interaction",
  "common.callCenterLabel.operationsFailure.incompleteTraceFallback": "An unknown id is missing. It is not shown as a successful empty call.",
  "common.callCenterLabel.operationsFailure.providerHealth": "Provider health",
  "common.callCenterLabel.operationsFailure.providerHealthFallback": "This school has no provider-health signal. Use the interaction id with the provider console.",
  "common.callCenterLabel.operationsFailure.aiMedia": "AI media",
  "common.callCenterLabel.operationsFailure.aiMediaFallback": "Media-bridge load stays with AI Voice. This page does not open a media socket.",
  "common.callCenterLabel.operationsTrace": "Call trace",
  "common.callCenterLabel.operationsTraceHint": "Look up one interaction. Phone numbers are not shown.",
  "common.callCenterLabel.operationsTraceId": "Interaction id",
  "common.callCenterLabel.operationsTraceLookup": "Look up",
  "common.callCenterLabel.operationsTraceInvalid": "Enter an interaction id.",
  "common.callCenterLabel.operationsTraceMissing": "That interaction was not found.",
  "common.callCenterLabel.operationsTraceForbidden": "That interaction is outside your campus access.",
  "common.callCenterLabel.operationsTraceInteraction": "Interaction :id",
  "common.callCenterLabel.operationsTraceChannel": "Channel :channel",
  "common.callCenterLabel.operationsTraceCampus": "Campus :id",
  "common.callCenterLabel.operationsTraceRoot": "Provider leg :sid",
  "common.callCenterLabel.operationsTraceContactLinked": "A contact is linked.",
  "common.callCenterLabel.operationsTraceContactOpen": "No single contact is linked.",
  "common.callCenterLabel.operationsTraceAmbiguous": "More than one contact matched.",
  "common.callCenterLabel.operationsTraceEnded": "The interaction has an end time.",
  "common.callCenterLabel.operationsTraceOpen": "The interaction has no end time.",
  "common.callCenterLabel.operationsPilotTitle": "Pilot checklist",
  "common.callCenterLabel.operationsPilotAutomated": "Automated",
  "common.callCenterLabel.operationsPilotManual": "Person with a phone",
  "common.callCenterLabel.operationsPilotManualHint": "The phone list is not part of the automated suite, and it is not a signed school acceptance.",
  "common.callCenterLabel.operationsPilot.burstReservation": "One agent keeps a single open reservation when several callers are waiting.",
  "common.callCenterLabel.operationsPilot.breakAfterNoAnswer": "No answer leaves the agent on Break.",
  "common.callCenterLabel.operationsPilot.recordingHost": "Only a Twilio recording address is accepted.",
  "common.callCenterLabel.operationsPilot.aiOnce": "A repeated AI correlation writes one event.",
  "common.callCenterLabel.operationsPilot.traceRedaction": "The trace leaves out phone numbers and email.",
  "common.callCenterLabel.operationsPilot.flagKeepsRows": "Turning a flag off keeps queue rows.",
  "common.callCenterLabel.operationsPilot.unknownNumber": "An unknown number dials the Twilio call-from number.",
  "common.callCenterLabel.operationsPilot.oneAgent": "One open-hours caller rings one agent.",
  "common.callCenterLabel.operationsPilot.ringTimeout": "A timed-out ring stays on Break.",
  "common.callCenterLabel.operationsPilot.closedHours": "Closed hours play the message and record when AI voice is off.",
  "common.callCenterLabel.operationsPilot.smsStop": "STOP writes one unsubscribe row.",
  "common.callCenterLabel.operationsPilot.speakToUs": "A duplicate Speak to Us submit does not run again.",
  "common.callCenterLabel.operationsPilot.v2Signoff": "After-hours V2 signoff stays a staging check: both bridges, the env pair, hours, consent, caller match, booking mode, escalation, and inbound rollback with outbound left on V2.",
  "common.callCenterLabel.qualityTitle": "Quality and history",
  "common.callCenterLabel.qualityDescription": "School metrics from queue rows and interaction events. An AI answer is counted on its own. A call with no end time is left out of talk time.",
  "common.callCenterLabel.qualityTabs": "Quality sections",
  "common.callCenterLabel.qualityTab.metrics": "Metrics",
  "common.callCenterLabel.qualityTab.recordings": "Recordings",
  "common.callCenterLabel.qualityTab.reviews": "Reviews",
  "common.callCenterLabel.qualityTab.ai": "AI quality",
  "common.callCenterLabel.qualityTab.schedules": "Schedules",
  "common.callCenterLabel.qualityMetricsTitle": "Period totals",
  "common.callCenterLabel.qualityContactDeleted": "Deleted contact",
  "common.callCenterLabel.qualityOutcomes": "Call outcomes",
  "common.callCenterLabel.qualityOutcomesChartDescription": "Answered, missed, abandoned, callback, and transfer totals for the selected range.",
  "common.callCenterLabel.qualityHandleTime": "Handle time",
  "common.callCenterLabel.qualityHandleTimeChartDescription": "Average ASA, AHT, talk, hold, and wrap-up time in seconds for the selected range.",
  "common.callCenterLabel.qualityTableTitle": "Daily metrics",
  "common.callCenterLabel.qualityTableDescription": "One row per school-local day in the selected range.",
  "common.callCenterLabel.qualityAiTitle": "AI quality",
  "common.callCenterLabel.qualityAiDescription": "Confirmed resolution, knowledge gaps, and latency for AI-answered calls in this range.",
  "common.callCenterLabel.qualityRecordingsTitle": "Recordings",
  "common.callCenterLabel.qualityRecordingsDescription": "Recent call recordings in campus scope. Playback uses a short-lived signed link.",
  "common.callCenterLabel.qualityRecordingResultLabel": "recordings",
  "common.callCenterLabel.qualityRecordingSearch": "Search recordings…",
  "common.callCenterLabel.qualityReviewsTitle": "Score a call",
  "common.callCenterLabel.qualityReviewsDescription": "Reviews are insert-only. A new score supersedes the previous row for that call.",
  "common.callCenterLabel.qualityReviewResultLabel": "reviews",
  "common.callCenterLabel.qualityReviewSearch": "Search reviews…",
  "common.callCenterLabel.qualitySchedulesTitle": "Report schedule",
  "common.callCenterLabel.qualitySchedulesDescription": "Email aggregate CSV counts on a daily or weekly cadence. Schedules use the filters above.",
  "common.callCenterLabel.qualitySchedulesListTitle": "Saved schedules",
  "common.callCenterLabel.qualityScheduleResultLabel": "schedules",
  "common.callCenterLabel.qualityScheduleSearch": "Search schedules…",
  "common.callCenterLabel.qualityPartialPeriod": "This range includes today, so it is not a finished period.",
  "common.callCenterLabel.qualityNoComparison": "Finished days are not compared with a partial day.",
  "common.callCenterLabel.qualityLoadFailed": "The report could not be loaded.",
  "common.callCenterLabel.qualityEmpty": "Nothing in this range.",
  "common.callCenterLabel.qualityForbidden": "You cannot view this.",
  "common.callCenterLabel.qualityExport": "Export",
  "common.callCenterLabel.qualityDate": "Date",
  "common.callCenterLabel.qualityTeam": "Team",
  "common.callCenterLabel.qualityAgent": "Call Center Agent",
  "common.callCenterLabel.qualityAllTeams": "All teams",
  "common.callCenterLabel.qualityAllAgents": "All agents",
  "common.callCenterLabel.qualityEndpoint": "Endpoint",
  "common.callCenterLabel.qualityEndpointAll": "Human and AI",
  "common.callCenterLabel.qualityEndpointHuman": "Human",
  "common.callCenterLabel.qualityEndpointAi": "AI",
  "common.callCenterLabel.qualityCall": "Call",
  "common.callCenterLabel.qualityCallNumber": "Call :id",
  "common.callCenterLabel.qualityPlay": "Play",
  "common.callCenterLabel.qualitySuppress": "Remove access",
  "common.callCenterLabel.qualitySuppressTitle": "Remove recording access?",
  "common.callCenterLabel.qualitySuppressConfirm": "Playback and the transcript will no longer be available for this call. Queue metrics stay.",
  "common.callCenterLabel.qualitySuppressed": "Playback was removed.",
  "common.callCenterLabel.qualityPlaybackLabel": "Playback",
  "common.callCenterLabel.qualityPlayback.available": "Available",
  "common.callCenterLabel.qualityPlayback.missing": "No recording",
  "common.callCenterLabel.qualityPlayback.suppressed": "Removed",
  "common.callCenterLabel.qualityPlayback.expired": "Past retention",
  "common.callCenterLabel.qualityPlayback.invalid": "Unavailable",
  "common.callCenterLabel.qualityTranscriptLabel": "Transcript",
  "common.callCenterLabel.qualityTranscript.available": "Transcript on file",
  "common.callCenterLabel.qualityTranscript.missing": "No transcript",
  "common.callCenterLabel.qualityTranscript.redacted": "Redacted",
  "common.callCenterLabel.qualityTranscript.deleted": "Removed",
  "common.callCenterLabel.qualityRubric": "Rubric",
  "common.callCenterLabel.qualityRubricHuman": "Human call",
  "common.callCenterLabel.qualityRubricAi": "AI call",
  "common.callCenterLabel.qualityReviewNote": "Note",
  "common.callCenterLabel.qualityReviewSave": "Save review",
  "common.callCenterLabel.qualityReviewSaved": "Review saved.",
  "common.callCenterLabel.qualityReviewHistory": "Show history",
  "common.callCenterLabel.qualityReviewStatusLabel": "Review status",
  "common.callCenterLabel.qualityReviewStatus.assigned": "Assigned",
  "common.callCenterLabel.qualityReviewStatus.scored": "Scored",
  "common.callCenterLabel.qualityReviewStatus.disputed": "Disputed",
  "common.callCenterLabel.qualityReviewStatus.calibrated": "Calibrated",
  "common.callCenterLabel.qaGreeting": "Greeting",
  "common.callCenterLabel.qaResolution": "Resolution",
  "common.callCenterLabel.qaCompliance": "Compliance",
  "common.callCenterLabel.qaDisclosure": "Disclosure",
  "common.callCenterLabel.qaEscalation": "Escalation",
  "common.callCenterLabel.qaAccuracy": "Accuracy",
  "common.callCenterLabel.qualityConfirmed": "Confirmed AI resolution",
  "common.callCenterLabel.qualityUnknown": "Unknown AI resolution",
  "common.callCenterLabel.qualityKbGaps": "Knowledge gaps",
  "common.callCenterLabel.qualityHumanRequested": "Caller asked for a person",
  "common.callCenterLabel.qualityFalseCommitment": "False commitment",
  "common.callCenterLabel.qualityLatency": "Reply latency",
  "common.callCenterLabel.qualityLatencyUnknown": "Not measured",
  "common.callCenterLabel.qualityRecipient": "Recipient",
  "common.callCenterLabel.qualityCadence": "Cadence",
  "common.callCenterLabel.qualityCadenceDaily": "Daily",
  "common.callCenterLabel.qualityCadenceWeekly": "Weekly",
  "common.callCenterLabel.qualityWindowDays": "Completed days",
  "common.callCenterLabel.qualityScheduleSave": "Save schedule",
  "common.callCenterLabel.qualityScheduleSaved": "Schedule saved.",
  "common.callCenterLabel.qualityScheduleCancelled": "Schedule cancelled.",
  "common.callCenterLabel.qualityScheduleCancel": "Cancel",
  "common.callCenterLabel.qualityScheduleStatusLabel": "Status",
  "common.callCenterLabel.qualityScheduleStatus.active": "Active",
  "common.callCenterLabel.qualityScheduleStatus.cancelled": "Cancelled",
  "common.callCenterLabel.metric.offered": "Offered",
  "common.callCenterLabel.metric.answered_human": "Answered by a person",
  "common.callCenterLabel.metric.answered_ai": "Answered by AI",
  "common.callCenterLabel.metric.missed": "Missed",
  "common.callCenterLabel.metric.abandoned": "Abandoned",
  "common.callCenterLabel.metric.callback_accepted": "Callback accepted",
  "common.callCenterLabel.metric.asa": "Speed of answer",
  "common.callCenterLabel.metric.aht": "Handle time",
  "common.callCenterLabel.metric.talk": "Talk time",
  "common.callCenterLabel.metric.hold": "Hold",
  "common.callCenterLabel.metric.wrap_up": "Wrap-up",
  "common.callCenterLabel.metric.transfers": "Transfers",
  "common.callCenterLabel.metricHelp.offered": "A caller entered the campus queue.",
  "common.callCenterLabel.metricHelp.answered_human": "A person connected. This does not include an AI answer.",
  "common.callCenterLabel.metricHelp.answered_ai": "The after-hours path connected or redirected to AI.",
  "common.callCenterLabel.metricHelp.missed": "The queue failed, overflowed, or closed without a person, an AI answer, or a callback.",
  "common.callCenterLabel.metricHelp.abandoned": "The caller left, and no inbound callback was accepted.",
  "common.callCenterLabel.metricHelp.callback_accepted": "An inbound callback was accepted.",
  "common.callCenterLabel.metricHelp.asa": "Average time from entering the queue to a person connecting.",
  "common.callCenterLabel.metricHelp.aht": "Average talk, hold, and wrap-up for calls that have an end time.",
  "common.callCenterLabel.metricHelp.talk": "Connected time. A call with no end time is excluded.",
  "common.callCenterLabel.metricHelp.hold": "Seconds named on a hold event.",
  "common.callCenterLabel.metricHelp.wrap_up": "Time from the call end to the wrap-up note or outcome, up to one hour.",
  "common.callCenterLabel.metricHelp.transfers": "Transfers that the other party answered.",
  "common.callCenterLabel.inboxTitle": "Work inbox",
  "common.callCenterLabel.inboxDescription": "Callbacks, missed calls, voicemail, SMS, and AI escalations in one list. Each row still belongs to its original record.",
  "common.callCenterLabel.inboxKinds": "Work types",
  "common.callCenterLabel.inboxKind.all": "All",
  "common.callCenterLabel.inboxKind.callback": "Callback",
  "common.callCenterLabel.inboxKind.missed_call": "Missed call",
  "common.callCenterLabel.inboxKind.voicemail": "Voicemail",
  "common.callCenterLabel.voicemailTitle": "Voicemail",
  "common.callCenterLabel.voicemailFilters": "Voicemail filters",
  "common.callCenterLabel.voicemailDateRange": "Date range",
  "common.callCenterLabel.voicemailDescription": "Listen to caller recordings left when nobody answered, then mark them reviewed.",
  "common.callCenterLabel.voicemailEmpty": "No voicemail in this view",
  "common.callCenterLabel.voicemailEmptyHelp": "When a caller leaves a message after hours or after the queue gives up, it appears here.",
  "common.callCenterLabel.voicemailSearch": "Search voicemail",
  "common.callCenterLabel.voicemailResultLabel": "voicemails",
  "common.callCenterLabel.voicemailReceived": "Received",
  "common.callCenterLabel.voicemailPhone": "Phone",
  "common.callCenterLabel.voicemailLoadFailed": "Voicemail could not be loaded.",
  "common.callCenterLabel.voicemailForbidden": "You cannot view that campus.",
  "common.callCenterLabel.voicemailNotFound": "That voicemail is not available.",
  "common.callCenterLabel.voicemailListen": "Listen",
  "common.callCenterLabel.voicemailMarkReviewed": "Mark reviewed",
  "common.callCenterLabel.voicemailMarkedReviewed": "Voicemail marked reviewed.",
  "common.callCenterLabel.voicemailPlaybackUnavailable": "This recording is not available to play.",
  "common.callCenterLabel.voicemailOpenBanner": ":count open voicemail waiting for review",
  "common.callCenterLabel.voicemailNotificationSubject": "New voicemail",
  "common.callCenterLabel.voicemailNotificationSubjectNamed": "Voicemail from :name",
  "common.callCenterLabel.voicemailNotificationSubjectPhone": "Voicemail from :phone",
  "common.callCenterLabel.voicemailNotificationBody": "A caller left a voicemail. Open Call Center → Voicemail to listen.",
  "common.callCenterLabel.voicemailNotificationBodyNamed": ":name left a voicemail. Open their profile or Call Center → Voicemail to listen.",
  "common.callCenterLabel.voicemailNotificationBodyNamedPhone": ":name (:phone) left a voicemail. Open their profile or Call Center → Voicemail to listen.",
  "common.callCenterLabel.voicemailNotificationBodyPhone": "A caller at :phone left a voicemail. Open Call Center → Voicemail to listen.",
  "common.callCenterLabel.workQueueEmptyVoicemail": "No open voicemail",
  "common.callCenterLabel.voicemailState.open": "Open",
  "common.callCenterLabel.voicemailState.done": "Reviewed",
  "common.callCenterLabel.voicemailState.all": "All",
  "common.callCenterLabel.inboxKind.sms_unread": "Unread SMS",
  "common.callCenterLabel.inboxKind.sms_failed": "Failed SMS",
  "common.callCenterLabel.inboxKind.ai_escalation": "AI escalation",
  "common.callCenterLabel.inboxKind.follow_up": "Follow-up",
  "common.callCenterLabel.inboxStateLabel": "Status",
  "common.callCenterLabel.inboxState.open": "Open",
  "common.callCenterLabel.inboxState.requested": "Requested",
  "common.callCenterLabel.inboxState.scheduled": "Scheduled",
  "common.callCenterLabel.inboxState.dialing": "Dialing",
  "common.callCenterLabel.inboxState.reached": "Reached",
  "common.callCenterLabel.inboxState.rescheduled": "Rescheduled",
  "common.callCenterLabel.inboxState.unresolved": "Unresolved",
  "common.callCenterLabel.inboxState.done": "Done",
  "common.callCenterLabel.inboxState.all": "All statuses",
  "common.callCenterLabel.inboxAllCampuses": "All campuses",
  "common.callCenterLabel.inboxAssign": "Assign to",
  "common.callCenterLabel.inboxOwnerNone": "Keep current owner",
  "common.callCenterLabel.inboxPriorityLabel": "Priority",
  "common.callCenterLabel.inboxPriorityKeep": "Keep current priority",
  "common.callCenterLabel.inboxPriority.low": "Low",
  "common.callCenterLabel.inboxPriority.normal": "Normal",
  "common.callCenterLabel.inboxPriority.high": "High",
  "common.callCenterLabel.inboxApply": "Apply to selected",
  "common.callCenterLabel.inboxEmpty": "No work in this view",
  "common.callCenterLabel.inboxEmptyHelp": "Change the work type or status, or refresh after new calls and messages arrive.",
  "common.callCenterLabel.inboxLoadFailed": "The work inbox could not be loaded.",
  "common.callCenterLabel.inboxForbidden": "You cannot view that campus.",
  "common.callCenterLabel.inboxMissing": "That work item is not available.",
  "common.callCenterLabel.inboxAttemptBlocked": "That callback cannot be updated.",
  "common.callCenterLabel.inboxBulkMixed": "Select work from one campus at a time.",
  "common.callCenterLabel.inboxBulkMissingUser": "Choose a staff user who can take this work.",
  "common.callCenterLabel.inboxBulkConflict": "Some items changed. Refresh and try the remaining ones.",
  "common.callCenterLabel.inboxBulkInvalid": "That update could not be saved.",
  "common.callCenterLabel.inboxSelectFirst": "Select at least one item.",
  "common.callCenterLabel.inboxApplied": "Updated :count items.",
  "common.callCenterLabel.inboxPartial": "Some selected items were skipped.",
  "common.callCenterLabel.inboxSaved": "Saved.",
  "common.callCenterLabel.inboxFollowupStatus": "Callback status: :status",
  "common.callCenterLabel.inboxOpenSource": "Open the original record",
  "common.callCenterLabel.inboxCall": "Start call",
  "common.callCenterLabel.inboxNoAnswer": "No answer",
  "common.callCenterLabel.inboxReached": "Reached",
  "common.callCenterLabel.inboxReschedule": "Reschedule",
  "common.callCenterLabel.inboxOverdue": "Overdue",
  "common.callCenterLabel.inboxDue": "Due :time",
  "common.callCenterLabel.inboxTotal": ":count items",
  "common.callCenterLabel.inboxPrevious": "Previous",
  "common.callCenterLabel.inboxNext": "Next",
  "common.callCenterLabel.aiOpsTitle": "AI operations",
  "common.callCenterLabel.aiOpsDescription": "See which calls the after-hours assistant handled, and which ones still need a person.",
  "common.callCenterLabel.aiOpsNoTranscript": "This list does not include the caller's number or the transcript.",
  "common.callCenterLabel.aiOpsCorrelationOn": "Call correlation on",
  "common.callCenterLabel.aiOpsCorrelationOff": "Call correlation off",
  "common.callCenterLabel.aiOpsChecksPassed": "Release checks passed (:count)",
  "common.callCenterLabel.aiOpsChecksFailed": "Release checks failed (:count)",
  "common.callCenterLabel.aiOpsAllCampuses": "All campuses",
  "common.callCenterLabel.aiOpsRefresh": "Refresh",
  "common.callCenterLabel.aiOpsEmpty": "No AI calls in this period.",
  "common.callCenterLabel.aiOpsEmptyHelp": "Calls appear here after the assistant answers, or after correlation records a handoff.",
  "common.callCenterLabel.aiOpsCampusUnknown": "Campus not recorded",
  "common.callCenterLabel.aiOpsReasonUnknown": "Not recorded",
  "common.callCenterLabel.aiOpsReasonClosed": "Campus closed",
  "common.callCenterLabel.aiOpsReasonHoliday": "Holiday",
  "common.callCenterLabel.aiOpsReasonNoAgents": "No eligible agent",
  "common.callCenterLabel.aiOpsReasonExhausted": "Queue exhausted",
  "common.callCenterLabel.aiOpsReasonAiDown": "Assistant unavailable",
  "common.callCenterLabel.aiOpsReasonPolicy": "Policy incomplete",
  "common.callCenterLabel.aiOpsReasonPersona": "Persona cannot answer",
  "common.callCenterLabel.aiOpsReasonInHours": "Office open",
  "common.callCenterLabel.aiOpsActionRedirect": "Sent to the assistant",
  "common.callCenterLabel.aiOpsActionRecord": "Message and recording",
  "common.callCenterLabel.aiOpsActionConnect": "Assistant connected",
  "common.callCenterLabel.aiOpsActionUnavailable": "Unavailable message",
  "common.callCenterLabel.aiOpsActionQueue": "Human queue",
  "common.callCenterLabel.aiOpsActionConfirmed": "Confirmed",
  "common.callCenterLabel.aiOpsActionFailed": "Failed",
  "common.callCenterLabel.aiOpsTransfer": "Transfer :status",
  "common.callCenterLabel.aiOpsCallback": "Callback task",
  "common.callCenterLabel.aiOpsAssignee": "Assigned to user :id",
  "common.callCenterLabel.aiOpsReassign": "Reassign callback",
  "common.callCenterLabel.aiOpsReassignHelp": "User id for the existing priority callback. This does not create a task.",
  "common.callCenterLabel.aiOpsKbIssue": "Report a knowledge issue",
  "common.callCenterLabel.aiOpsKbIssueHelp": "Short note for this call. It does not change the knowledge base.",
  "common.callCenterLabel.aiOpsForbidden": "You cannot open this campus.",
  "common.callCenterLabel.aiOpsMissing": "That call was not found.",
  "common.callCenterLabel.aiOpsMissingUser": "Enter a user id that exists.",
  "common.callCenterLabel.aiOpsMissingCallback": "This call has no priority callback to reassign.",
  "common.callCenterLabel.aiOpsNoteEmpty": "Enter a short note.",
  "common.callCenterLabel.aiOpsError": "AI operations could not be loaded.",
  "common.callCenterLabel.routingTitle": "Routing check",
  "common.callCenterLabel.routingDescription": "See who would take a call, and what the caller hears if nobody is free. Nothing is dialed.",
  "common.callCenterLabel.routingNoSideEffects": "Running this check does not reserve a Call Center Agent, change a status, or dial a number.",
  "common.callCenterLabel.routingShadowOn": "Shadow log on",
  "common.callCenterLabel.routingShadowOff": "Shadow log off",
  "common.callCenterLabel.routingFallbackOn": "Fallback policy on",
  "common.callCenterLabel.routingFallbackOff": "Fallback policy off",
  "common.callCenterLabel.routingEarlyOn": "Early no-agent fallback on",
  "common.callCenterLabel.routingEarlyOff": "Early no-agent fallback off",
  "common.callCenterLabel.routingCampus": "Campus",
  "common.callCenterLabel.routingOn": "Date",
  "common.callCenterLabel.routingOnHelp": "Optional. Blank uses the current time in :timezone.",
  "common.callCenterLabel.routingAt": "Time",
  "common.callCenterLabel.routingAtHelp": "Optional. Blank uses noon on that date.",
  "common.callCenterLabel.routingOwner": "Staff user",
  "common.callCenterLabel.routingOwnerHelp": "Optional. If this person is free to take calls on the campus, they are offered first. Live calls are not changed.",
  "common.callCenterLabel.routingEntry": "Waiting caller",
  "common.callCenterLabel.routingEntryHelp": "Optional. Checks that caller’s place in this campus queue. The phone number stays hidden.",
  "common.callCenterLabel.routingRun": "Run check",
  "common.callCenterLabel.routingRunning": "Running…",
  "common.callCenterLabel.routingError": "The check could not be completed. Try again.",
  "common.callCenterLabel.routingForbidden": "You cannot check this campus.",
  "common.callCenterLabel.routingEntryMissing": "That queue entry is not on this campus.",
  "common.callCenterLabel.routingClockInvalid": "Use a real date. Time can be 9:00 AM or 09:00. Leave the date blank to use right now.",
  "common.callCenterLabel.routingSelected": "Selected Call Center Agent",
  "common.callCenterLabel.routingSelectedAgent": "Call Center Agent :id — :reason",
  "common.callCenterLabel.routingNone": "No eligible Call Center Agent.",
  "common.callCenterLabel.routingCompatibility": "Compatibility order is the contact owner, when that setting is on, then the longest-idle eligible Call Center Agent.",
  "common.callCenterLabel.routingSkillsNotApplied": "Skills are not used to choose a Call Center Agent.",
  "common.callCenterLabel.routingLanguagesNotApplied": "Languages are not used to choose a Call Center Agent.",
  "common.callCenterLabel.routingLastAgent": "The last Call Center Agent on this number was :id. That history is not used to choose.",
  "common.callCenterLabel.routingLastAgentNotApplied": "A previous Call Center Agent is not preferred.",
  "common.callCenterLabel.routingDivergence": "This check and a live offer disagree. A real call still uses the live offer.",
  "common.callCenterLabel.routingCandidates": "Eligible Call Center Agents",
  "common.callCenterLabel.routingExclusions": "Not offered",
  "common.callCenterLabel.routingNoExclusions": "Every listed Call Center Agent on this campus can be offered.",
  "common.callCenterLabel.routingFallback": "Fallback",
  "common.callCenterLabel.routingOffice": "Campus hours: :status",
  "common.callCenterLabel.routingOfficeOpen": "Campus is open",
  "common.callCenterLabel.routingOfficeClosed": "Campus is closed",
  "common.callCenterLabel.routingOfficeUnknown": "Campus hours are not set",
  "common.callCenterLabel.routingNext": "Next step: :step (:reason)",
  "common.callCenterLabel.routingExhausted": "After the queue limits: :step",
  "common.callCenterLabel.routingCallbackUnavailable": "A callback prompt is not played on the call.",
  "common.callCenterLabel.routingReasonOwner": "Chosen because they own the contact.",
  "common.callCenterLabel.routingReasonLongestIdle": "Chosen because they have been free the longest.",
  "common.callCenterLabel.routingReasonNone": "No eligible Call Center Agent",
  "common.callCenterLabel.routingReasonWaiting": "Keep holding",
  "common.callCenterLabel.routingReasonNoAgents": "No eligible Call Center Agent",
  "common.callCenterLabel.routingReasonExhausted": "Queue limits reached",
  "common.callCenterLabel.routingStepQueue": "This campus queue",
  "common.callCenterLabel.routingStepOverflow": "Overflow campus",
  "common.callCenterLabel.routingStepAi": "After-hours assistant",
  "common.callCenterLabel.routingStepRecord": "Message and record",
  "common.callCenterLabel.routingStepCallback": "Callback prompt",
  "common.callCenterLabel.routingStepHold": "Hold",
  "common.callCenterLabel.routingStepOffer": "Offer",
  "common.callCenterLabel.routingStatusSelected": "Selected",
  "common.callCenterLabel.routingStatusPending": "Later",
  "common.callCenterLabel.routingStatusSkipped": "Skipped",
  "common.callCenterLabel.routingStatusUnavailable": "Unavailable",
  "common.callCenterLabel.routingLiveTitle": "What a live call does",
  "common.callCenterLabel.routingLiveHold": "A live call waits for a Call Center Agent. After the wait limit, it tries one overflow campus, then the after-hours assistant or a recording.",
  "common.callCenterLabel.routingLiveEarly": "A live call goes to the after-hours assistant, or to a recording, as soon as no Call Center Agent is free.",
  "common.callCenterLabel.routingLiveShadow": "Each live offer is also saved in a comparison log. The log does not change who is called.",
  "common.callCenterLabel.routingFlagLeave": "When nobody is free",
  "common.callCenterLabel.routingFlagLeaveHold": "Stay on hold",
  "common.callCenterLabel.routingFlagLeaveNow": "Leave immediately",
  "common.callCenterLabel.routingFlagLog": "Comparison log",
  "common.callCenterLabel.routingFlagOn": "On",
  "common.callCenterLabel.routingFlagOff": "Off",
  "common.callCenterLabel.routingFormTitle": "Check a campus",
  "common.callCenterLabel.routingFormHelp": "Leave the date blank to use right now. A date without a time uses noon.",
  "common.callCenterLabel.routingAtNeedsDate": "Pick a date before setting a time.",
  "common.callCenterLabel.routingTimePlaceholder": "Optional",
  "common.callCenterLabel.routingAdvanced": "Check a specific person",
  "common.callCenterLabel.routingAdvancedHelp": "Leave both blank to check the campus as it is right now.",
  "common.callCenterLabel.routingIdInvalid": "Enter a whole number, or leave this blank.",
  "common.callCenterLabel.routingCampusRequired": "Choose a campus.",
  "common.callCenterLabel.routingNoCampus": "You need access to a campus before you can run this check.",
  "common.callCenterLabel.routingEmptyTitle": "No check yet",
  "common.callCenterLabel.routingEmptyHelp": "Use Run check to choose a campus and see who would take the call. Leave the date blank to use right now.",
  "common.callCenterLabel.routingInputsChanged": "These fields differ from the last check. Run the check again to update the answer.",
  "common.callCenterLabel.routingAnswerNone": "No Call Center Agent would be offered.",
  "common.callCenterLabel.routingAnswerNamed": ":name would be offered.",
  "common.callCenterLabel.routingAnswerId": "Call Center Agent :id would be offered.",
  "common.callCenterLabel.routingAnswerIdAgent": "Call Center Agent :id would be offered.",
  "common.callCenterLabel.routingAnswerNotQueue": "This campus voice number does not use the queue. The caller is dialed to the school's calling number.",
  "common.callCenterLabel.routingAnswerClosedAi": "The caller is sent to the after-hours assistant. No Call Center Agent is offered.",
  "common.callCenterLabel.routingAnswerClosedRecord": "The caller hears the campus message and can leave a recording. No Call Center Agent is offered.",
  "common.callCenterLabel.routingAnswerIfOpenNamed": "If the campus were open, :name would be offered.",
  "common.callCenterLabel.routingAnswerIfOpenId": "If the campus were open, Call Center Agent :id would be offered.",
  "common.callCenterLabel.routingAnswerIfOpenNone": "If the campus were open, no Call Center Agent would be offered.",
  "common.callCenterLabel.routingAdvisorId": "Call Center Agent :id",
  "common.callCenterLabel.routingCampusFallback": "Campus :id",
  "common.callCenterLabel.routingOfferedOwner": "Offered — contact owner",
  "common.callCenterLabel.routingOfferedIdle": "Offered — longest idle",
  "common.callCenterLabel.routingCallerHold": "The caller stays on hold until a Call Center Agent is free or the wait limit is reached.",
  "common.callCenterLabel.routingCallerOffer": "The caller is offered to that Call Center Agent.",
  "common.callCenterLabel.routingCallerOfferAgent": "The caller is offered to that Call Center Agent.",
  "common.callCenterLabel.routingCallerSchoolNumber": "The caller is dialed to the school's calling number and does not enter this campus queue.",
  "common.callCenterLabel.routingCallerOverflow": "The caller is sent to the overflow campus.",
  "common.callCenterLabel.routingCallerAi": "The caller is sent to the after-hours assistant.",
  "common.callCenterLabel.routingCallerRecord": "The caller hears the campus message and can leave a recording.",
  "common.callCenterLabel.routingAfterLimit": "If the wait limit is reached: :step",
  "common.callCenterLabel.routingAfterLimitDetail": "If the wait limit is reached (:seconds seconds or :offers offers): :step",
  "common.callCenterLabel.routingOverflowNamed": "Overflow campus (:name)",
  "common.callCenterLabel.routingVoiceNotQueue": "Not the campus queue",
  "common.callCenterLabel.routingAgentsNotOnThisCheck": "These Call Center Agents are not offered on this check.",
  "common.callCenterLabel.routingCheckedNow": "Checked for right now in :timezone.",
  "common.callCenterLabel.routingCheckedAt": "Checked for :when in :timezone.",
  "common.callCenterLabel.routingHowChosen": "The contact’s owner is offered first when that setting is on and they are free. Otherwise the Call Center Agent who has been free the longest is offered. Skills and language are not used.",
  "common.callCenterLabel.routingAdvisors": "Call Center Agents",
  "common.callCenterLabel.routingFree": "Free to take a call",
  "common.callCenterLabel.routingNoneFree": "No Call Center Agent is free to take a call.",
  "common.callCenterLabel.routingNoAgents": "This campus has no Call Center Agents.",
  "common.callCenterLabel.routingNotOffered": "Not free",
  "common.callCenterLabel.routingAllFree": "Every Call Center Agent who covers this campus is free.",
  "common.callCenterLabel.routingWhatNext": "What the caller hears",
  "common.callCenterLabel.routingWhatNextHelp": "These steps are for this check. A later step runs only if the earlier one does not take the call.",
  "common.callCenterLabel.routingStatusNow": "Now",
  "common.callCenterLabel.routingStatusAfterLimit": "After the wait limit",
  "common.callCenterLabel.routingStatusNotUsed": "Not used",
  "common.callCenterLabel.routingStatusHolding": "Caller stays on hold",
  "common.callCenterLabel.routingStatusWaitLimit": "Wait limit reached",
  "common.callCenterLabel.routingStatusNoOverflow": "No overflow campus is set",
  "common.callCenterLabel.routingStatusOverflowLoop": "Skipped to avoid a loop",
  "common.callCenterLabel.routingStatusOverflowAlready": "Already tried",
  "common.callCenterLabel.routingStatusEarlySkip": "Not used while nobody is free",
  "common.callCenterLabel.routingStatusNotOnCall": "Not played on the call",
  "common.callCenterLabel.routingStatusAiOff": "Not set up for this campus",
  "common.callCenterLabel.navCallMeButton": "Speak to Us",
  "common.callCenterLabel.navCallCenterAgents": "Call Center Agents",
  "common.callCenterLabel.callCenterAgentsTitle": "Call Center Agents",
  "common.callCenterLabel.callCenterAgentsDescription": "Create a Call Center Agent and assign a user so that person can take calls. Several Call Center Agents can share one login. Leave the login blank to ring a phone only.",
  "common.callCenterLabel.callCenterAgentNew": "New Call Center Agent",
  "common.callCenterLabel.callCenterAgentCreateBlocked.permission": "You need Create permission on Call to add a Call Center Agent. Ask an administrator to grant create|call on your role.",
  "common.callCenterLabel.callCenterAgentCreateBlocked.upgrade": "Phone-only Call Center Agents need tenant database upgrade 583 (nullable call_agents.email). Run the school’s tenant DB upgrades, then reload this page.",
  "common.callCenterLabel.callCenterAgentCreateBlocked.storage": "Call Center Agent tables are not ready on this school yet. Run the call-center tenant upgrades (571 and later), then reload.",
  "common.callCenterLabel.callCenterAgentCreateBlocked.campuses": "You do not have a campus you can assign. Update your user campus access, then try again.",
  "common.callCenterLabel.callCenterAgentView": "View",
  "common.callCenterLabel.callCenterAgentShowDescription": "Ring phone, queue coverage, working hours, vacations, and live call-center state for this Call Center Agent.",
  "common.callCenterLabel.callCenterAgentFallbackTitle": "Call Center Agent",
  "common.callCenterLabel.callCenterAgentDetailsTab": "Details",
  "common.callCenterLabel.callCenterAgentTabWorkingHours": "Working hours",
  "common.callCenterLabel.callCenterAgentTabVacations": "Vacations",
  "common.callCenterLabel.callCenterAgentWorkingHoursHelp": "These hours start from the campuses on this Call Center Agent. Saving replaces them for this Call Center Agent. Until you save, calls follow those campus hours. If those campuses have no hours yet, the clock does not limit calls.",
  "common.callCenterLabel.callCenterAgentVacationsHelp": "These dates start as the holidays of the campuses on this Call Center Agent. Saving replaces them for this Call Center Agent. Until you save, calls follow those campus holidays.",
  "common.callCenterLabel.callCenterAgentWorkingHoursClosedWeek": "A fully closed week takes this Call Center Agent off calls until a day is open.",
  "common.callCenterLabel.callCenterAgentBackToList": "Back to agents",
  "common.callCenterLabel.callCenterAgentFieldNotEditable": "This field cannot be edited here.",
  "common.callCenterLabel.callCenterAgentEdit": "Edit Call Center Agent",
  "common.callCenterLabel.callCenterAgentName": "Name",
  "common.callCenterLabel.callCenterAgentPhone": "Ring phone",
  "common.callCenterLabel.callCenterAgentPhoneHelp": "The phone that rings for this Call Center Agent.",
  "common.callCenterLabel.callCenterAgentExtension": "PBX extension",
  "common.callCenterLabel.callCenterAgentExtensionHelp": "Optional digits sent after the main number answers (for desk phones behind a PBX). Use digits only; a short pause is added automatically.",
  "common.callCenterLabel.callCenterAgentExtensionInvalid": "Enter a valid extension (digits, * or #, up to 20 characters).",
  "common.callCenterLabel.callCenterAgentExtensionRequiresPhone": "Add a ring phone before setting an extension.",
  "common.callCenterLabel.callCenterAgentTimezone": "Timezone",
  "common.callCenterLabel.callCenterAgentTakesCallsHelp": "A missed call leaves this Call Center Agent on Break until Takes calls is saved again.",
  "common.callCenterLabel.callCenterAgentLogin": "Login",
  "common.callCenterLabel.callCenterAgentLoginHelp": "This Call Center Agent signs in with that user’s email. Several Call Center Agents can use the same email. Leave blank to ring the phone only.",
  "common.callCenterLabel.callCenterAgentLoginNone": "No login",
  "common.callCenterLabel.callCenterAgentSave": "Save Call Center Agent",
  "common.callCenterLabel.callCenterAgentSaveFailed": "Could not save the Call Center Agent. Fix the highlighted fields and try again.",
  "common.callCenterLabel.callCenterAgentSaved": "Call Center Agent saved",
  "common.callCenterLabel.callCenterAgentStepProfile": "Profile",
  "common.callCenterLabel.callCenterAgentStepProfileHint": "Name, campuses, how they take calls, timezone, and login.",
  "common.callCenterLabel.callCenterAgentStepRouting": "Queue coverage",
  "common.callCenterLabel.callCenterAgentStepRoutingHint": "Campuses this Call Center Agent covers, and whether they take calls.",
  "common.callCenterLabel.callCenterAgentStepReview": "Review",
  "common.callCenterLabel.callCenterAgentStepReviewHint": "Confirm before saving.",
  "common.callCenterLabel.callCenterAgentStepAnnouncement": "Step :current of :total: :step",
  "common.callCenterLabel.callCenterAgentWizardFixErrors": "Fix the errors on this step before continuing.",
  "common.callCenterLabel.callCenterAgentWizardNavigation": "Call Center Agent wizard steps",
  "common.callCenterLabel.callCenterAgentWizardEditNavigation": "Edit Call Center Agent wizard steps",
  "common.callCenterLabel.callCenterAgentWizardFooterAria": "Call Center Agent wizard actions",
  "common.callCenterLabel.callCenterAgentWizardEditFooterAria": "Edit Call Center Agent wizard actions",
  "common.callCenterLabel.callCenterAgentOpenUser": "Open user",
  "common.callCenterLabel.callCenterAgentEmpty": "No Call Center Agents yet.",
  "common.callCenterLabel.callCenterAgentDelete": "Delete Call Center Agent",
  "common.callCenterLabel.callCenterAgentDeleteTitle": "Delete this Call Center Agent?",
  "common.callCenterLabel.callCenterAgentDeleteConfirm": "This removes the Call Center Agent from the queue. Their user account stays. Call history stays. Contacts assigned to them are cleared.",
  "common.callCenterLabel.callCenterAgentDeleted": "Call Center Agent deleted.",
  "common.callCenterLabel.callCenterAgentDeleteBusy": "This Call Center Agent is on a call or holding an offer. Finish that work before deleting.",
  "common.callCenterLabel.callCenterAgentDeleteHiddenCampus": "This Call Center Agent also covers a campus you cannot access, so they were not deleted.",
  "common.callCenterLabel.callCenterAgentBulkDelete": "Delete Call Center Agents",
  "common.callCenterLabel.callCenterAgentBulkDeleteTitle": "Delete the selected Call Center Agents?",
  "common.callCenterLabel.callCenterAgentBulkDeleteConfirm": "This removes the selected Call Center Agents from the queue. Anyone on a call is skipped. Their user accounts and call history stay.",
  "common.callCenterLabel.callCenterAgentBulkDeleted": "Deleted :count Call Center Agents.",
  "common.callCenterLabel.callCenterAgentBulkDeletedPartial": "Deleted :deleted Call Center Agents. Skipped :skipped who are on a call or outside your campuses.",
  "common.callCenterLabel.callCenterAgentDeleteNone": "No Call Center Agents were deleted. They may be on a call or outside your campuses.",
  "common.callCenterLabel.callCenterAgentSearch": "Search Call Center Agents",
  "common.callCenterLabel.callCenterAgentUnavailable": "Call Center Agents are not available yet.",
  "common.callCenterLabel.callCenterAgentNameRequired": "Enter a name.",
  "common.callCenterLabel.callCenterAgentPhoneRequired": "Enter a ring phone.",
  "common.callCenterLabel.callCenterAgentPhoneInvalid": "Enter a valid phone number.",
  "common.callCenterLabel.callCenterAgentPhoneInUse": "That phone is already used by a Call Center Agent.",
  "common.callCenterLabel.callCenterAgentCampusRequired": "Choose at least one campus.",
  "common.callCenterLabel.callCenterAgentNoCampuses": "You do not have a campus to assign.",
  "common.callCenterLabel.callCenterAgentLoginInvalid": "Choose a user from this school.",
  "common.callCenterLabel.callCenterAgentTimezoneInvalid": "Choose a valid timezone.",
  "common.callCenterLabel.callCenterAgentInvalid": "Choose a Call Center Agent for this login.",
  "common.callCenterLabel.callCenterAgentChoose": "Choose a Call Center Agent",
  "common.callCenterLabel.callCenterAgentGateTitle": "Which Call Center Agent are you today?",
  "common.callCenterLabel.callCenterAgentGateDescription": "Your login is linked to more than one Call Center Agent. Choose one to continue. You cannot change this choice later in this session.",
  "common.callCenterLabel.callCenterAgentGateSearchLabel": "Search Call Center Agents",
  "common.callCenterLabel.callCenterAgentGateSearchPlaceholder": "Search by name, phone, or extension",
  "common.callCenterLabel.callCenterAgentGatePhoneWithExtension": ":phone · ext. :extension",
  "common.callCenterLabel.callCenterAgentGateShowingLimited": "Showing :shown of :total matches. Refine your search to find another agent.",
  "common.callCenterLabel.callCenterAgentGateNoMatches": "No Call Center Agent matches that search.",
  "common.callCenterLabel.callCenterAgentGateOtpHint": "We text a confirmation code to that Call Center Agent's phone before this session is locked.",
  "common.callCenterLabel.callCenterAgentOtpTitle": "Enter the confirmation code",
  "common.callCenterLabel.callCenterAgentOtpDescription": "We sent a code to :phone for :name.",
  "common.callCenterLabel.callCenterAgentOtpLabel": "Confirmation code",
  "common.callCenterLabel.callCenterAgentOtpPlaceholder": "6-digit code",
  "common.callCenterLabel.callCenterAgentOtpConfirm": "Confirm",
  "common.callCenterLabel.callCenterAgentOtpResend": "Send a new code",
  "common.callCenterLabel.callCenterAgentOtpResendWait": "Send a new code in :seconds s",
  "common.callCenterLabel.callCenterAgentOtpBack": "Choose a different Call Center Agent",
  "common.callCenterLabel.callCenterAgentOtpSms": "HEM-SP code to confirm Call Center Agent :name: :code. It expires in :minutes minutes.",
  "common.callCenterLabel.callCenterAgentOtpNoPhone": "This Call Center Agent has no phone number, so a confirmation code cannot be sent.",
  "common.callCenterLabel.callCenterAgentOtpUnavailable": "The confirmation code could not be sent. Try again in a moment.",
  "common.callCenterLabel.callCenterAgentOtpThrottled": "Wait :seconds seconds before sending another code.",
  "common.callCenterLabel.callCenterAgentOtpInvalid": "That code is not correct.",
  "common.callCenterLabel.callCenterAgentOtpExpired": "That code has expired. Send a new one.",
  "common.callCenterLabel.callCenterAgentOtpTooMany": "Too many incorrect codes. Send a new one.",
  "common.callCenterLabel.callCenterAgentOtpRequired": "Enter the confirmation code sent to that Call Center Agent.",
  "common.callCenterLabel.callCenterAgentLocked": "Your Call Center Agent is set for this session. Sign out and sign in again to choose a different one.",
  "common.callCenterLabel.callCenterAgentBrowser": "Answer in the browser",
  "common.callCenterLabel.callCenterAgentBrowserHelp": "Ring this Call Center Agent in the browser instead of the phone number. A login is required. The ring phone receives the confirmation code and is not dialed.",
  "common.callCenterLabel.callCenterAgentBrowserPhoneHelp": "This phone receives the confirmation code when this Call Center Agent answers in the browser. The call rings in the browser, not on this phone.",
  "common.callCenterLabel.callCenterAgentSharedLoginPhoneRequired": "Enter a phone number. A login linked to more than one Call Center Agent needs a phone for the confirmation code.",
  "common.callCenterLabel.callCenterAgentSharedLoginPhoneHelp": "Required when this login is linked to more than one Call Center Agent, so a confirmation code can be sent.",
  "common.callCenterLabel.callCenterAgentSharedLoginSiblingPhoneRequired": "Another Call Center Agent on this login has no phone number. Add that phone so a confirmation code can be sent.",
  "common.callCenterLabel.callCenterAgentBrowserLogin": "Choose a login before answering in the browser.",
  "common.callCenterLabel.callCenterAgentAnswerVia": "How this Call Center Agent takes calls",
  "common.callCenterLabel.callCenterAgentAnswerBrowser": "Browser",
  "common.callCenterLabel.callCenterAgentAnswerBrowserHelp": "Rings in the browser. A login is required.",
  "common.callCenterLabel.callCenterAgentAnswerPhone": "Phone + extension",
  "common.callCenterLabel.callCenterAgentAnswerPhoneHelp": "Ring a phone number, then send an extension when the desk phone is behind a PBX.",
  "common.callCenterLabel.callCenterAgentAnswer": "Answer",
  "common.callCenterLabel.callMeButtonTitle": "Call me button",
  "common.callCenterLabel.callMeButtonDescription": "Save a call-me button for each page. Each button can use a different campus, label, and color.",
  "common.callCenterLabel.callMeAssistant": "Assistant",
  "common.callCenterLabel.callMeButtonLabel": "Button label",
  "common.callCenterLabel.callMeButtonLabelHelp": "The circle opens the form. This text is the submit button. Leave it blank to keep CONNECT.",
  "common.callCenterLabel.callMeButtonColor": "Button color",
  "common.callCenterLabel.callMeButtonColorHelp": "Uses your school’s primary color unless you pick a different one.",
  "common.callCenterLabel.callMeButtonColorInvalid": "Enter a color like #00A0DF.",
  "common.callCenterLabel.callMeFormTitleHelp": "Shown above the form. Leave this blank to keep Request a Phone Call.",
  "common.callCenterLabel.callMeDescription": "Description",
  "common.callCenterLabel.callMeDescriptionHelp": "Shown under the title, before the fields. Leave this blank to show only the title.",
  "common.callCenterLabel.callMeDescriptionInvalid": "The description is too long.",
  "common.callCenterLabel.callMeFieldLabels": "Field labels",
  "common.callCenterLabel.callMeFieldLabelsHelp": "Leave a label blank to keep the student portal wording.",
  "common.callCenterLabel.callMeConsentLabel": "Consent",
  "common.callCenterLabel.callMeFieldLabelInvalid": "Use plain text, up to 40 characters.",
  "common.callCenterLabel.callMeConsentInvalid": "Use plain text, up to 200 characters.",
  "common.callCenterLabel.callMeRequestType": "Request Type",
  "common.callCenterLabel.callMeRequestTypeHelp": "Saved on the contact. Visitors do not see or change this.",
  "common.callCenterLabel.callMeRequestTypePlaceholder": "Select request type",
  "common.callCenterLabel.callMeRequestTypeInvalid": "Choose a request type from the list.",
  "common.callCenterLabel.callMeFormTitleInvalid": "Use plain text, up to 80 characters.",
  "common.callCenterLabel.callMeLauncherStyle": "Launcher style",
  "common.callCenterLabel.callMeLauncherStyleInvalid": "Choose a launcher style from the list.",
  "common.callCenterLabel.callMePanelStyle": "Panel style",
  "common.callCenterLabel.callMePanelStyleInvalid": "Choose a panel style from the list.",
  "common.callCenterLabel.position": "Position",
  "common.callCenterLabel.callMePositionInvalid": "Choose a position from the list.",
  "common.callCenterLabel.formMode": "Form mode",
  "common.callCenterLabel.callMeFormModeInvalid": "Choose a form mode from the list.",
  "common.callCenterLabel.callMeSectionGeneral": "General",
  "common.callCenterLabel.callMeSectionAppearance": "Appearance",
  "common.callCenterLabel.callMeSectionForm": "Form",
  "common.callCenterLabel.callMeSectionPreviewEmbed": "Preview & Embed",
  "common.callCenterLabel.callMePreviewDevice": "Device",
  "common.callCenterLabel.callMePreviewDeviceDesktop": "Desktop",
  "common.callCenterLabel.callMePreviewDeviceMobile": "Mobile",
  "common.callCenterLabel.callMePreviewOpen": "Open",
  "common.callCenterLabel.callMePreviewState": "State",
  "common.callCenterLabel.callMePreviewState.closed": "Closed",
  "common.callCenterLabel.callMePreviewState.open": "Open",
  "common.callCenterLabel.callMePreviewState.validation": "Validation",
  "common.callCenterLabel.callMePreviewState.submitting": "Submitting",
  "common.callCenterLabel.callMePreviewState.scheduled": "Scheduled",
  "common.callCenterLabel.callMePreviewState.connecting": "Connecting",
  "common.callCenterLabel.callMePreviewState.error": "Error",
  "common.callCenterLabel.launcherStyle.circle": "Circle",
  "common.callCenterLabel.launcherStyle.pill": "Pill",
  "common.callCenterLabel.launcherStyle.tab": "Tab",
  "common.callCenterLabel.panelStyle.classic": "Classic",
  "common.callCenterLabel.panelStyle.modern": "Modern",
  "common.callCenterLabel.panelStyle.compact": "Compact",
  "common.callCenterLabel.position.bottom_right": "Bottom right",
  "common.callCenterLabel.position.bottom_left": "Bottom left",
  "common.callCenterLabel.position.right_center": "Right edge (center)",
  "common.callCenterLabel.position.left_center": "Left edge (center)",
  "common.callCenterLabel.formMode.standard": "Standard",
  "common.callCenterLabel.formMode.quick": "Quick",
  "common.callCenterLabel.callMeCopy": "Copy code",
  "common.callCenterLabel.callMeCopied": "Website code copied.",
  "common.callCenterLabel.callMeCopyFailed": "The website code could not be copied.",
  "common.callCenterLabel.callMeChoose": "Choose a campus to build the website code.",
  "common.callCenterLabel.callMeNew": "New button",
  "common.callCenterLabel.callMeWizardNavigation": "Call Me button wizard navigation",
  "common.callCenterLabel.callMeWizardFooterAria": "Call Me button wizard actions",
  "common.callCenterLabel.callMeWizardEditNavigation": "Edit Call Me button wizard navigation",
  "common.callCenterLabel.callMeWizardEditFooterAria": "Edit Call Me button wizard actions",
  "common.callCenterLabel.callMeStepDetails": "Details",
  "common.callCenterLabel.callMeStepDetailsHint": "Name this button and choose who it is for.",
  "common.callCenterLabel.callMeStepAppearance": "Appearance",
  "common.callCenterLabel.callMeStepAppearanceHint": "Choose the launcher, panel, and placement.",
  "common.callCenterLabel.callMeStepContent": "Form",
  "common.callCenterLabel.callMeStepContentHint": "Set the title, description, and field labels.",
  "common.callCenterLabel.callMeStepReview": "Review",
  "common.callCenterLabel.callMeStepReviewHint": "Confirm the button before saving.",
  "common.callCenterLabel.callMeStepAnnouncement": ":step (:current of :total)",
  "common.callCenterLabel.callMeFixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.callCenterLabel.callMeCreateFailed": "The button could not be saved.",
  "common.callCenterLabel.callMeEdit": "Edit button",
  "common.callCenterLabel.callMeName": "Name",
  "common.callCenterLabel.callMeNameHelp": "A name for your team, such as Homepage or Open house.",
  "common.callCenterLabel.callMeNameRequired": "Enter a name for this button.",
  "common.callCenterLabel.callMeCampusInvalid": "Choose a campus.",
  "common.callCenterLabel.callMeButtonLabelInvalid": "Use plain text, up to 40 characters.",
  "common.callCenterLabel.callMeSave": "Save button",
  "common.callCenterLabel.callMeSaved": "Call me button saved.",
  "common.callCenterLabel.callMeDelete": "Delete",
  "common.callCenterLabel.campaignView": "View campaign",
  "common.callCenterLabel.campaignDelete": "Delete campaign",
  "common.callCenterLabel.campaignDeleteTitle": "Delete this campaign?",
  "common.callCenterLabel.campaignDeleteConfirm": "This removes the campaign and rolls back every call it placed, including call history, notes, and follow-ups.",
  "common.callCenterLabel.campaignDeleted": "Campaign deleted. Its calls were rolled back.",
  "common.callCenterLabel.callMeDeleteTitle": "Delete this button?",
  "common.callCenterLabel.callMeDeleteConfirm": "Pages that use this button will stop showing the form.",
  "common.callCenterLabel.callMeDeleted": "Call me button deleted.",
  "common.callCenterLabel.callMeEmpty": "No call me buttons yet.",
  "common.callCenterLabel.callMeEmptyHelp": "Create a button for each page. Each one can use a different campus, label, and color.",
  "common.callCenterLabel.callMeCampusMissing": "This campus is no longer available.",
  "common.callCenterLabel.callMeUnavailable": "Call me buttons are not ready yet. Reload the page.",
  "common.callCenterLabel.callMePreview": "Preview",
  "common.callCenterLabel.callMeSearch": "Search buttons",
  "common.callCenterLabel.callMeButtons": "buttons",
  "common.callCenterLabel.callMeView": "View button",
  "common.callCenterLabel.callMeStatsTab": "Stats",
  "common.callCenterLabel.callMeStatsTitle": "Button stats",
  "common.callCenterLabel.callMeStatsDescription": "Counts for the last :days days. A submit is tagged to this button from now on. Earlier Speak to Us submits stay with the campus.",
  "common.callCenterLabel.callMeStatsButtonSubmits": "This button",
  "common.callCenterLabel.callMeStatsButtonSubmitsHelp": "Submits tagged to this button in the last :days days.",
  "common.callCenterLabel.callMeStatsCampusSubmits": "Campus submits",
  "common.callCenterLabel.callMeStatsCampusSubmitsHelp": "Every Speak to Us submit for this campus in the last :days days.",
  "common.callCenterLabel.callMeStatsOpenCallbacks": "Open callbacks",
  "common.callCenterLabel.callMeStatsOpenCallbacksHelp": "Website callbacks for this campus that are still scheduled.",
  "common.callCenterLabel.callMeStatsReadyAgents": "Can take a call",
  "common.callCenterLabel.callMeStatsReadyAgentsHelp": "Call Center Agents on this campus who can be offered a call right now.",
  "common.callCenterLabel.callMeStatsSubmitsChart": "Submits by day",
  "common.callCenterLabel.callMeStatsSubmitsChartHelp": "Speak to Us submits for this campus over the last :days days.",
  "common.callCenterLabel.callMeStatsCallbacksChart": "Callback results",
  "common.callCenterLabel.callMeStatsCallbacksChartHelp": "Website callbacks created for this campus in the last :days days.",
  "common.callCenterLabel.callMeStatsCoverageChart": "Who can take a call",
  "common.callCenterLabel.callMeStatsCoverageChartHelp": "Call Center Agents who cover this campus, and why the others cannot be offered a call right now.",
  "common.callCenterLabel.callMeStatsChartEmptyTitle": "No chart data yet",
  "common.callCenterLabel.callMeStatsChartEmptyDescription": "This chart fills in after visitors use Speak to Us, or when Call Center Agents cover this campus.",
  "common.callCenterLabel.callMeStatsStatusScheduled": "Scheduled",
  "common.callCenterLabel.callMeStatsStatusClosed": "Closed",
  "common.callCenterLabel.callMeStatsStatusCancelled": "Cancelled",
  "common.callCenterLabel.callMeFieldNotEditable": "This field cannot be changed.",
  "common.callCenterLabel.callMeRequestTypeNone": "None",
  "common.callCenterLabel.callMeDetailsTab": "Details",
  "common.callCenterLabel.callMeBackToList": "Back to buttons",
  "common.callCenterLabel.callMeDetailsDescription": "See how this button looks, and what a visitor gets when they submit.",
  "common.callCenterLabel.callMeEmbedHelp": "Add this code to the page. Refresh that page after you save a change.",
  "common.callCenterLabel.callMeOutcomeConnects": "Connects now",
  "common.callCenterLabel.callMeOutcomeScheduled": "Schedules a callback",
  "common.callCenterLabel.callMeOutcomeBlocked": "Form unavailable",
  "common.callCenterLabel.callMeAnalysisBlockedTitle": "This button does not load on the website.",
  "common.callCenterLabel.callMeAnalysisBlockedDetail": "The campus for this button is no longer available, so the website code does not show the form.",
  "common.callCenterLabel.callMeAnalysisConnectTitle": "A submit connects the visitor to :name.",
  "common.callCenterLabel.callMeAnalysisConnectDetail": "{1} A new visitor is offered :name. A contact who already has an owner is offered that owner first, when that owner can take this campus.|[2,*] :count Call Center Agents can take this campus now. A new visitor is offered :name. A contact who already has an owner is offered that owner first, when that owner can take this campus.",
  "common.callCenterLabel.callMeAnalysisScheduledTitle": "A submit schedules a callback.",
  "common.callCenterLabel.callMeAnalysisScheduledDetail": "A submit creates a callback and a task. The visitor is told the school will contact them. No live call is placed.",
  "common.callCenterLabel.callMeAnalysisScheduledNone": "No Call Center Agent covers this campus, so a submit creates a callback instead of a live call.",
  "common.callCenterLabel.callMeAnalysisQueueUnavailable": "The call queue is not ready, so every submit creates a callback instead of a live call.",
  "common.callCenterLabel.callMeAnalysisAgentFallback": "Call Center Agent :id",
  "common.callCenterLabel.callMeAnalysisReadOnly": "Opening this page does not place a call or create a callback.",
  "common.callCenterLabel.callMeAnalysisOwnerNote": "A new visitor is offered the Call Center Agent who has been waiting the longest. A contact who already has an owner is offered that owner first, when that owner covers this campus and can take the call.",
  "common.callCenterLabel.callMeAnalysisExclusions": "Call Center Agents who cover this campus and cannot take a call",
  "common.callCenterLabel.callMeSnippet": "Website code",
  "common.callCenterLabel.callMeEmptyAssistants": "Publish an assistant before creating a call me button.",
  "common.callCenterLabel.callMeEmptyCampuses": "Add a campus before creating a call me button.",
  "common.callCenterLabel.supervisorHistoricalVoiceDescription": "Answered, abandoned, forwarded, and wait/talk times by campus over a date range.",
  "common.callCenterLabel.startDate": "Start date",
  "common.callCenterLabel.endDate": "End date",
  "common.callCenterLabel.refresh": "Refresh",
  "common.callCenterLabel.answered": "Answered",
  "common.callCenterLabel.abandoned": "Abandoned",
  "common.callCenterLabel.forwarded": "Forwarded",
  "common.callCenterLabel.avgWait": "Avg wait",
  "common.callCenterLabel.maxWait": "Max wait",
  "common.callCenterLabel.avgTalk": "Avg talk",
  "common.callCenterLabel.totalTalk": "Total talk",
  "common.callCenterLabel.rangeExceedsMaxDays": "The selected range exceeds the maximum of :days days.",
  "common.callCenterLabel.callbackBacklog": "Callback backlog",
  "common.callCenterLabel.smsWorkload": "SMS workload",
  "common.callCenterLabel.open": "Open",
  "common.callCenterLabel.overdue": "Overdue",
  "common.callCenterLabel.unread": "Unread",
  "common.callCenterLabel.unassigned": "Unassigned",
  "common.callCenterLabel.inboxSearch": "Search work",
  "common.callCenterLabel.inboxResultLabel": "work items",
  "common.callCenterLabel.inboxWork": "Work",
  "common.callCenterLabel.inboxDueColumn": "Due",
  "common.callCenterLabel.noStudent": "No student",
  "common.callCenterLabel.failed": "Failed",
  "common.callCenterLabel.team": "Team",
  "common.callCenterLabel.owners": "Owners",
  "common.callCenterLabel.user": "User",
  "common.callCenterLabel.schoolLevel": "School level",
  "common.userLabel.stepAnnouncement": ":step. Step :current of :total.",
  "common.userLabel.stepProfile": "User Information",
  "common.userLabel.stepProfileHint": "Enter the staff user's core contact details.",
  "common.userLabel.stepProgress": "Step :current of :total",
  "common.userLabel.updateFailed": "Unable to update user. Review the form and try again.",
  "common.userLabel.updateUser": "Update User",
  "common.userLabel.updatedSuccessfully": "User updated successfully.",
  "common.userLabel.users": "users",
  "common.userLabel.manageRoles": "Manage Roles",
  "common.userLabel.manageRolesDescriptionBulk": "Set roles for :count selected users. Existing school roles will be replaced with your selection.",
  "common.userLabel.manageRolesDescriptionSingle": "Set roles assigned to :name.",
  "common.userLabel.manageRolesFailed": "Unable to update roles for the selected users.",
  "common.userLabel.manageRolesHelp": "Select one or more roles. Leave empty to remove all school roles from the selected users.",
  "common.userLabel.manageRolesNoOptions": "No roles are available for this school.",
  "common.userLabel.manageRolesSuccess": "Roles updated for :count user(s).",
  "common.userLabel.saveRoles": "Save Roles",
  "common.userLabel.usersEmpty": "No users matched the current search or filters.",
  "common.userLabel.wizardFooterAria": "User wizard actions",
  "common.userLabel.wizardNavigation": "User wizard navigation",
  "common.userLabel.yes": "Yes",
  "common.userProfileLabel.accountSection": "Account information",
  "common.userProfileLabel.accountSectionDesc": "Your contact details and locale preferences.",
  "common.userProfileLabel.accountTab": "Account Settings",
  "common.userProfileLabel.authCancelled": "Authentication cancelled.",
  "common.userProfileLabel.authWindowClosed": "Authentication window was closed.",
  "common.userProfileLabel.authorizationRequired": "Authorization Required",
  "common.userProfileLabel.authorizationRequiredDescription": "Authorization required. Please reconnect this email integration.",
  "common.userProfileLabel.connectFailed": "Error connecting provider.",
  "common.userProfileLabel.databaseDeleted": "BrightSync database data deleted! You can now reconnect.",
  "common.userProfileLabel.deleteDatabaseConfirm": "Are you sure you want to delete BrightSync database data? This will reset the connection state and allow you to reconnect. This action does NOT call any API endpoints.",
  "common.userProfileLabel.deleteDatabaseFailed": "Failed to delete BrightSync database data.",
  "common.userProfileLabel.deleteDbData": "Delete DB Data",
  "common.userProfileLabel.deleteMyEmails": "Delete My Emails",
  "common.userProfileLabel.deleteMyMeetings": "Delete My Meetings",
  "common.userProfileLabel.deleteTestDataConfirmEmails": "Are you sure you want to delete all of your emails?",
  "common.userProfileLabel.deleteTestDataConfirmMeetings": "Are you sure you want to delete all of your meetings?",
  "common.userProfileLabel.deleteUser": "Delete User",
  "common.userProfileLabel.deleteUserConfirm": "Are you sure you want to delete your BrightSync user? This action cannot be undone.",
  "common.userProfileLabel.deleteUserFailed": "Failed to delete BrightSync user.",
  "common.userProfileLabel.disconnectBeforeConnect": "Disconnect your current email provider before connecting a new one.",
  "common.userProfileLabel.disconnectConfirm": "Are you sure you want to disconnect this provider?",
  "common.userProfileLabel.disconnectFailed": "Failed to disconnect provider.",
  "common.userProfileLabel.editProfile": "Edit Profile",
  "common.userProfileLabel.emailIntegration": "Email Integration",
  "common.userProfileLabel.emailInvalid": "Enter a valid email address.",
  "common.userProfileLabel.emailRequired": "Email is required.",
  "common.userProfileLabel.enableTfaFirst": "Enable two factor authentication first.",
  "common.userProfileLabel.externalAppointmentBookingCalendar": "External appointment booking calendar",
  "common.userProfileLabel.externalAppointmentBookingCalendarHelper": "Paste your external scheduling URL (for example Microsoft Bookings or Calendly). Use ${user.booking_calendar_link} in automations and templates. For contact-scoped messages, ${students.owner_booking_calendar_link} uses this URL and pre-fills supported calendars (Calendly); Microsoft Bookings does not support URL pre-fill.",
  "common.userProfileLabel.externalAppointmentBookingCalendarLink": "Booking calendar link",
  "common.userProfileLabel.externalAppointmentBookingCalendarLinkHelper": "Use this staff link in automations, emails, and SMS (for example ${user.booking_calendar_link}). In student-scoped merge tags such as ${students.owner_booking_calendar_link}, the link includes the contact and pre-fills supported calendars (Calendly).",
  "Continue to booking calendar": "Continue to booking calendar",
  "Redirecting to booking calendar": "Redirecting to booking calendar",
  "common.userProfileLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.userProfileLabel.integrationComplete": "Integration complete!",
  "common.userProfileLabel.languageHelper": "Leave empty to use the school's default language",
  "common.userProfileLabel.languagePlaceholder": "Use the school's default language",
  "common.userProfileLabel.timezoneFallbackHelper": "Leave empty to use the default timezone (:timezone)",
  "common.userProfileLabel.nameRequired": "Name is required.",
  "common.userProfileLabel.noAccountDataToDelete": "No BrightSync account data to delete.",
  "common.userProfileLabel.noIntegrationsToDelete": "No email integrations to delete. Connect a provider first.",
  "common.userProfileLabel.pageTitle": "My Profile",
  "common.userProfileLabel.passwordConfigured": "Configured",
  "common.userProfileLabel.passwordConfirmationHelper": "At least one letter, uppercase, number, symbol and a minimum of 8 characters",
  "common.userProfileLabel.passwordHelper": "Leave blank to keep your current password",
  "common.userProfileLabel.passwordMismatch": "Password confirmation does not match.",
  "common.userProfileLabel.providerDisconnected": "Provider disconnected!",
  "common.userProfileLabel.reconnect": "Reconnect",
  "common.userProfileLabel.saveFailed": "Unable to save your profile. Review the form and try again.",
  "common.userProfileLabel.securitySection": "Security",
  "common.userProfileLabel.securitySectionDesc": "Password and two-factor authentication settings.",
  "common.userProfileLabel.servicesTab": "Services",
  "common.userProfileLabel.stepDetails": "Account details",
  "common.userProfileLabel.stepDetailsHint": "Update your contact information and locale preferences.",
  "common.userProfileLabel.stepProgress": "Step :current of :total",
  "common.userProfileLabel.stepSecurity": "Security",
  "common.userProfileLabel.stepSecurityHint": "Change your password or configure two-factor authentication.",
  "common.userProfileLabel.stepSignature": "Signature",
  "common.userProfileLabel.stepSignatureHint": "Upload a signature image for documents and emails.",
  "common.userProfileLabel.syncExecuting": "Executing",
  "common.userProfileLabel.syncFailed": "Failed to start sync.",
  "common.userProfileLabel.syncIdle": "Idle",
  "common.userProfileLabel.syncNow": "Sync Now",
  "common.userProfileLabel.syncQueued": "Queued",
  "common.userProfileLabel.syncRequested": "Requested",
  "common.userProfileLabel.syncStarted": "Sync started!",
  "common.userProfileLabel.testCleanup": "Test Cleanup",
  "common.userProfileLabel.testCleanupDescription": "Choose which records to delete for your current user. This is intended for internal testing only.",
  "common.userProfileLabel.testCleanupEmails": "emails",
  "common.userProfileLabel.testCleanupMeetings": "meetings",
  "common.userProfileLabel.testCleanupTitle": "BrightSync Test Cleanup",
  "common.userProfileLabel.testDataDeleteFailed": "Failed to delete test data.",
  "common.userProfileLabel.testDataDeleted": "Test data deleted.",
  "common.userProfileLabel.updatedSuccessfully": "Profile updated successfully.",
  "common.userProfileLabel.userDeleted": "BrightSync user deleted!",
  "common.userProfileLabel.wizardNavigation": "Profile edit wizard navigation",
  "common.viewBuilderLabel.title": "View builder",
  "common.viewFailuresLabel.title": "View failures",
  "common.viewLogsLabel.title": "View logs",
  "common.voiceToText.errors.audio-capture": "No microphone was found or it could not be accessed.",
  "common.voiceToText.errors.generic": "Something went wrong with dictation. Please try again.",
  "common.voiceToText.errors.network": "Dictation failed due to a network error. Check your connection and try again.",
  "common.voiceToText.errors.not-allowed": "Microphone access was denied. Allow microphone permission in your browser settings.",
  "common.voiceToText.errors.service-not-allowed": "Speech recognition is not allowed in this browser or context.",
  "common.voiceToText.errors.speech-error": "Dictation could not start. Try again or use a supported browser.",
  "common.voiceToText.listening": "Listening...",
  "common.voiceToText.speakNow": "Speak now ? your words appear as you talk",
  "common.voiceToText.start": "Start dictation",
  "common.voiceToText.stop": "Stop dictation",
  "common.waitingRunsLabel.title": "Waiting Runs",
  "completed": "completed",
  "created": "created",
  "custom_field": "custom_field",
  "date_type": "date_type",
  "day(s)": "day(s)",
  "days": "days",
  "deleted": "deleted",
  "delivered": "delivered",
  "delivery Unknown": "delivery Unknown",
  "didn't submit any application yet!": "didn't submit any application yet!",
  "different date or programme": "different date or programme",
  "draft": "draft",
  "email": "email",
  "emails processed": "emails processed",
  "enable": "enable",
  "entity": "entity",
  "entity_type": "entity_type",
  "entries": "entries",
  "ex: =1000": "ex: =1000",
  "failed": "failed",
  "field_type": "field_type",
  "fill it with the required data": "fill it with the required data",
  "has completed task:": "has completed task:",
  "has completed task: ": "has completed task: ",
  "has higher usage": "has higher usage",
  "here": "here",
  "hour(s)": "hour(s)",
  "http://": "http://",
  "https://": "https://",
  "instructor": "instructor",
  "just sent you a new message": "just sent you a new message",
  "key": "key",
  "left-voicemail": "left-voicemail",
  "lessons with cohorts": "lessons with cohorts",
  "login": "login",
  "meetings": "meetings",
  "messages": "messages",
  "min": "min",
  "minute(s)": "minute(s)",
  "minutes": "minutes",
  "month": "month",
  "month(s)": "month(s)",
  "no-answer": "no-answer",
  "object": "object",
  "of": "of",
  "only letters numbers and -": "only letters numbers and -",
  "or": "or",
  "or between the hours of": "or between the hours of",
  "or create New Account": "or create New Account",
  "other": "other",
  "pages in total": "pages in total",
  "payments conditions": "payments conditions",
  "pending emails": "pending emails",
  "pending emails. Are you sure you want to proceed?": "pending emails. Are you sure you want to proceed?",
  "per child": "per child",
  "per student": "per student",
  "person": "person",
  "published": "published",
  "queued": "queued",
  "reCaptcha": "reCaptcha",
  "reCaptcha Site Key": "reCaptcha Site Key",
  "reCaptcha Site Secret": "reCaptcha Site Secret",
  "read": "read",
  "reads": "reads",
  "registered": "registered",
  "reports.customRange": "Custom range",
  "reports.dateRanges.last30Days": "Last 30 days",
  "reports.dateRanges.last7Days": "Last 7 days",
  "reports.dateRanges.last90Days": "Last 90 days",
  "reports.dateRanges.lastMonth": "Last month",
  "reports.dateRanges.lastQuarter": "Last quarter",
  "reports.dateRanges.lastWeek": "Last week",
  "reports.dateRanges.lastYear": "Last year",
  "reports.dateRanges.nextMonth": "Next month",
  "reports.dateRanges.nextQuarter": "Next quarter",
  "reports.dateRanges.nextWeek": "Next week",
  "reports.dateRanges.nextYear": "Next year",
  "reports.dateRanges.quarterOfYear": "Q:quarter :year",
  "reports.dateRanges.thisMonth": "This month",
  "reports.dateRanges.thisQuarter": "This quarter",
  "reports.dateRanges.thisWeek": "This week",
  "reports.dateRanges.thisYear": "This year",
  "reports.dateRanges.today": "Today",
  "reports.dateRanges.yesterday": "Yesterday",
  "reports.predefinedRanges": "Predefined ranges",
  "reports.presetGroups.calendar": "Calendar periods",
  "reports.presetGroups.quarters": "Quarters",
  "reports.presetGroups.rolling": "Rolling windows",
  "reports.presetGroups.singleDay": "Single day",
  "reports.quickPresetsHint": "Quick presets",
  "reports.selectDateRange": "Select date range",
  "same date and programme": "same date and programme",
  "scheduled": "scheduled",
  "select": "select",
  "sending": "sending",
  "sent": "sent",
  "skipped": "skipped",
  "sms": "sms",
  "source_from": "source_from",
  "start": "start",
  "student dashboard visibility settings. Every menu item stays enabled by default until it's changed here.": "student dashboard visibility settings. Every menu item stays enabled by default until it's changed here.",
  "students": "students",
  "submissions": "submissions",
  "successfully!": "successfully!",
  "there are no avaiable intake dates to show!": "there are no avaiable intake dates to show!",
  "there are none data to show!": "there are none data to show!",
  "there are none!": "there are none!",
  "there are none! Try changing the date range (if applicable) or how about adding a new student?": "there are none! Try changing the date range (if applicable) or how about adding a new student?",
  "there are none! You didn't add any addons for this course yet!": "there are none! You didn't add any addons for this course yet!",
  "there are none! You didn't add any dates for this course yet!": "there are none! You didn't add any dates for this course yet!",
  "there is no data to show!": "there is no data to show!",
  "title": "title",
  "to": "to",
  "to Create a Campus": "to Create a Campus",
  "to activate your integarions": "to activate your integarions",
  "to create a new custom field": "to create a new custom field",
  "to create a new invoice": "to create a new invoice",
  "to download Quickbooks SDK": "to download Quickbooks SDK",
  "to download Quickbooks Web Connector": "to download Quickbooks Web Connector",
  "to generate and download  Quickbooks Web connector's application for": "to generate and download  Quickbooks Web connector's application for",
  "to import the accounts": "to import the accounts",
  "to start using the new application builder": "to start using the new application builder",
  "to your agency, He is registred with another agency!": "to your agency, He is registred with another agency!",
  "undelivered": "undelivered",
  "unread": "unread",
  "unsubscribe": "unsubscribe",
  "unsubscribes": "unsubscribes",
  "update": "update",
  "updated": "updated",
  "updated Successfully!": "updated Successfully!",
  "use %field_name% to print Field Value example: %first_name% = Student's First Name": "use %field_name% to print Field Value example: %first_name% = Student's First Name",
  "user": "user",
  "vient de vous envoyer un nouveau message": "vient de vous envoyer un nouveau message",
  "was sent successfully!": "was sent successfully!",
  "year(s)": "year(s)",
  "yes": "yes",
  "? select a report ?": "? select a report ?",
  "common.reportLabel.isActive": "Active",
  "common.automationLabel.optionStudentOwner": "Student Owner",
  "common.portalLabel.formErrorsBeforeContinue": "Please correct the form errors before continuing.",
  "common.settingsLabel.pwaIconDimensionError": "The PWA icon must be a square image with dimensions between 192x192 and 512x512 pixels.",
  "common.dashboardLabel.metricValue": "Metric value",
  "common.dashboardLabel.revenue": "Revenue",
  "common.dashboardLabel.bookingCount": "Bookings",
  "common.dashboardLabel.responseTimeReport": "Response time report",
  "common.dashboardLabel.responseTimeAverage": "Average response",
  "common.dashboardLabel.responseTimeMedian": "Median response",
  "common.dashboardLabel.responseTimeResponded": "Responded",
  "common.dashboardLabel.responseTimeNoResponse": "No response",
  "common.dashboardLabel.responseTimeSlaBreaches": "SLA breaches",
  "common.dashboardLabel.responseTimeSlaBreachRate": "SLA breach rate",
  "common.dashboardLabel.responseTimeDistribution": "Response distribution",
  "common.dashboardLabel.responseTimeOwner": "Owner",
  "common.dashboardLabel.responseTimeNoSlaBreaches": "No SLA breaches",
  "common.dashboardLabel.responseTimeMinutesShort": ":count min",
  "common.dashboardLabel.responseTimeHoursShort": ":count h",
  "common.dashboardLabel.responseTimeShortDays": ":count days",
  "common.dashboardLabel.responseTimeSlaConfig": "SLA Threshold",
  "common.dashboardLabel.responseTimeSlaUnitHours": "Hours",
  "common.dashboardLabel.responseTimeSlaUnitDays": "Days",
  "common.dashboardLabel.responseTimeSlaUnitWeeks": "Weeks",
  "common.dashboardLabel.responseTimeSlaUnitMonths": "Months",
  "common.dashboardLabel.responseTimeSlaIncludeWeekends": "Include weekends",
  "common.dashboardLabel.responseTimeSlaOptions": "24 hours|72 hours|1 week|2 weeks",
  "common.dashboardLabel.responseTimeBucketUnder1h": "Under 1h",
  "common.dashboardLabel.responseTimeBucket1To4h": "1-4h",
  "common.dashboardLabel.responseTimeBucket4To24h": "4-24h",
  "common.dashboardLabel.responseTimeBucket1To3d": "1-3d",
  "common.dashboardLabel.responseTimeBucketOver3d": "Over 3d",
  "common.dashboardLabel.responseTimeBucketNoResponse": "No response",
  "common.dashboardLabel.responseTimeChannelEmail": "Email",
  "common.dashboardLabel.responseTimeChannelSms": "SMS",
  "common.dashboardLabel.responseTimeChannelCall": "Call",
  "common.dashboardLabel.responseTimeChannelMeeting": "Meeting",
  "common.dashboardLabel.responseTimeChannelUnknown": "Unknown",
  "common.dashboardLabel.unassignedOwner": "Unassigned",
  "common.dashboardLabel.totalReportValue": "Total",
  "common.dashboardLabel.viewReport": "View report",
  "common.dashboardLabel.viewRelatedRecords": "View related records",
  "common.dashboardLabel.noRelatedRecords": "No related records",
  "common.dashboardLabel.groupBookingNoQuoteStatus": "No quote yet",
  "common.reportLabel.totalReport": "Total",
  "common.reportLabel.totalReportType": "Total Report",
  "common.roleLabel.selectAll": "Select All",
  "common.dateLabel.activate": "Activate",
  "common.dateLabel.allCampuses": "All Campuses",
  "common.dateLabel.campus": "Campus",
  "common.dateLabel.campusRequired": "Campus is required.",
  "common.dateLabel.dates": "Dates",
  "common.dateLabel.datesNotFound": "One or more dates could not be found.",
  "common.dateLabel.deactivate": "Deactivate",
  "common.dateLabel.editDate": "Edit Date",
  "common.dateLabel.endDate": "End Date",
  "common.dateLabel.endDateBeforeStart": "End date must be on or after the start date.",
  "common.dateLabel.endDateRequired": "End date is required.",
  "common.dateLabel.fixErrorsBeforeContinue": "Fix the highlighted errors before continuing.",
  "common.dateLabel.noDatesSelected": "No dates were selected.",
  "common.dateLabel.scheduleRequired": "At least one schedule is required.",
  "common.dateLabel.schedules": "Schedules",
  "common.dateLabel.selectPlaceholder": "Select...",
  "common.dateLabel.startDate": "Start Date",
  "common.dateLabel.startDateRequired": "Start date is required.",
  "common.dateLabel.statusUpdatedSuccessfully": "Date status updated successfully.",
  "common.dateLabel.stepAnnouncement": ":step. Step :current of :total.",
  "common.dateLabel.stepInformation": "Date Information",
  "common.dateLabel.stepInformationHint": "Update the intake dates, campus, and schedule assignments.",
  "common.dateLabel.stepProgress": "Step :current of :total",
  "common.dateLabel.toggleActiveStatus": "Toggle active status",
  "common.dateLabel.updateDate": "Update Date",
  "common.dateLabel.updateFailed": "Unable to update the date. Review the form and try again.",
  "common.dateLabel.updatedSuccessfully": "Date updated successfully.",
  "common.dateLabel.wizardFooterAria": "Date wizard actions",
  "common.dateLabel.wizardNavigation": "Date wizard navigation",
  "common.smsTemplateLabel.channel": "Channel",
  "common.smsTemplateLabel.sms": "SMS",
  "common.smsTemplateLabel.whatsapp": "WhatsApp",
  "common.smsTemplateLabel.whatsappLanguage": "WhatsApp language",
  "common.smsTemplateLabel.whatsappLanguagePlaceholder": "For example, en",
  "common.smsTemplateLabel.whatsappLanguageHint": "Use the language code expected by Twilio/WhatsApp, such as en.",
  "common.smsTemplateLabel.whatsappLanguageRequired": "WhatsApp language is required.",
  "common.smsTemplateLabel.whatsappNameFormat": "WhatsApp template names may contain only lowercase letters, numbers, and underscores.",
  "common.smsTemplateLabel.whatsappCategory": "WhatsApp category",
  "common.smsTemplateLabel.whatsappCategoryUtility": "Utility",
  "common.smsTemplateLabel.whatsappCategoryMarketing": "Marketing",
  "common.smsTemplateLabel.whatsappCategoryAuthentication": "Authentication",
  "common.smsTemplateLabel.whatsappCategoryRequired": "WhatsApp category is required.",
  "common.smsTemplateLabel.whatsappMessage": "WhatsApp message",
  "common.smsTemplateLabel.whatsappContentHelper": "Use the existing merge tags. HEM-SP converts them to numbered WhatsApp variables for Twilio.",
  "common.smsTemplateLabel.whatsappContentPlaceholder": "Write your WhatsApp template message",
  "common.smsTemplateLabel.twilioContentSid": "Twilio Content SID",
  "common.smsTemplateLabel.whatsappApprovalStatus": "WhatsApp approval status",
  "common.smsTemplateLabel.whatsappBulkSendPermissionDenied": "You do not have permission to send bulk WhatsApp messages.",
  "common.smsTemplateLabel.whatsappBulkSendSenderMissing": "WhatsApp is not configured with a validated sender for this tenant.",
  "common.smsTemplateLabel.whatsappBulkSendRequiresApproval": "This template is currently :status. It must be approved by Twilio/WhatsApp before it can be sent in bulk.",
  "common.smsTemplateLabel.whatsappBulkSendContentSidMissing": "This template is approved, but its Twilio Content SID is missing. Synchronize it with Twilio before sending.",
  "common.smsTemplateLabel.whatsappBulkSendTemplateInvalid": "This WhatsApp template is missing required HEM-SP fields or contains an invalid category.",
  "common.smsTemplateLabel.whatsappProviderCategory": "Provider category",
  "common.smsTemplateLabel.whatsappRejectionReason": "Rejection reason",
  "common.smsTemplateLabel.whatsappProviderDetails": "WhatsApp provider details",
  "common.smsTemplateLabel.whatsappProviderDetailsDescription": "Twilio Content resource and WhatsApp approval state.",
  "common.smsTemplateLabel.syncToTwilio": "Sync to Twilio",
  "common.smsTemplateLabel.submitForApproval": "Submit for approval",
  "common.smsTemplateLabel.refreshStatus": "Refresh status",
  "common.smsTemplateLabel.contentSynced": "Content synchronized with Twilio.",
  "common.smsTemplateLabel.submittedForApproval": "Template submitted for approval.",
  "common.smsTemplateLabel.statusRefreshed": "Approval status refreshed.",
  "common.smsTemplateLabel.syncBeforeApproval": "Synchronize the WhatsApp content with Twilio before submitting it for approval.",
  "common.smsTemplateLabel.syncBeforeRefresh": "Synchronize the WhatsApp content with Twilio before refreshing its status.",
  "common.smsTemplateLabel.submittedTemplateReadOnly": "This WhatsApp template was submitted to Twilio and is read-only. Create a new template for changes.",
  "common.smsTemplateLabel.whatsappOnlyAction": "This action is available only for WhatsApp templates.",
  "common.smsTemplateLabel.unsupportedProviderCategory": "Twilio returned an unsupported WhatsApp category: :category.",
  "common.smsTemplateLabel.providerUnavailable": "Twilio is not configured for this tenant.",
  "common.smsTemplateLabel.providerDidNotReturnContentSid": "Twilio did not return a Content SID.",
  "common.smsTemplateLabel.providerRequestFailed": "The Twilio Content request could not be completed. Check the tenant's Twilio configuration and try again.",
  "common.smsTemplateLabel.whatsappTemplates": "WhatsApp Templates",
  "common.smsTemplateLabel.whatsappTemplatesEmpty": "No WhatsApp templates matched the current search.",
  "common.smsTemplateLabel.searchWhatsappTemplates": "Search WhatsApp templates by name",
  "common.smsTemplateLabel.createWhatsappTemplate": "Create WhatsApp Template",
  "common.smsTemplateLabel.editWhatsappTemplatePage": "Edit WhatsApp Template",
  "common.smsTemplateLabel.editWhatsappTemplate": "Edit WhatsApp Template",
  "common.smsTemplateLabel.backToWhatsAppTemplates": "Back to WhatsApp Templates",
  "common.smsTemplateLabel.deleteWhatsappTemplate": "Delete",
  "common.smsTemplateLabel.deleteWhatsappTemplateConfirm": "Are you sure you want to delete this WhatsApp template?",
  "common.smsTemplateLabel.whatsappTemplateDetails": "WhatsApp Template Details",
  "common.smsTemplateLabel.whatsappTemplateDetailsDescription": "Template content, variables, provider identity, approval state, and synchronization details.",
  "common.smsTemplateLabel.whatsappVariables": "Variables",
  "common.smsTemplateLabel.lastSynchronizedAt": "Last synchronized",
  "common.smsTemplateLabel.templateSections": "Template sections",
  "common.smsTemplateLabel.whatsappDraftCreated": "WhatsApp template draft created. Sync it with Twilio to continue.",
  "common.smsTemplateLabel.whatsappDraftSaved": "WhatsApp template draft saved.",
  "common.smsTemplateLabel.whatsappCreateFailed": "Could not create the WhatsApp template. Please try again.",
  "common.smsTemplateLabel.whatsappUpdateFailed": "Could not update the WhatsApp template. Please try again.",
  "common.smsTemplateLabel.whatsappContentRequired": "WhatsApp message content is required.",
  "common.smsTemplateLabel.whatsappStepTemplateInformationHint": "Enter the template name, language, category, and WhatsApp message content.",
  "common.smsTemplateLabel.whatsappWizardFooterAria": "WhatsApp template creation actions",
  "common.smsTemplateLabel.whatsappWizardFooterAriaEdit": "WhatsApp template edit actions",
  "common.smsTemplateLabel.whatsappWizardNavigation": "WhatsApp template creation steps",
  "common.smsTemplateLabel.whatsappWizardNavigationEdit": "WhatsApp template edit steps",
  "common.whatsappConversationLabel.pageTitle": "Send WhatsApp",
  "common.whatsappConversationLabel.breadcrumbSend": "Send WhatsApp",
  "common.whatsappConversationLabel.wizardSidebarTitle": "Send WhatsApp",
  "common.whatsappConversationLabel.stepRecipient": "Recipient",
  "common.whatsappConversationLabel.stepRecipientHint": "Confirm the recipient number and validated sender.",
  "common.whatsappConversationLabel.stepMessage": "Message",
  "common.whatsappConversationLabel.stepMessageHint": "Choose free-form text or an approved template.",
  "common.whatsappConversationLabel.stepProgress": "Step :current of :total",
  "common.whatsappConversationLabel.wizardNavigation": "WhatsApp message steps",
  "common.whatsappConversationLabel.wizardFooterAria": "WhatsApp message actions",
  "common.whatsappConversationLabel.sendWhatsapp": "Send WhatsApp",
  "common.whatsappConversationLabel.sendWhatsappDescription": "Send a WhatsApp message to :name.",
  "common.whatsappConversationLabel.sendWhatsappFallbackDescription": "Send a WhatsApp message.",
  "common.whatsappConversationLabel.sendTemplate": "Send template",
  "common.whatsappConversationLabel.twilioSandboxTemplate": "Twilio Sandbox template",
  "common.whatsappConversationLabel.twilioSandboxTemplateNotice": "This is Twilio's provider-defined Sandbox template. Recipients must have joined the Sandbox.",
  "common.whatsappConversationLabel.developmentSimulation": "Development simulation",
  "common.whatsappConversationLabel.developmentSimulationNotice": "Not approved — local development simulation only. This message will not be sent through Twilio.",
  "common.whatsappConversationLabel.developmentSimulationQueued": "WhatsApp message simulated locally; Twilio was not called.",
  "common.whatsappConversationLabel.sending": "Sending...",
  "common.whatsappConversationLabel.send": "Send",
  "common.whatsappConversationLabel.cancel": "Cancel",
  "common.whatsappConversationLabel.customerServiceWindow": "Customer service window",
  "common.whatsappConversationLabel.windowOpen": "Open",
  "common.whatsappConversationLabel.windowClosed": "Closed",
  "common.whatsappConversationLabel.notAvailable": "WhatsApp sending is not available for this student.",
  "common.whatsappConversationLabel.recipient": "Recipient",
  "common.whatsappConversationLabel.recipientNumber": "WhatsApp recipient number",
  "common.whatsappConversationLabel.sender": "WhatsApp sender",
  "common.whatsappConversationLabel.message": "Message",
  "common.whatsappConversationLabel.freeFormMessage": "Free-form message",
  "common.whatsappConversationLabel.composePlaceholder": "Write a WhatsApp message...",
  "common.whatsappConversationLabel.attachFile": "Attach file",
  "common.whatsappConversationLabel.removeAttachment": "Remove attachment",
  "common.whatsappConversationLabel.freeFormAllowedUntil": "Free-form messages are allowed until: :expires",
  "common.whatsappConversationLabel.approvedTemplate": "Approved WhatsApp template",
  "common.whatsappConversationLabel.selectApprovedTemplate": "Select an approved WhatsApp template",
  "common.whatsappConversationLabel.templatePreview": "Template preview",
  "common.whatsappConversationLabel.variables": "Variables",
  "common.whatsappConversationLabel.templateVariablesRequired": "Template values",
  "common.whatsappConversationLabel.noApprovedTemplates": "No approved WhatsApp templates are available for this tenant.",
  "common.whatsappConversationLabel.contentRequired": "Enter a message, attach a file, or select an approved template.",
  "common.whatsappConversationLabel.recipientRequired": "Select a valid WhatsApp recipient number.",
  "common.whatsappConversationLabel.templateRequired": "Select an approved WhatsApp template.",
  "common.whatsappConversationLabel.attachment": "Attachment",
  "common.whatsappConversationLabel.attachmentHelper": "One WhatsApp-compatible file. Images up to :imageLimit MB; audio, video, and documents up to :otherLimit MB.",
  "common.whatsappConversationLabel.fixErrorsBeforeContinue": "Fix the highlighted fields before continuing.",
  "common.whatsappConversationLabel.whatsappWith": "WhatsApp with :name",
  "common.whatsappConversationLabel.contact": "Contact",
  "common.whatsappConversationLabel.you": "You",
  "common.whatsappConversationLabel.automated": "Automated",
  "common.whatsappConversationLabel.showingLatest": "Showing the latest :count of :total messages",
  "common.whatsappConversationLabel.newMessage": "New message",
  "common.whatsappConversationLabel.jumpToLatest": "Jump to latest messages",
  "common.whatsappConversationLabel.applyingMessage": "Applying new message",
  "common.whatsappConversationLabel.emptyTitle": "No WhatsApp messages yet",
  "common.whatsappConversationLabel.emptyDescription": "WhatsApp messages with this contact will appear here as a conversation.",
  "common.whatsappConversationLabel.senderNumber": "WhatsApp sender",
  "common.whatsappConversationLabel.sentOn": "Sent On",
  "common.whatsappConversationLabel.previewImage": "Preview image",
  "common.whatsappConversationLabel.closePreview": "Close preview",
  "common.whatsappConversationLabel.viewDetails": "View Details",
  "common.whatsappAnalyticsLabel.pageTitle": "WhatsApp Analytics",
  "common.whatsappAnalyticsLabel.description": "Measure WhatsApp volume, delivery, read activity, bulk outcomes, and media usage.",
  "common.whatsappAnalyticsLabel.whatsappMessages": "WhatsApp Messages",
  "common.whatsappAnalyticsLabel.export": "Export CSV",
  "common.whatsappAnalyticsLabel.filters": "Filters",
  "common.whatsappAnalyticsLabel.dateRange": "Date range",
  "common.whatsappAnalyticsLabel.template": "Template",
  "common.whatsappAnalyticsLabel.category": "Category",
  "common.whatsappAnalyticsLabel.status": "Status",
  "common.whatsappAnalyticsLabel.direction": "Direction",
  "common.whatsappAnalyticsLabel.sender": "Sender",
  "common.whatsappAnalyticsLabel.campus": "Campus",
  "common.whatsappAnalyticsLabel.source": "Source",
  "common.whatsappAnalyticsLabel.all": "All",
  "common.whatsappAnalyticsLabel.apply": "Apply",
  "common.whatsappAnalyticsLabel.clear": "Clear",
  "common.whatsappAnalyticsLabel.outbound": "Outbound",
  "common.whatsappAnalyticsLabel.inbound": "Inbound",
  "common.whatsappAnalyticsLabel.attempted": "Outbound attempts",
  "common.whatsappAnalyticsLabel.deliverySuccess": "Delivery success",
  "common.whatsappAnalyticsLabel.deliverySuccessRate": "Delivery-success rate",
  "common.whatsappAnalyticsLabel.observedReadRate": "Observed read rate",
  "common.whatsappAnalyticsLabel.read": "Read",
  "common.whatsappAnalyticsLabel.queued": "Queued",
  "common.whatsappAnalyticsLabel.sent": "Sent",
  "common.whatsappAnalyticsLabel.delivered": "Delivered",
  "common.whatsappAnalyticsLabel.failed": "Failed",
  "common.whatsappAnalyticsLabel.undelivered": "Undelivered",
  "common.whatsappAnalyticsLabel.inboundReplies": "Inbound replies",
  "common.whatsappAnalyticsLabel.volumeTrend": "Volume trend",
  "common.whatsappAnalyticsLabel.deliveryTrend": "Delivery trend",
  "common.whatsappAnalyticsLabel.statusTrend": "Status trend",
  "common.whatsappAnalyticsLabel.templatePerformance": "Template performance",
  "common.whatsappAnalyticsLabel.categoryPerformance": "Category performance",
  "common.whatsappAnalyticsLabel.bulkOutcomes": "Bulk campaign outcomes",
  "common.whatsappAnalyticsLabel.media": "Media",
  "common.whatsappAnalyticsLabel.failureReasons": "Failure reasons",
  "common.whatsappAnalyticsLabel.optOuts": "WhatsApp opt-outs",
  "common.whatsappAnalyticsLabel.noData": "No data for the selected filters.",
  "common.whatsappAnalyticsLabel.bulk": "Bulk",
  "common.whatsappAnalyticsLabel.unattributed": "Unattributed",
  "common.whatsappAnalyticsLabel.recipients": "Recipients",
  "common.whatsappAnalyticsLabel.completed": "Completed",
  "common.whatsappAnalyticsLabel.skipped": "Skipped",
  "common.whatsappAnalyticsLabel.cancelled": "Cancelled",
  "common.whatsappAnalyticsLabel.partial": "Partial completion",
  "common.whatsappAnalyticsLabel.textOnly": "Text only",
  "common.whatsappAnalyticsLabel.mediaOnly": "Media only",
  "common.whatsappAnalyticsLabel.textPlusMedia": "Text plus media",
  "common.whatsappAnalyticsLabel.recentMessages": "Recent messages",
  "common.whatsappAnalyticsLabel.viewHistory": "View WhatsApp history",
  "WhatsApp Messages": "WhatsApp Messages",
  "WhatsApp History": "WhatsApp History",
  "View WhatsApp Messages": "View WhatsApp Messages",
  "Send Individual WhatsApp": "Send Individual WhatsApp",
  "Delete WhatsApp Conversations": "Delete WhatsApp Conversations",
  "WhatsApp Bulk Sending": "WhatsApp Bulk Sending",
  "Send Bulk WhatsApp": "Send Bulk WhatsApp",
  "WhatsApp Templates": "WhatsApp Templates",
  "View WhatsApp Templates": "View WhatsApp Templates",
  "Create WhatsApp Templates": "Create WhatsApp Templates",
  "Edit WhatsApp Templates": "Edit WhatsApp Templates",
  "Delete WhatsApp Templates": "Delete WhatsApp Templates",
  "WhatsApp Analytics": "WhatsApp Analytics",
  "View WhatsApp Analytics": "View WhatsApp Analytics",
  "WhatsApp Configuration": "WhatsApp Configuration",
  "View WhatsApp Configuration": "View WhatsApp Configuration",
  "Manage WhatsApp Configuration": "Manage WhatsApp Configuration",
  "common.activityTimelineLabel.automated": "Automated",
  "common.activityTimelineLabel.callPlaced": "Outgoing call",
  "common.activityTimelineLabel.callReceived": "Incoming call",
  "common.activityTimelineLabel.clearFilters": "Clear filters",
  "common.activityTimelineLabel.directionInbound": "Inbound",
  "common.activityTimelineLabel.directionInternal": "Internal",
  "common.activityTimelineLabel.directionOutbound": "Outbound",
  "common.activityTimelineLabel.emptyDescription": "No emails, messages, SMS, calls or meetings have been logged for this contact yet.",
  "common.activityTimelineLabel.emptyDescriptionWithTasks": "No emails, messages, SMS, calls, meetings or tasks have been logged for this contact yet.",
  "common.activityTimelineLabel.filterActor": "Actor",
  "common.activityTimelineLabel.filterChannel": "Channel",
  "common.activityTimelineLabel.filterDateRange": "Date range",
  "common.activityTimelineLabel.filterDateRangePlaceholder": "Select a date range",
  "common.activityTimelineLabel.filterDirection": "Direction",
  "common.activityTimelineLabel.filters": "Activity filters",
  "common.activityTimelineLabel.groupByDay": "Group by day",
  "common.activityTimelineLabel.groupEventCount": ":count activities",
  "common.activityTimelineLabel.includeTasks": "Include tasks",
  "common.activityTimelineLabel.limitLabel": "Activities to load",
  "common.activityTimelineLabel.limitOption": "Latest :count",
  "common.activityTimelineLabel.noMatches": "No matching activity",
  "common.activityTimelineLabel.noMatchesDescription": "Try a different filter or clear the filters.",
  "common.activityTimelineLabel.openInChannel": "Open in :channel",
  "common.activityTimelineLabel.showingCount": "Showing :shown of :total activities",
  "common.activityTimelineLabel.smsReceived": "SMS received",
  "common.activityTimelineLabel.smsSent": "SMS sent",
  "common.activityTimelineLabel.tab": "Activity",
  "common.activityTimelineLabel.title": "Activity Timeline",
  "common.activityTimelineLabel.truncatedHint": "Older activity stays available in each channel tab.",
  "common.activityTimelineLabel.unknownActor": "Unknown",
  "common.adminAuditLabel.automationUnpublished": "Automation \":title\" was unpublished.",
  "common.aiAgentLabel.attachMappingActiveHelper": "When on, this knowledge is used for persona answers. When off, it stays attached but is ignored during retrieval.",
  "common.aiAgentLabel.attachPriorityHelper": "Higher numbers are preferred when multiple attached sources match. Use 0 unless you need this source ranked above the others.",
  "common.aiAgentLabel.testAnswerDescription": "What the persona would say for this preview question.",
  "common.aiAgentLabel.testAnswerReady": "Preview ready",
  "common.aiAgentLabel.testCitedSources": "Cited sources",
  "common.aiAgentLabel.testMatchedChunksCount": ":count chunks",
  "common.aiAgentLabel.testSourcesCount": ":count resources",
  "common.aiAgentLabel.testUserContextAdd": "Add context field",
  "common.aiAgentLabel.testUserContextEmpty": "No mock context fields yet. Add key/value pairs to simulate student or staff context.",
  "common.aiAgentLabel.testUserContextKey": "Key",
  "common.aiAgentLabel.testUserContextKeyPlaceholder": "program",
  "common.aiAgentLabel.testUserContextRemove": "Remove context field",
  "common.aiAgentLabel.testUserContextRow": "Context field :number",
  "common.aiAgentLabel.testUserContextValue": "Value",
  "common.aiAgentLabel.testUserContextValuePlaceholder": "Business Administration",
  "common.aiAgentLabel.allowedTopicsHelp": "Optional. When set, the assistant prefers these topics. Leave empty to allow any topic. Soft guidance in chat, email, SMS, and voice.",
  "common.aiAgentLabel.blockedTopicsHelp": "Hard block. Matching questions use the handoff message and escalate. Blocked topics always win over Allowed.",
  "common.aiAgentLabel.addTopic": "Add topic",
  "common.aiAgentLabel.removeTopic": "Remove topic",
  "common.aiAgentLabel.topicItemLabel": "Topic :number",
  "common.aiAgentLabel.topicValue": "Topic",
  "common.aiAgentLabel.topicPlaceholder": "e.g. start dates",
  "common.aiAgentLabel.blockedTopicPlaceholder": "e.g. medical advice",
  "common.aiAgentLabel.allowedTopicsEmpty": "No allowed topics yet. Leave empty for no restriction, or add topics to narrow scope.",
  "common.aiAgentLabel.blockedTopicsEmpty": "No blocked topics yet. Add topics the persona must refuse.",
  "common.aiAgentLabel.topicsConflict": "These phrases appear in both Allowed and Blocked (Blocked wins): :topics",
  "common.aiAgentLabel.saveTopics": "Save topics",
  "common.aiAgentLabel.savingTopics": "Saving…",
  "common.aiAgentLabel.topicsSaved": "Topics updated.",
  "common.aiAgentLabel.topicsSaveFailed": "Unable to save topics right now.",
  "common.aiAgentLabel.topicsUnsaved": "You have unsaved topic changes.",
  "common.aiKnowledgeBaseLabel.addExistingResource": "Existing Resource",
  "common.aiKnowledgeBaseLabel.addExistingResourceDescription": "Choose already-uploaded resources to include without uploading again.",
  "common.aiKnowledgeBaseLabel.attachPersonaAlreadyAssigned": "This knowledge base is already attached to the selected persona.",
  "common.aiKnowledgeBaseLabel.attachPersonaNoOptions": "No compatible personas are available. Staff/private knowledge bases only attach to staff personas, and already-assigned personas are excluded.",
  "common.aiKnowledgeBaseLabel.attachPersonaNotCompatible": "This persona’s audience cannot use this knowledge base’s visibility.",
  "common.aiKnowledgeBaseLabel.attachToPersonaDescription": "Attach this knowledge base so all approved or indexed documents inside it are used for answers. Only visibility-compatible personas that are not already assigned are listed.",
  "common.aiKnowledgeBaseLabel.searchDocuments": "Search Documents",
  "common.aiKnowledgeBaseLabel.accuracyState": "Accuracy Status",
  "common.aiKnowledgeBaseLabel.accuracyEmbeddingsReady": "Embeddings Ready",
  "common.aiKnowledgeBaseLabel.accuracyEmbeddingsReadyTooltip": "Chunks are embedded and ready for semantic retrieval.",
  "common.aiKnowledgeBaseLabel.accuracyEmbeddingsReadyToolTip": "Chunks are embedded and ready for semantic retrieval.",
  "common.aiKnowledgeBaseLabel.accuracyEmbeddingsPartial": "Embeddings Partial",
  "common.aiKnowledgeBaseLabel.accuracyEmbeddingsPartialTooltip": "Some chunks still need embeddings. Semantic retrieval may be incomplete.",
  "common.aiKnowledgeBaseLabel.accuracyEmbeddingsFailed": "Embeddings Failed",
  "common.aiKnowledgeBaseLabel.accuracyEmbeddingsFailedTooltip": "Embedding generation failed. Retry indexing or check the AI embeddings configuration.",
  "common.aiKnowledgeBaseLabel.accuracyEmbeddingsPending": "Embeddings Pending",
  "common.aiKnowledgeBaseLabel.accuracyEmbeddingsPendingTooltip": "Embeddings are queued. Keep the ai-knowledge queue worker running.",
  "common.aiKnowledgeBaseLabel.accuracyAwaitingIndex": "Awaiting Index",
  "common.aiKnowledgeBaseLabel.accuracyAwaitingIndexTooltip": "Approve and index this document so chunks and embeddings can be created.",
  "common.aiKnowledgeBaseLabel.accuracyPriorVersionLive": "Prior Version Live",
  "common.aiKnowledgeBaseLabel.accuracyPriorVersionLiveTooltip": "A newer version needs review. The previously approved version remains searchable.",
  "common.aiKnowledgeBaseLabel.accuracyDraft": "Draft",
  "common.aiKnowledgeBaseLabel.accuracyDraftTooltip": "This document is not yet approved for retrieval.",
  "common.aiKnowledgeBaseLabel.accuracyPerDocument": "Per document",
  "common.aiKnowledgeBaseLabel.accuracyPerDocumentTooltip": "Accuracy is tracked on each document inside this knowledge base. Open the knowledge base to review document status.",
  "common.aiKnowledgeBaseLabel.documentHomeKb": "Home KB: :name",
  "common.aiKnowledgeBaseLabel.existingResourceAlreadyMember": "That resource is already in this knowledge base.",
  "common.aiKnowledgeBaseLabel.existingResourceArchived": "Archived resources cannot be added.",
  "common.aiKnowledgeBaseLabel.existingResourceEmpty": "No eligible uploaded resources are available.",
  "common.aiKnowledgeBaseLabel.existingResourceNotFound": "That resource could not be found.",
  "common.aiKnowledgeBaseLabel.existingResourcePicker": "Select resources",
  "common.aiKnowledgeBaseLabel.existingResourcePickerHint": "Choose already-uploaded resources to include without uploading again.",
  "common.aiKnowledgeBaseLabel.existingResourceRequired": "Select an existing resource to include.",
  "common.aiKnowledgeBaseLabel.existingResourceTypeInvalid": "Only uploaded file or text resources can be included this way.",
  "common.aiKnowledgeBaseLabel.sourceTypeExisting": "Existing resource",
  "common.aiKnowledgeBaseLabel.uploadNewFile": "Upload new file",
  "common.aiKnowledgeBaseLabel.useExistingResource": "Use existing resource",
  "common.aiResourceLabel.categoryAcademic": "Academic",
  "common.aiResourceLabel.categoryAdmissions": "Admissions",
  "common.aiResourceLabel.categoryCompliance": "Compliance",
  "common.aiResourceLabel.categoryCourses": "Courses",
  "common.aiResourceLabel.categoryFaq": "FAQ",
  "common.aiResourceLabel.categoryFinancial": "Financial Aid / Tuition",
  "common.aiResourceLabel.categoryGeneral": "General",
  "common.aiResourceLabel.categoryPolicies": "Policies",
  "common.aiResourceLabel.categoryPrograms": "Programs",
  "common.aiResourceLabel.deleteArchived": "Delete",
  "common.aiResourceLabel.deleteArchivedConfirm": "Delete this archived resource? This action cannot be undone.",
  "common.aiResourceLabel.languageGerman": "German",
  "common.aiResourceLabel.resourceDeleted": "Resource deleted.",
  "common.aiResourceLabel.retryEmbeddings": "Retry Embeddings",
  "common.aiResourceLabel.retryEmbeddingsConfirm": "Retry embeddings for this resource? This will regenerate the embeddings and update the resource.",
  "common.aiResourceLabel.retryEmbeddingsQueued": "Embeddings retry queued.",
  "common.automationLabel.fieldAiVoiceAgentId": "Provider agent ID override",
  "common.automationLabel.fieldAiVoiceAgentIdHelp": "Optional. Overrides persona voice binding and the AI Voice plugin default_agent_id.",
  "common.automationLabel.fieldAiVoiceFromNumber": "From number (E.164)",
  "common.automationLabel.fieldAiVoiceFromNumberHelp": "Optional override. Falls back to the active AI Voice plugin from_number.",
  "common.automationLabel.fieldAiVoiceContextNote": "Additional notes for agent",
  "common.automationLabel.fieldAiVoiceContextNoteHelp": "Optional extra context. Supports the same merge tags as Call goal. Tokens are resolved before dialing; HTML is converted to plain text (max 2000).",
  "common.automationLabel.fieldAiVoiceVoiceIdBlank": "Use persona / plugin Default Voice",
  "common.automationLabel.publishRequiresPublishedVersion": "Publish a version from Automation Studio before you can publish this automation.",
  "common.automationLabel.runtimeStatusPublished": "Automation published successfully.",
  "common.automationLabel.runtimeStatusUnpublished": "Automation unpublished successfully.",
  "common.automationLabel.runtimeStatusUnpublishedWithCancelledRuns": "Automation unpublished. Cancelled :count pending run(s).",
  "common.automationLabel.bulkPublishConfirmTitle": "Publish selected automations?",
  "common.automationLabel.bulkPublishConfirm": "Unpublished automations that already have a published version will start running again. Automations without a published version are skipped.",
  "common.automationLabel.bulkUnpublishConfirmTitle": "Unpublish selected automations?",
  "common.automationLabel.bulkUnpublishConfirm": "Published automations will stop running, and their pending runs will be cancelled. Automations that are already unpublished are skipped.",
  "common.automationLabel.bulkPublishSuccess": "Published :count automation(s).",
  "common.automationLabel.bulkUnpublishSuccess": "Unpublished :count automation(s).",
  "common.automationLabel.bulkUnpublishSuccessWithCancelledRuns": "Unpublished :count automation(s). Cancelled :runs pending run(s).",
  "common.automationLabel.bulkRuntimeStatusSkipped": "Skipped :count.",
  "common.automationLabel.bulkPublishNone": "None of the selected automations could be published. They may already be published, or they do not have a published version.",
  "common.automationLabel.bulkUnpublishNone": "None of the selected automations could be unpublished. They may already be unpublished, or they do not have a published version.",
  "common.automationLabel.liveTestAction": "Run live test",
  "common.automationLabel.liveTestAudienceScopeMismatch": "This contact does not match the automation audience scope.",
  "common.automationLabel.liveTestBadge": "Test",
  "common.automationLabel.liveTestConfirmLabel": "I understand this will send real emails/SMS and apply real status or data changes on the selected contact.",
  "common.automationLabel.liveTestConfirmRequired": "Confirm that you understand live side effects before continuing.",
  "common.automationLabel.liveTestContactLabel": "Test contact",
  "common.automationLabel.liveTestContactRequired": "Select a contact before running a live test.",
  "common.automationLabel.liveTestContactUnavailable": "The selected contact is not available for live testing.",
  "common.automationLabel.liveTestInvoiceHelp": "Amounts, the due date, and the payment link come from this invoice.",
  "common.automationLabel.liveTestInvoiceLabel": "Invoice",
  "common.automationLabel.liveTestInvoicePlaceholder": "Search by invoice number",
  "common.automationLabel.liveTestInvoiceRequired": "Select an invoice before running a live test.",
  "common.automationLabel.liveTestInvoiceUnavailable": "The selected invoice does not belong to this contact.",
  "common.automationLabel.liveTestObjectRequired": "Select :object before running a live test.",
  "common.automationLabel.liveTestObjectUnavailable": "The selected :object does not belong to this contact.",
  "common.automationLabel.liveTestPaymentLabel": "Payment",
  "common.automationLabel.liveTestPaymentPlaceholder": "Search by amount",
  "common.automationLabel.liveTestPaymentHelp": "The payment this workflow uses.",
  "common.automationLabel.liveTestSubmissionLabel": "Submission",
  "common.automationLabel.liveTestSubmissionPlaceholder": "Search submissions",
  "common.automationLabel.liveTestSubmissionHelp": "The submission this workflow uses.",
  "common.automationLabel.liveTestEducationLabel": "Registration",
  "common.automationLabel.liveTestEducationPlaceholder": "Search programs and courses",
  "common.automationLabel.liveTestEducationHelp": "The program or course registration this workflow uses.",
  "common.automationLabel.liveTestMeetingLabel": "Meeting",
  "common.automationLabel.liveTestMeetingPlaceholder": "Search meetings",
  "common.automationLabel.liveTestMeetingHelp": "The meeting this workflow uses.",
  "common.automationLabel.liveTestTaskLabel": "Task",
  "common.automationLabel.liveTestTaskPlaceholder": "Search tasks",
  "common.automationLabel.liveTestTaskHelp": "The task this workflow uses.",
  "common.automationLabel.liveTestCallLabel": "Call",
  "common.automationLabel.liveTestCallPlaceholder": "Search calls",
  "common.automationLabel.liveTestCallHelp": "The call this workflow uses.",
  "common.automationLabel.liveTestConversationLabel": "Message",
  "common.automationLabel.liveTestConversationPlaceholder": "Search messages",
  "common.automationLabel.liveTestConversationHelp": "The SMS or WhatsApp message this workflow uses.",
  "common.automationLabel.liveTestAiConversationLabel": "AI conversation",
  "common.automationLabel.liveTestAiConversationPlaceholder": "Search AI conversations",
  "common.automationLabel.liveTestAiConversationHelp": "The AI conversation this workflow uses.",
  "common.automationLabel.liveTestNoteLabel": "Note",
  "common.automationLabel.liveTestNotePlaceholder": "Search notes",
  "common.automationLabel.liveTestNoteHelp": "The note this workflow uses.",
  "common.automationLabel.liveTestFundingCaseLabel": "Funding case",
  "common.automationLabel.liveTestFundingCasePlaceholder": "Search funding cases",
  "common.automationLabel.liveTestFundingCaseHelp": "The funding case this workflow uses.",
  "common.automationLabel.liveTestDescription": "Run this workflow for real against a selected contact. Side effects are not simulated.",
  "common.automationLabel.liveTestDescriptionNamed": "Run :automation for real against a selected contact. Side effects are not simulated.",
  "common.automationLabel.liveTestFailed": "Unable to run the live test.",
  "common.automationLabel.liveTestMissingTrigger": "Add a trigger before running a live test.",
  "common.automationLabel.liveTestRunning": "Running live test...",
  "common.automationLabel.liveTestSaveRequired": "Save the draft before running a live test.",
  "common.automationLabel.liveTestSuccess": "Live test started. Open Execution Logs to review results.",
  "common.automationLabel.liveTestUnavailable": "Live testing is not available for this version.",
  "common.automationLabel.liveTestValidationBlocked": "Fix validation errors before running a live test.",
  "common.automationLabel.liveTestVersionNotAllowed": "Live testing is available for draft and published versions only.",
  "common.automationLabel.liveTestVersionStatus": "Testing version status: :status",
  "common.automationLabel.liveTestWarningBody": "Emails, SMS, AI calls, and status updates will hit the selected contact exactly as they would in production.",
  "common.automationLabel.liveTestWarningTitle": "This is a real run",
  "common.automationLabel.liveTestWillAutosave": "Unsaved draft changes will be saved automatically before the live test starts.",
  "common.automationLabel.liveTestStepModeLabel": "Step through manually",
  "common.automationLabel.liveTestStepModeHint": "Pause after every node so you can inspect results, fast-forward waits, and pick branches from Execution Logs. The scheduler never auto-advances a step-mode run.",
  "common.automationLabel.runtimeLogsIncludeTests": "Show live-test runs",
  "common.automationLabel.runFastForwarded": "Wait skipped and run continued.",
  "common.automationLabel.runBranchChosen": "Run continued from the selected branch.",
  "common.automationLabel.runStepped": "Next node executed.",
  "common.automationLabel.runStepModeReleased": "Step mode released. The run will continue automatically.",
  "common.automationLabel.testControlsTitle": "Test controls",
  "common.automationLabel.testControlsStepModeBadge": "Step mode",
  "common.automationLabel.testControlsStateWaitingDelay": "Waiting on :node",
  "common.automationLabel.testControlsStateWaitingDelayHint": "Resumes automatically at :time. Fast-forward to skip the remaining wait.",
  "common.automationLabel.testControlsStateWaitingDelayNoTime": "Waiting for the scheduler to resume this run.",
  "common.automationLabel.testControlsStateWaitingRetry": "Retry scheduled for :node",
  "common.automationLabel.testControlsStateWaitingRetryHint": "Next attempt at :time. Retry now to skip the delay.",
  "common.automationLabel.testControlsStateWaitingEvent": "Waiting for event: :event",
  "common.automationLabel.testControlsStateWaitingEventHint": "Times out at :time. Choose how the wait should resolve.",
  "common.automationLabel.testControlsStateWaitingEventNoTimeout": "No timeout configured. Choose how the wait should resolve.",
  "common.automationLabel.testControlsStateWaitingDeadline": "Deadline: :node",
  "common.automationLabel.testControlsStateWaitingDeadlineHint": "Waits until :time. Choose how the deadline should resolve.",
  "common.automationLabel.testControlsStateWaitingLoop": "Loop interval: :node",
  "common.automationLabel.testControlsStateWaitingLoopHint": "Pass :iteration of :max. The next pass starts :time, or you can resolve the loop now.",
  "common.automationLabel.testControlsStateWaitingApproval": "Waiting for approval: :node",
  "common.automationLabel.testControlsStateWaitingApprovalHint": "Approve or reject the request to continue the run.",
  "common.automationLabel.testControlsApprovalDecideInTab": "Decide this request from the Approvals tab.",
  "common.automationLabel.testControlsStatePaused": "Paused before :node",
  "common.automationLabel.testControlsStatePausedHint": "Step mode: run the next node, or release the run to continue on its own.",
  "common.automationLabel.testControlsStateRunning": "Running",
  "common.automationLabel.testControlsStateRunningHint": "The scheduler is processing this run. Refresh to see progress.",
  "common.automationLabel.testControlsStateFinished": "This run has finished",
  "common.automationLabel.testControlsStateFinishedHint": "You can still re-enter the workflow from any branch below.",
  "common.automationLabel.testControlsNextNode": "Next node: :node",
  "common.automationLabel.testControlsFastForward": "Fast-forward",
  "common.automationLabel.testControlsRetryNow": "Retry now",
  "common.automationLabel.testControlsStep": "Run next step",
  "common.automationLabel.testControlsRunToEnd": "Run to end",
  "common.automationLabel.testControlsApprove": "Approve",
  "common.automationLabel.testControlsReject": "Reject",
  "common.automationLabel.testControlsResolveAs": "Resolve as",
  "common.automationLabel.testControlsBranchSectionTitle": "Continue from a branch",
  "common.automationLabel.testControlsBranchSectionHint": "Force the run down a specific branch of a condition or wait node. Real side effects still apply.",
  "common.automationLabel.testControlsBranchNodeLabel": "Branch node",
  "common.automationLabel.testControlsBranchLabel": "Branch",
  "common.automationLabel.testControlsBranchContinue": "Continue from branch",
  "common.automationLabel.testControlsBranchLastTaken": "last: :branch",
  "common.automationLabel.testControlsBranchMatched": "Event received",
  "common.automationLabel.testControlsBranchTimeout": "Timed out",
  "common.automationLabel.testControlsBranchOnTime": "On time",
  "common.automationLabel.testControlsBranchApproved": "Approved",
  "common.automationLabel.testControlsBranchRejected": "Rejected",
  "common.automationLabel.testControlsFastForwardNeedsDecision": "This wait needs a decision. Choose a branch or decide the approval instead of fast-forwarding.",
  "common.automationLabel.testControlsApprovalNeedsDecision": "This run is waiting for an approval. Approve or reject the request to continue.",
  "common.automationLabel.testControlsBranchUnavailable": "The selected branch has no connected node.",
  "common.automationLabel.simulationObjectReferenceHintEducation": "Optional shortcut for a real education enrollment in this tenant, for example education:4821. The program/course is loaded from that enrollment.",
  "common.automationLabel.simulationObjectReferencePlaceholderEducation": "education:4821",
  "common.automationLabel.simulationSamplePayloadHintEducation": "Add a real enrollment ID from this tenant, such as \"education\": 4821 (or educationable as a program/course ID), or use object reference education:4821. Registered Program/Course needs the enrolled program or course.",
  "common.automationLabel.unpublish": "Unpublish",
  "common.automationLabel.unpublished": "Unpublished",
  "common.automationLabel.unpublishedHint": "A published version exists, but enrollment is stopped until you publish again.",
  "common.campusLabel.afterHoursConsentNotRequired": "Not required",
  "common.campusLabel.afterHoursConsentRequired": "Required",
  "common.campusLabel.afterHoursConfiguredHelp": "This campus has a complete after-hours AI Voice policy. Incoming calls to its Twilio number use these settings.",
  "common.campusLabel.afterHoursDay": "Day",
  "common.campusLabel.afterHoursDayFriday": "Friday",
  "common.campusLabel.afterHoursDayMonday": "Monday",
  "common.campusLabel.afterHoursDaySaturday": "Saturday",
  "common.campusLabel.afterHoursDaySunday": "Sunday",
  "common.campusLabel.afterHoursDayThursday": "Thursday",
  "common.campusLabel.afterHoursDayTuesday": "Tuesday",
  "common.campusLabel.afterHoursDayWednesday": "Wednesday",
  "common.campusLabel.afterHoursDisclosure": "Disclosure",
  "common.campusLabel.afterHoursEscalationCategories": "Escalation categories",
  "common.campusLabel.afterHoursEscalationCategoriesHelp": "The agent transfers these cases to the on-call destination.",
  "common.campusLabel.afterHoursEscalationComplaint": "Complaint",
  "common.campusLabel.afterHoursEscalationEmergency": "Emergency or safety concern",
  "common.campusLabel.afterHoursEscalationFinance": "Payment or finance question",
  "common.campusLabel.afterHoursEscalationHuman": "Caller requests a human",
  "common.campusLabel.afterHoursEscalationLegal": "Legal or compliance question",
  "common.campusLabel.afterHoursFrom": "From",
  "common.campusLabel.afterHoursAddHoliday": "Add holiday",
  "common.campusLabel.afterHoursHolidayDates": "Campus holiday dates",
  "common.campusLabel.afterHoursHolidayDatesHelp": "Each holiday has a title and an inclusive date range. Days in a range are treated as after-hours for this campus.",
  "common.campusLabel.afterHoursHolidayItemLabel": "Holiday :number",
  "common.campusLabel.afterHoursHolidayRange": "Date range",
  "common.campusLabel.afterHoursHolidayTitle": "Title",
  "common.campusLabel.afterHoursHolidays": "Campus holidays",
  "common.campusLabel.afterHoursHolidaysEmpty": "No holidays configured.",
  "common.campusLabel.afterHoursHolidaysHelp": "Campus-specific holidays for after-hours AI Voice only.",
  "common.campusLabel.afterHoursInvalidHolidayRange": "Each holiday end date must be on or after its start date.",
  "common.campusLabel.afterHoursRemoveHoliday": "Remove holiday",
  "common.campusLabel.afterHoursHoursHelp": "Calls outside these windows are treated as after-hours for this campus.",
  "common.campusLabel.afterHoursInboundNumber": "Inbound number",
  "common.campusLabel.afterHoursInboundNumberHelp": "Use this campus Twilio number in E.164 format, for example +14165551234.",
  "common.campusLabel.afterHoursUsesCampusNumber": "After-hours AI answers this campus Call Center voice number: :number",
  "common.campusLabel.afterHoursNeedsCampusNumber": "Save a Call Center voice number on this campus before configuring after-hours AI. After-hours uses that same number.",
  "common.campusLabel.afterHoursInvalidPersona": "Select an active student-facing persona with an OpenAI Live voice binding (Enable/Sync completed).",
  "common.campusLabel.afterHoursInvalidSchedule": "Each enabled business day needs a valid start and end time.",
  "common.campusLabel.afterHoursOnCall": "On-call destination",
  "common.campusLabel.afterHoursOnCallHelp": "Escalated calls transfer to this E.164 number.",
  "common.campusLabel.afterHoursPersona": "After-hours persona",
  "common.campusLabel.afterHoursRequireConsent": "Require affirmative consent before continuing",
  "common.campusLabel.afterHoursRequireConsentHelp": "The caller must agree to the disclosure before the AI continues.",
  "common.campusLabel.afterHoursRoutingHelp": "Route inbound calls to an approved admissions persona outside your campus business hours.",
  "common.campusLabel.afterHoursSave": "Save",
  "common.campusLabel.afterHoursSaved": "Campus after-hours AI Voice settings saved.",
  "common.campusLabel.afterHoursSectionEscalation": "Escalation",
  "common.campusLabel.afterHoursSectionHolidays": "Holidays",
  "common.campusLabel.afterHoursSectionHours": "Business hours",
  "common.campusLabel.afterHoursSectionMessages": "Messages",
  "common.campusLabel.afterHoursSectionRouting": "AI Routing",
  "common.campusLabel.afterHoursMessagesHelp": "Spoken prompts when callers wait in the queue or leave a voicemail. Use :school and :campus in custom text. Voice and language apply to open greetings and closed / AI-unavailable messages.",
  "common.campusLabel.afterHoursOpenGreeting": "Open greeting",
  "common.campusLabel.afterHoursOpenGreetingHelp": "Played while the caller waits for a Call Center Agent. Defaults use this school and campus name. Reset to the default text to use the system message again.",
  "common.campusLabel.afterHoursClosedMessage": "Closed / AI unavailable message",
  "common.campusLabel.afterHoursClosedMessageHelp": "Played before the beep when the campus is closed or after-hours AI cannot answer. Callers can then leave a voice message. Defaults use this school and campus name.",
  "common.campusLabel.afterHoursTtsVoice": "Spoken message voice",
  "common.campusLabel.afterHoursTtsVoiceHelp": "Amazon Polly voice used for queue and voicemail prompts on this campus. Use the speaker button to hear a short sample.",
  "common.campusLabel.afterHoursTtsLanguage": "Spoken message language",
  "common.campusLabel.afterHoursTtsLanguageHelp": "Language for default prompts and Twilio text-to-speech. Custom text is spoken as written.",
  "common.campusLabel.afterHoursTtsPreview": "Preview voice",
  "common.campusLabel.afterHoursTtsPreviewPlaying": "Playing voice preview.",
  "common.campusLabel.afterHoursTtsPreviewFailed": "Unable to play the voice preview. Try again.",
  "common.campusLabel.afterHoursTtsPreviewSelectRequired": "Select a spoken message voice before previewing.",
  "common.campusLabel.afterHoursTtsPreviewAwsUnavailable": "Exact Polly preview is unavailable on this server. Playing a browser preview instead — live calls still use Twilio Polly.",
  "common.campusLabel.afterHoursTtsPreviewBrowserPlaying": "Playing a browser preview. Live call prompts use Twilio Polly.",
  "common.campusLabel.afterHoursTtsPreviewBrowserUnavailable": "Voice preview is unavailable in this browser. Live call prompts still use Twilio Polly.",
  "common.campusLabel.afterHoursTtsPreviewSampleText": "Thank you for calling. This is a sample of the campus greeting voice.",
  "common.campusLabel.afterHoursTtsLanguageEnUs": "English (US)",
  "common.campusLabel.afterHoursTtsLanguageEnGb": "English (UK)",
  "common.campusLabel.afterHoursTtsLanguageFrCa": "French (Canada)",
  "common.campusLabel.afterHoursTtsLanguageFrFr": "French (France)",
  "common.campusLabel.afterHoursTtsLanguageEsMx": "Spanish (Mexico)",
  "common.campusLabel.afterHoursTtsLanguageEsEs": "Spanish (Spain)",
  "common.campusLabel.afterHoursTtsLanguageDeDe": "German",
  "common.campusLabel.afterHoursTtsLanguageItIt": "Italian",
  "common.campusLabel.afterHoursTtsLanguagePtBr": "Portuguese (Brazil)",
  "common.campusLabel.afterHoursTtsLanguageTrTr": "Turkish",
  "common.campusLabel.afterHoursTtsLanguageCaEs": "Catalan",
  "common.campusLabel.afterHoursTtsLanguageArAe": "Arabic",
  "common.campusLabel.afterHoursTitle": "After-hours AI Voice",
  "common.campusLabel.afterHoursTo": "To",
  "common.campusLabel.afterHoursUnconfiguredHelp": "Not configured yet. Incoming calls to an unconfigured campus number receive the non-AI fallback until you save a complete policy.",
  "common.campusLabel.tabAfterHours": "After-hours AI Voice",
  "common.campusLabel.tabCallCenter": "Call Center",
  "common.campusLabel.tabOverview": "Overview",
  "common.campusNumbersLabel.sectionNumbers": "Numbers",
  "common.dashboardLabel.configureFiltersDescription": "Override the date and report filters for this widget.",
  "common.groupLabel.courseCohortEndDate": "Course Cohort End Date",
  "common.groupLabel.courseCohortStartDate": "Course Cohort Start Date",
  "common.groupLabel.editProgramCohorts": "Edit Program Cohorts",
  "common.groupLabel.programCohortEndDate": "Program Cohort End Date",
  "common.groupLabel.programCohortStartDate": "Program Cohort Start Date",
  "common.groupLabel.programCohorts": "Program Cohorts",
  "common.groupLabel.programCohortsDescription": "Select the program cohorts this course cohort belongs to.",
  "common.groupLabel.programCohortsUpdated": "Program cohorts updated successfully.",
  "common.groupLabel.saveProgramCohorts": "Save Program Cohorts",
  "common.groupLabel.selectProgramCohorts": "Select program cohorts",
  "common.groupLabel.selectedProgramCohortsCount": ":count selected program cohorts",
  "common.pluginLabel.flywire.description": "Accept international payments through Flywire Embedded Checkout. Secure quote completion requires the portal destination and Flywire Shared Secret.",
  "common.pluginLabel.flywire.sharedSecret": "Shared Secret",
  "common.pluginLabel.flywire.sharedSecretHelper": "Request the Shared Secret for this recipient from the Flywire Solutions team. It is encrypted here and used only for session and callback authentication.",
  "common.portalLabel.calculatedFromCourseDuration": "Calculated from your course duration",
  "common.portalLabel.enterPromoCode": "Enter promo code",
  "common.portalLabel.noPaymentGatewayContact": "No payment methods are available. Please contact the school.",
  "common.portalLabel.paymentFailed": "Payment failed. Please try again.",
  "common.portalLabel.convergeNotConfigured": "Converge is not configured yet.",
  "common.portalLabel.convergeUnavailable": "Converge is temporarily unavailable. Please try again.",
  "common.portalLabel.countries": "Countries",
  "common.portalLabel.courseDurationWeeks": "Course duration: :count weeks",
  "common.portalLabel.deposit": "Deposit",
  "common.portalLabel.estimated": "Estimated",
  "common.portalLabel.endDateUpdatesFromDuration": "The end date updates automatically as you change the course duration.",
  "common.portalLabel.flywireCheckoutUnavailable": "Flywire checkout is temporarily unavailable. Please try again.",
  "common.portalLabel.flywireConfirmationNotice": "Flywire confirms payment to the school securely. Bank transfers and some local methods may remain pending while funds are validated.",
  "common.portalLabel.flywirePaymentPendingDescription": "Your invoice updates only after Flywire confirms that the funds are guaranteed. You can return to this secure link to check the status.",
  "common.portalLabel.flywirePaymentPendingTitle": "Flywire payment submitted",
  "common.portalLabel.flywireQuoteCheckoutOnly": "Flywire checkout is available from the secure quote payment link.",
  "common.portalLabel.flywireSetupRequired": "Flywire needs secure callback setup before it can accept quote payments.",
  "common.portalLabel.nights": "Nights",
  "common.portalLabel.optional": "Optional",
  "common.portalLabel.payWithFlywire": "Pay with Flywire",
  "common.portalLabel.paymentGatewaySetupRequiredDescription": ":gateways is enabled by the school but needs secure provider verification before it can be selected. Choose another available method or contact the school.",
  "common.portalLabel.paymentGatewaySetupRequiredTitle": "Payment method setup is incomplete",
  "common.portalLabel.quoteCopyLink": "Copy quote link",
  "common.portalLabel.quoteDownloadFailed": "Unable to download the quote summary.",
  "common.portalLabel.quoteDownloadDocument": "Download quote document",
  "common.portalLabel.quoteDownloadPdf": "Download / print PDF",
  "common.portalLabel.quoteHeroEyebrow": "Quote builder",
  "common.portalLabel.quoteHeroSubtitle": "Build a clear, personalized estimate before sharing your details.",
  "common.portalLabel.quoteHeroTitle": "Plan your language experience.",
  "common.portalLabel.quoteGroupStudents": ":count students",
  "common.portalLabel.quoteGroupTotal": "Group quote total",
  "common.portalLabel.returnToGroupBooking": "Return to group booking",
  "common.portalLabel.returnToStudentProfile": "Return to student profile",
  "common.portalLabel.quoteJourneyExtras": "Extras",
  "common.portalLabel.quoteJourneyReview": "Review",
  "common.portalLabel.quoteJourneyStay": "Stay",
  "common.portalLabel.quoteJourneyStudyPlan": "Study plan",
  "common.portalLabel.generateInvoice": "Generate invoice",
  "common.portalLabel.quoteLinkCopied": "Quote link copied.",
  "common.portalLabel.quoteNoOptionsAvailable": "No options are available for this step.",
  "common.portalLabel.quotePaymentSchedule": "Payment schedule",
  "common.portalLabel.quotePaymentScheduleHeading": "Know what’s due and when.",
  "common.portalLabel.quotePricingNeedsRefresh": "Your quote price could not be verified. Return to the quote, confirm your selections, and try again.",
  "common.portalLabel.quoteLockedAfterPayment": "This quote is locked because a payment has already been recorded. Start a new quote to change the plan.",
  "common.portalLabel.quoteLockedAfterInvoice": "This quote is locked because its invoice has already been generated.",
  "common.portalLabel.quoteItemAdded": ":count item added",
  "common.portalLabel.quoteItemsAdded": ":count items added",
  "common.portalLabel.quoteNoExtrasAdded": "No extras added",
  "common.portalLabel.quoteRemainingBalance": "Remaining balance",
  "common.portalLabel.quoteRecipientAgent": "Send the quote to the assigned agent",
  "common.portalLabel.quoteRecipientPreference": "Who should receive this quote?",
  "common.portalLabel.quoteRecipientStudent": "Send the quote to the student",
  "common.portalLabel.quoteRecipientUnavailable": "The selected quote recipient is not available.",
  "common.portalLabel.quoteReviewHeading": "Your plan is ready to book.",
  "common.portalLabel.quoteReviewIntro": "Review every choice, then secure your place or save the quote for later.",
  "common.portalLabel.quoteSaveAndEmail": "Save & email quote",
  "common.portalLabel.quoteEmailIntro": "Enter your details to save your quote and receive a copy by email.",
  "common.portalLabel.quoteContactDetails": "Where should we send it?",
  "common.portalLabel.quoteConsentAndTerms": "Consent and terms",
  "common.portalLabel.quoteSaveFailed": "Unable to save your quote. Please try again.",
  "common.portalLabel.quoteSelectionInvalid": "One of the selected quote options is no longer available.",
  "common.portalLabel.quoteAutosaved": "Autosaved",
  "common.portalLabel.quoteAutosaving": "Saving…",
  "common.portalLabel.quoteAccountHandoffHint": "Your quote is saved. We’ll use the existing secure account flow before opening payment.",
  "common.portalLabel.quoteInlineAccountHint": "Enter your contact details to create your account and complete your payment. Your quote selections will automatically carry over to your application.",
  "common.portalLabel.quoteInlineAccountSecurityHint": "New accounts are created automatically. If you already have an account, sign in above to continue on this page.",
  "common.portalLabel.quoteExistingAccount": "I already have an account",
  "common.portalLabel.quoteCheckoutAccountExists": "An account already uses this email. Select ‘I already have an account’ and enter your password, or reset it using ‘Forgot password?’.",
  "common.portalLabel.quoteAccountSecurityHint": "You’ll create an account or sign in next so this quote can only be claimed by you.",
  "common.portalLabel.quoteAuthenticatedCheckoutHint": "Confirm your details and payment method. Your quote selections will carry into your application.",
  "common.portalLabel.quoteBookingOwnedByAnotherAccount": "This quote is already linked to another account. Sign in with that account or start a new quote.",
  "common.portalLabel.quoteExtrasHeading": "Would you like to add anything?",
  "common.portalLabel.quoteInvoiceCreationFailed": "We could not prepare the secure payment. Please try again or contact the school.",
  "common.portalLabel.quoteInvoiceGenerated": "Invoice generated successfully.",
  "common.portalLabel.editApplication": "Edit application",
  "common.portalLabel.quoteSecureYourPlace": "Secure Your Place",
  "common.portalLabel.quoteStayHeading": "Where would you like to stay?",
  "common.portalLabel.quoteStudyPlanHeading": "What would you like to study?",
  "common.portalLabel.quoteStepProgress": "Step :current of :total",
  "common.portalLabel.quoteValidForDays": "Quote valid for :days days.",
  "common.portalLabel.continueSecurely": "Continue securely",
  "common.portalLabel.continueToStep": "Continue to :step",
  "common.portalLabel.continueToPayment": "Continue to payment",
  "common.portalLabel.paymentMethod": "Payment method",
  "common.portalLabel.secureCheckout": "Secure checkout",
  "common.portalLabel.selectPaymentMethod": "Select a payment method",
  "common.portalLabel.selectStartDateFirst": "Select a start date",
  "common.portalLabel.validCourseStartDatesOnly": "Valid course start dates only",
  "common.portalLabel.weeksMaximum": ":count weeks",
  "common.reportLabel.timeSeriesAllFieldValues": "All :field",
  "common.reportLabel.timeSeriesAllGroups": "All values",
  "common.reportLabel.timeSeriesGroupDisplay": ":group display",
  "common.reportLabel.timeSeriesOtherGroups": "Other",
  "common.reportLabel.timeSeriesTopGroupsPlusOther": "Top :count + other",
  "common.reportLabel.viewModePivotTable": "Pivot table",
  "common.aiAgentLabel.systemPromptSectionsHelp": "These sections train the persona for every enabled channel (email, SMS, chat, and AI Voice). Keep Purpose & steps shared; put email/SMS/chat/phone differences in Channel habits.",
  "common.aiAgentLabel.systemPromptIdentity": "Greeting & identity",
  "common.aiAgentLabel.systemPromptIdentityHelp": "Who the agent is and how it introduces itself on any channel.",
  "common.aiAgentLabel.systemPromptStyle": "How it should talk",
  "common.aiAgentLabel.systemPromptStyleHelp": "Pace, warmth, and conversational habits shared across channels.",
  "common.aiAgentLabel.systemPromptChannelHabits": "Channel habits",
  "common.aiAgentLabel.systemPromptChannelHabitsHelp": "Use a ### heading per channel (all, email, sms, in_app_chat, ai_voice), then the habit text under it. At runtime only All channels plus the active channel are injected.",
  "common.aiAgentLabel.systemPromptTask": "Purpose & steps",
  "common.aiAgentLabel.systemPromptTaskHelp": "Shared goals and steps for all channels. Do not put phone-only or SMS-only steps here.",
  "common.aiAgentLabel.systemPromptResponse": "Extra conversation rules",
  "common.aiAgentLabel.systemPromptResponseHelp": "Edge cases, stay in character, and other response guidelines.",
  "common.aiAgentLabel.systemPromptTemplate": "Use a prompt template",
  "common.aiAgentLabel.systemPromptTemplateHelp": "Fill the sections from a student-support template. You can edit afterward.",
  "common.aiAgentLabel.systemPromptTemplatePlaceholder": "Select a template…",
  "common.aiAgentLabel.systemPromptTemplateApply": "Apply template",
  "common.aiAgentLabel.systemPromptTemplateOverwriteConfirm": "Replace the current prompt sections with this template?",
  "common.aiAgentLabel.systemPromptTemplateApplied": "Template applied to prompt sections.",
  "common.aiAgentLabel.systemPromptSave": "Save prompt",
  "common.aiAgentLabel.systemPromptSaving": "Saving…",
  "common.aiAgentLabel.systemPromptSaved": "System prompt saved.",
  "common.aiAgentLabel.systemPromptSaveFailed": "Could not save the system prompt.",
  "common.aiAgentLabel.systemPromptChannelHabitsAdd": "Add channel habit",
  "common.aiAgentLabel.systemPromptChannelHabitsEmpty": "No channel-specific habits yet. Shared Identity / Style / Task still apply everywhere.",
  "common.aiAgentLabel.systemPromptChannelHabitsChannel": "Channel",
  "common.aiAgentLabel.systemPromptChannelHabitsPrompt": "Habits for this channel",
  "common.aiAgentLabel.systemPromptChannelHabitsPromptHelp": "e.g. short SMS, no email signature in chat, introduce once on phone.",
  "common.aiAgentLabel.systemPromptChannelHabitsItem": "Channel habit :n",
  "common.aiAgentLabel.channelHabitAll": "All channels",
  "common.aiAgentLabel.channelHabitEmail": "Email",
  "common.aiAgentLabel.channelHabitSms": "SMS",
  "common.aiAgentLabel.channelHabitChat": "In-app chat",
  "common.aiAgentLabel.channelHabitMessage": "Portal message",
  "common.aiAgentLabel.channelHabitPortal": "Student portal",
  "common.aiAgentLabel.channelHabitVoice": "AI Voice (phone)",
  "common.aiAgentLabel.defaultChannelHabitAiVoice": "Phone is spoken, not written — no email sign-offs, letter closings, or reading URLs unless the caller asks you to spell something.\n\nUse short, natural sentences. One topic per turn; at most one question.\n\nSound like the contact's admissions owner on a real call: warm, clear, human — not a generic bot or a script reader. Do not use the AI persona name as your identity; use the school and your role from context.\n\nAt the start of a new call, greet briefly and use the callee's first name when you know it. Introduce yourself once; do not re-introduce on later turns.\n\nFollow the call objective and automation instruction for why you are calling (missed call, application step, re-engagement, payment reminder, etc.). Do not invent reasons, amounts, deadlines, or program details that are not in Call Context, Student Context, or Knowledge.\n\nUse only Knowledge and available student context for facts. If you cannot answer confidently, say so and offer a human counselor or owner callback — do not guess.\n\nAdapt to interruptions, bad audio, and transcription quirks without mentioning \"the system\" or transcription.\n\nIf the callee is the wrong person or unavailable, apologize briefly, note what you needed when appropriate, and end politely.\n\nWhen they are finished (thanks, bye, sounds good), use end_call when available, give one brief friendly goodbye, and stop — no new questions or \"I'm still here\" after a clear goodbye.\n\nOn outbound calls you placed, do not open with \"thanks for calling.\" On inbound, respond naturally to their greeting first.",
  "common.automationLabel.executionConditionPassed": "Matched",
  "common.automationLabel.executionConditionFailed": "Did not match",
  "common.automationLabel.nodePayloadViewInput": "View input JSON",
  "common.automationLabel.nodePayloadViewOutput": "View output JSON",
  "common.automationLabel.searchNodeRuns": "Search node runs",
  "common.automationLabel.nodeRunsEmpty": "No node runs for this execution.",
  "common.callLogLabel.aiSummary": "AI summary",
  "common.callLogLabel.aiSummaryPending": "AI summary is being generated…",
  "common.callLogLabel.noAiSummary": "No AI summary yet",
  "common.importLabel.sourceOfTruth": "Source of truth",
  "common.importLabel.sourceOfTruthStats": "Source of truth summary",
  "common.importLabel.sourceOfTruthStat": ":count :label",
  "common.importLabel.selectSourceOfTruth": "Select source of truth",
  "common.importLabel.sourceUseImport": "Prefer CSV",
  "common.importLabel.sourceKeepExisting": "Prefer HEM-SP",
  "common.importLabel.sourceFillBlankOnly": "Fill blanks only",
  "common.importLabel.fieldRulesTitle": "Field rules",
  "common.importLabel.fieldRulesHelp": "Open each field to choose conflict handling. List fields also let you map CSV values to HEM-SP values.",
  "common.importLabel.mappedFromColumn": "Mapped from column: :column",
  "common.importLabel.valueMappingTitle": "Map values for :field",
  "common.importLabel.valueMappingHelp": "Match each CSV value to a HEM-SP option. \"Use the same\" keeps the CSV value when it matches a system option.",
  "common.importLabel.noSourceValues": "No distinct values were detected for this column.",
  "common.importLabel.csvValue": "CSV value",
  "common.importLabel.systemValue": "HEM-SP value",
  "common.importLabel.selectSystemValue": "Select HEM-SP value",
  "common.importLabel.useSameValue": "Use the same",
  "common.importLabel.skipUnmappedValue": "Skip this value",
  "common.importLabel.unmappedValueSkipped": "Skipped unmapped value \":value\" for :field.",
  "common.importLabel.moreWarnings": "And :count more warning(s).",
  "common.importLabel.sourceOfTruthHelp": "When both HEM-SP and the CSV have a value, choose which one to keep for this field.",
  "common.importLabel.sourceUseImportHelp": "Always apply the CSV value, even if HEM-SP already has one.",
  "common.importLabel.sourceKeepExistingHelp": "Keep the current HEM-SP value when one already exists.",
  "common.importLabel.sourceFillBlankOnlyHelp": "Only fill the field when the HEM-SP value is empty.",
  "common.importLabel.stepUpload": "Upload CSV",
  "common.importLabel.stepMapColumns": "Map columns",
  "common.importLabel.stepFieldRules": "Field rules",
  "common.importLabel.stepNumber": "Step :number",
  "common.importLabel.mappedColumnsSummary": ":mapped of :total columns mapped",
  "common.importLabel.unmappedColumnsBadge": ":count unmapped",
  "common.importLabel.fieldRulesCount": ":count fields",
  "common.importLabel.valueMapFieldsCount": ":count need value mapping",
  "common.importLabel.showAllFields": "Show all fields",
  "common.importLabel.showAllFieldsCount": "Show all fields (+ :count)",
  "common.importLabel.showSuggestedFields": "Show suggested fields",
  "common.importLabel.showValueMapFields": "Value-map fields only",
  "common.importLabel.needsValueMapping": "Value mapping",
  "common.importLabel.valueMapProgress": ":mapped/:total mapped",
  "common.importLabel.valueMapIncompleteHelp": "Some list values are not mapped. Unmapped values are skipped on import.",
  "common.importLabel.incompleteValueMapsBadge": ":count incomplete value maps",
  "common.importLabel.applyToAll": "Apply below",
  "common.importLabel.applyToAllAction": "Apply",
  "common.importLabel.applyToAllSuccess": "Applied to :count rows",
  "common.importLabel.applyToAllBelowHelp": "Apply this row's value to all rows below",
  "common.importLabel.readyToImport": ":count fields ready",
  "common.importLabel.mappedFieldsShort": "mapped",
  "common.importLabel.fieldMappingsTitle": "Field Mappings",
  "common.importLabel.fieldMappingsHelp": "Map each CSV column to a HEM-SP field. Several columns can share a field; the first non-empty value is used.",
  "common.importLabel.sharedTargetFallback": "Fallback",
  "common.importLabel.sharedTargetFallbackHelp": "Used when :column is empty on this row.",
  "common.importLabel.sharedTargetPrimaryHelp": "If this column is empty, later columns mapped to the same field are used instead.",
  "common.importLabel.signatureImageSample": "Signature image",
  "common.importLabel.csvImport": "CSV Import",
  "common.importLabel.signatureAuditImage": "Signature Image",
  "common.importLabel.signatureAuditDate": "Signature Date",
  "common.importLabel.contactStatusDate": "Current Status Date",
  "common.importLabel.educationGroup": "Education",
  "common.importLabel.programTitle": "Program",
  "common.importLabel.courseTitle": "Course",
  "common.importLabel.catalogCreateSkipped": "Skipped creating :type \":value\" because Fill blanks only is selected.",
  "common.importLabel.refreshFields": "Refresh fields",
  "common.importLabel.refreshFieldsHelp": "Reload this column's target field list after creating a custom field.",
  "common.importLabel.fieldsRefreshed": "Target fields updated.",
  "common.importLabel.fieldsRefreshFailed": "Unable to refresh target fields. Try again.",
  "common.importLabel.resetMappingsHelp": "Restore the suggested mappings for this file.",
  "common.importLabel.showSkippedColumnsHelp": "Bring skipped columns back to the mapping list.",
  "common.importLabel.saveMappingHelp": "Save this mapping and continue later from Migrations.",
  "common.importLabel.importHelp": "Save the mapping and open the import details page. The import will not start until you confirm.",
  "common.importLabel.cancelHelp": "Return without importing.",
  "common.importLabel.uploadFileHelp": "Upload the CSV and continue to field mapping.",
  "common.importLabel.uploadAnotherHelp": "Upload a different CSV file.",
  "common.importLabel.backToListHelp": "Return to Migrations.",
  "common.importLabel.viewProgressHelp": "Open the progress page for this import.",
  "common.importLabel.targetField": "Target Field",
  "common.importLabel.sourceColumn": "Source Column",
  "common.importLabel.selectSourceColumn": "Select source column",
  "common.importLabel.required": "Required",
  "common.importLabel.requiredMappingsTitle": "Required mappings",
  "common.importLabel.requiredMappingsHelp": "Map these HEM-SP fields before importing. Rules marked with options need at least one of the listed fields.",
  "common.importLabel.requiredMappingsMissing": "Map all required fields before importing.",
  "common.importLabel.requiredMappingsMissingDetail": "Still required: :fields",
  "common.importLabel.requiredMappingMissing": "Required mapping missing: :field",
  "common.importLabel.requiredMeetingContact": "Related contact (Contact, Agent, or Parent email)",
  "common.importLabel.requiredNoteContact": "Related contact (Contact, Agent, or Parent email)",
  "common.importLabel.requiredCallContact": "Related contact (Contact, Agent, or Parent email)",
  "common.importLabel.requiredSmsContact": "Related contact (Contact, Agent, or Parent email)",
  "common.importLabel.requiredMeetingType": "Meeting type",
  "common.importLabel.requiredMappingAnyOf": "Map one of: :fields",
  "common.importLabel.requiredMappingMappedAs": "Mapped as :field",
  "common.importLabel.showSamples": "Show samples",
  "common.importLabel.hideSamples": "Hide samples",
  "common.importLabel.sampleValues": "Sample values",
  "common.importLabel.mappingComplete": "Mapped",
  "common.importLabel.mappingIncomplete": "Not mapped",
  "common.importLabel.skipColumn": "Skip column",
  "common.importLabel.skippedColumns": "Skipped columns",
  "common.importLabel.skippedColumnsCount": ":count skipped",
  "common.importLabel.showSkippedColumns": "Restore skipped (:count)",
  "common.importLabel.progressTitle": "Importing :object",
  "common.importLabel.progress": "Progress",
  "common.importLabel.batchId": "Import ID",
  "common.importLabel.refresh": "Refresh",
  "common.importLabel.refreshing": "Refreshing…",
  "common.importLabel.progressRefreshFailed": "Could not refresh import status.",
  "common.importLabel.statusQueued": "Queued",
  "common.importLabel.statusProcessing": "Processing",
  "common.importLabel.statusCompleted": "Completed",
  "common.importLabel.statusCompletedWithIssues": "Completed with issues",
  "common.importLabel.statusFailed": "Failed",
  "common.importLabel.statusCancelled": "Cancelled",
  "common.importLabel.progressQueuedHelp": "Your import is queued on a school worker and will start shortly.",
  "common.importLabel.progressProcessingHelp": "Importing rows into this school’s database.",
  "common.importLabel.progressCompletedHelp": "Import finished successfully.",
  "common.importLabel.progressCompletedWithIssuesHelp": "Import finished, but some rows had warnings or errors.",
  "common.importLabel.progressFailedHelp": "Import failed. Review the errors below and try again.",
  "common.importLabel.progressRowsHelp": "Processed :processed of :total rows",
  "common.importLabel.statImported": "Imported",
  "common.importLabel.statCreated": "Created",
  "common.importLabel.statUpdated": "Updated",
  "common.importLabel.statFailed": "Failed",
  "common.importLabel.statSkipped": "Skipped",
  "common.importLabel.statWarnings": "Warnings",
  "common.importLabel.errorsTitle": "Row errors",
  "common.importLabel.errorsHelp": "Showing up to 50 of :count error(s).",
  "common.importLabel.warningsTitle": "Warnings",
  "common.importLabel.warningsHelp": "Showing up to 50 of :count warning(s).",
  "common.importLabel.rowLabel": "Row :row",
  "common.importLabel.importRowWarning": "Row :row: :message",
  "common.importLabel.warningDetailsUnavailable": "Warning details are unavailable for this import run. Re-run the import to see row-level warning messages.",
  "common.importLabel.resultsTitle": "Import results",
  "common.importLabel.resultsHelp": "Showing :shown of :count row result(s).",
  "common.importLabel.resultsFilteredHelp": "Showing :shown of :total row result(s) matching :filter.",
  "common.importLabel.filterResultsBy": "Filter results by :label",
  "common.importLabel.clearResultsFilter": "Clear filter",
  "common.importLabel.resultsFilterAll": "All",
  "common.importLabel.resultStatusCreated": "Created",
  "common.importLabel.resultStatusUpdated": "Updated",
  "common.importLabel.resultStatusSkipped": "Skipped",
  "common.importLabel.resultStatusFailed": "Failed",
  "common.importLabel.resultStatusWarning": "Warning",
  "common.importLabel.resultColumnRow": "Row",
  "common.importLabel.resultColumnStatus": "Status",
  "common.importLabel.resultColumnRecord": "Record",
  "common.importLabel.resultColumnDetails": "Details",
  "common.importLabel.emptyRowSkipped": "Row had no mapped values.",
  "common.importLabel.existingRecordSkipped": "Skipped because this :identifier already exists.",
  "common.importLabel.uniqueIdentifierMissing": "Skipped because the unique identifier (:identifier) is missing.",
  "common.importLabel.duplicatePolicy": "Existing records",
  "common.importLabel.duplicatePolicyHelp": "Choose whether matching records should be updated or left unchanged.",
  "common.importLabel.duplicatePolicyUpsert": "Create or update",
  "common.importLabel.duplicatePolicyUpsertHelp": "Create new records and update existing ones that match this :identifier.",
  "common.importLabel.duplicatePolicyCreateOnly": "Create only",
  "common.importLabel.duplicatePolicyCreateOnlyHelp": "Create new records only. Skip rows whose :identifier already exists.",
  "common.importLabel.duplicatePolicyProgress": "Existing records: :policy",
  "common.importLabel.uniqueIdentifier": "unique identifier",
  "common.importLabel.uniqueIdentifierEmail": "email",
  "common.importLabel.uniqueIdentifierUid": "UID",
  "common.importLabel.uniqueIdentifierMeeting": "iCal UID or subject and date",
  "common.importLabel.uniqueIdentifierNote": "Note ID or title and date",
  "common.importLabel.uniqueIdentifierCall": "Call SID or contact, date, and direction",
  "common.importLabel.uniqueIdentifierSms": "Message SID or recipient, direction, and date/time",
  "common.importLabel.viewRecord": "View record",
  "common.importLabel.noResultsForFilter": "No rows match this filter.",
  "common.importLabel.resultsEmpty": "No row details were stored for this run. Summary counts still reflect processed rows.",
  "common.importLabel.rerunImport": "Re-run import",
  "common.importLabel.rerunning": "Re-running...",
  "common.importLabel.rerunUnavailable": "This import cannot be re-run.",
  "common.importLabel.rerunFileMissing": "The original CSV file is no longer available.",
  "common.importLabel.retryFailedImport": "Retry failed rows",
  "common.importLabel.retryingFailed": "Retrying failed rows...",
  "common.importLabel.retryFailedUnavailable": "There are no failed rows that can be retried.",
  "common.importLabel.retryFailedConfirmTitle": "Retry failed rows?",
  "common.importLabel.retryFailedConfirm": "A new import will be queued for :count failed row(s). Rows that already succeeded will not be processed again. Start it from the next Progress page.",
  "common.importLabel.retryFailedConfirmPartial": "This import stored :known of :failed failed row numbers. Only those :known rows will be retried. Use Re-run import to process the entire file.",
  "common.importLabel.retryFailedBadge": "Retry failed rows",
  "common.importLabel.saveAsStaticList": "Save as static list",
  "common.importLabel.saveAsStaticListTitle": "Save as static list",
  "common.importLabel.saveAsStaticListHelp": "Create a static list with :count unique contact(s) from this import.",
  "common.importLabel.saveAsStaticListName": "List name",
  "common.importLabel.saveAsStaticListNamePlaceholder": "Imported contacts",
  "common.importLabel.saveAsStaticListNameHelp": "Defaults to the migration title. You can rename it before saving.",
  "common.importLabel.saveAsStaticListNameRequired": "Enter a list name.",
  "common.importLabel.saveAsStaticListConfirm": "Create list",
  "common.importLabel.saveAsStaticListSaving": "Creating list...",
  "common.importLabel.saveAsStaticListSuccess": "Static list \":name\" created with :count contact(s).",
  "common.importLabel.saveAsStaticListUnavailable": "This import cannot be saved as a static list.",
  "common.importLabel.saveAsStaticListNoContacts": "No imported contacts are available to add to a list.",
  "common.importLabel.saveAsStaticListPermission": "You do not have permission to create lists.",
  "common.importLabel.saveAsStaticListCreatedFrom": "Created from contact import: :title",
  "common.importLabel.saveAsStaticListDuplicateEmails": "This import processed :imported row(s) with :unique unique email(s). Duplicate emails appear once on the list.",
  "common.importLabel.saveAsStaticListPartial": "This import stored :stored of :imported contact IDs. Only those :stored contacts will be added to the list.",
  "common.importLabel.abortImport": "Abort import",
  "common.importLabel.aborting": "Aborting...",
  "common.importLabel.abortImportConfirmTitle": "Abort this import?",
  "common.importLabel.abortImportConfirm": "The queued worker job will be removed. Processing stops after the current batch; rows already imported will be kept.",
  "common.importLabel.abortUnavailable": "This import cannot be aborted.",
  "common.importLabel.continueToProgress": "Continue",
  "common.importLabel.continuingToProgress": "Continuing...",
  "common.importLabel.statusReady": "Ready to start",
  "common.importLabel.statusPaused": "Paused",
  "common.importLabel.statusStalled": "Worker stopped",
  "common.importLabel.progressReadyHelp": "Review this import, then start it. Nothing will be written until you confirm.",
  "common.importLabel.progressPausedHelp": "Import is paused. Resume to continue from the last processed row.",
  "common.importLabel.progressStalledHelp": "The import worker stopped. Resume to continue from the last processed row.",
  "common.importLabel.importWorkerStale": "The import worker stopped. Resume to continue from the last processed row.",
  "common.importLabel.startImport": "Start import",
  "common.importLabel.starting": "Starting...",
  "common.importLabel.startImportConfirmTitle": "Start this import?",
  "common.importLabel.startImportConfirm": "Rows will be written to this school. You can stop and resume from this page.",
  "common.importLabel.startUnavailable": "This import cannot be started.",
  "common.importLabel.importStarted": "Import started.",
  "common.importLabel.readyToStart": "Mapping saved. Review the details, then start the import.",
  "common.importLabel.stopImport": "Stop import",
  "common.importLabel.stopping": "Stopping...",
  "common.importLabel.stopImportConfirmTitle": "Stop this import?",
  "common.importLabel.stopImportConfirm": "Processing will pause after the current batch. Rows already imported are kept, and you can resume later.",
  "common.importLabel.stopUnavailable": "This import cannot be stopped.",
  "common.importLabel.importPaused": "Import was paused.",
  "common.importLabel.resumeImport": "Resume import",
  "common.importLabel.resuming": "Resuming...",
  "common.importLabel.resumeImportConfirmTitle": "Resume this import?",
  "common.importLabel.resumeImportConfirm": "The worker will continue from the last processed row.",
  "common.importLabel.resumeUnavailable": "This import cannot be resumed.",
  "common.importLabel.importResumed": "Import resumed.",
  "common.importLabel.queueUnavailable": "Could not queue the import. Confirm a queue worker is running, then try again.",
  "common.importLabel.importCancelled": "Import was cancelled.",
  "common.importLabel.progressCancelledHelp": "Import was cancelled. Rows processed before cancellation are shown below.",
  "common.importLabel.statusDraft": "Draft",
  "common.importLabel.saveMapping": "Save & continue later",
  "common.importLabel.savingMapping": "Saving...",
  "common.importLabel.mappingSaved": "Mapping saved. Continue from Migrations when you are ready.",
  "common.importLabel.saveMappingFailed": "Unable to save the mapping. Try again.",
  "common.migrationLabel.pageTitle": "Migrations",
  "common.migrationLabel.newJob": "New Migration",
  "common.migrationLabel.importObject": "Import :object",
  "common.migrationLabel.searchPlaceholder": "Search migrations by title, type, status, or user",
  "common.migrationLabel.empty": "No migration jobs matched the current search or filters.",
  "common.migrationLabel.resultLabel": "Migrations",
  "common.migrationLabel.object": "Import type",
  "common.migrationLabel.title": "Title",
  "common.migrationLabel.titleHelp": "Name this migration so you can find it later.",
  "common.migrationLabel.titlePlaceholder": "e.g. August 2026 contacts",
  "common.migrationLabel.titleRequired": "Enter a title for this migration.",
  "common.migrationLabel.status": "Status",
  "common.migrationLabel.startedBy": "Started by",
  "common.migrationLabel.createdAt": "Created",
  "common.migrationLabel.updatedAt": "Updated",
  "common.migrationLabel.viewProgress": "View progress",
  "common.migrationLabel.editMapping": "Edit mapping",
  "common.migrationLabel.continueMapping": "Continue mapping",
  "common.migrationLabel.editMappingTitle": "Edit :object mapping",
  "common.migrationLabel.continueMappingTitle": "Continue :object mapping",
  "common.migrationLabel.editMappingUnavailable": "This migration's mapping cannot be edited.",
  "common.migrationLabel.jobId": "Job ID",
  "common.migrationLabel.migrationId": "Migration ID",
  "common.migrationLabel.downloadTemplate": "Download CSV Template",
  "common.migrationLabel.downloadSelectedTemplate": "Download template",
  "common.migrationLabel.templateModalDescription": "Choose which import type template to download.",
  "common.migrationLabel.templateHelp": "Please download the CSV template, fill it with the required data, and upload it to import your :object.",
  "Invoice Updated Date": "Invoice Updated Date",
  "Payment Updated Date": "Payment Updated Date",
  "Related Invoice ID": "Related Invoice ID",
  "Invoice Document Date": "Invoice Document Date",
  "Invoice Creation Date": "Invoice Creation Date",
  "Payment Amount Paid": "Payment Amount Paid",
  "Payment Creation Date": "Payment Creation Date",
  "common.allContactLabel.programStartDate": "Program Start Date",
  "common.allContactLabel.programEndDate": "Program End Date",
  "common.allContactLabel.courseStartDate": "Course Start Date",
  "common.allContactLabel.courseEndDate": "Course End Date",
  "common.allContactLabel.createDate": "Create Date",
  "common.allContactLabel.lastActivity": "Last Activity",
  "common.communicationLabel.audio": "Audio",
  "common.communicationLabel.document": "Document",
  "common.communicationLabel.download": "Download",
  "common.communicationLabel.file": "File",
  "common.communicationLabel.image": "Image",
  "common.communicationLabel.mediaUnavailable": "Media preview is unavailable.",
  "common.communicationLabel.open": "Open",
  "common.communicationLabel.pdf": "PDF",
  "common.communicationLabel.video": "Video",
  "common.whatsappTemplateLabel.providerTemplates": "Provider templates",
  "common.whatsappTemplateLabel.providerTemplatesDescription": "Provider-defined WhatsApp templates available for the validated Twilio Sandbox.",
  "common.whatsappTemplateLabel.twilioSandbox": "Twilio Sandbox",
  "common.whatsappTemplateLabel.providerDefined": "Provider template",
  "common.whatsappTemplateLabel.readOnly": "Read-only",
  "common.whatsappTemplateLabel.sandboxMappingStatus": "Variable mappings",
  "common.whatsappTemplateLabel.mappingConfigured": "Configured",
  "common.whatsappTemplateLabel.mappingRequired": "Configure required variables",
  "common.whatsappTemplateLabel.inspectProviderTemplate": "Inspect template",
  "common.whatsappTemplateLabel.providerTemplateDescription": "This template is managed by Twilio and can be used only with the validated Sandbox sender.",
  "common.whatsappTemplateLabel.templateBody": "Template body",
  "common.whatsappTemplateLabel.variables": "Variables",
  "common.whatsappTemplateLabel.contentSid": "Content SID",
  "common.whatsappTemplateLabel.providerTemplateImmutable": "The provider body, placeholders, and Content SID are read-only.",
  "common.whatsappTemplateLabel.variableMappings": "HEM-SP variable mappings",
  "common.whatsappTemplateLabel.variableMappingsDescription": "Map each provider placeholder to a literal value or an existing HEM-SP merge token.",
  "common.whatsappTemplateLabel.mappingHelper": "Use a literal value or insert an HEM-SP merge token.",
  "common.whatsappTemplateLabel.mappingReadOnly": "You can view these mappings, but you do not have permission to edit them.",
  "common.whatsappTemplateLabel.saveMappings": "Save mappings",
  "common.whatsappTemplateLabel.savedVariableMappings": "Saved variable mappings",
  "common.whatsappTemplateLabel.mappingResolvedForRecipient": "Saved mappings are resolved for this recipient.",
  "common.whatsappTemplateLabel.sandboxMappingRequiredForSend": "Configure all Sandbox template variable mappings before sending.",
  "common.whatsappTemplateLabel.sandboxMappingSaved": "Sandbox template mappings saved.",
  "common.whatsappTemplateLabel.configureMappings": "Configure mappings",
  "common.whatsappTemplateLabel.sandboxTemplateNotFound": "Sandbox template not found.",
  "common.whatsappTemplateLabel.sandboxMappingInvalid": "Sandbox template mappings are invalid.",
  "common.whatsappTemplateLabel.sandboxMappingRequired": "A value is required for :variable.",
  "common.whatsappTemplateLabel.sandboxTemplateSelectionInvalid": "Select either a tenant template or a Sandbox template, not both.",
  "common.smsTemplateLabel.whatsappUnsupportedTokens": "Unsupported WhatsApp merge token(s): :tokens. Choose a token from the existing HEM-SP token picker.",
  "common.contactLabel.lifecycleStageNew": "New",
  "common.contactLabel.lifecycleStageEngaged": "Contacted",
  "common.contactLabel.lifecycleStageApplicant": "Applied",
  "common.contactLabel.lifecycleStageConfirmed": "Confirmed",
  "common.contactLabel.lifecycleStageEnrolled": "Enrolled",
  "common.contactLabel.lifecycleStageActiveStudent": "Started",
  "common.contactLabel.lifecycleStageGraduate": "Graduated",
  "common.contactLabel.lifecycleStageAlumni": "Alumni",
  "common.contactLabel.lifecycleStageWithdrawn": "Withdrawn",
  "common.contactLabel.lifecycleStageDormant": "Dormant",
  "common.contactLabel.admissionsSummaryDescription": "Outreach workflow and contact Status shown separately.",
  "common.contactLabel.quickViewOpen": "Quick View",
  "common.contactLabel.quickViewTitle": "Quick View",
  "common.contactLabel.quickViewOpenProfile": "Open full profile",
  "common.contactLabel.quickViewLoadError": "Unable to load this contact preview right now.",
  "common.contactLabel.quickViewRetry": "Try again",
  "common.contactLabel.quickViewRecentActivity": "Recent activity",
  "common.contactLabel.quickViewPinnedNote": "Pinned note",
  "common.contactLabel.quickViewResizeDrawer": "Resize quick view panel",
  "common.contactLabel.quickViewEnrollmentSnapshot": "Enrollment snapshot",
  "common.contactLabel.quickViewEnrollmentEmpty": "No program, campus, or assignment details on file yet.",
  "common.contactLabel.quickViewNoRecentActivity": "No recent contact activity logged.",
  "common.contactLabel.quickViewOpenNotes": "View in Notes",
  "common.contactLabel.quickViewActions": "Quick actions",
  "common.contactLabel.quickViewInterestTitle": "Program & assignment",
  "common.contactLabel.quickViewAssignedOwner": "Assigned owner",
  "common.contactLabel.quickViewActivityInbound": "Inbound",
  "common.contactLabel.quickViewActivityOutbound": "Outbound",
  "common.contactLabel.quickViewOpenActivity": "View all activity",
  "common.contactLabel.quickViewOpenActivityDetail": "View :label details (:date)",
  "common.contactLabel.outreachDetailQualifyingAttempts": ":count qualifying attempts",
  "common.contactLabel.outreachDetailLastReply": "Last contact reply",
  "common.contactLabel.outreachDetailTimeInState": "Time in current outreach state",
  "common.contactLabel.outreachDetailFollowUpHealth": "Follow-up health",
  "common.contactLabel.outreachDetailDays": ":count days",
  "common.contactLabel.outreachDetailUnavailable": "Not available",
  "common.contactLabel.outreachDetailSchedule": "Schedule follow-up",
  "common.contactLabel.outreachDetailHistory": "Activity & status history",
  "common.contactLabel.outreachDetailHistoryDescription": "Blue: contact milestones · green: outreach activity and status · amber: next activity.",
  "common.contactLabel.outreachDetailNoHistory": "No outreach activity or status history is available.",
  "common.contactLabel.outreachDetailContactStatusChanged": "Contact status → :status",
  "common.contactLabel.outreachDetailOutreachStatusChanged": "Outreach status → :status",
  "common.contactLabel.outreachDetailStaffOutreach": "Staff outreach · :channel",
  "common.contactLabel.outreachDetailAutomatedOutreach": "Automated outreach · :channel",
  "common.contactLabel.outreachDetailBulkOutreach": "Bulk outreach · :channel",
  "common.contactLabel.outreachDetailContactReply": "Contact reply · :channel",
  "common.contactLabel.outreachDetailActivity": ":channel activity",
  "common.contactLabel.outreachDetailNextActivity": "Next activity due",
  "common.contactLabel.admissionsSummaryTitle": "Admissions outreach",
  "common.contactLabel.admissionsSummaryCollapseCard": "Collapse admissions outreach",
  "common.contactLabel.admissionsSummaryExpandCard": "Expand admissions outreach",
  "common.contactLabel.admissionsSummaryTrackHelper": "Contact Status = how far they progressed · Outreach status = what admissions is doing now.",
  "common.contactLabel.admissionsSummaryHelpTitle": "How outreach status works",

  "common.contactLabel.admissionsSummaryHelpSectionTwoTracks": "Two statuses",
  "common.contactLabel.admissionsSummaryHelpTwoTracksBody": "Contact Status shows how far someone progressed (for example New or Applicant). Outreach status shows what admissions should do next (for example Attempting Contact or Follow-up due). They update independently.",
  "common.contactLabel.admissionsSummaryHelpSectionProgress": "As follow-up activities happen",
  "common.contactLabel.admissionsSummaryHelpProgressBody": "Logged calls, emails, SMS, and meetings can move outreach status forward when your school has automated work-state updates enabled. A completed outbound call that reaches the contact counts as meaningful contact and does not add a contact attempt. Staff can also change outreach status manually—the Manual chip marks those edits.",
  "common.contactLabel.admissionsSummaryHelpSectionAttempts": "Contact attempts",
  "common.contactLabel.admissionsSummaryHelpAttemptsBody": "Attempts count outbound tries in the current outreach cycle that did not establish meaningful contact. The counter shows how many tries you have used against your school's threshold (for example 1 of 10). Reaching the threshold can move the contact toward Unresponsive per your settings.",
  "common.contactLabel.admissionsSummaryHelpSectionFollowUp": "Follow-ups and what to expect",
  "common.contactLabel.admissionsSummaryHelpFollowUpBody": "When outreach is Follow-up due, the badge reflects timing: follow-up to schedule, scheduled, due today, or overdue based on the next scheduled activity. Use the calendar action to set or update that next step. Expand View full progression to see the lifecycle and outreach timelines side by side.",
  "common.contactLabel.admissionsSummaryViewFullProgression": "View full progression",
  "common.contactLabel.admissionsSummaryHideFullProgression": "Hide full progression",
  "common.contactLabel.admissionsSummaryClosedWithFollowUpNotice": "Outreach is closed. A scheduled follow-up still requires attention.",
  "common.contactLabel.admissionsSummaryAttemptsWithoutLogsNotice": "Outreach status advanced without logged contact attempts in this cycle.",
  "common.contactLabel.admissionsSummaryCurrentEnrollment": "Current contact Status",
  "common.contactLabel.admissionsSummaryCurrentOutreach": "Current outreach status",
  "common.contactLabel.admissionsSummaryCompactEnrollment": "Enrollment",
  "common.contactLabel.admissionsSummaryCompactOutreach": "Outreach",
  "common.contactLabel.admissionsSummaryCompactAttempts": "Attempts",
  "common.contactLabel.admissionsSummaryApplicationStatus": "Application status",
  "common.contactLabel.admissionsSummaryCompactApplication": "Application",
  "common.contactLabel.admissionsSummaryApplicationSteps": ":percent% · Step :done/:total",
  "common.contactLabel.admissionsSummaryOperationalHeadlineFollowUp": "Follow-up due · :details",
  "common.contactLabel.admissionsSummaryOperationalHeadlineFollowUpScheduled": "Follow-up scheduled · :details",
  "common.contactLabel.admissionsSummaryOperationalHeadlineFollowUpToday": "Follow-up today · :details",
  "common.contactLabel.admissionsSummaryOperationalHeadlineFollowUpOverdue": "Follow-up overdue · :details",
  "common.contactLabel.admissionsSummaryLastOutreach": "Last outreach",
  "common.contactLabel.admissionsSummaryLastOutreachRelative": "Last outreach :when",
  "common.contactLabel.admissionsSummaryAttemptOverflow": "(:total total threshold)",
  "common.contactLabel.admissionsTimelineTrack": "Contact Status and outreach status",
  "common.contactLabel.lifecycleTimelineTrack": "Contact Status progression",
  "common.contactLabel.lifecycleTimelineHint": "How far this contact has progressed toward enrollment.",
  "common.contactLabel.lifecycleTrackLegend": "Contact Status",
  "common.contactLabel.workStateTimelineTrack": "Outreach progression",
  "common.contactLabel.workStateTimelineHint": "How far outreach has progressed. Active outreaches such as Follow-up Due appear in the badge beside the track.",
  "common.contactLabel.timelineStepDetailsAria": "View details for :label",
  "common.contactLabel.timelineStepMeaning": "What this means",
  "common.contactLabel.timelineStepNextStep": "Typical next step",
  "common.contactLabel.timelineStepStatusCurrent": "Current",
  "common.contactLabel.timelineStepStatusReached": "Reached",
  "common.contactLabel.timelineStepStatusUpcoming": "Upcoming",
  "common.contactLabel.timelineStepChangedManually": "Manual",
  "common.contactLabel.timelineStepChangedManuallyAria": "Changed manually",
  "common.contactLabel.timelineEvidenceTitle": "Last activity",
  "common.contactLabel.timelineEvidenceAt": "Date & time",
  "common.contactLabel.timelineEvidenceActor": "Actor",
  "common.contactLabel.timelineEvidenceTrigger": "Trigger",
  "common.contactLabel.timelineEvidenceActor.staff": "Staff",
  "common.contactLabel.timelineEvidenceActor.automated": "Automated",
  "common.contactLabel.timelineEvidenceActor.system": "System",
  "common.contactLabel.timelineEvidenceActor.policy": "Policy",
  "common.contactLabel.timelineEvidenceTrigger.outbound_email": "Outbound email",
  "common.contactLabel.timelineEvidenceTrigger.inbound_email": "Inbound email",
  "common.contactLabel.timelineEvidenceTrigger.outbound_sms": "Outbound SMS",
  "common.contactLabel.timelineEvidenceTrigger.inbound_sms": "Inbound SMS",
  "common.contactLabel.timelineEvidenceTrigger.call": "Phone call",
  "common.contactLabel.timelineEvidenceTrigger.meeting": "Meeting",
  "common.contactLabel.timelineEvidenceTrigger.submission_submitted": "Application submitted",
  "common.contactLabel.timelineEvidenceTrigger.enrollment_finalized": "Enrollment finalized",
  "common.contactLabel.timelineEvidenceTrigger.student_started": "Student started",
  "common.contactLabel.timelineEvidenceTrigger.attempt_threshold": "Attempt threshold reached",
  "common.contactLabel.timelineEvidenceTrigger.staff_follow_up": "Staff follow-up",
  "common.contactLabel.timelineEvidenceTrigger.next_action_scheduled": "Next action scheduled",
  "common.contactLabel.timelineEvidenceTrigger.staff_call_confirmation": "Call confirmed by staff",
  "common.contactLabel.timelineEvidenceTrigger.inbound_reply": "Inbound reply",
  "common.contactLabel.timelineEvidenceTrigger.policy": "Outreach policy",
  "common.contactLabel.timelineEvidenceTrigger.backfill": "Admissions outreach backfill",
  "common.contactLabel.timelineEvidenceTrigger.stage_student": "Contact type set to Student",
  "common.contactLabel.timelineEvidenceTrigger.lifecycle_engaged": "Contact status set to Contacted",
  "common.contactLabel.timelineEvidenceTrigger.lifecycle_enrolled": "Contact status set to Enrolled",
  "common.contactLabel.timelineEvidenceTrigger.lifecycle_confirmed": "Contact status set to Confirmed",
  "common.contactLabel.timelineEvidenceTrigger.lifecycle_active_student": "Contact status set to Started",
  "common.contactLabel.timelineEvidenceTrigger.lifecycle_graduate": "Contact status set to Graduated",
  "common.contactLabel.timelineEvidenceTrigger.lifecycle_alumni": "Contact status set to Alumni",
  "common.contactLabel.timelineEvidenceTrigger.lifecycle_withdrawn": "Contact status set to Withdrawn",
  "common.contactLabel.timelineEvidenceTrigger.manual_edit": "Changed manually",
  "common.contactLabel.timelineLifecycle.new.meaning": "The contact is a new inquiry and has not yet moved into active admissions outreach.",
  "common.contactLabel.timelineLifecycle.new.nextStep": "Begin outreach within your first-attempt SLA.",
  "common.contactLabel.timelineLifecycle.engaged.meaning": "Meaningful contact has been established. At many schools this appears as Contacted.",
  "common.contactLabel.timelineLifecycle.engaged.nextStep": "Continue admissions conversations and guide toward application.",
  "common.contactLabel.timelineLifecycle.applicant.meaning": "An application has been submitted and the contact is in the applicant stage.",
  "common.contactLabel.timelineLifecycle.applicant.nextStep": "Review the application and move toward confirmation or enrollment.",
  "common.contactLabel.timelineLifecycle.confirmed.meaning": "The contact has completed confirmation steps required before enrollment.",
  "common.contactLabel.timelineLifecycle.confirmed.nextStep": "Finalize enrollment and prepare the student to start.",
  "common.contactLabel.timelineLifecycle.enrolled.meaning": "The contact is enrolled in a program or course of study.",
  "common.contactLabel.timelineLifecycle.enrolled.nextStep": "Complete remaining start requirements and monitor readiness.",
  "common.contactLabel.timelineLifecycle.active_student.meaning": "The contact has started as an active student in the SIS.",
  "common.contactLabel.timelineLifecycle.active_student.nextStep": "Admissions outreach is typically complete unless re-engagement is needed.",
  "common.contactLabel.timelineWorkState.unworked.meaning": "No eligible staff outreach has been logged in the current cycle.",
  "common.contactLabel.timelineWorkState.unworked.nextStep": "Make the first outreach attempt within SLA.",
  "common.contactLabel.timelineWorkState.attempting_contact.meaning": "One or more eligible outbound attempts occurred without meaningful contact.",
  "common.contactLabel.timelineWorkState.attempting_contact.nextStep": "Continue the outreach cadence or close the cycle with a disposition.",
  "common.contactLabel.timelineWorkState.appointment_scheduled.meaning": "A future admissions meeting or call is booked.",
  "common.contactLabel.timelineWorkState.appointment_scheduled.nextStep": "Hold for the appointment or reschedule if plans change.",
  "common.contactLabel.timelineWorkState.connected.meaning": "Meaningful contact was just established and the next step has not yet been classified.",
  "common.contactLabel.timelineWorkState.connected.nextStep": "Record the next action — follow-up, appointment, waiting on contact, nurture, or close.",
  "common.contactLabel.timelineWorkState.closed.meaning": "No active admissions work is required for this contact.",
  "common.contactLabel.timelineWorkState.closed.nextStep": "Retain disposition and history. Reopen only on valid inbound activity or staff action.",
  "common.contactLabel.timelineWorkStateOffRail.follow_up_due.meaning": "A staff action is required now or by a specified due date.",
  "common.contactLabel.timelineWorkStateOffRail.follow_up_due.nextStep": "Complete the assigned follow-up action.",
  "common.contactLabel.timelineWorkStateOffRail.waiting_on_contact.meaning": "The contact is expected to provide information, documents, payment, or a decision.",
  "common.contactLabel.timelineWorkStateOffRail.waiting_on_contact.nextStep": "Monitor the due date and follow up if nothing arrives.",
  "common.contactLabel.timelineWorkStateOffRail.unresponsive.meaning": "The attempt threshold was reached without meaningful contact.",
  "common.contactLabel.timelineWorkStateOffRail.unresponsive.nextStep": "Close with disposition, move to nurture, or extend outreach per policy.",
  "common.contactLabel.timelineWorkStateOffRail.nurture.meaning": "The contact is valid but not ready for active admissions follow-up right now.",
  "common.contactLabel.timelineWorkStateOffRail.nurture.nextStep": "Re-engage on the nurture date or when a trigger event occurs.",
  "common.contactLabel.timelineWorkStateOffRail.needs_review.meaning": "outreach could not be inferred reliably and needs staff review.",
  "common.contactLabel.timelineWorkStateOffRail.needs_review.nextStep": "Review activity history and set the correct outreach status.",
  "common.contactLabel.workStateTrackLegend": "Outreach status",
  "common.contactLabel.attemptProgress": "Contact attempts",
  "common.contactLabel.attemptProgressSummary": ":count of :total",
  "common.contactLabel.attemptProgressHelper": "Outbound calls, emails, and texts logged in the current outreach cycle.",
  "common.contactLabel.noAttemptsYet": "No attempts yet",
  "common.contactLabel.attemptThreshold": "Unresponsive attempt threshold",
  "common.contactLabel.attemptThresholdHelper": "Calls, emails, and SMS in the current cycle before a contact becomes Unresponsive.",
  "common.contactLabel.unresponsiveToNurtureDays": "Days in Unresponsive before Nurture",
  "common.contactLabel.unresponsiveToNurtureDaysHelper": "After this many days in Unresponsive with no meaningful contact, the contact moves to Nurture automatically. Set to 0 to require a staff decision instead.",
  "common.contactLabel.nurtureReactivationDays": "Default Nurture reactivation days",
  "common.contactLabel.nurtureReactivationDaysHelper": "When a contact is parked in Nurture, schedule the next re-engagement this many days later unless staff pick a different date.",
  "common.contactLabel.nurtureReactivationDate": "Reactivation date",
  "common.contactLabel.nurtureNextActionHelper": "The date to re-engage this contact. Leave blank to use the school default.",
  "common.contactLabel.automateWorkStateChanges": "Automate outreach changes",
  "common.contactLabel.automateWorkStateChangesHelper": "When on, activity updates outreach status. Staff can still change it manually.",
  "common.contactLabel.customContactCatalogReviewed": "I have reviewed our custom Contact lifecycle status catalog",
  "common.contactLabel.cycleAttemptCount": "Attempt count",
  "common.contactLabel.engagedLabelAcknowledgeCustom": "I confirm our display label for the engaged contact status is correct",
  "common.contactLabel.engagedLabelAcknowledgeRelabel": "Update the label from {defaultLabel} to {recommendedLabel} (recommended default)",
  "common.contactLabel.engagedLabelOptOutRelabel": "Keep {defaultLabel} as the display label",
  "common.contactLabel.engagedLabelReview": "Contact status engaged — value vs label",
  "common.contactLabel.engagedStatusValueHelp": "The system stores the canonical value engaged in the database. Your school chooses the label shown in lists, profiles, and reports.",
  "common.contactLabel.engagedStatusValueLabel": "Stored value: :value — your school label: :label",
  "common.contactLabel.lastInbound": "Last reply from contact",
  "common.contactLabel.lastOutreach": "Last outreach by staff",
  "common.contactLabel.lifecyclePromotionEnabled": "Allow lifecycle promotion from admissions events",
  "common.contactLabel.lifecyclePromotionHelper": "When live is enabled, reliable admissions evidence may advance Contact lifecycle status — for example application submitted or enrollment finalized. Outbound outreach alone does not promote lifecycle, and AI Voice or automations never promote lifecycle.",
  "common.contactLabel.workStateSettingsReadOnly": "You need School Settings edit permission to change these options.",
  "common.contactLabel.meaningfulContact": "Two-way contact",
  "common.contactLabel.nextActionDue": "Follow-up due",
  "common.contactLabel.timeInWorkState": "Time in outreach",
  "common.contactLabel.workStateBadge": "Outreach status",
  "common.contactLabel.workStateColumn": "Outreach status",
  "common.contactLabel.workStateEnablementDescription": "How this school updates outreach status.",
  "common.contactLabel.workStateEnablementTitle": "Admissions outreach",
  "common.contactLabel.workStateLiveBlocked": "Complete all required checklist items before going live.",
  "common.contactLabel.workStateLiveEnabled": "Live admissions outreach",
  "common.contactLabel.workStateLiveHelper": "Master switch for this school. When live, admissions outreach appears on contact lists and profiles, outreach attempts are tracked, and the options below can take effect. When off, existing snapshots remain visible but new activity is not processed.",
  "common.contactLabel.workStateNotLiveNotice": "Outreach tracking is not live yet. This panel shows saved data only — new activity will not update it.",
  "common.contactLabel.workStateSettingsSectionOutreachAutomation": "Outreach automation",
  "common.contactLabel.workStateSettingsSectionAttemptCadence": "Attempt cadence",
  "common.contactLabel.workStateSettingsSectionUnresponsiveAndNurture": "Unresponsive and nurture",
  "common.contactLabel.workStateSettingsSectionUnresponsiveAndNurtureDescription": "When Unresponsive contacts move to Nurture, and when Nurture starts again.",
  "common.contactLabel.workStateSettingsSectionOutreachAutoClose": "Outreach auto-close policies",
  "common.contactLabel.workStateSettingsSectionOutreachAutoCloseDescription": "Close outreach when type, status, or enrollment matches. First match wins.",
  "common.contactLabel.outreachAutoClosePolicyAdd": "Add policy",
  "common.contactLabel.outreachAutoClosePolicyRemove": "Remove policy",
  "common.contactLabel.outreachAutoClosePolicyDimension": "When (dimension)",
  "common.contactLabel.outreachAutoClosePolicyDimensionContactType": "Contact type",
  "common.contactLabel.outreachAutoClosePolicyDimensionContactStatus": "Contact status",
  "common.contactLabel.outreachAutoClosePolicyDimensionProgramEnrollment": "Program enrollment status",
  "common.contactLabel.outreachAutoClosePolicyDimensionCourseEnrollment": "Course enrollment status",
  "common.contactLabel.outreachAutoClosePolicyDimensionCurrentEducation": "Current education status (snapshot)",
  "common.contactLabel.outreachAutoClosePolicyStatusApplicant": "Applicant",
  "common.contactLabel.outreachAutoClosePolicyStatusStudent": "Student",
  "common.contactLabel.enrollmentStatus.registered": "Registered",
  "common.contactLabel.enrollmentStatus.confirmed": "Confirmed",
  "common.contactLabel.enrollmentStatus.active": "Active",
  "common.contactLabel.enrollmentStatus.on_leave": "On leave",
  "common.contactLabel.enrollmentStatus.withdrawn_before_start": "Withdrawn before start",
  "common.contactLabel.enrollmentStatus.withdrawn": "Withdrawn",
  "common.contactLabel.enrollmentStatus.dismissed": "Dismissed",
  "common.contactLabel.enrollmentStatus.completed": "Completed",
  "common.contactLabel.enrollmentStatus.not_completed": "Not completed (academic)",
  "common.contactLabel.enrollmentStatus.in_progress": "In progress",
  "common.contactLabel.enrollmentStatus.incomplete": "Incomplete",
  "common.contactLabel.enrollmentStatus.failed": "Failed",
  "common.contactLabel.enrollmentStatus.deferred": "Deferred",
  "common.contactLabel.enrollmentStatus.exempt": "Exempt",
  "common.contactLabel.enrollmentStatus.transfer_credit": "Transfer credit",
  "common.contactLabel.dispositionKey.not_interested": "Not interested",
  "common.contactLabel.dispositionKey.unable_to_reach": "Unable to reach",
  "common.contactLabel.dispositionKey.wrong_timing": "Wrong timing",
  "common.contactLabel.dispositionKey.not_eligible": "Not eligible",
  "common.contactLabel.dispositionKey.invalid_contact": "Invalid contact",
  "common.contactLabel.dispositionKey.duplicate": "Duplicate",
  "common.contactLabel.dispositionKey.chose_another_school": "Chose another school",
  "common.contactLabel.dispositionKey.program_unavailable": "Program unavailable",
  "common.contactLabel.dispositionKey.enrolled_elsewhere": "Enrolled elsewhere",
  "common.contactLabel.dispositionKey.nurture": "Nurture",
  "common.contactLabel.dispositionKey.merged": "Merged",
  "common.contactLabel.outreachAutoClosePolicyStatus": "Status value",
  "common.contactLabel.outreachAutoClosePolicyDisposition": "Close disposition",
  "common.contactLabel.applyPoliciesAction": "Apply to existing contacts",
  "common.contactLabel.applyPoliciesHelper": "Policies apply automatically to new changes. Use Apply to existing contacts to bring contacts that already match up to date.",
  "common.contactLabel.applyPoliciesDialogTitle": "Apply policies to existing contacts",
  "common.contactLabel.applyPoliciesDialogDescription": "Closes outreach on contacts that already match your saved auto-close policies.",
  "common.contactLabel.applyPoliciesCounting": "Counting matching contacts…",
  "common.contactLabel.applyPoliciesCandidateCount": ":count contact(s) match your :policies saved policy row(s).",
  "common.contactLabel.applyPoliciesWarningNoReopen": "This only closes outreach. It never reopens contacts, and removing a policy later will not undo a close.",
  "common.contactLabel.applyPoliciesWarningKeepsReason": "Contacts that are already closed keep their existing close reason.",
  "common.contactLabel.applyPoliciesWarningLifecycle": "Matching contacts often already have the Contact status that triggered the policy. This action closes outreach only — it does not change Contact status again.",
  "common.contactLabel.applyPoliciesWarningLifecyclePromotes": "Matching contacts often already have the Contact status that triggered the policy. This action closes outreach. Only contacts newly closed by this run may also get a Contact status update from your Outreach closed promotion (to :target).",
  "common.contactLabel.applyPoliciesWarningLifecyclePromotesGeneric": "Matching contacts often already have the Contact status that triggered the policy. This action closes outreach. Only contacts newly closed by this run may also get a Contact status update from your Outreach closed promotion.",
  "common.contactLabel.applyPoliciesUnavailable": "Nothing to apply. Turn on live admissions outreach and save at least one auto-close policy first.",
  "common.contactLabel.applyPoliciesConfirm": "Apply policies",
  "common.contactLabel.applyPoliciesQueued": "Queued for :count contact(s). Keep a queue worker running until it finishes.",
  "common.contactLabel.applyPoliciesFinished": "Done. :count contact(s) closed.",
  "common.contactLabel.applyPoliciesLastRun": "Last applied :date — :count contact(s) checked.",
  "common.contactLabel.applyPoliciesStatusRunning": "Applying policies to existing contacts…",
  "common.contactLabel.applyPoliciesStatusStalled": "The last run did not finish. Contacts already closed stayed closed — apply again to finish the rest.",
  "common.contactLabel.applyPoliciesAlreadyRunning": "Policies are already being applied. Wait for the current run to finish.",
  "common.contactLabel.applyPoliciesNoSchool": "Could not resolve the current school for queued jobs.",
  "common.contactLabel.outreachAutoClosePolicyInvalidDimension": "Choose a valid policy dimension.",
  "common.contactLabel.outreachAutoClosePolicyStatusRequired": "Choose a status value for this policy.",
  "common.contactLabel.outreachAutoClosePolicyInvalidDisposition": "Choose a valid close disposition.",
  "common.contactLabel.workStateSettingsSectionLifecyclePromotion": "Lifecycle promotion",
  "common.contactLabel.workStateSettingsSectionLifecyclePromotionDescription": "Update Contact status when an admissions event happens. Delete a row to turn it off.",
  "common.contactLabel.workStateSettingsSectionAiFollowUp": "AI follow-up",
  "common.contactLabel.workStateSettingsSectionAiFollowUpDescription": "Where AI follow-up escalations go, and how long results count.",
  "common.contactLabel.workStateSettingsSaved": "Admissions outreach settings saved.",
  "common.contactLabel.followUpSaved": "Follow-up saved.",
  "common.contactLabel.followUpTitle": "Schedule follow-up Task",
  "common.contactLabel.followUpDescription": "Set outreach status and the next step after this contact.",
  "common.contactLabel.followUpClose": "Close follow-up dialog",
  "common.contactLabel.outboundCompletedConversation": "Completed a live conversation",
  "common.contactLabel.outboundCompletedConversationHelper": "Confirm you spoke with the contact (usually set automatically when call status is Answered).",
  "common.contactLabel.nextActionType": "Next action type",
  "common.contactLabel.nextActionRequiredHelper": "Required for the selected outreach.",
  "common.contactLabel.nextActionRequired": "Next action date and type are required for this outreach.",
  "common.contactLabel.nextActionMissingWarning": "No follow-up scheduled. Schedule an activity to follow up with this contact.",
  "common.contactLabel.workStateUnworked": "Unworked",
  "common.contactLabel.workStateAttemptingContact": "Attempting Contact",
  "common.contactLabel.workStateAppointmentScheduled": "Meeting Scheduled",
  "common.contactLabel.workStateMeetingHeld": "Meeting Held",
  "common.contactLabel.workStateConnected": "Connected",
  "common.contactLabel.workStateFollowUpDue": "Follow-up Due",
  "common.contactLabel.workStateWaitingOnContact": "Waiting on Contact",
  "common.contactLabel.workStateUnresponsive": "Unresponsive",
  "common.contactLabel.workStateNurture": "Nurture",
  "common.contactLabel.workStateClosed": "Closed",
  "common.contactLabel.workStateNeedsReview": "Needs Review",
  "common.contactLabel.workStateFollowUpToSchedule": "Follow-up to schedule",
  "common.contactLabel.workStateFollowUpScheduled": "Follow-up scheduled",
  "common.contactLabel.workStateFollowUpToday": "Follow-up today",
  "common.contactLabel.workStateFollowUpOverdue": "Follow-up overdue",
  "common.contactLabel.nextActionOwner": "Next-action owner",
  "common.contactLabel.nextActionOwnerUnassigned": "Unassigned",
  "common.contactLabel.nextActionOwnerUnassignedNotice": "No next-action owner. This contact is in unassigned work.",
  "common.contactLabel.queueUnworked": "Unworked",
  "common.contactLabel.queueFirstAttemptOverdue": "First attempt overdue",
  "common.contactLabel.queueMeetingNoShow": "Meeting no-shows",
  "common.contactLabel.queueAttemptingContact": "Attempting contact",
  "common.contactLabel.queueAttemptingSecond": "Attempting — 2nd attempt",
  "common.contactLabel.queueAttemptingThirdPlus": "Attempting — 3+ attempts",
  "common.contactLabel.queueFollowUpDue": "Follow-up due or overdue",
  "common.contactLabel.queueAppointmentsToday": "Appointments today",
  "common.contactLabel.queueWaitingPastDue": "Waiting on contact — past due",
  "common.contactLabel.queueMissingNextAction": "Missing next action",
  "common.contactLabel.queueNurtureDue": "Nurture due",
  "common.contactLabel.queueUnassignedWork": "Unassigned outreach work",
  "common.contactLabel.queueClosedByDisposition": "Closed by disposition",
  "common.contactLabel.outreachQueues": "Outreach queues",
  "common.contactLabel.openOutreachQueue": "Open queue",
  "common.contactLabel.workStateSettingsSectionCloseDispositions": "Close dispositions",
  "common.contactLabel.workStateSettingsSectionCloseDispositionsDescription": "Choose which close reasons can reopen follow-up.",
  "common.contactLabel.dispositionAllowsReopen": "Allow reopen",
  "common.contactLabel.dispositionAllowsReopenHelper": "When off, meaningful contact after close does not change outreach or lifecycle.",
  "common.contactLabel.dispositionAllowsReopenInvalidKey": "Choose valid close dispositions.",
  "common.contactLabel.dispositionAllowsReopenMissingKeys": "Include every close disposition when saving reopen rules.",
  "common.contactLabel.dispositionLabel": "Close reason",
  "common.contactLabel.dispositionInvalid": "Choose a valid disposition.",
  "common.contactLabel.dispositionExistingStudent": "Existing Student",
  "common.contactLabel.dispositionAdmissionsComplete": "Admissions Complete",
  "common.contactLabel.updateFollowUp": "Schedule follow-up Task",
  "common.contactLabel.scheduleFollowUp": "Schedule follow-up",
  "common.contactLabel.followUpTaskTitle": "Follow up with :name",
  "common.contactLabel.followUpTaskTitleFallback": "Admissions follow-up",
  "common.contactLabel.closeWithDisposition": "Close outreach",
  "common.contactLabel.closeWithDispositionSaved": "Outreach closed.",
  "common.contactLabel.closeWithDispositionTitle": "Close outreach",
  "common.contactLabel.closeWithDispositionDescription": "Stop active outreach on this contact and record why.",
  "common.contactLabel.closeWithDispositionClose": "Close dialog",
  "common.contactLabel.closeWithDispositionConfirm": "Close outreach",
  "common.contactLabel.bulkCloseWithDisposition": "Close outreach",
  "common.contactLabel.bulkCloseWithDispositionDescription": "Close outreach for :count selected contacts and record the same close reason.",
  "common.contactLabel.bulkCloseWithDispositionSaved": ":closed contacts closed. :skipped skipped.",
  "common.contactLabel.bulkAddToStaticList": "Add to static list",
  "common.contactLabel.bulkAddToStaticListAlready": "The selected contacts are already on those lists.",
  "common.contactLabel.bulkAddToStaticListDescription": "Add :count selected contacts to one or more static lists. Contacts already on a list stay on it.",
  "common.contactLabel.bulkAddToStaticListFailed": "Unable to add the selected contacts to a static list right now.",
  "common.contactLabel.bulkAddToStaticListInvalid": "Choose static lists only.",
  "common.contactLabel.bulkAddToStaticListNone": "None of the selected contacts could be added.",
  "common.contactLabel.bulkAddToStaticListSaved": "Added :count contacts to the selected lists.",
  "common.contactLabel.bulkAddToStaticListSavedWithExisting": "Added :count contacts to the selected lists. :already were already on every selected list.",
  "common.contactLabel.bulkAddToStaticListSelect": "Select at least one static list.",
  "common.contactLabel.bulkAddToStaticListSubmit": "Add to list",
  "common.contactLabel.bulkDeleteConfirm": "This will delete :count selected contacts. This action cannot be undone.",
  "common.contactLabel.bulkDeleteFailed": "Unable to delete the selected contacts right now.",
  "common.contactLabel.bulkDeleteTitle": "Delete selected contacts?",
  "common.contactLabel.nextActionTypeCall": "Call",
  "common.contactLabel.nextActionTypeEmail": "Email",
  "common.contactLabel.nextActionTypeSms": "SMS",
  "common.contactLabel.nextActionTypeMeeting": "Meeting",
  "common.contactLabel.nextActionCategoryMeeting": "Meeting",
  "common.contactLabel.nextActionCategoryTask": "Task",
  "common.contactLabel.nextActionTypeReview": "Review",
  "common.contactLabel.nextActionTypeOther": "Other",
  "common.contactLabel.lifecyclePromotionRulesTitle": "Lifecycle promotion rules",
  "common.contactLabel.lifecyclePromotionRulesDescription": "Choose which admissions events may advance Contact lifecycle status. Outreach rules default off until call disambiguation is in place.",
  "common.contactLabel.lifecyclePromotionPoliciesDescription": "Admissions events promote Contact status to your chosen target. Remove a row to disable.",
  "common.contactLabel.lifecyclePromotionPolicyAdd": "Add promotion policy",
  "common.contactLabel.lifecyclePromotionPolicyRemove": "Remove promotion policy",
  "common.contactLabel.lifecyclePromotionPolicyEvent": "When (event)",
  "common.contactLabel.lifecyclePromotionPolicyTarget": "Promote to (Contact Status)",
  "common.contactLabel.lifecyclePromotionPolicyInvalidEvent": "Choose a valid admissions event.",
  "common.contactLabel.lifecyclePromotionPolicyDuplicateEvent": "Each event can only appear once.",
  "common.contactLabel.lifecyclePromotionPolicyInvalidTarget": "Choose a valid Contact status.",
  "common.contactLabel.lifecyclePromotionPolicyEventApplicationSubmitted": "Application submitted",
  "common.contactLabel.lifecyclePromotionPolicyEventApplicationSubmittedDescription": "Runs when an application submission is recorded for the contact.",
  "common.contactLabel.lifecyclePromotionPolicyEventEnrollmentFinalized": "Enrollment finalized",
  "common.contactLabel.lifecyclePromotionPolicyEventEnrollmentFinalizedDescription": "Runs when a top-level program enrollment is created for the contact.",
  "common.contactLabel.lifecyclePromotionPolicyEventStudentStarted": "Student started (education active)",
  "common.contactLabel.lifecyclePromotionPolicyEventStudentStartedDescription": "Runs when a program or course enrollment moves to an active (started) status.",
  "common.contactLabel.lifecyclePromotionPolicyEventMeetingHeld": "Meeting held",
  "common.contactLabel.lifecyclePromotionPolicyEventMeetingHeldDescription": "Runs when staff marks an admissions meeting as held.",
  "common.contactLabel.lifecyclePromotionPolicyEventInboundReply": "Inbound reply",
  "common.contactLabel.lifecyclePromotionPolicyEventInboundReplyDescription": "Runs when the contact sends an inbound email or SMS reply.",
  "common.contactLabel.lifecyclePromotionPolicyEventAnsweredCall": "Staff-confirmed answered call",
  "common.contactLabel.lifecyclePromotionPolicyEventAnsweredCallDescription": "Runs when staff confirms an outbound call was answered (meaningful contact).",
  "common.contactLabel.lifecyclePromotionPolicyEventQuoteBuilderDepositPaid": "Quote Builder deposit paid",
  "common.contactLabel.lifecyclePromotionPolicyEventQuoteBuilderDepositPaidDescription": "Runs when a Quote Builder booking deposit is paid.",
  "common.contactLabel.lifecyclePromotionPolicyEventOutreachClosed": "Outreach closed",
  "common.contactLabel.lifecyclePromotionPolicyEventOutreachClosedDescription": "Runs when admissions outreach is closed — by staff disposition or by an auto-close policy. May promote to Dormant; Withdrawn stays staff-only.",
  "common.contactLabel.lifecyclePromotionOutreachRuleHelper": "Outreach-sourced rule — promotes no higher than Contacted (engaged).",
  "common.contactLabel.lifecycleRuleApplicationSubmitted": "Application submitted → Applied (applicant)",
  "common.contactLabel.lifecycleRuleEnrollmentFinalized": "Enrollment finalized → Enrolled",
  "common.contactLabel.lifecycleRuleStudentStarted": "Student started → Started (active_student)",
  "common.contactLabel.lifecycleRuleMeetingHeld": "Meeting held → Contacted (engaged lifecycle)",
  "common.contactLabel.lifecycleRuleInboundReply": "Inbound reply → Contacted (engaged)",
  "common.contactLabel.lifecycleRuleAnsweredCall": "Staff-confirmed answered call → Contacted (engaged)",
  "common.contactLabel.automatedAttemptChannelsTitle": "Count automated outreach as attempts",
  "common.contactLabel.automatedAttemptChannelsDescription": "Count automated messages toward the unresponsive limit. Off by default.",
  "common.contactLabel.automatedAttemptChannelEmail": "Automated email",
  "common.contactLabel.automatedAttemptChannelSms": "Automated SMS",
  "common.contactLabel.automatedAttemptChannelCall": "Automated call (AI Voice)",
  "common.contactLabel.admissionsKpiTitle": "Admissions operational KPIs",
  "common.contactLabel.admissionsKpiDescription": "Current outreach counts. Missing history stays blank.",
  "common.contactLabel.kpiOverdueFollowUps": "Overdue follow-ups",
  "common.contactLabel.kpiFirstAttemptOverdue": "First attempt overdue",
  "common.contactLabel.kpiMissingNextAction": "Missing next action",
  "common.contactLabel.kpiOpenCycles": "Open outreach cycles",
  "common.contactLabel.kpiMeaningfulContactRate": "Meaningful contact rate",
  "common.contactLabel.kpiUnableToReachRate": "Unable-to-reach rate",
  "common.contactLabel.kpiAdmissionsContacts": "Admissions contacts",
  "common.contactLabel.funnelReconciliationTitle": "Lifecycle funnel reconciliation",
  "common.contactLabel.funnelReconciliationDescription": "Compare current Contact lifecycle counts to the snapshot captured when Live was first enabled.",
  "common.contactLabel.funnelReconciliationExport": "Export reconciliation CSV",
  "common.contactLabel.funnelBaselineCount": "Baseline",
  "common.contactLabel.funnelCurrentCount": "Current",
  "common.contactLabel.funnelDelta": "Delta",
  "common.pluginLabel.whatsappConfigurationRequired": "WhatsApp is not configured for this school. Configure and validate a WhatsApp sender before sending messages.",
  "common.pluginLabel.whatsappSandboxUnavailableInProduction": "This school is configured with the Twilio WhatsApp Sandbox, which is unavailable in production. Configure and validate a production WhatsApp sender before sending messages.",
  "common.pluginLabel.whatsappSandboxUnavailableInProductionContactAdmin": "This school is configured with the Twilio WhatsApp Sandbox, which is unavailable in production. Contact an administrator to configure and validate a production WhatsApp sender before sending messages.",
  "common.pluginLabel.whatsappConfigurationContactAdmin": "Contact an administrator to configure and validate a WhatsApp sender before sending messages.",
  "common.pluginLabel.whatsappConfigurationInactive": "WhatsApp is configured but inactive. Activate the Twilio plugin before sending messages.",
  "common.pluginLabel.whatsappConfigurationInactiveContactAdmin": "WhatsApp is configured but inactive. Contact an administrator to activate the Twilio plugin before sending messages.",
  "common.pluginLabel.configureWhatsapp": "Configure WhatsApp",
  "common.pluginLabel.activateWhatsapp": "Activate WhatsApp",
  "common.groupLabel.bulkUpdateStatuses": "Update statuses",
  "common.groupLabel.bulkStatusField": "Status to update",
  "common.groupLabel.bulkStatusDescription": "Choose a status to apply to :count selected students.",
  "common.groupLabel.bulkStatusCohort": ":type — :cohort",
  "common.groupLabel.bulkStatusSaved": "Statuses updated for :count students.",
  "common.groupLabel.bulkStatusMissingTarget": "Every selected student must have the chosen enrollment or submission. Adjust your selection and try again.",
  "common.groupLabel.bulkStatusSubmissionHelp": "Updates the latest submission shown in the student table.",
  "common.groupLabel.bulkStatusEducationHelp": "Updates each student's enrollment for this cohort. Program Status follows the student's parent program, Course Status uses this course or the course selected below. Existing program withdrawal rules also apply to child enrollments.",
  "common.serviceLabel.variationsBrowseHint": "Expand a variation to view its details and sub-variations.",
  "common.serviceLabel.childVariationCount": ":count sub-variations",
  "common.serviceLabel.variationActions": "Actions for :title",
  "common.serviceLabel.variationRange": ":from–:to of :total variations",
  "common.serviceLabel.variationsLoadFailed": "Could not load these variations. Please try again.",
  "common.serviceLabel.loadingVariations": "Loading variations…",
  "common.serviceLabel.noVariationDetails": "No additional details for this variation.",
  "common.serviceLabel.retry": "Try again",
  "common.serviceLabel.previous": "Previous",
  "common.serviceLabel.next": "Next",
  "common.serviceLabel.variationFormLoadFailed": "Could not load the variation form. Please try again.",
  "common.serviceLabel.loadingVariationForm": "Loading variation form…",
  "common.serviceLabel.variationSaved": "Variation saved successfully.",
  "common.serviceLabel.savingVariation": "Saving…",
  "common.serviceLabel.variationTitle": "Title",
  "common.serviceLabel.variationUnits": "Applies to apartments / units",
  "common.serviceLabel.variationUnitsHelp": "Leave empty to apply to all apartments / units in this accommodation.",
  "common.reportLabel.speedArrivalAt": "Arrival time",
  "common.reportLabel.speedArrivalSource": "Arrival source",
  "common.reportLabel.speedResponseAt": "First qualifying response",
  "common.reportLabel.speedResponseMinutes": "Calculated response",
  "common.reportLabel.speedSlaResult": "SLA result",
  "common.reportLabel.speedResponseType": "Response activity",
  "common.reportLabel.speedResponseBy": "Responding staff user",
  "common.reportLabel.speedContactCreatedAt": "Contact created at",
  "common.reportLabel.speedFirstSubmissionAt": "First submission at",
  "common.reportLabel.speedElapsedMinutes": "Elapsed time (minutes)",
  "common.reportLabel.speedResponseSeconds": "Calculated response (seconds)",
  "common.reportLabel.speedSlaHours": "SLA threshold (hours)",
  "common.reportLabel.speedArrivalSourceSubmission": "First submission",
  "common.reportLabel.speedArrivalSourceContact": "Contact creation (no submission)",
  "common.reportLabel.speedActivityEmail": "Email",
  "common.reportLabel.speedActivityMeeting": "Meeting",
  "common.reportLabel.speedActivitySms": "SMS",
  "common.reportLabel.speedActivityCall": "Call",
  "common.reportLabel.speedNotIncluded": "Not included (no assigned owner)",
  "common.reportLabel.speedNoResponseBreach": "No response — SLA breach",
  "common.reportLabel.speedBreached": "Breached",
  "common.reportLabel.speedMet": "Met",
  "common.reportLabel.speedCalculationHelp": "Arrival is the first submission, or contact creation if none exists. Response is the first qualifying staff activity at or after arrival. Calculated time follows the weekend setting. Owner is the current contact owner; responding staff may differ. Extra timestamps and elapsed time are available in Columns.",
  "common.reportLabel.dueAndOverdue": "Due and overdue",
  "common.reportLabel.totalDueAndOverdueAmount": "Total due and overdue amount",
  "common.educationLabel.enrollmentGracePeriodTitle": "Enrollment Grace Period",
  "common.educationLabel.enrollmentGracePeriodDays": "Enrollment grace period (days)",
  "common.educationLabel.enrollmentGracePeriodSchoolHelp": "Keep program and course start dates available for this many days after they start. A program override takes priority. Zero allows only today and future dates.",
  "common.educationLabel.enrollmentGracePeriodOverrideHelp": "Leave blank to use the school grace period. Enter 0 to allow only today and future dates.",
  "common.educationLabel.useSchoolGracePeriod": "Use school grace period",
  "common.emailTemplateLabel.campaignInProgress": "Email campaign in progress",
  "common.emailTemplateLabel.campaignInProgressDescription": "These live counts apply only to this send campaign, not to lifetime template usage. You can leave this page and return at any time.",
  "common.emailTemplateLabel.campaignCancelled": "Campaign cancelled.",
  "common.emailTemplateLabel.campaignAttachmentUnavailable": "A selected campaign attachment is unavailable. Verify the template attachments and try again.",
  "common.emailTemplateLabel.campaignStarting": "An email campaign is already being started. Please wait a moment and try again.",
  "common.emailTemplateLabel.campaignStalled": "Campaign stalled",
  "common.emailTemplateLabel.campaignStalledDescription": "This campaign appears to be stalled. Some recipients may already have been submitted.",
  "common.emailTemplateLabel.campaignIssues": "Campaign issues",
  "common.emailTemplateLabel.campaignIssueSummary": ":count recipient issues were recorded while processing the campaign.",
  "common.emailTemplateLabel.campaignIssueSummaryEmpty": "No recipient issues have been recorded yet.",
  "common.emailTemplateLabel.campaignIssuesAvailable": "Issue details are available and load only when requested.",
  "common.emailTemplateLabel.campaignIssuesPending": "Recipient issues will appear here if any recipients are skipped, cancelled, or fail.",
  "common.emailTemplateLabel.viewCampaignIssues": "View issues",
  "common.emailTemplateLabel.campaignIssuesLoadFailed": "Recipient issues could not be loaded.",
  "common.emailTemplateLabel.campaignIssuePageSummary": "Showing :from-:to of :total issues",
  "common.emailTemplateLabel.orphanedCampaignStatusFailure": "Campaign status was incomplete because its shared campaign record was missing. Start a new campaign.",
  "common.emailTemplateLabel.latestCampaign": "Most recent send campaign",
  "common.emailTemplateLabel.latestCampaignDescription": "These counts apply only to this completed send campaign, not to lifetime template usage.",
  "common.emailTemplateLabel.viewLastCampaign": "View this campaign",
  "common.emailTemplateLabel.viewProgress": "View progress",
  "common.dashboardLabel.shareDashboard": "Share dashboard",
  "common.dashboardLabel.sharingPrivate": "Private",
  "common.dashboardLabel.sharingUsers": "Selected users",
  "common.dashboardLabel.sharingSchool": "Everyone in this school",
  "common.dashboardLabel.sharingAccess": "Who can view this dashboard?",
  "common.dashboardLabel.sharingDescription": "Recipients can view this dashboard. Their existing report and campus permissions still apply. Existing owners and team members keep their access.",
  "common.dashboardLabel.saveSharing": "Save sharing settings",
  "common.dashboardLabel.sharingSaved": "Dashboard sharing updated.",
  "common.dashboardLabel.selectSchoolUsers": "Select at least one user from this school.",
  "common.dashboardLabel.sharedDashboard": "Shared dashboard",
  "common.academicProgressLabel.title": "Academic Progress",
  "common.academicProgressLabel.program": "Program",
  "common.academicProgressLabel.campus": "Campus",
  "common.academicProgressLabel.allProgramCohorts": "All program cohorts",
  "common.academicProgressLabel.student": "Student",
  "common.academicProgressLabel.students": "students",
  "common.academicProgressLabel.originalCohort": "Original cohort",
  "common.academicProgressLabel.firstStart": "First start",
  "common.academicProgressLabel.unknown": "Unknown",
  "common.academicProgressLabel.unassigned": "No cohort assigned",
  "common.academicProgressLabel.notRegistered": "Not registered",
  "common.academicProgressLabel.attempt": "Attempt :number",
  "common.academicProgressLabel.progress": "Progress",
  "common.academicProgressLabel.risk": "Academic risk",
  "common.academicProgressLabel.needsAttention": "Needs attention",
  "common.academicProgressLabel.noFlag": "No course flag",
  "common.academicProgressLabel.reports": "Reports",
  "common.academicProgressLabel.activeStudents": ":count students",
  "common.academicProgressLabel.search": "Search students",
  "common.academicProgressLabel.empty": "No students match this program and campus.",
  "common.academicProgressLabel.rules": "Progress counts completed or credited courses. Attention flags indicate failed or incomplete courses without a successful attempt.",
  "common.academicProgressLabel.navigationHint": "Record links open in a new tab so your report filters and position are preserved.",
  "common.academicProgressLabel.unlinkedAttempt": "Attempt is not linked to an eligible program enrollment; excluded from progress and attention flags.",
  "common.academicProgressLabel.progressExplanation": "Progress is completed, exempt or credited courses divided by all program courses, rounded to a whole percent. Each course counts once. Only attempts linked to an eligible program enrollment count. A dash (-) means the curriculum is empty or not fully accessible.",
  "common.academicProgressLabel.riskExplanation": "Attention means a failed or incomplete program course without a completed or credited attempt. Historical failures remain visible after a successful attempt. No course flag is not a full risk assessment.",
  "common.academicProgressLabel.progressCounts": ":completed / :total courses completed or credited.",
  "common.academicProgressLabel.activeStudentMetric": "Students",
  "common.academicProgressLabel.averageProgress": "Average progress",
  "common.academicProgressLabel.acrossActiveStudents": "Across selected students",
  "common.academicProgressLabel.coursePassRate": "Course pass rate",
  "common.academicProgressLabel.atRisk": "At risk",
  "common.academicProgressLabel.requireAttention": "Require immediate attention",
  "common.academicProgressLabel.finishingSoon": "Finishing in 60 days",
  "common.academicProgressLabel.finishingAtRisk": ":count completions at risk",
  "common.academicProgressLabel.critical": "Critical",
  "common.academicProgressLabel.watch": "Watch",
  "common.academicProgressLabel.onTrack": "On track",
  "common.academicProgressLabel.reportSubtitle": "Student progress across :count courses",
  "common.academicProgressLabel.updatedAt": "Updated :date",
  "common.academicProgressLabel.summary": "Academic progress summary",
  "common.academicProgressLabel.riskDistribution": "Student risk distribution",
  "common.academicProgressLabel.riskDistributionDescription": "Click a segment to filter the progress matrix",
  "common.academicProgressLabel.highPriorityInterventions": "Highest-priority interventions",
  "common.academicProgressLabel.flaggedCourses": ":count flagged courses: :courses",
  "common.academicProgressLabel.reviewRequired": "Academic review required",
  "common.academicProgressLabel.noPriorityInterventions": "No students currently require a priority intervention.",
  "common.academicProgressLabel.completed": "Completed",
  "common.academicProgressLabel.failed": "Failed",
  "common.academicProgressLabel.overallRisk": "Overall risk",
  "common.academicProgressLabel.legend": "Course status",
  "common.academicProgressLabel.passed": "Passed",
  "common.academicProgressLabel.inProgress": "In progress",
  "common.academicProgressLabel.notStarted": "Not started",
  "common.academicProgressLabel.populationScope": "1 campus \u00b7 :count cohorts",
  "common.academicProgressLabel.passedOfAttempts": ":passed of :attempts attempts passed",
  "common.academicProgressLabel.drawerTitle": "Student academic details",
  "common.academicProgressLabel.openStudentDetails": "Open academic details for :student",
  "common.academicProgressLabel.openFullProfile": "Open full profile",
  "common.academicProgressLabel.drawerCourseCount": ":count courses",
  "common.academicProgressLabel.registered": "Registered",
  "common.academicProgressLabel.overallCourseProgress": "Overall course progress",
  "common.academicProgressLabel.started": "Started",
  "common.academicProgressLabel.expected": "Expected",
  "common.academicProgressLabel.academicInsight": "Academic insight",
  "common.academicProgressLabel.drawerAttentionInsight": ":count courses require attention: :courses.",
  "common.academicProgressLabel.drawerWatchInsight": "Some academic records are unavailable. Review the full profile before assessing risk.",
  "common.academicProgressLabel.drawerOnTrackInsight": "No course-level attention flags appear in this report.",
  "common.academicProgressLabel.courseRecord": "Course record",
  "common.academicProgressLabel.attempts": "attempts",
  "common.academicProgressLabel.noAttempts": "No course attempts are registered.",
  "common.academicProgressLabel.courseStart": "Course start",
  "common.academicProgressLabel.courseCohort": "Course cohort",
  "common.bookingBuilderLabel.invalidAmount": "Enter a positive quantity and a non-negative price.",
  "common.bookingBuilderLabel.addons": "Add-ons",
  "common.bookingBuilderLabel.addAddon": "Add add-on",
  "common.bookingBuilderLabel.noVariation": "No variation required",
  "common.bookingBuilderLabel.hours": "Hours",
  "common.bookingBuilderLabel.completeSelection": "Complete the service options and valid dates to calculate its price.",
  "common.bookingBuilderLabel.includingFees": "Includes :amount in fees",
  "common.contactLabel.applyPoliciesStopAction": "Stop",
  "common.contactLabel.applyPoliciesStopRequested": "Stopping. Contacts already closed stay closed.",
  "common.contactLabel.applyPoliciesStatusCancelling": "Stopping the current run…",
  "common.contactLabel.applyPoliciesStatusCancelled": "The last run was stopped. Contacts already closed stayed closed.",
  "common.contactLabel.applyPoliciesNothingToStop": "There is no run to stop.",
  "common.programStatusIntakeLabel.title": "Programme status by intake",
  "common.programStatusIntakeLabel.period": "Start date period",
  "common.programStatusIntakeLabel.grouping": "Group by",
  "common.programStatusIntakeLabel.status": "Programme status",
  "common.programStatusIntakeLabel.all": "All",
  "common.programStatusIntakeLabel.count": "Count",
  "common.programStatusIntakeLabel.uniqueContacts": "Unique contacts",
  "common.programStatusIntakeLabel.percentage": "% of period total",
  "common.programStatusIntakeLabel.configured_period": "Configured period",
  "common.programStatusIntakeLabel.month": "Month",
  "common.programStatusIntakeLabel.quarter": "Quarter",
  "common.programStatusIntakeLabel.calendar_year": "Calendar year",
  "common.programStatusIntakeLabel.unknown": "No programme status",
  "common.programStatusIntakeLabel.outsidePeriods": "Outside configured periods",
  "common.programStatusIntakeLabel.rangeTooLong": "Select a start date period of no more than five years.",
  "common.programStatusIntakeLabel.invalidProgram": "Select programmes available at the selected campuses.",
  "common.programStatusIntakeLabel.overlappingPeriods": "Configured periods overlap for the selected programmes. Correct the semester boundaries or choose a calendar grouping.",
  "common.programStatusIntakeLabel.total": "Cohort total",
  "common.programStatusIntakeLabel.review": "Select to review records",
  "common.programStatusIntakeLabel.loading": "Loading programme status data",
  "common.programStatusIntakeLabel.empty": "No contacts match the selected dates and filters.",
  "common.programStatusIntakeLabel.manyCohorts": "More than 24 cohorts are shown. Choose a narrower period or coarser grouping for easier comparison.",
  "common.programStatusIntakeLabel.error": "Programme status data could not be loaded. Please retry.",
  "common.programStatusIntakeLabel.invalidFilters": "Please check the selected filters.",
  "common.programStatusIntakeLabel.drilldownError": "These records could not be opened. Refresh the data and try again.",
  "common.programStatusIntakeLabel.reference": "Reference: :id",
  "common.programStatusIntakeLabel.retry": "Retry",
  "common.programStatusIntakeLabel.clearFilters": "Clear status filters",
  "common.programStatusIntakeLabel.resetDates": "Reset date range",
  "common.programStatusIntakeLabel.accessibleDescription": ":cohorts periods, :count contacts counted across statuses. Dates: :from to :to. Campuses: :campuses. Programmes: :programs.",
  "common.programStatusIntakeLabel.configureReport": "Edit this report to select a programme and campus.",
  "common.programStatusIntakeLabel.configuredStarts": "Configured starts",
  "common.programStatusIntakeLabel.otherStatuses": "Other statuses (not selected)",
  "common.programStatusIntakeLabel.startDateField": "Start date to use",
  "common.programStatusIntakeLabel.statusField": "Status to show",
  "common.programStatusIntakeLabel.contactStartedDate": "Contact started date",
  "common.programStatusIntakeLabel.programCohortStartDate": "Program cohort start date",
  "common.programStatusIntakeLabel.courseCohortStartDate": "Course cohort start date",
  "common.programStatusIntakeLabel.unknownStatus": "No status",
  "common.reportLabel.contactStatus": "Contact Status",
  "common.reportLabel.contactType": "Contact Type",
  "common.reportLabel.programStatus": "Program Status",
  "common.reportLabel.submissionStatus": "Submission Status",
  "common.reportLabel.contactCampus": "Campus",
  "common.reportLabel.programStartDate": "Program Start Date",
  "common.gridLabel.exportResultsProgress": "Exporting :count results…",
  "common.gridLabel.cancelExport": "Cancel export",
  "common.gridLabel.exportResultsFailed": "Export could not be completed. Please retry; no partial file was downloaded.",
  "common.gridLabel.exportOptionsTitle": "Export options",
  "common.gridLabel.exportOptionsDescription": "Choose which columns and records to include in this export.",
  "common.gridLabel.exportFieldsLabel": "Columns",
  "common.gridLabel.exportFieldsVisible": "Visible columns",
  "common.gridLabel.exportFieldsVisibleHint": "Only the columns currently shown in the table.",
  "common.gridLabel.exportFieldsAll": "All columns",
  "common.gridLabel.exportFieldsAllHint": "Every column available for this table, including hidden ones.",
  "common.gridLabel.exportScopeLabel": "Records",
  "common.gridLabel.exportScopeFiltered": "Current filtered results",
  "common.gridLabel.exportScopeFilteredHint": "Only records matching your active search and filters.",
  "common.gridLabel.exportScopeAll": "All records",
  "common.gridLabel.exportScopeAllHint": "Every record in this table, ignoring active search and filters.",
  "common.gridLabel.exportConfirm": "Export",
  "common.exportLabel.queuedMessage": "Your export is being prepared. We will email you when it is ready. You can track it on the Exports page.",
  "common.exportLabel.ready": "Your export is ready",
  "common.exportLabel.download": "Download",
  "common.exportLabel.module": "Module",
  "common.exportLabel.status": "Status",
  "common.exportLabel.requested": "Requested",
  "common.exportLabel.completedAt": "Completed",
  "common.exportLabel.rows": "Rows",
  "common.exportLabel.details": "Details",
  "common.exportLabel.empty": "You have no exports yet.",
  "common.exportLabel.queued": "Pending",
  "common.exportLabel.processing": "Processing",
  "common.exportLabel.completed": "Completed",
  "common.exportLabel.failed": "Failed",
  "common.exportLabel.unsupportedColumns": "Some displayed columns are not supported by background export yet.",
  "common.exportLabel.deleteExport": "Delete export",
  "common.exportLabel.deleteExportConfirm": "This export file and its history will be permanently removed. This action cannot be undone.",
  "common.exportLabel.deletedSuccessfully": "Export deleted successfully.",
  "common.exportLabel.deleteFailed": "Unable to delete that export right now.",
  "common.exportLabel.bulkDeletedSuccessfully": "Deleted :count exports.",
  "common.exportLabel.bulkDeleteFailed": "Unable to delete the selected exports right now.",
  "common.exportLabel.bulkDeleteSelectExplicit": "Select individual exports to delete; bulk delete does not support \"select all matching\".",
  "common.serviceLabel.effectivePrices": "Prices by start date",
  "common.serviceLabel.addEffectivePrice": "Add price",
  "common.serviceLabel.priceEffectiveFrom": "Effective from",
  "common.serviceLabel.removeEffectivePrice": "Remove dated price",
  "common.serviceLabel.effectivePricesHelp": "Add at least one price and the first course or stay start date it applies to. The earliest price is also used for earlier starts, and each later price remains valid until the next date. Existing seasonal adjustments still apply.",
  "common.admissionDocumentLabel.tab": "Documents",
  "common.admissionDocumentLabel.settingsTab": "Admission documents",
  "common.admissionDocumentLabel.typesTitle": "Admission document types",
  "common.admissionDocumentLabel.typesDescription": "The master list of documents applicants can be asked for. Document packages pick from this list, and staff can add any active type to an individual application.",
  "common.admissionDocumentLabel.typesEmpty": "No document types yet",
  "common.admissionDocumentLabel.typesEmptyDesc": "Add the documents your admissions team collects, such as transcripts, ID or English proficiency evidence.",
  "common.admissionDocumentLabel.addType": "Add document type",
  "common.admissionDocumentLabel.editType": "Edit document type",
  "common.admissionDocumentLabel.typeName": "Document name",
  "common.admissionDocumentLabel.typeNamePlaceholder": "e.g. Official transcript",
  "common.admissionDocumentLabel.instructions": "Applicant instructions",
  "common.admissionDocumentLabel.instructionsHelper": "Shown to the applicant next to the upload. Do not include internal notes.",
  "common.admissionDocumentLabel.active": "Active",
  "common.admissionDocumentLabel.activeHelper": "Inactive types stay on existing checklists but can no longer be added.",
  "common.admissionDocumentLabel.inactive": "Inactive",
  "common.admissionDocumentLabel.usedInTemplates": "Packages: :count",
  "common.admissionDocumentLabel.deleteType": "Delete document type?",
  "common.admissionDocumentLabel.deleteTypeConfirm": "This removes the document type from future use. Existing application checklists keep their copy.",
  "common.admissionDocumentLabel.deleteTypeInUse": "This document type is used in :count package(s). It will be removed from those packages for future applications. Existing application checklists keep their copy.",
  "common.admissionDocumentLabel.typeSaved": "Document type saved.",
  "common.admissionDocumentLabel.typeDeleted": "Document type deleted.",
  "common.admissionDocumentLabel.nameRequired": "Name is required.",
  "common.admissionDocumentLabel.templatesTitle": "Admission document requirements",
  "common.admissionDocumentLabel.templatesDescription": "Reusable document sets for applicants to this program or course. Package changes apply to new applications; existing applications change only when staff reapply the package.",
  "common.admissionDocumentLabel.templatesEmpty": "No document requirements yet",
  "common.admissionDocumentLabel.templatesEmptyDesc": "Create a package to define which documents applicants need, for all campuses or a specific campus.",
  "common.admissionDocumentLabel.addTemplate": "New document package",
  "common.admissionDocumentLabel.editTemplate": "Edit document package",
  "common.admissionDocumentLabel.templateModalDescription": "Choose the documents applicants need and whether each one is required or optional.",
  "common.admissionDocumentLabel.templateName": "Package name",
  "common.admissionDocumentLabel.templateNamePlaceholder": "e.g. Domestic applicants",
  "common.admissionDocumentLabel.templateDescription": "Internal description",
  "common.admissionDocumentLabel.campus": "Campus",
  "common.admissionDocumentLabel.campusHelper": "Packages for a campus combine with packages for all campuses.",
  "common.admissionDocumentLabel.allCampuses": "All campuses",
  "common.admissionDocumentLabel.templateActiveHelper": "Only active packages are applied to new applications.",
  "common.admissionDocumentLabel.templateDocuments": "Documents",
  "common.admissionDocumentLabel.document": "Document",
  "common.admissionDocumentLabel.selectDocument": "Select a document",
  "common.admissionDocumentLabel.required": "Required",
  "common.admissionDocumentLabel.optional": "Optional",
  "common.admissionDocumentLabel.dueInDays": "Due in (days)",
  "common.admissionDocumentLabel.dueInDaysShort": "due in :days d",
  "common.admissionDocumentLabel.addDocument": "Add document",
  "common.admissionDocumentLabel.removeDocument": "Remove document",
  "common.admissionDocumentLabel.noDocumentTypes": "There are no active document types yet.",
  "common.admissionDocumentLabel.manageDocumentTypes": "Manage document types",
  "common.admissionDocumentLabel.itemsRequired": "Add at least one document.",
  "common.admissionDocumentLabel.duplicateDocument": "Each document can only be added once.",
  "common.admissionDocumentLabel.templateEditNotice": "This package is used by :count application(s). Saving does not change them; staff can reapply the package from each application checklist.",
  "common.admissionDocumentLabel.templateCounts": ":required required, :optional optional",
  "common.admissionDocumentLabel.usedByApplications": "used by :count application(s)",
  "common.admissionDocumentLabel.versionShort": "v:version",
  "common.admissionDocumentLabel.deleteTemplate": "Delete document package?",
  "common.admissionDocumentLabel.deleteTemplateConfirm": "New applications will no longer receive this package. Existing application checklists, received files and waivers are kept.",
  "common.admissionDocumentLabel.templateSaved": "Document package saved.",
  "common.admissionDocumentLabel.templateDeleted": "Document package deleted.",
  "common.admissionDocumentLabel.profileTab": "Admissions documents",
  "common.admissionDocumentLabel.profileEmpty": "No applications yet",
  "common.admissionDocumentLabel.profileEmptyDesc": ":name has no application, so there is no document checklist yet.",
  "common.admissionDocumentLabel.untitledApplication": "Untitled application",
  "common.admissionDocumentLabel.application": "Application",
  "common.admissionDocumentLabel.completionTitle": "Required documents received",
  "common.admissionDocumentLabel.completionAria": ":received of :required required documents received, :percent percent",
  "common.admissionDocumentLabel.receivedOfRequired": ":received of :required",
  "common.admissionDocumentLabel.noRequiredDocuments": "No required documents",
  "common.admissionDocumentLabel.completionHelp": "Counts required documents with a received file. Optional and waived documents are not counted; requests and reminders never change it.",
  "common.admissionDocumentLabel.countReceived": "Received",
  "common.admissionDocumentLabel.countPending": "Pending",
  "common.admissionDocumentLabel.countWaived": "Waived",
  "common.admissionDocumentLabel.countOptional": "Optional",
  "common.admissionDocumentLabel.requirement": "Requirement",
  "common.admissionDocumentLabel.requirement_required": "Required",
  "common.admissionDocumentLabel.requirement_optional": "Optional",
  "common.admissionDocumentLabel.requirement_waived": "Waived",
  "common.admissionDocumentLabel.receiptReceived": "Received",
  "common.admissionDocumentLabel.receiptPending": "Pending",
  "common.admissionDocumentLabel.source_applicant_upload": "Applicant upload",
  "common.admissionDocumentLabel.source_staff_upload": "Staff upload",
  "common.admissionDocumentLabel.source_email_attachment": "Email attachment",
  "common.admissionDocumentLabel.source_application_form": "Application form",
  "common.admissionDocumentLabel.origin_form_field": "From application form",
  "common.admissionDocumentLabel.filter_all": "All",
  "common.admissionDocumentLabel.filter_missing": "Missing required",
  "common.admissionDocumentLabel.filter_received": "Received",
  "common.admissionDocumentLabel.filter_waived": "Waived",
  "common.admissionDocumentLabel.filterLabel": "Filter documents",
  "common.admissionDocumentLabel.filterEmpty": "No documents match this filter",
  "common.admissionDocumentLabel.searchLabel": "Search documents",
  "common.admissionDocumentLabel.searchPlaceholder": "Search by document name",
  "common.admissionDocumentLabel.overdue": "Overdue",
  "common.admissionDocumentLabel.dueOn": "Due :date",
  "common.admissionDocumentLabel.requestedOn": "Requested :date",
  "common.admissionDocumentLabel.filesCount": "Files: :count",
  "common.admissionDocumentLabel.dueDate": "Due date",
  "common.admissionDocumentLabel.saveDueDate": "Save due date",
  "common.admissionDocumentLabel.viewDetails": "View details",
  "common.admissionDocumentLabel.markRequested": "Mark as requested",
  "common.admissionDocumentLabel.requestRecorded": "Request recorded. The document stays pending until a file is received.",
  "common.admissionDocumentLabel.requestedBy": "Requested by :name on :date",
  "common.admissionDocumentLabel.waiveAction": "Waive requirement",
  "common.admissionDocumentLabel.waiveTitle": "Waive :item",
  "common.admissionDocumentLabel.changeRequirement": "Change requirement",
  "common.admissionDocumentLabel.changeRequirementTitle": "Change requirement: :item",
  "common.admissionDocumentLabel.changeRequirementDescription": "Applies to this application only. Received files are kept.",
  "common.admissionDocumentLabel.waiveReason": "Reason for waiver",
  "common.admissionDocumentLabel.waiveReasonPlaceholder": "e.g. Prior schooling completed in English",
  "common.admissionDocumentLabel.waiveReasonHelper": "Recorded in the checklist history with your name and the date. Not shown to the applicant.",
  "common.admissionDocumentLabel.waiveReasonRequired": "A reason is required to waive a document.",
  "common.admissionDocumentLabel.waivedNotice": "This requirement is waived for this application",
  "common.admissionDocumentLabel.waivedBy": "Waived by :name on :date",
  "common.admissionDocumentLabel.fileKeptNotice": "Any received file stays attached and visible.",
  "common.admissionDocumentLabel.requirementUpdated": "Requirement updated.",
  "common.admissionDocumentLabel.dueDateUpdated": "Due date updated.",
  "common.admissionDocumentLabel.addToChecklist": "Add document to checklist",
  "common.admissionDocumentLabel.addToChecklistDescription": "Adds the document to this application only. Other applicants and packages are not affected.",
  "common.admissionDocumentLabel.customDocument": "Other document (not in the master list)",
  "common.admissionDocumentLabel.markRequestedOnAdd": "Mark as requested now",
  "common.admissionDocumentLabel.markRequestedHelper": "Records that the applicant was asked for this document. It does not count as received.",
  "common.admissionDocumentLabel.itemAdded": "Document added to the checklist.",
  "common.admissionDocumentLabel.removeItem": "Remove from checklist",
  "common.admissionDocumentLabel.removeItemTitle": "Remove document from checklist?",
  "common.admissionDocumentLabel.removeItemConfirm": "Remove :item from this application checklist? This can only be done before a file is received.",
  "common.admissionDocumentLabel.itemRemoved": "Document removed from the checklist.",
  "common.admissionDocumentLabel.applyTemplate": "Apply package",
  "common.admissionDocumentLabel.reapplyTemplate": "Reapply package",
  "common.admissionDocumentLabel.applyTemplateTitle": "Apply document packages",
  "common.admissionDocumentLabel.applyTemplateDescription": "Review the changes before applying. Received files, individual waivers and due dates are kept, and documents no longer in the packages become optional.",
  "common.admissionDocumentLabel.applyTemplateAction": "Apply changes",
  "common.admissionDocumentLabel.template": "Package",
  "common.admissionDocumentLabel.selectTemplate": "Select a package",
  "common.admissionDocumentLabel.matchesApplication": "matches this application",
  "common.admissionDocumentLabel.loadingPreview": "Loading preview…",
  "common.admissionDocumentLabel.previewNoChanges": "This checklist already matches the packages. Nothing will change.",
  "common.admissionDocumentLabel.previewAdd": "Will be added",
  "common.admissionDocumentLabel.previewUpdate": "Requirement will change",
  "common.admissionDocumentLabel.previewToOptional": "No longer in the packages (will become optional)",
  "common.admissionDocumentLabel.previewUnchanged": "Unchanged",
  "common.admissionDocumentLabel.waiverKept": "waiver kept",
  "common.admissionDocumentLabel.fileKept": "file kept",
  "common.admissionDocumentLabel.templateApplied": "Document packages applied to this application.",
  "common.admissionDocumentLabel.templateUpdateAvailable": "The package \":name\" has changed since it was applied to this application.",
  "common.admissionDocumentLabel.templateRecommended": "A document package is available for this application: :name.",
  "common.admissionDocumentLabel.reviewChanges": "Review changes",
  "common.admissionDocumentLabel.checklistEmpty": "No documents on this checklist yet",
  "common.admissionDocumentLabel.checklistEmptyDesc": "Apply a document package or add documents individually.",
  "common.admissionDocumentLabel.checklistEmptyReadOnly": "No documents have been requested for this application.",
  "common.admissionDocumentLabel.checklistActivity": "Checklist activity",
  "common.admissionDocumentLabel.showAll": "Show all activity",
  "common.admissionDocumentLabel.showLess": "Show less",
  "common.admissionDocumentLabel.drawerDescription": "Requirement, received files and history for this application only.",
  "common.admissionDocumentLabel.receivedFiles": "Received files",
  "common.admissionDocumentLabel.staffUploadHelper": "Uploading here records the file as received from staff. Maximum 5 MB.",
  "common.admissionDocumentLabel.receiptMeta": ":name · :source · :date · :actor",
  "common.admissionDocumentLabel.fileReceived": "File received.",
  "common.admissionDocumentLabel.fileRemoved": "File removed. The document is pending again if no other file remains.",
  "common.admissionDocumentLabel.activity": "Activity",
  "common.admissionDocumentLabel.activityEmpty": "No activity yet.",
  "common.admissionDocumentLabel.systemActor": "System",
  "common.admissionDocumentLabel.event_template_applied": "Package \":template\" applied",
  "common.admissionDocumentLabel.event_item_added": "“:item” added to the checklist",
  "common.admissionDocumentLabel.event_requirement_changed": "“:item” changed from :from to :to",
  "common.admissionDocumentLabel.event_waived": "“:item” waived",
  "common.admissionDocumentLabel.event_due_date_changed": "Due date changed for “:item”",
  "common.admissionDocumentLabel.event_requested": "“:item” requested from the applicant",
  "common.admissionDocumentLabel.event_reminder_sent": "Reminder :status for: :items",
  "common.admissionDocumentLabel.event_received": "“:item” received (:file)",
  "common.admissionDocumentLabel.event_receipt_removed": "File removed from “:item” (:file)",
  "common.admissionDocumentLabel.typeOrLabelRequired": "Choose a document type or enter a document name.",
  "common.admissionDocumentLabel.alreadyOnChecklist": "This document is already on the checklist.",
  "common.admissionDocumentLabel.onlyStaffItemsRemovable": "Only documents added by staff can be removed. Change the requirement instead.",
  "common.admissionDocumentLabel.receivedItemNotRemovable": "A document with a received file cannot be removed.",
  "common.admissionDocumentLabel.invalidRequirement": "Invalid document requirement.",
  "common.portalLabel.documentNotRequired": "Not required",
  "common.portalLabel.documentNotRequiredHelp": "Your admissions team confirmed this document is not needed for your application.",
  "common.portalLabel.documentDueOn": "Due :date",
  "common.admissionDocumentLabel.attachFromEmail": "Attach a file received by email",
  "common.admissionDocumentLabel.loadingAttachments": "Loading email attachments…",
  "common.admissionDocumentLabel.noEmailAttachments": "No attachments found in emails received from this contact.",
  "common.admissionDocumentLabel.emailAttachment": "Email attachment",
  "common.admissionDocumentLabel.attachAsReceived": "Attach as received",
  "common.admissionDocumentLabel.attachmentAlreadyLinked": "This email attachment is already linked to this document.",
  "common.admissionDocumentLabel.noSubject": "(no subject)",
  "common.admissionDocumentLabel.sendReminder": "Send reminder",
  "common.admissionDocumentLabel.reminderTitle": "Missing documents reminder",
  "common.admissionDocumentLabel.reminderSubject": "Documents still needed for your application: :application",
  "common.admissionDocumentLabel.reminderGreeting": "Hello :name,",
  "common.admissionDocumentLabel.reminderIntro": "To continue reviewing your application (:application), we still need the following documents:",
  "common.admissionDocumentLabel.reminderDue": "due :date",
  "common.admissionDocumentLabel.reminderUpload": "You can upload them securely from your applicant portal:",
  "common.admissionDocumentLabel.reminderClosing": "Thank you, and please reply to this email if you have any questions.",
  "common.admissionDocumentLabel.reminderNothingMissing": "There are no missing required documents to remind about.",
  "common.admissionDocumentLabel.reminderRecorded": "Reminder recorded.",
  "common.admissionDocumentLabel.delivery_queued": "queued",
  "common.admissionDocumentLabel.delivery_sent": "sent",
  "common.admissionDocumentLabel.delivery_failed": "failed",
  "common.admissionDocumentLabel.tokenCategory": "Admission documents",
  "common.admissionDocumentLabel.tokenMissingList": "Missing required documents (list)",
  "common.admissionDocumentLabel.tokenMissingListText": "Missing required documents (text)",
  "common.admissionDocumentLabel.tokenMissingCount": "Missing required documents (count)",
  "common.admissionDocumentLabel.tokenCompletion": "Required documents completion %",
  "common.admissionDocumentLabel.tokenUploadLink": "Applicant portal upload link",
  "common.admissionDocumentLabel.queueTitle": "Missing documents",
  "common.admissionDocumentLabel.queueContact": "Contact",
  "common.admissionDocumentLabel.queueMissingDocuments": "Missing required documents",
  "common.admissionDocumentLabel.queueMissingCount": "Missing",
  "common.admissionDocumentLabel.queueNextDue": "Next due",
  "common.admissionDocumentLabel.queueLastReminder": "Last reminder",
  "common.admissionDocumentLabel.queueNever": "Never",
  "common.admissionDocumentLabel.queueApplied": "Application date",
  "common.admissionDocumentLabel.queueResultLabel": "applications",
  "common.admissionDocumentLabel.queueSearchPlaceholder": "Search by contact, email or missing document",
  "common.admissionDocumentLabel.queueEmpty": "No applications are waiting on required documents.",
  "common.admissionDocumentLabel.openChecklist": "Open document checklist",
  "common.automationLabel.documentReceived": "Document Received",
  "common.automationLabel.capabilityDocumentReceivedDescription": "Start the workflow when a file is received for an application document (applicant upload, staff upload or email attachment).",
  "common.portalLabel.documentsRequiredBeforeSubmit": "These required documents must be received before you can submit your application:",
  "common.portalLabel.documentsMissingWarning": "You can submit now, but your application will stay incomplete until these required documents are received:",
  "common.portalLabel.uploadMissingDocuments": "Upload missing documents",
  "common.admissionDocumentLabel.submitBlocked": "Your application cannot be submitted yet. Please upload these required documents first: :documents",
  "common.admissionDocumentLabel.policyLabel": "Missing required documents at submission",
  "common.admissionDocumentLabel.policyHelper": "Applies to documents on the application document checklist. Waived and optional documents never block.",
  "common.admissionDocumentLabel.policyWarn": "Allow submission with a warning",
  "common.admissionDocumentLabel.policyBlock": "Block submission until required documents are received",
  "common.admissionDocumentLabel.origin": "Added from",
  "common.admissionDocumentLabel.origin_template": "Document package",
  "common.admissionDocumentLabel.origin_staff": "Added by staff",
  "common.admissionDocumentLabel.filesLabel": "Files received",
  "common.admissionDocumentLabel.requested": "Requested",
  "common.admissionDocumentLabel.dueDateHelper": "Saved automatically when changed.",
  "common.admissionDocumentLabel.attachFromEmailShort": "Attach from email",
  "common.admissionDocumentLabel.metricReceivedHelper": "of :required required",
  "common.admissionDocumentLabel.metricPendingHelper": "Required, no file yet",
  "common.admissionDocumentLabel.metricWaivedHelper": "Not counted",
  "common.admissionDocumentLabel.metricOptionalHelper": "Not counted \u00b7 :received received",
  "common.admissionDocumentLabel.badgeComplete": "All required received",
  "common.admissionDocumentLabel.badgePending": ":count pending",
  "common.admissionDocumentLabel.noInstructions": "No applicant instructions",
  "common.admissionDocumentLabel.usedInTemplatesLong": "Used in :count package(s)",
  "common.admissionDocumentLabel.notUsedInTemplates": "Not used in packages",
  "common.admissionDocumentLabel.gridColumn": "Admission documents",
  "common.admissionDocumentLabel.gridFilter_missing": "Missing documents",
  "common.admissionDocumentLabel.gridFilter_complete": "All required received",
  "common.admissionDocumentLabel.gridFilter_none": "No checklist",
  "common.admissionDocumentLabel.queueMenuLabel": "Missing admission documents",
  "common.admissionDocumentLabel.gridNoChecklist": "No document checklist",
  "common.admissionDocumentLabel.gridRequiredShort": ":received/:required required",
  "common.admissionDocumentLabel.addPackage": "New document package",
  "common.admissionDocumentLabel.editPackage": "Edit document package",
  "common.admissionDocumentLabel.packagesTitle": "Admission documents",
  "common.admissionDocumentLabel.allPrograms": "All programs",
  "common.admissionDocumentLabel.allCourses": "All courses",
  "common.admissionDocumentLabel.allProgramsAndCourses": "All programs and courses",
  "common.admissionDocumentLabel.applyPackages": "Apply packages",
  "common.admissionDocumentLabel.reapplyPackages": "Reapply packages",
  "common.admissionDocumentLabel.back": "Back",
  "common.admissionDocumentLabel.next": "Next",
  "common.admissionDocumentLabel.backToPackages": "Back to document packages",
  "common.admissionDocumentLabel.copyFromPackage": "Copy a document from another package",
  "common.admissionDocumentLabel.documentNameIn": "Document name (:language)",
  "common.admissionDocumentLabel.instructionsIn": "Applicant instructions (:language)",
  "common.admissionDocumentLabel.documentNumber": "Document :number",
  "common.admissionDocumentLabel.duplicatePackage": "Duplicate",
  "common.admissionDocumentLabel.packageCopyName": ":name (copy)",
  "common.admissionDocumentLabel.packageDuplicated": "Package duplicated. Review it and activate it when ready.",
  "common.admissionDocumentLabel.fixErrorsBeforeContinue": "Please fix the highlighted fields before continuing.",
  "common.admissionDocumentLabel.managePackages": "Manage document packages",
  "common.admissionDocumentLabel.moveUp": "Move up",
  "common.admissionDocumentLabel.moveDown": "Move down",
  "common.admissionDocumentLabel.packageApplications": "Applications",
  "common.admissionDocumentLabel.packageCampuses": "Campuses",
  "common.admissionDocumentLabel.packageTargets": "Programs and courses",
  "common.admissionDocumentLabel.packageDetails": "Package details",
  "common.admissionDocumentLabel.packageDetailsDescription": "Name, status and version of this document package.",
  "common.admissionDocumentLabel.packageDocumentsEmpty": "No documents yet. Add a document or copy one from another package.",
  "common.admissionDocumentLabel.packageNamePlaceholder": "e.g. Montreal campus – all programs",
  "common.admissionDocumentLabel.packageUpdated": "Updated",
  "common.admissionDocumentLabel.packageVersion": "Version",
  "common.admissionDocumentLabel.packagesEmpty": "No document packages yet. Create one to define which documents applicants need.",
  "common.admissionDocumentLabel.packagesResultLabel": "packages",
  "common.admissionDocumentLabel.packagesSearchPlaceholder": "Search by package or document name",
  "common.admissionDocumentLabel.packagesForProgramTitle": "Admission document packages",
  "common.admissionDocumentLabel.packagesForProgramDescription": "Packages that apply to applicants of this program or course, including packages for all programs. Manage them in Records → Admission documents.",
  "common.admissionDocumentLabel.packagesForProgramEmpty": "No document packages apply here yet",
  "common.admissionDocumentLabel.packagesForProgramEmptyDesc": "Create a document package and choose this program or course, or leave programs empty to apply it everywhere.",
  "common.admissionDocumentLabel.packagesToApply": "Packages to apply",
  "common.admissionDocumentLabel.packagesToApplyHelper": "Packages matching this application are selected. Their documents are combined; required wins over optional.",
  "common.admissionDocumentLabel.requiredSwitchHelp": "Required documents count toward completion.",
  "common.admissionDocumentLabel.savePackage": "Save package",
  "common.admissionDocumentLabel.scopeTargetsCount": ":count program(s)/course(s)",
  "common.admissionDocumentLabel.scopeCampusesCount": ":count campus(es)",
  "common.admissionDocumentLabel.scopeCombineHelp": "Leave a field empty to apply to all. When several packages match an application, their documents are combined.",
  "common.admissionDocumentLabel.sharedDocument": "Shared document",
  "common.admissionDocumentLabel.stepAnnouncement": "Step :current of :total: :step",
  "common.admissionDocumentLabel.stepProgress": "Step :current of :total",
  "common.admissionDocumentLabel.stepDetails": "Details",
  "common.admissionDocumentLabel.stepDetailsHint": "Name and status",
  "common.admissionDocumentLabel.stepScope": "Applies to",
  "common.admissionDocumentLabel.stepScopeHint": "Programs, courses and campuses",
  "common.admissionDocumentLabel.stepDocuments": "Documents",
  "common.admissionDocumentLabel.stepDocumentsHint": "Required and optional documents",
  "common.admissionDocumentLabel.wizardNavigation": "Document package steps",
  "common.admissionDocumentLabel.wizardFooterAria": "Document package wizard actions",
  "common.admissionDocumentLabel.fieldTitle": "Admission documents",
  "common.admissionDocumentLabel.fieldSource": "Documents to show",
  "common.admissionDocumentLabel.fieldSourceMatching": "Packages matching the program and campus chosen in the form",
  "common.admissionDocumentLabel.fieldSourcePackages": "Only the packages selected below",
  "common.admissionDocumentLabel.fieldPackages": "Document packages",
  "common.admissionDocumentLabel.fieldPackagesHelp": "Each document becomes an upload slot. Uploads are recorded on the application checklist in Records → Admission documents.",
  "common.admissionDocumentLabel.fieldSaveStepFirst": "Save this step before uploading documents.",
  "common.admissionDocumentLabel.fieldMissingRequired": "Please upload these required documents: :documents",
  "common.admissionDocumentLabel.fieldNoDocuments": "No documents are requested yet. Once your program is selected and saved, the documents to upload appear here.",
  "common.admissionDocumentLabel.fieldUpload": "Upload",
  "common.fundingCaseLabel.gridFundingStatusColumn": "Funding status",
  "common.fundingCaseLabel.gridFundingDocumentsColumn": "Funding documents",
  "common.fundingCaseLabel.gridNoFundingCase": "No funding case",
  "common.fundingCaseLabel.gridNoFundingDocuments": "No funding documents",
  "common.fundingCaseLabel.gridDocumentsFilter_missing": "Missing required documents",
  "common.fundingCaseLabel.gridDocumentsFilter_complete": "All required received",
  "common.fundingCaseLabel.gridDocumentsFilter_none": "No funding documents",
  "common.fundingCaseLabel.gridDocumentsExport": ":percent% (:received/:required required)",
  "common.fundingCaseLabel.queueReadyToStart": "Ready to start",
  "common.fundingCaseLabel.studentQueuesMenu": "Admissions views",
  "common.admissionDocumentLabel.backfillNotInstalled": "Admission document checklist tables are not installed yet.",
  "common.admissionDocumentLabel.backfillNothing": "No applications found. Admission document checklist backfill marked complete.",
  "common.admissionDocumentLabel.backfillQueued": "Admission document checklist backfill queued (:count jobs). Ensure queue workers are running, then refresh this page when finished.",
  "common.admissionDocumentLabel.backfillFailed": "Admission document checklist backfill failed to queue: :message",
  "common.admissionDocumentLabel.packageColumn": "Package",
  "common.admissionDocumentLabel.allowedFileTypes": "Allowed file types",
  "common.admissionDocumentLabel.allowedFileTypesAll": "PDF, DOC, DOCX, JPG, PNG (default)",
  "common.admissionDocumentLabel.allowedFileTypesHelp": "Applicants can only upload these types for this document. Leave empty to allow PDF, Word and images.",
  "common.reportLabel.outreachCampusFilter": "Campus",
  "common.reportLabel.outreachProgramFilter": "Program",
  "common.reportLabel.outreachCourseFilter": "Course",
  "common.reportLabel.outreachOwnerFilter": "Contact owner",
  "common.reportLabel.outreachSourceFilter": "Source",
  "common.reportLabel.outreachAllCampuses": "All campuses",
  "common.reportLabel.outreachAllPrograms": "All programs",
  "common.reportLabel.outreachAllCourses": "All courses",
  "common.reportLabel.outreachAllOwners": "All owners",
  "common.reportLabel.outreachAllSources": "All sources",
  "common.reportLabel.uniqueContacts": "Unique contacts",
  "common.reportLabel.statusMemberships": "Status memberships",
  "common.applicationLinkLabel.title": "Get application link",
  "common.applicationLinkLabel.helper": "Choose an application to build its link with this student's name and email.",
  "common.applicationLinkLabel.shortLink": "Short unique link",
  "common.applicationLinkLabel.shortLinkHelper": "Encode this student into a short link instead of putting their name and email in the URL.",
  "common.applicationLinkLabel.copy": "Copy link",
  "common.applicationLinkLabel.copied": "Application link copied.",
  "common.applicationLinkLabel.copyFailed": "Unable to copy the application link.",
  "common.applicationLinkLabel.noApplications": "No published applications are available.",
  "common.applicationLinkLabel.generating": "Generating link...",
  "common.applicationLinkLabel.link": "Application link",
  "common.reportLabel.outreachMatrixSnapshot": "This current snapshot crosses Contact Status (rows) with Outreach Status (columns). Each distinct contact appears in one cell; select a non-zero cell to review those contacts.",
  "common.reportLabel.outreachMatrixDisplay": "Matrix display",
  "common.reportLabel.outreachPercentOfRow": "% of row",
  "common.reportLabel.outreachOfRow": "of row",
  "common.reportLabel.outreachContactStatusAxis": "Contact status ↓",
  "common.reportLabel.outreachStatusAxis": "Outreach status →",
  "common.reportLabel.outreachMatrixLegend": "Colour shows contact volume · percentages use the row total",
  "common.reportLabel.outreachFewer": "Fewer",
  "common.reportLabel.outreachMore": "More",
  "common.reportLabel.outreachActiveWorkloadHelp": "Distinct contacts eligible for admissions outreach whose Outreach Status is not Closed.",
  "common.reportLabel.outreachOverdueHelp": "Distinct active contacts with a next activity that has both a type and due date, where that due date is already in the past.",
  "common.reportLabel.outreachMissingHelp": "Distinct active contacts whose next activity is incomplete because its activity type or scheduled date is missing.",
  "common.reportLabel.outreachCoverageHelp": "The percentage of active contacts that have a complete next activity, a due date that has not passed, and an assigned next-action owner.",
  "common.reportLabel.outreachOpenQueue": "Open :count contacts in the follow-up queue",
  "common.reportLabel.outreachWithinOneHour": "Within 1 hour",
  "common.reportLabel.outreachAfterOneHour": "After 1 hour",
  "common.reportLabel.outreachNoOutreachWindow": "No outreach in window",
  "common.reportLabel.outreachScheduled": "Scheduled",
  "common.reportLabel.outreachConversionNotice": "Only contacts created at least :days days ago enter these rates. Outcomes count milestones recorded within their first :days days. :excluded newer contacts are excluded.",
  "common.reportLabel.outreachAssociationNotice": "These are associations. They do not prove that faster outreach causes a higher conversion rate.",
  "common.reportLabel.outreachCreationOutcomes": "Creation cohort → admissions outcomes",
  "common.reportLabel.outreachEligibleHistory": ":count eligible contacts · includes closed contacts · history-based, not current-state totals",
  "common.reportLabel.outreachFirstDays": "First :days days",
  "common.reportLabel.outreachEligibleCohort": "Contacts analyzed",
  "common.reportLabel.outreachObservationDays": "Through now, up to :days days",
  "common.reportLabel.outreachReachedApplied": "Reached Applied",
  "common.reportLabel.outreachReachedContacted": "Reached Contacted",
  "common.reportLabel.outreachReachedEnrolled": "Reached Enrolled",
  "common.reportLabel.outreachApplicationToEnrollment": "Application → enrolment",
  "common.reportLabel.outreachConversionOutcome": "Conversion outcome",
  "common.reportLabel.outreachConversionOutcomeHint": "Choose the admissions milestone this report treats as its successful conversion outcome. Reports use Confirmed by default.",
  "common.reportLabel.outreachDefaultConversionOutcome": "Confirmed",
  "common.reportLabel.outreachReachedOutcome": "Reached :outcome",
  "common.reportLabel.outreachApplicationToOutcome": "Application → :outcome",
  "common.reportLabel.outreachMilestonesReached": "Milestones reached in :days days",
  "common.reportLabel.outreachSameDenominator": "Each milestone uses the same creation-cohort denominator",
  "common.reportLabel.outreachMilestonesNotAdditive": "Shows the share of the same eligible creation cohort with each milestone explicitly recorded inside the selected window. One contact may appear in several milestones, so these counts must not be added together.",
  "common.reportLabel.outreachFirstOutreachConversion": "First outreach & conversion by rep",
  "common.reportLabel.outreachElapsedClock": "Groups analyzed contacts by time from the first effective New status to the first qualifying outbound outreach. New contacts are included immediately. Each group is the denominator for its Applied and :outcome rates.",
  "common.reportLabel.outreachFirstOutreach": "First outreach",
  "common.reportLabel.outreachSmallSampleDirectional": "Small sample · directional only",
  "common.reportLabel.outreachConversionGuidance": "Use program, campus and source filters before comparing groups. Lead intent, intake timing and counsellor allocation can explain differences.",
  "common.reportLabel.outreachQualifyingGuidance": "Newsletters, bulk campaigns, bounces and internal notes are excluded from qualifying outreach. Business-hours SLA reporting is a separate measure.",
  "common.reportLabel.outreachConversionByOwner": "Conversion by contact owner",
  "common.reportLabel.outreachSameCohortWindow": "Same cohort, same outcome window · review a contact for contact-level evidence",
  "common.reportLabel.outreachEligibleContacts": "Eligible contacts",
  "common.reportLabel.outreachSmallSample": "Small sample",
  "common.reportLabel.outreachOwnerAttribution": "Compares the same eligible creation cohort by each contact’s current owner. Rates show milestones recorded inside the selected outcome window; they do not represent historical owner assignment.",
  "common.reportLabel.outreachContactsToFollowUp": "Contacts to follow up",
  "common.reportLabel.outreachQueueSort": ":count contacts · sorted by priority, then oldest due / creation date",
  "common.reportLabel.outreachQueueSearch": "Search contact ID, program or owner",
  "common.reportLabel.outreachNeedsAttention": "Needs attention",
  "common.reportLabel.outreachAttentionFilter": "Follow-up priority",
  "common.reportLabel.outreachAllContactStatuses": "All contact statuses",
  "common.reportLabel.outreachAllOutreachStatuses": "All outreach statuses",
  "common.reportLabel.outreachAllNextActionOwners": "All next-action owners",
  "common.reportLabel.outreachNextActionOwner": "Next-action owner",
  "common.reportLabel.outreachContactProgram": "Contact / program",
  "common.reportLabel.outreachInState": "in state",
  "common.reportLabel.outreachAllActive": "All active outreach",
  "common.reportLabel.outreachContactOwnerColumn": "Contact / owner",
  "common.reportLabel.outreachAttemptsTime": "Attempts / time in state",
  "common.reportLabel.outreachLastOutreachReply": "Last outreach / reply",
  "common.reportLabel.outreachFollowUpOwner": "Follow-up / owner",
  "common.reportLabel.outreachAttemptsShort": "attempts",
  "common.reportLabel.outreachDaysInStateShort": "days in state",
  "common.reportLabel.outreachReply": "Reply",
  "common.reportLabel.outreachNoMatchingContacts": "No matching contacts",
  "common.reportLabel.outreachBroadenFilters": "There are no contacts in this selection. Broaden the search or queue scope.",
  "common.reportLabel.outreachReviewSchedule": "Review a contact to schedule the next step.",
  "common.reportLabel.outreachMilestoneUnchanged": "Scheduling follow-up changes operational fields only. The contact’s admissions milestone remains unchanged.",
  "common.reportLabel.outreachQueuePreview": "Showing the first :shown of :total contacts in this report preview.",
  "common.reportLabel.outreachOpenFullQueue": "Open full queue",
  "common.reportLabel.outreachDrilldown": "Drill-down",
  "common.reportLabel.outreachDrilldownEmpty": "Select a report value to inspect its contacts",
  "common.reportLabel.outreachDrilldownEmptyDescription": "Clickable counts and rates open their exact contact population in this tab.",
  "common.reportLabel.outreachReachedEnrolledHelp": "Percentage of the eligible cohort with an Enrolled milestone explicitly recorded during its first :days days.",
  "common.reportLabel.outreachEligibleCohortHelp": "Distinct contacts in the selected report timeframe with lifecycle history. New contacts are included immediately; each contact is observed through now, up to its first :days days.",
  "common.reportLabel.outreachApplicationToEnrollmentHelp": "Among eligible contacts that reached Applied within :days days, the percentage that also reached Enrolled within the same window.",
  "common.reportLabel.outreachReachedOutcomeHelp": "Percentage of analyzed contacts with a :outcome milestone explicitly recorded through now, up to their first :days days.",
  "common.reportLabel.outreachApplicationToOutcomeHelp": "Among eligible contacts that reached Applied within :days days, the percentage that also reached :outcome within the same window.",
  "common.reportLabel.outreachReachedAppliedHelp": "Percentage of analyzed contacts with an Applied milestone explicitly recorded through now, up to their first :days days. Later statuses do not imply a missing Applied milestone.",
  "common.reportLabel.outreachCreationOutcomesHelp": "Current conversion impact for contacts in the selected report timeframe. New contacts are included immediately; activity is measured through now, up to each contact’s first :days days.",
  "common.reportLabel.outreachFirstDaysHelp": "Each contact’s window begins at its first effective New status. New contacts are included immediately, and explicitly recorded activity is counted through now, up to :days days.",
  "common.usageLabel.pageTitle": "Usage",
  "common.usageLabel.pricesTitle": "Usage prices",
  "common.usageLabel.pricesIntro": "Set the commercial price and how many units it covers. Schools see the price after the modifier.",
  "common.usageLabel.sms": "SMS",
  "common.usageLabel.whatsapp": "WhatsApp",
  "common.usageLabel.email": "Email",
  "common.usageLabel.voice": "Voice calls",
  "common.usageLabel.aiTokens": "AI tokens",
  "common.usageLabel.perSegment": "Per segment",
  "common.usageLabel.perMessage": "Per message",
  "common.usageLabel.perEmail": "Per email",
  "common.usageLabel.perMinute": "Per billed minute",
  "common.usageLabel.perThousandTokens": "Per 1,000 tokens",
  "common.usageLabel.dateRange": "Date range",
  "common.usageLabel.campus": "Campus",
  "common.usageLabel.channel": "Channel",
  "common.usageLabel.allCampuses": "All campuses",
  "common.usageLabel.allChannels": "All channels",
  "common.usageLabel.apply": "Apply",
  "common.usageLabel.messages": "Messages",
  "common.usageLabel.emails": "Emails",
  "common.usageLabel.calls": "Calls",
  "common.usageLabel.requests": "Requests",
  "common.usageLabel.quantity": "Quantity",
  "common.usageLabel.billedMinutes": "Billed minutes",
  "common.usageLabel.segments": "Segments",
  "common.usageLabel.tokens": "Tokens",
  "common.usageLabel.unitPrice": "Unit price",
  "common.usageLabel.cost": "Cost",
  "common.usageLabel.priceNotSet": "Price not set",
  "common.usageLabel.estimated": "Estimated",
  "common.usageLabel.emptyRange": "No usage in this date range.",
  "common.usageLabel.noServices": "No usage services are available.",
  "common.usageLabel.day": "Day",
  "common.usageLabel.breakdown": "Breakdown",
  "common.usageLabel.dailyLimit": "Daily token limit",
  "common.usageLabel.monthlyLimit": "Monthly token limit",
  "common.usageLabel.aiEstimateNote": "Token counts are estimates, about 4 characters per token. Daily totals use the application timezone, so a day at the edge of the range can differ from the school timezone. This cost is an indication, not an invoice line.",
  "common.usageLabel.aiCampusNote": "AI token usage is recorded for the whole school, not by campus.",
  "common.usageLabel.basePrice": "Base price",
  "common.usageLabel.modifier": "Modifier",
  "common.usageLabel.modifierNone": "None",
  "common.usageLabel.modifierPercent": "Percent",
  "common.usageLabel.modifierFlat": "Flat amount",
  "common.usageLabel.resultingPrice": "Price schools see",
  "common.usageLabel.savePrices": "Save prices",
  "common.usageLabel.updatedBy": "Last changed by",
  "common.usageLabel.unknownService": "Unknown usage service.",
  "common.usageLabel.modifierRequired": "Enter a modifier amount.",
  "common.usageLabel.modifierNegative": "The resulting price cannot be negative.",
  "common.usageLabel.pageDescription": "SMS, WhatsApp, email, voice calls, and AI token usage for this school.",
  "common.usageLabel.emailDirect": "Direct",
  "common.usageLabel.emailCampaign": "Campaign",
  "common.usageLabel.emailAutomation": "Automation",
  "common.usageLabel.noServicesDescription": "Turn on a communication or AI service to see usage here.",
  "common.usageLabel.modifierAmount": "Modifier amount",
  "common.usageLabel.saved": "Usage prices saved.",
  "common.usageLabel.priceQuantity": "Units this price covers",
  "common.usageLabel.perQuantity": "per :count",
  "common.usageLabel.priceQuantityInvalid": "Enter at least 1 unit.",
  "common.usageLabel.plansTitle": "Usage plans",
  "common.usageLabel.plansIntro": "Set the monthly included usage for each plan. Usage above that amount uses the commercial price.",
  "common.usageLabel.freeUsage": "Included each month",
  "common.usageLabel.included": "Included",
  "common.usageLabel.used": "Used",
  "common.usageLabel.overview": "Overview",
  "common.usageLabel.exportReport": "Export report",
  "common.usageLabel.exportCsv": "Export as CSV",
  "common.usageLabel.exportPdf": "Export as PDF",
  "common.usageLabel.exportCsvChannel": "Export :channel as CSV",
  "common.usageLabel.exportPdfChannel": "Export :channel as PDF",
  "common.usageLabel.count": "Count",
  "common.usageLabel.currency": "Currency",
  "common.usageLabel.billable": "Billable",
  "common.usageLabel.savePlans": "Save plans",
  "common.usageLabel.plansSaved": "Usage plans saved.",
  "common.usageLabel.noPlans": "No plans yet.",
  "common.usageLabel.noPlansDescription": "Create a plan before setting included usage.",
  "common.usageLabel.planActive": "Active",
  "common.usageLabel.planInactive": "Inactive",
  "common.usageLabel.freeUsageInvalid": "Enter a whole number of included units.",
  "common.usageLabel.createPlan": "Create plan",
  "common.usageLabel.editPlan": "Edit plan",
  "common.usageLabel.savePlan": "Save plan",
  "common.usageLabel.planTitle": "Plan title",
  "common.usageLabel.planPrice": "Plan price",
  "common.usageLabel.planFeatures": "Features",
  "common.usageLabel.trialPeriod": "Trial period (days)",
  "common.usageLabel.activePeriod": "Active period (days)",
  "common.usageLabel.planPublic": "Available for new schools",
  "common.usageLabel.shortDescription": "Short description",
  "common.usageLabel.planDescription": "Description",
  "common.usageLabel.plansSearch": "Search plans",
  "common.usageLabel.plansEmpty": "No plans matched the current search or filters.",
  "common.usageLabel.plansResult": "Plans",
  "common.usageLabel.deletePlanConfirm": "Delete this plan? Schools using it must be moved first.",
  "common.usageLabel.planInUse": "This plan is assigned to a school and cannot be deleted.",
  "common.usageLabel.planSaved": "Plan saved.",
  "common.usageLabel.planDeleted": "Plan deleted.",
  "common.usageLabel.featuresRequired": "Select at least one feature.",
  "common.usageLabel.planTitleTaken": "A plan with this title already exists.",
  "common.planLabel.indexTitle": "Plans",
  "common.planLabel.createTitle": "Create plan",
  "common.planLabel.editTitle": "Edit plan",
  "common.planLabel.details": "Plan details",
  "common.planLabel.detailsHint": "Name, price, and the features this plan includes.",
  "common.planLabel.allowance": "Included usage",
  "common.planLabel.allowanceHint": "Units included every month. Zero means the school pays for all usage.",
  "common.planLabel.review": "Review",
  "common.planLabel.reviewHint": "Confirm the plan before saving.",
  "common.planLabel.title": "Plan title",
  "common.planLabel.titleRequired": "Enter a plan title.",
  "common.planLabel.price": "Plan price",
  "common.planLabel.priceRequired": "Enter a price of zero or more.",
  "common.planLabel.features": "Features",
  "common.planLabel.featuresRequired": "Select at least one feature.",
  "common.planLabel.trialPeriod": "Trial period (days)",
  "common.planLabel.activePeriod": "Active period (days)",
  "common.planLabel.activePeriodHint": "Leave blank so the plan does not expire.",
  "common.planLabel.active": "Active",
  "common.planLabel.shortDescription": "Short description",
  "common.planLabel.description": "Description",
  "common.planLabel.stepIncomplete": "Complete this step before continuing.",
  "common.planLabel.sidebarTitle": "Plan steps",
  "common.planLabel.stepProgress": "Step :current of :total",
  "common.planLabel.wizardNavigation": "Plan steps",
  "common.planLabel.wizardFooterAria": "Plan actions",
  "common.planLabel.saved": "Plan saved.",
  "common.planLabel.created": "Plan created.",
  "common.planLabel.saveFailed": "The plan could not be saved.",
  "common.planLabel.update": "Update",
  "common.planLabel.create": "Create plan",
  "common.bookingGroupLabel.addStudents": "Add students",
  "common.bookingGroupLabel.addStudentsDescription": "Pick existing students of this agent or create new ones. They are added to the group and inherit its quotes.",
  "common.bookingGroupLabel.addStudentsCount": "Add :count students",
  "common.bookingGroupLabel.addStudentsEmpty": "Select or enter at least one student.",
  "common.bookingGroupLabel.addStudentsNameRequired": "Each new student needs a first and last name.",
  "common.bookingGroupLabel.addStudentsFailed": "Students could not be added.",
  "common.bookingGroupLabel.studentsAdded": "Students added.",
  "common.bookingGroupLabel.studentsAddedCount": ":count students added to the group.",
  "common.bookingGroupLabel.existingStudents": "Existing students",
  "common.bookingGroupLabel.existingStudentsHelp": "Only this agent's students who are not already in the group.",
  "common.bookingGroupLabel.searchExistingStudents": "Search by name, email or ID",
  "common.bookingGroupLabel.newStudents": "New students",
  "common.bookingGroupLabel.addAnotherStudent": "Add another",
  "common.bookingGroupLabel.firstName": "First name",
  "common.bookingGroupLabel.lastName": "Last name",
  "common.bookingGroupLabel.emailAutoGenerate": "Leave blank to generate",
  "common.bookingGroupLabel.removeStudentRow": "Remove student",
  "common.bookingGroupLabel.importCsv": "Import CSV",
  "common.bookingGroupLabel.importStudents": "Import students",
  "common.bookingGroupLabel.importStepFileDescription": "Step 1 of 2 — choose a CSV file with a header row.",
  "common.bookingGroupLabel.importStepMapDescription": "Step 2 of 2 — match your CSV columns to student fields.",
  "common.bookingGroupLabel.importCsvFile": "CSV file",
  "common.bookingGroupLabel.importCsvFileHelp": ".csv or .txt, up to 10 MB.",
  "common.bookingGroupLabel.importDownloadSample": "Download sample CSV",
  "common.bookingGroupLabel.importSkipColumn": "Don't import",
  "common.bookingGroupLabel.importMatchingHelp": "Rows whose email matches an existing contact are attached to the group; others are created. Blank emails are generated.",
  "common.bookingGroupLabel.importNext": "Next",
  "common.bookingGroupLabel.importing": "Importing...",
  "common.bookingGroupLabel.importChooseFile": "Choose a CSV file first.",
  "common.bookingGroupLabel.importFileTooLarge": "The file is larger than 10 MB.",
  "common.bookingGroupLabel.importNoHeaders": "No header row was found in this file.",
  "common.bookingGroupLabel.importReadFailed": "The file could not be read.",
  "common.bookingGroupLabel.importNameMappingRequired": "Match the first name and last name columns.",
  "common.bookingGroupLabel.importCompleted": "Import complete: :added created, :attached existing contacts attached.",
  "common.bookingGroupLabel.importFailed": "The import failed.",
  "common.bookingGroupLabel.importField.first_name": "First name",
  "common.bookingGroupLabel.importField.last_name": "Last name",
  "common.bookingGroupLabel.importField.email": "Email",
  "common.bookingGroupLabel.importField.phone": "Phone",
  "common.bookingGroupLabel.importField.date_of_birth": "Date of birth",
  "common.bookingGroupLabel.importField.address": "Address",
  "common.bookingGroupLabel.importField.city": "City",
  "common.bookingGroupLabel.importField.country": "Country",
  "common.bookingGroupLabel.importField.postal_code": "Postal code",
  "common.bookingGroupLabel.importField.contact_type": "Contact type",
  "common.bookingGroupLabel.importField.campus": "Campus",
  "common.generateQuoteLabel.title": "Generate quote",
  "common.generateQuoteLabel.description": "Choose a quote builder to open the booking builder for this contact.",
  "common.generateQuoteLabel.contact": "Contact",
  "common.generateQuoteLabel.quoteBuilder": "Quote builder",
  "common.generateQuoteLabel.selectQuoteBuilder": "Select a quote builder",
  "common.generateQuoteLabel.noQuoteBuilders": "No quote builders are set up yet.",
  "common.generateQuoteLabel.loading": "Loading quote builders...",
  "common.generateQuoteLabel.loadFailed": "Unable to load quote builders. Please try again.",
  "common.generateQuoteLabel.submit": "Generate quote",
  "common.generateQuoteLabel.generating": "Generating...",
  "common.generateQuoteLabel.opened": "Booking builder opened in a new tab.",
  "common.generateQuoteLabel.failed": "The quote could not be generated.",
  "common.generateQuoteLabel.assignAgent": "Assign to agent",
  "common.generateQuoteLabel.selectAgent": "Select an agent",
  "common.generateQuoteLabel.assignAgentHelp": "Optional. Assigns this contact to the agent; leave empty to keep the current agent.",
  "common.bookingLabel.delete": "Delete booking",
  "common.bookingLabel.deleteConfirm": "Delete this booking? It has no application and no invoice. This cannot be undone from the profile.",
  "common.bookingLabel.deleted": "Booking deleted.",
  "common.bookingLabel.deleteHasApplication": "This booking has an application. Delete the application instead.",
  "common.bookingLabel.deleteHasInvoices": "This booking has invoices and can't be deleted."
  ,
  "common.campusNumbersLabel.pageTitle": "Campus numbers",
  "common.campusNumbersLabel.pageDescription": "Configure campus voice and SMS numbers, routing, and inbound SMS behavior.",
  "common.campusNumbersLabel.navTitle": "Campus numbers",
  "common.campusNumbersLabel.sectionNumbers": "Numbers",
  "common.campusNumbersLabel.sectionVoice": "Voice",
  "common.campusNumbersLabel.sectionVoiceHelp": "The number people call, and whether those calls enter the campus queue or forward to the phone system.",
  "common.campusNumbersLabel.sectionSms": "Text messages",
  "common.campusNumbersLabel.sectionSmsHelp": "The number people text, how those messages are stored, and where a call to this number is forwarded.",
  "common.campusNumbersLabel.tabTitle": "Campus Call Center",
  "common.campusNumbersLabel.campus": "Campus",
  "common.campusNumbersLabel.voiceNumber": "Voice number",
  "common.campusNumbersLabel.smsNumber": "SMS number",
  "common.campusNumbersLabel.voiceDestination": "Voice destination",
  "common.campusNumbersLabel.routingMode.title": "Routing mode",
  "common.campusNumbersLabel.routingMode.pbx": "PBX (forward only)",
  "common.campusNumbersLabel.routingMode.hemspQueue": "HEM‑SP queue",
  "common.campusNumbersLabel.inboundSmsMode.title": "Inbound SMS mode",
  "common.campusNumbersLabel.inboundMode.storeAssign": "Store + assign only",
  "common.campusNumbersLabel.inboundMode.fireIncomingSms": "Store + fire IncomingSms",
  "common.campusNumbersLabel.lastForwardResult": "Last forward result",
  "common.campusNumbersLabel.noForwardsYet": "No forwards yet",
  "common.campusNumbersLabel.voiceNumberHelp": "This is the number Twilio posts as To. A Twilio-verified caller ID does not enter the queue. A landline reaches the queue only after the phone company forwards it to this Twilio number, or the landline is ported onto Twilio. Set this number's Voice webhook to the incoming voice webhook before saving it. HEM-SP queue answers it in the campus queue. PBX forwards it to the Twilio call-from number.",
  "common.campusNumbersLabel.outboundCallerIdHelp": "This number is the outbound caller ID. Verifying it does not receive inbound Call Center calls. It can differ from the campus voice number.",
  "common.campusNumbersLabel.additionalVoiceTitle": "Additional voice numbers",
  "common.campusNumbersLabel.additionalVoiceHelp": "Each added number uses HEM-SP queue on this same campus. The first voice number stays the after-hours number. Outbound caller ID stays the Twilio Click to Call campus number.",
  "common.campusNumbersLabel.additionalVoiceOff": "Additional voice numbers are off for this school. Numbers already saved still ring.",
  "common.campusNumbersLabel.addVoiceLine": "Add voice number",
  "common.campusNumbersLabel.removeVoiceLine": "Remove",
  "common.campusNumbersLabel.additionalVoicePlaceholder": "+14165551237",
  "common.campusNumbersLabel.additionalVoiceAdded": "Voice number added.",
  "common.campusNumbersLabel.additionalVoiceRemoved": "Voice number removed.",
  "common.campusNumbersLabel.additionalVoiceDisabled": "Additional voice numbers are turned off.",
  "common.campusNumbersLabel.additionalVoiceNeedsPrimary": "Save the campus voice number first.",
  "common.campusNumbersLabel.additionalVoiceIsPrimary": "That number is already the campus voice number.",
  "common.campusNumbersLabel.additionalVoicePrimaryLocked": "The first voice number stays on the form above.",
  "common.campusNumbersLabel.smsNumberHelp": "E.164 number for inbound texts. Messages are stored on this campus, and replies in that thread must be sent from this number.",
  "common.campusNumbersLabel.voiceDestinationHelp": "Where a call to the SMS number is forwarded. Leave empty to use the Twilio call-from number. It cannot be the SMS number.",
  "common.campusNumbersLabel.routingMode.help": "HEM-SP queue answers the voice number in the campus queue. PBX forwards that voice number to the Twilio call-from number.",
  "common.campusNumbersLabel.inboundSmsMode.help": "Store + assign only saves the text. Store + fire IncomingSms also runs that automation when one student matches.",
  "common.campusNumbersLabel.queue.ringTimeoutHelp": "Seconds one Call Center Agent rings before the offer moves to the next one. This is the length of one ring, not the total wait. Used when routing is HEM-SP queue.",
  "common.campusNumbersLabel.queue.maxOffersHelp": "How many Call Center Agents on this campus are offered the call. After this many misses or declines, the call overflows even if max wait has not been reached. Used when routing is HEM-SP queue.",
  "common.campusNumbersLabel.queue.maxWaitHelp": "Total seconds the caller can stay on this campus, including hold time when no Call Center Agent is free. This is not ring timeout multiplied by max offers. The call overflows when this time or max offers is reached, whichever comes first. Used when routing is HEM-SP queue.",
  "common.campusNumbersLabel.queue.overflowCampusHelp": "The one other campus that receives the call when max offers or max wait is reached, whichever comes first. It is tried once and cannot be this campus.",
  "common.campusNumbersLabel.queue.title": "Queue",
  "common.campusNumbersLabel.queue.help": "Ring timeout is how long one Call Center Agent rings. Max offers is how many are tried. Max wait is the total time on this campus, including hold when no one is free. The call goes to the overflow campus when max offers or max wait is reached, whichever comes first.",
  "common.campusNumbersLabel.queue.ringTimeout": "Ring timeout (s)",
  "common.campusNumbersLabel.queue.maxOffers": "Max offers",
  "common.campusNumbersLabel.queue.maxWait": "Max wait (s)",
  "common.campusNumbersLabel.queue.overflowCampus": "Overflow to team (campus)",
  "common.campusNumbersLabel.queue.overflowCannotSelf": "Overflow campus cannot be the same campus.",
  "common.campusNumbersLabel.queue.overflowNotFound": "Selected overflow campus was not found.",
  "common.campusNumbersLabel.queue.overflowLoop": "Overflow cannot point back to the originating campus.",
  "common.campusNumbersLabel.destinationSelf": "The voice destination cannot be this campus SMS number.",
  "common.campusNumbersLabel.destinationLoop": "That voice destination creates a routing loop.",
  "common.campusNumbersLabel.numberInvalid": "Enter a number in E.164, such as +14165551234.",
  "common.campusNumbersLabel.numberDuplicate": "The voice number and the SMS number must be different.",
  "common.campusNumbersLabel.numberTaken": "That number is already used by a campus.",
  "common.campusNumbersLabel.numberRequired": "Enter this number.",
  "common.campusLabel.afterHoursClosedWeek": "Every day is closed. Calls use the after-hours path until a day is open.",
  "common.designSystemLabel.save": "Save",
  "common.designSystemLabel.saving": "Saving…",
  "common.designSystemLabel.saved": "Saved",
  "common.callCenterLabel.campus": "Campus",
  "common.callCenterLabel.from": "From",
  "common.callCenterLabel.dialed": "Dialed",
  "common.callCenterLabel.queueWait": "Queue wait",
  "common.callCenterLabel.contactWait": "Waiting",
  "common.callCenterLabel.withheldNumber": "Withheld number",
  "common.callCenterLabel.requestBreak": "Request break",
  "common.callLogLabel.incomingCall": "Incoming call",
  "common.portalLabel.requestPhoneCall": "Request a Phone Call",
  "common.portalLabel.callStatusPending": "Pending",
  "common.portalLabel.callConnectingAdvisor": "Connecting you with one of our advisors.",
  "common.portalLabel.callStatusUnavailable": "No advisor is available right now.",
  "common.portalLabel.callWeWillContact": "We will contact you shortly.",
  "common.portalLabel.yourName": "Your Name",
  "common.portalLabel.yourEmail": "Your Email",
  "common.portalLabel.yourPhone": "Your Phone",
  "common.portalLabel.embedConsentText": "I agree to receive communications from :school",
  "common.portalLabel.connect": "CONNECT",
  "common.portalLabel.close": "Close",
  "common.contactLabel.timezoneCurrentTime": "Current time: :time",
  "common.pluginLabel.callcenter.category": "Call Center",
  "common.pluginLabel.callcenter.title": "Call Center",
  "common.pluginLabel.callcenter.description": "Queue, supervisor, Speak to Us, and Twilio webhook addresses for this school.",
  "common.pluginLabel.callcenter.ringTimeout": "Ring timeout",
  "common.pluginLabel.callcenter.ringTimeoutHelper": "Seconds one Call Center Agent rings before the offer moves to the next one. This is the length of one ring, not the total wait.",
  "common.pluginLabel.callcenter.maxOffers": "Maximum offers",
  "common.pluginLabel.callcenter.maxOffersHelper": "How many Call Center Agents are offered one queued call. After this many misses or declines, the call overflows even if max wait has not been reached.",
  "common.pluginLabel.callcenter.maxWait": "Maximum wait",
  "common.pluginLabel.callcenter.maxWaitHelper": "Total seconds a caller can stay in the queue, including hold time when no Call Center Agent is free. This is not ring timeout multiplied by max offers. The call overflows when this time or max offers is reached, whichever comes first.",
  "common.pluginLabel.callcenter.supervisorPollIntervalMs": "Supervisor refresh",
  "common.pluginLabel.callcenter.supervisorPollIntervalMsHelper": "How often the live voice page refreshes, in milliseconds.",
  "common.pluginLabel.callcenter.alertCooldownSeconds": "Alert quiet period",
  "common.pluginLabel.callcenter.alertCooldownSecondsHelper": "Seconds to wait before a cleared supervisor alert can open again.",
  "common.pluginLabel.callcenter.maxCallbackAttempts": "Callback attempts",
  "common.pluginLabel.callcenter.maxCallbackAttemptsHelper": "No-answer and failed tries after a reschedule before a callback is marked unresolved. Reaching someone or closing the task is separate.",
  "common.pluginLabel.callcenter.recordingRetentionDays": "Recording retention days",
  "common.pluginLabel.callcenter.recordingRetentionDaysHelper": "Days a recording can be played. Zero keeps playback until someone removes access.",
  "common.pluginLabel.callcenter.recordingPlaybackTtlMinutes": "Playback link minutes",
  "common.pluginLabel.callcenter.recordingPlaybackTtlMinutesHelper": "How long a playback link stays valid.",
  "common.pluginLabel.callcenter.supervisorHistoryMaxDays": "History window",
  "common.pluginLabel.callcenter.supervisorHistoryMaxDaysHelper": "Longest date range the historical voice report allows, in days.",
  "common.pluginLabel.callcenter.speakToUsRateLimit": "Speak to Us limit",
  "common.pluginLabel.callcenter.speakToUsRateLimitHelper": "How many Speak to Us requests one visitor can send per minute.",
  "common.pluginLabel.callcenter.webhookAuthEnabled": "Require Twilio signatures",
  "common.pluginLabel.callcenter.webhookAuthEnabledHelper": "When on, inbound Twilio webhooks must have a valid signature. Leave off until a real signature has been checked for this school.",
  "common.pluginLabel.callcenter.incomingCallUrl": "Incoming voice webhook",
  "common.pluginLabel.callcenter.incomingCallUrlHelper": "Paste this into the Twilio number's \"A call comes in\" webhook. Use HTTP POST.",
  "common.pluginLabel.callcenter.incomingSmsUrl": "Incoming SMS webhook",
  "common.pluginLabel.callcenter.incomingSmsUrlHelper": "Paste this into the Twilio number's \"A message comes in\" webhook.",
  "common.pluginLabel.callcenter.smsStatusCallbackUrl": "SMS status callback",
  "common.pluginLabel.callcenter.smsStatusCallbackUrlHelper": "Paste this into the Twilio number's SMS status callback.",
  "common.pluginLabel.callcenter.callHoldUrl": "Queue hold webhook",
  "common.pluginLabel.callcenter.callHoldUrlHelper": "HEM-SP sends this address to Twilio while the caller waits.",
  "common.pluginLabel.callcenter.callOfferActionUrl": "Offer result webhook",
  "common.pluginLabel.callcenter.callOfferActionUrlHelper": "HEM-SP sends this address to Twilio when an agent offer finishes.",
  "common.pluginLabel.callcenter.callOfferStatusUrl": "Offer status webhook",
  "common.pluginLabel.callcenter.callOfferStatusUrlHelper": "HEM-SP sends this address to Twilio when the agent leg is answered or completed.",
  "common.pluginLabel.callcenter.callCallbackAcceptUrl": "Callback accept webhook",
  "common.pluginLabel.callcenter.callCallbackAcceptUrlHelper": "HEM-SP sends this address to Twilio when the caller accepts a queued callback.",
  "common.pluginLabel.callcenter.callWebsiteStatusUrl": "Speak to Us status webhook",
  "common.pluginLabel.callcenter.callWebsiteStatusUrlHelper": "HEM-SP sends this address to Twilio with the status of a Speak to Us call.",
  "common.pluginLabel.callcenter.integerInvalid": "Enter a whole number in the allowed range.",
  "common.pluginLabel.callcenter.booleanInvalid": "Choose on or off.",
  "common.pluginLabel.callcenter.requireWrapUpOutcome": "Require a call outcome",
  "common.pluginLabel.callcenter.requireWrapUpOutcomeHelper": "When on, an agent must choose a call outcome before finishing queue wrap-up. Closing a callback task does not count as reaching the caller.",
  "common.pluginLabel.callcenter.browserSoftphoneEnabled": "Browser softphone",
  "common.pluginLabel.callcenter.browserSoftphoneEnabledHelper": "When on, a browser-answer agent is offered a call only after that browser is registered. The same offer is never dialed on the phone as well. When off, answer-in-browser still dials the browser identity.",
  "common.pluginLabel.callcenter.inboundOwnerPriorityEnabled": "Route to contact owner first",
  "common.pluginLabel.callcenter.inboundOwnerPriorityEnabledHelper": "When on, a known caller with one matched contact is offered first to that contact's owner when the owner is an eligible Call Center Agent on the queue campus. Otherwise the queue uses longest-idle among eligible agents.",
  "common.pluginLabel.callcenter.routingShadowEnabled": "Routing shadow log",
  "common.pluginLabel.callcenter.routingShadowEnabledHelper": "When on, each offer writes a comparison log with campus, queue, and agent ids. It does not change who is dialed. Leave off unless you are checking the routing explanation.",
  "common.pluginLabel.callcenter.routingFallbackPolicyEnabled": "Routing fallback policy",
  "common.pluginLabel.callcenter.routingFallbackPolicyEnabledHelper": "When off, a caller with no eligible agent keeps holding until the queue limits, then one overflow campus, then the assistant or a recording. Turn this on before the early no-agent fallback can run.",
  "common.pluginLabel.callcenter.noEligibleAgentsFallbackEnabled": "Leave the queue when nobody is eligible",
  "common.pluginLabel.callcenter.noEligibleAgentsFallbackEnabledHelper": "When this and the routing fallback policy are on, a caller is sent to the after-hours assistant, or to the message and recording, as soon as no eligible agent is free. When off, the caller keeps holding until the queue limits.",
  "common.pluginLabel.callcenter.aiCoverageCorrelationEnabled": "Record AI handoff",
  "common.pluginLabel.callcenter.aiCoverageCorrelationEnabledHelper": "When on, each after-hours or queue handoff stores one outcome for that call. The caller still hears the same assistant or the same message and recording. When off, nothing extra is stored.",
  "common.pluginLabel.callcenter.outboundCampaignsEnabled": "Outbound campaigns",
  "common.pluginLabel.callcenter.outboundCampaignsEnabledHelper": "When on, Preview and Progressive campaigns can claim contacts. When off, drafts stay and no new campaign call is claimed. Inbound routing is unchanged.",
  "common.pluginLabel.callcenter.outboundAiEnabled": "Outbound AI review",
  "common.pluginLabel.callcenter.outboundAiEnabledHelper": "When on, an AI campaign can be checked for persona and consent. It still does not start a voice session until runtime approval exists. When off, AI launch stays blocked.",
  "common.pluginLabel.callcenter.predictiveDialingEnabled": "Predictive pacing estimate",
  "common.pluginLabel.callcenter.predictiveDialingEnabledHelper": "When on, a campaign can show a pacing estimate. The estimate never places a call. Predictive launch stays blocked.",
  "common.pluginLabel.callcenter.multipleVoiceNumbersEnabled": "Several voice numbers",
  "common.pluginLabel.callcenter.multipleVoiceNumbersEnabledHelper": "When on, a campus can add more Twilio voice numbers to the same queue. The first voice number stays the after-hours number.",
  "common.pluginLabel.callcenter.holdForBusyAgentsEnabled": "Hold while Call Center Agents are busy",
  "common.pluginLabel.callcenter.holdForBusyAgentsEnabledHelper": "When on, a caller keeps holding while a Call Center Agent on this campus is on a call, wrapping up, or on an outbound campaign. Break, offline, and an unregistered browser still leave the queue.",
  "common.userLabel.tabCallCenter": "Call Center",
  "common.userLabel.tabWorkingHours": "Working hours",
  "common.userLabel.tabVacations": "Vacations",
  "common.userLabel.callCenterTitle": "Call Center",
  "common.userLabel.callCenterHelp": "This user can sign in as a Call Center Agent. Several Call Center Agents can share this same email. They also need to be Available, cover the campus, and be inside working hours when hours are set.",
  "common.userLabel.takesCalls": "Takes calls",
  "common.userLabel.takesCallsHelp": "Off leaves this person out of the queue. Their hours and vacations stay saved.",
  "common.userLabel.ringPhone": "Ring phone",
  "common.userLabel.ringPhoneHelp": "The number Twilio dials, including the country code.",
  "common.userLabel.callCampuses": "Campuses",
  "common.userLabel.callCampusesHelp": "This person receives Call Me requests only for these campuses.",
  "common.userLabel.callStatus": "Status",
  "common.userLabel.callStatusHelp": "Available is what starts a live call. A missed call leaves them on Break until you set Available again.",
  "common.userLabel.workingHoursTitle": "Working hours",
  "common.userLabel.workingHoursHelp": "These hours start from this user's campus. Saving replaces them for this person. Until you save, calls follow the campus hours. If the campus has no hours yet, the clock does not limit calls.",
  "common.userLabel.workingHoursClosedWeek": "A fully closed week takes this person off calls until a day is open.",
  "common.userLabel.vacationsTitle": "Vacations",
  "common.userLabel.vacationsHelp": "These dates start as this user's campus holidays. Saving replaces them for this person. Until you save, calls follow those campus holidays.",
  "common.userLabel.vacationName": "Name",
  "common.userLabel.vacationRange": "Dates",
  "common.userLabel.addVacation": "Add vacation",
  "common.userLabel.vacationsEmpty": "No vacations yet.",
  "common.userLabel.vacationItem": "Vacation :number",
  "common.userLabel.removeVacation": "Remove vacation",
  "common.userLabel.callCenterSaved": "Call Center settings saved.",
  "common.userLabel.workingHoursSaved": "Working hours saved.",
  "common.userLabel.vacationsSaved": "Vacations saved.",
  "common.userLabel.callSetupRequired": "Save a ring phone and at least one campus on the Call Center tab first.",
  "common.userLabel.callPhoneInvalid": "Enter a phone number with the country code.",
  "common.userLabel.callCampusRequired": "Select at least one campus.",
  "common.userLabel.callStatusInvalid": "That status change is not allowed right now.",
  "common.userLabel.callHoursInvalid": "Check the working hours. Each start must be before the end, and hours on the same day cannot overlap.",
  "common.userLabel.callVacationInvalid": "Each vacation needs a name and a date range that ends on or after it starts.",
  "common.userLabel.callUnavailable": "Reload the page so this school can finish the Call Center update, then try again.",
  "common.studentWeekLabel.reportType": "Student-week study plan",
  "common.studentWeekLabel.filters": "Student-week filters",
  "common.studentWeekLabel.studyPeriod": "Study period",
  "common.studentWeekLabel.channel": "Booking channel",
  "common.studentWeekLabel.direct": "Direct",
  "common.studentWeekLabel.agency": "Agency",
  "common.studentWeekLabel.group": "Group",
  "common.studentWeekLabel.confirmedStudentWeeks": "Confirmed student-weeks",
  "common.studentWeekLabel.uniqueStudents": "Unique students",
  "common.studentWeekLabel.courseBookingWeeks": "Course booking weeks",
  "common.studentWeekLabel.peakStudents": "Peak weekly students",
  "common.studentWeekLabel.weeklyStudyPlan": "Weekly study plan",
  "common.studentWeekLabel.exportCsv": "Export CSV",
  "common.studentWeekLabel.students": "students",
  "common.studentWeekLabel.studentWeeks": "student-weeks",
  "common.studentWeekLabel.courseWeeks": "course weeks",
  "common.studentWeekLabel.starts": "starts",
  "common.studentWeekLabel.finishes": "finishes",
  "common.studentWeekLabel.loadFailed": "The student-week study plan could not be loaded.",
  "common.studentWeekLabel.staleResults": "The last successful results remain visible and may be stale.",
  "common.studentWeekLabel.noResults": "No eligible confirmed bookings overlap this study period.",
  "common.studentWeekLabel.unknownCourse": "Unknown course",
  "common.studentWeekLabel.calculationMetadata": "Calculation :calculation · Calendar :calendar · School timezone :timezone",
  "common.studentWeekLabel.statusMappingPending": "Confirmed demand uses participant bookings whose current submission status is Confirmed or Confirmed booking, plus group quotes in Confirmed status. Draft, Submitted, Locked, Ready for payment and Received booking remain pipeline demand. Operations must approve this mapping before production rollout.",
  "common.studentWeekLabel.calendarPending": "Calculations currently use Monday–Friday and five eligible days per week. Holidays, breaks, weekend and part-time calendars still require an approved versioned policy.",
  "common.studentWeekLabel.deliveryUnavailable": "Delivered student-weeks are unavailable until an authoritative lesson-delivery signal is approved. Elapsed dates and missing attendance are not treated as delivery or absence.",
  "common.studentWeekLabel.historyUnavailable": "Historical booking position and movement reporting remain unavailable until complete booking events or snapshots are retained. Current booking data is not presented as historical state.",
  "common.studentWeekLabel.exception.unconfirmed_status": "Bookings excluded because their operational status is not confirmed",
  "common.studentWeekLabel.exception.missing_student": "Confirmed bookings whose participant contact is missing or archived",
  "common.studentWeekLabel.exception.missing_study_dates": "Confirmed bookings missing study dates",
  "common.studentWeekLabel.exception.invalid_study_dates": "Bookings with invalid study dates",
  "common.studentWeekLabel.exception.missing_campus": "Confirmed bookings missing a campus",
  "common.studentWeekLabel.exception.missing_course": "Confirmed bookings missing a course",
  "common.studentWeekLabel.exception.unresolved_group_roster": "Group quotes where expected students exceed known roster participants"
  ,"common.studentWeekLabel.exception.unresolved_group_forecast": "Draft group quotes with expected seats but no known participant identities; excluded from forecast totals"
  ,"common.studentWeekLabel.exception.overlapping_campus_allocation": "Student study dates allocated to more than one campus; counted once in the all-campus total"
  ,"common.studentWeekLabel.overview": "Overview"
  ,"common.studentWeekLabel.movements": "Weeks sold & movements"
  ,"common.studentWeekLabel.delivered": "Delivered study"
  ,"common.studentWeekLabel.forecast": "Forecast scenarios"
  ,"common.studentWeekLabel.definitions": "Definitions"
  ,"common.studentWeekLabel.reportTabs": "Student-week reports"
  ,"common.studentWeekLabel.confirmedFutureWeeks": "Confirmed future weeks"
  ,"common.studentWeekLabel.confirmedFutureHint": "Unique scheduled student-weeks in the selected study period"
  ,"common.studentWeekLabel.peakHint": "Highest distinct confirmed student count in one reporting week"
  ,"common.studentWeekLabel.courseWeeksHint": "Concurrent course bookings remain separate"
  ,"common.studentWeekLabel.uniqueStudentsHint": "Distinct students across the complete selected period"
  ,"common.studentWeekLabel.confirmedDemand": "Confirmed study demand"
  ,"common.studentWeekLabel.demandHelp": "One student is counted once per eligible teaching day."
  ,"common.studentWeekLabel.chartMetric": "Chart measure"
  ,"common.studentWeekLabel.reportingWeeks": "reporting weeks"
  ,"common.studentWeekLabel.byCampus": "Forward weeks by campus"
  ,"common.studentWeekLabel.sameScope": "Uses the same study period and filters"
  ,"common.studentWeekLabel.nonAdditiveNotice": "Campus and course subtotals can be non-additive when the same student overlaps dimensions. The all-campus total is recomputed from distinct student-days."
  ,"common.studentWeekLabel.weeklyPlanningRegister": "Weekly planning register"
  ,"common.studentWeekLabel.registerHelp": "Distinct demand, course volume, starts and finishes"
  ,"common.studentWeekLabel.viewFullReport": "View full report"
  ,"common.studentWeekLabel.weekCommencing": "Week commencing"
  ,"common.studentWeekLabel.startsFinishes": "Course starts and finishes"
  ,"common.studentWeekLabel.movementsUnavailableTitle": "Booking movements are not yet available"
  ,"common.studentWeekLabel.deliveryUnavailableTitle": "Delivered study is not yet available"
  ,"common.studentWeekLabel.forecastUnavailableTitle": "Forecast scenarios are not yet available"
  ,"common.studentWeekLabel.forecastUnavailable": "Forecast probabilities require validated quote history and approved conversion assumptions. Confirmed demand remains visible and is never weighted."
  ,"common.studentWeekLabel.confirmedBaseline": "Current confirmed baseline: :weeks student-weeks."
  ,"common.studentWeekLabel.definitionStudentWeeks": "The union of each student's eligible confirmed study dates divided by five. Concurrent courses do not double-count the student."
  ,"common.studentWeekLabel.definitionCourseWeeks": "Eligible study dates for every canonical course booking divided by five. Concurrent courses remain separate commercial volume."
  ,"common.studentWeekLabel.definitionStudents": "Distinct authorized student IDs with eligible confirmed study overlapping the selected period."
  ,"common.studentWeekLabel.definitionStartsFinishes": "Distinct students whose qualifying course booking starts or finishes within the reporting week; these are course entries and exits, not travel dates."
  ,"common.studentWeekLabel.provisionalRules": "Provisional calculation rules"
  ,"common.studentWeekLabel.scopeStatus": ":bookings bookings in scope · school timezone: :timezone"
  ,"common.studentWeekLabel.unknownCampus": "Unknown campus"
  ,"common.studentWeekLabel.salesPeriod": "Sales event period"
  ,"common.studentWeekLabel.quotedProbability": "Quoted demand probability"
  ,"common.studentWeekLabel.confirmedBaselineLabel": "Confirmed baseline"
  ,"common.studentWeekLabel.scenarioExpected": "Scenario expected demand"
  ,"common.studentWeekLabel.movementEvents": "Traceable movement events"
  ,"common.studentWeekLabel.positiveCourseMovement": "Added course weeks"
  ,"common.studentWeekLabel.negativeCourseMovement": "Removed course weeks"
  ,"common.studentWeekLabel.netCourseMovement": "Net course-week movement"
  ,"common.studentWeekLabel.movementCoverageNotice": "Retained audit data is incomplete. :coverage% of current in-scope bookings had an audit record in this sales period, so these movements must not be treated as the complete historical booking position."
  ,"common.studentWeekLabel.movementLedger": "Traceable booking schedule movements"
  ,"common.studentWeekLabel.recordedAt": "Recorded at"
  ,"common.studentWeekLabel.movementType": "Movement"
  ,"common.studentWeekLabel.courseWeekDelta": "Course-week change"
  ,"common.studentWeekLabel.beforeAfterDates": "Study dates before → after"
  ,"common.studentWeekLabel.movementType_extension": "Extension"
  ,"common.studentWeekLabel.movementType_addition": "Addition"
  ,"common.studentWeekLabel.movementType_reduction": "Reduction"
  ,"common.studentWeekLabel.movementType_cancellation": "Cancellation"
  ,"common.studentWeekLabel.movementType_correction": "Date correction"
  ,"common.studentWeekLabel.noTraceableMovements": "No traceable schedule movements were retained for the selected sales period."
  ,"common.studentWeekLabel.scheduledLessons": "Scheduled lessons"
  ,"common.studentWeekLabel.lessonsWithAttendance": "Lessons with attendance evidence"
  ,"common.studentWeekLabel.attendanceRecords": "Attendance records"
  ,"common.studentWeekLabel.deliveryEvidencePending": "Delivered student-weeks remain unavailable"
  ,"common.studentWeekLabel.deliveryEvidenceAvailable": "Delivered student-weeks supported by attendance registers"
  ,"common.studentWeekLabel.deliveryEvidenceBasis": "Counts distinct student and lesson dates with a retained attendance-register row. Missing register rows remain unknown and are never treated as absence or delivery."
  ,"common.studentWeekLabel.quotedUnweighted": "Quoted demand (unweighted)"
  ,"common.studentWeekLabel.additionalExpected": "Additional expected demand"
  ,"common.studentWeekLabel.forecastDemand": "Confirmed and scenario demand"
  ,"common.studentWeekLabel.forecastMethodNotice": "The :rate% assumption applies to :bookings draft quoted bookings and is an editable scenario, not an approved conversion rate. Overlapping student-days use the highest applicable weight."
  ,"common.studentWeekLabel.confirmedRealization": "Confirmed realization"
  ,"common.studentWeekLabel.scheduledStudentWeeks": "Scheduled student-weeks"
  ,"common.studentWeekLabel.netWeeksSold": "Net weeks sold"
  ,"common.studentWeekLabel.netWeeksSoldPartial": ":events retained events currently show a net :net course-week movement. Complete distinct student-week sales history is unavailable."
  ,"common.studentWeekLabel.viewMovements": "View movements"
  ,"common.studentWeekLabel.deliveredStudentWeeks": "Delivered student-weeks"
  ,"common.studentWeekLabel.deliveredUnavailableShort": "Unavailable until an authoritative delivered-service source is approved; scheduled or elapsed study is not relabelled as delivery."
  ,"common.studentWeekLabel.viewDeliveryEvidence": "View evidence"
  ,"common.studentWeekLabel.bookingPace": "Booking pace"
  ,"common.studentWeekLabel.bookingPaceUnavailable": "Same-position comparison is unavailable. Retained booking audit history begins at :date and is not a complete historical position."
  ,"common.studentWeekLabel.historyCoverage": "Retained history coverage"
  ,"common.studentWeekLabel.historyCoverageHelp": ":coverage% of current in-scope bookings had an audit record in the selected sales period. Earliest retained booking audit: :date."
  ,"common.studentWeekLabel.unknownHistoryStart": "unknown"
  ,"common.studentWeekLabel.forecastAssumptions": "Forecast assumptions"
  ,"common.studentWeekLabel.forecastAssumptionsHelp": "Use a preset or edit the two rates in Filters. Confirmed demand remains separately visible and source bookings are never changed."
  ,"common.studentWeekLabel.forecastPreset_conservative": "Conservative"
  ,"common.studentWeekLabel.forecastPreset_base": "Base"
  ,"common.studentWeekLabel.forecastPreset_upside": "Upside"
  ,"common.studentWeekLabel.scenarioChange": "Scenario change"
  ,"common.studentWeekLabel.pipelineExpected": "Weighted pipeline component"
  ,"common.studentWeekLabel.forecastWeeklyRegister": "Weekly scenario register"
  ,"common.studentWeekLabel.forecastWeeklyHelp": "Expected student-weeks are scenario values, not fractional student records."
  ,"common.studentWeekLabel.positiveWeekMovements": "Positive week movements"
  ,"common.studentWeekLabel.negativeWeekMovements": "Negative week movements"
  ,"common.studentWeekLabel.netStudentWeeksSold": "Net student-weeks sold"
  ,"common.studentWeekLabel.netCourseWeeksSold": "Net course-weeks sold"
  ,"common.studentWeekLabel.bookingMovementLedger": "Booking movement ledger"
  ,"common.studentWeekLabel.eventDate": "Event date"
  ,"common.studentWeekLabel.booking": "Booking"
  ,"common.studentWeekLabel.bookings": "bookings"
  ,"common.studentWeekLabel.viewBookings": "View bookings"
  ,"common.studentWeekLabel.studyStart": "Study start"
  ,"common.studentWeekLabel.studyEnd": "Study end"
  ,"common.studentWeekLabel.studentWeekDelta": "Student-week Δ"
  ,"common.studentWeekLabel.auditEarlierPosition": "Audit an earlier position"
  ,"common.studentWeekLabel.auditEarlierPositionHelp": ":coverage% of current in-scope bookings have retained audit evidence in this sales period. The earliest retained booking audit is :date; an earlier complete booking position cannot be reconstructed from current data."
  ,"common.studentWeekLabel.confirmedForwardWeeks": "Confirmed forward weeks"
  ,"common.studentWeekLabel.peakConfirmedStudents": "Peak confirmed students"
  ,"common.studentWeekLabel.scheduledStudentWeeksHint": "Distinct confirmed student-weeks scheduled inside the selected study period"
  ,"common.studentWeekLabel.positiveWeekMovementsHint": "Distinct student-weeks added by the traceable booking events in the selected sales period"
  ,"common.studentWeekLabel.negativeWeekMovementsHint": "Distinct student-weeks removed by the traceable booking events in the selected sales period"
  ,"common.studentWeekLabel.netStudentWeeksSoldHint": "Positive student-week movements minus negative student-week movements"
  ,"common.studentWeekLabel.netCourseWeeksSoldHint": "The signed course-week change across traceable booking events"
  ,"common.studentWeekLabel.confirmedForwardWeeksHint": "Confirmed distinct student-weeks in the selected future study period"
  ,"common.studentWeekLabel.scenarioExpectedHint": "Confirmed demand plus probability-weighted pipeline demand without changing source bookings"
  ,"common.studentWeekLabel.scenarioChangeHint": "Difference between scenario-expected demand and the confirmed baseline"
  ,"common.studentWeekLabel.peakConfirmedStudentsHint": "Contacts studying in the reporting week with the highest confirmed student count"
  ,"common.studentWeekLabel.reportingExceptions": "Reporting exceptions"
  ,"common.studentWeekLabel.reportingExceptionsHelp": "Known totals remain valid for eligible records. These authorized-source exceptions identify records that were excluded or overlapping allocations that need operational review; records without usable study dates cannot be limited reliably to the selected period.",
  "common.workstationLabel.greeting": "Hello, :name",
  "common.workstationLabel.workspaceLink": "Workspace",
  "common.workstationLabel.teamAdmissions": "Admissions",
  "common.workstationLabel.teamFinance": "Finance",
  "common.workstationLabel.teamStudentServices": "Student Services",
  "common.workstationLabel.teamAcademics": "Academics",
  "common.workstationLabel.teamRegistrar": "Registrar",
  "common.workstationLabel.teamInternational": "International",
  "common.workstationLabel.teamCallCenter": "Call Center",
  "common.workstationLabel.overview": "Overview",
  "common.workstationLabel.queue": "My work queue",
  "common.workstationLabel.yourWork": "Your work",
  "common.workstationLabel.contactsPipeline": "Contacts and pipeline",
  "common.workstationLabel.allModules": "All modules",
  "common.workstationLabel.myWorkspace": "My workspace",
  "common.workstationLabel.teamOverview": "Team overview",
  "common.workstationLabel.campus": "Campus",
  "common.workstationLabel.program": "Program",
  "common.workstationLabel.intake": "Intake",
  "common.workstationLabel.applyFilters": "Apply",
  "common.workstationLabel.resetFilters": "Reset",
  "common.workstationLabel.customize": "Customize",
  "common.workstationLabel.saveLayout": "Save layout",
  "common.workstationLabel.newActivity": "New activity",
  "common.workstationLabel.emptyHome": "Ask an administrator to open this workspace",
  "common.workstationLabel.emptyHomeHint": "Your account is on this team, but you cannot view its records.",
  "common.workstationLabel.emptyHidden": "Every widget on this home is hidden",
  "common.workstationLabel.emptyHiddenHint": "Use Customize to show Contacts and pipeline again.",
  "common.workstationLabel.queueEmpty": "Nothing is waiting in this queue",
  "common.workstationLabel.queueEmptyHint": "Change the scope or the reason filter, or open Contacts and pipeline.",
  "common.workstationLabel.flagOff": "Workstations are turned off for this school.",
  "common.workstationLabel.settingsTitle": "Workstations",
  "common.workstationLabel.settingsEnabled": "Enable workstations",
  "common.workstationLabel.settingsSlugs": "Homes this school can open",
  "common.workstationLabel.settingsDescription": "Turn on a desk for a team. The dashboard stays the school home until someone picks a start page.",
  "common.workstationLabel.startPage": "Start page",
  "common.workstationLabel.startPageSaved": "Start page saved.",
  "common.workstationLabel.workspace": "Workspace",
  "common.workstationLabel.filters": "Filters",
  "common.workstationLabel.all": "All",
  "common.workstationLabel.countUnavailable": "—",
  "common.workstationLabel.prioritiesEmpty": "No ranked work yet",
  "common.workstationLabel.prioritiesEmptyHint": "Counts and the ranked list arrive after this home is turned on for your team.",
  "common.workstationLabel.widgetHidden": "Hidden",
  "common.workstationLabel.widgetShown": "Shown",
  "common.workstationLabel.tile.needs_first_response": "Needs first response",
  "common.workstationLabel.tile.follow_ups_overdue": "Follow-ups overdue",
  "common.workstationLabel.tile.applications_to_unblock": "Applications to unblock",
  "common.workstationLabel.tile.confirmed_enrolled": "Confirmed and enrolled",
  "common.workstationLabel.tile.unassigned": "Unassigned applicants",
  "common.workstationLabel.tile.pipeline_new": "New",
  "common.workstationLabel.tile.pipeline_meeting_held": "Meeting held",
  "common.workstationLabel.tile.pipeline_applied": "Applied",
  "common.workstationLabel.tile.pipeline_confirmed": "Confirmed",
  "common.workstationLabel.tile.pipeline_enrolled": "Enrolled",
  "common.workstationLabel.tile.pipeline_started": "Started",
  "common.workstationLabel.tile.pipeline_other": "Other",
  "common.workstationLabel.tile.finance_overdue": "Overdue",
  "common.workstationLabel.tile.finance_due_soon": "Due this week",
  "common.workstationLabel.tile.finance_nsf": "NSF",
  "common.workstationLabel.tile.funding_to_move": "Funding to move",
  "common.workstationLabel.tile.overdue_tasks": "Overdue tasks",
  "common.workstationLabel.tile.attendance_risk": "Attendance risk",
  "common.workstationLabel.tile.meetings_today": "Meetings today",
  "common.workstationLabel.tile.unread_messages": "Unread messages",
  "common.workstationLabel.tile.unmarked_attendance": "Unmarked attendance",
  "common.workstationLabel.tile.lessons_today": "Lessons today",
  "common.workstationLabel.tile.attendance_exceptions": "Attendance exceptions",
  "common.workstationLabel.tile.registers_overdue": "Registers overdue",
  "common.workstationLabel.tile.registers_partial": "Partial registers",
  "common.workstationLabel.tile.registers_complete": "Complete registers",
  "common.workstationLabel.tile.schedule_conflicts": "Schedule conflicts",
  "common.workstationLabel.tile.missing_lesson_setup": "Missing lesson setup",
  "common.workstationLabel.tile.lessons_this_week": "Lessons this week",
  "common.workstationLabel.tile.priorities": "Your priorities",
  "common.workstationLabel.tile.lessons_schedule": "Today's lessons",
  "common.workstationLabel.reason.registers_overdue": "Register overdue",
  "common.workstationLabel.reason.attendance_exception": "Attendance exception",
  "common.workstationLabel.reason.missing_lesson_setup": "Missing lesson setup",
  "common.workstationLabel.reason.schedule_conflicts": "Schedule conflict",
  "common.workstationLabel.lessonDate": "Lesson date",
  "common.workstationLabel.workDate": "Date",
  "common.workstationLabel.todaysLessons": "Today's lessons",
  "common.workstationLabel.registerDue": "Attendance not submitted",
  "common.workstationLabel.registerSubmitted": "Attendance submitted",
  "common.workstationLabel.lessonFallback": "Lesson #:id",
  "common.workstationLabel.openAcademicsAssistant": "Ask the academic assistant",
  "common.workstationLabel.action.openLesson": "Open lesson",
  "common.workstationLabel.action.reviewAttendance": "Review attendance",
  "common.workstationLabel.action.askAiFollowUp": "Ask AI for a follow-up",
  "common.workstationLabel.action.assignCohort": "Assign a cohort",
  "common.workstationLabel.rowActions": "Row actions",
  "common.workstationLabel.aiPrompt.languageUnknown": "the preferred language on the student profile",
  "common.workstationLabel.aiPrompt.channelUnknown": "the channel of their latest reply",
  "common.workstationLabel.aiPrompt.sentContentUnknown": "(no content from the last staff message is available)",
  "common.workstationLabel.aiPrompt.replyContentUnknown": "(no incoming reply content is available)",
  "common.workstationLabel.aiPrompt.attendanceExceptionFollowUp": "Suggest follow-up actions for :student marked :status on :date. Recommend the next steps (email, call, meeting, or task) and draft the chosen message entirely in :language (this student's preferred language). Do not use the staff interface language.",
  "common.workstationLabel.aiPrompt.unmarkedAttendanceFollowUp": "Help me complete unmarked attendance for :lesson on :date. Suggest how to prioritize taking attendance and a follow-up if the register stays incomplete.",
  "common.workstationLabel.aiPrompt.noCohortFollowUp": "Suggest follow-up actions to place :student in a cohort. Recommend the message and the task needed to finish the placement. Draft any suggested email or SMS entirely in :language (this student's preferred language).",
  "common.workstationLabel.aiPrompt.admissionsFollowUp": "Suggest the best next admissions follow-up for :student. Recommend the channel and timing, then draft the message or task entirely in :language (this student's preferred language). Do not use the staff interface language.",
  "common.workstationLabel.aiPrompt.studentRepliedFollowUp": "Draft a reply and suggest the next admissions follow-up for :student, who just replied on :channel. Preferred language: :language — write the reply entirely in that language (not the staff interface language). Last message sent by staff: :sent_content. Student's latest reply: :reply_content. Prefer staying on :channel unless another channel is clearly better, and recommend the next admissions step.",
  "common.workstationLabel.aiPrompt.unworkedFollowUp": "Help me make first contact with :student. Suggest the best channel and draft a first message plus a follow-up task entirely in :language (this student's preferred language). Do not use the staff interface language.",
  "common.workstationLabel.aiPrompt.followUpOverdueFollowUp": "Create a catch-up plan for the overdue follow-up with :student. Recommend the next contact and timing, and draft the message or task entirely in :language (this student's preferred language). Do not use the staff interface language.",
  "common.workstationLabel.aiPrompt.followUpToScheduleFollowUp": "Help me schedule the next follow-up for :student. Recommend the timing and channel, and draft the message or task to confirm it entirely in :language (this student's preferred language). Do not use the staff interface language.",
  "common.workstationLabel.aiPrompt.applicationBlockerFollowUp": "Help me unblock :student's application. Identify the likely blockers, recommend the next steps, and draft a message if the applicant needs to act, entirely in :language (this student's preferred language). Do not use the staff interface language.",
  "common.workstationLabel.aiPrompt.readyForPaymentFollowUp": "Help me move :student from ready for payment to paid. Suggest a payment follow-up and draft the message or next action entirely in :language (this student's preferred language). Do not use the staff interface language.",
  "common.workstationLabel.aiPrompt.meetingTodayFollowUp": "Help me prepare today's meeting \":meeting\" with :student. Suggest talking points, questions, and a clear follow-up after the meeting. Draft any suggested message entirely in :language (this student's preferred language).",
  "common.workstationLabel.tile.no_cohort": "Students without a cohort",
  "common.workstationLabel.tile.documents_missing": "Documents blocking",
  "common.workstationLabel.tile.envelopes_waiting": "Envelopes waiting",
  "common.workstationLabel.tile.missing_in_view": "Missing documents in this view",
  "common.workstationLabel.tile.permit_documents": "Permit documents",
  "common.workstationLabel.tile.callbacks_due": "Callbacks due",
  "common.workstationLabel.tile.missed_voicemail": "Missed and voicemail",
  "common.workstationLabel.tile.sms_unread": "Unread SMS",
  "common.workstationLabel.tile.sms_failed": "Failed SMS",
  "common.workstationLabel.tile.ai_escalations": "AI escalations",
  "common.workstationLabel.tile.campaign_next": "Next campaign contacts",
  "common.workstationLabel.callbacksList": "Callbacks",
  "common.workstationLabel.voicemailsList": "Voicemail",
  "common.workstationLabel.messagesList": "Messages",
  "common.workstationLabel.missedCallsList": "Missed calls",
  "common.workstationLabel.listEmpty": "Nothing in this date range.",
  "common.workstationLabel.campaignsEmpty": "No campaigns running.",
  "common.workstationLabel.campaignWaiting": ":count ready",
  "common.workstationLabel.tile.meeting_today": "Meeting today",
  "common.workstationLabel.reason.student_replied": "Student replied",
  "common.workstationLabel.reason.unworked": "Needs first response",
  "common.workstationLabel.reason.follow_up_overdue": "Follow-up overdue",
  "common.workstationLabel.reason.follow_up_to_schedule": "Follow-up to schedule",
  "common.workstationLabel.reason.application_blocker": "Application to unblock",
  "common.workstationLabel.reason.ready_for_payment": "Ready for payment",
  "common.workstationLabel.reason.meeting_today": "Meeting today",
  "common.workstationLabel.reason.nsf": "NSF",
  "common.workstationLabel.reason.overdue": "Overdue",
  "common.workstationLabel.reason.funding_waiting": "Funding to move",
  "common.workstationLabel.reason.due_soon": "Due this week",
  "common.workstationLabel.reason.unread_message": "Unread message",
  "common.workstationLabel.reason.attendance_risk": "Attendance risk",
  "common.workstationLabel.reason.unmarked_attendance": "Unmarked attendance",
  "common.workstationLabel.reason.no_cohort": "No cohort",
  "common.workstationLabel.reason.documents_blocking": "Documents blocking",
  "common.workstationLabel.reason.envelope_waiting": "Envelope waiting",
  "common.workstationLabel.reason.document_missing": "Document missing",
  "common.workstationLabel.reason.document_soon": "Document due soon",
  "common.workstationLabel.reason.callback_due": "Callback due",
  "common.workstationLabel.reason.sms_unread": "Unread SMS",
  "common.workstationLabel.reason.voicemail": "Voicemail",
  "common.workstationLabel.reason.missed_call": "Missed call",
  "common.workstationLabel.reason.sms_failed": "Failed SMS",
  "common.workstationLabel.reason.ai_escalation": "AI escalation",
  "common.workstationLabel.reason.campaign_next": "Campaign contact",
  "common.workstationLabel.startQueue": "Start my queue",
  "common.workstationLabel.snapshot": "Pipeline",
  "common.workstationLabel.recordPayment": "Record payment",
  "common.workstationLabel.takeAttendance": "Take attendance",
  "common.workstationLabel.yourAcademicPriorities": "Your academic priorities",
  "common.workstationLabel.academicPrioritiesHint": "Ranked by visible reason · proposed rules",
  "common.workstationLabel.viewAll": "View all",
  "common.workstationLabel.registerNotSubmitted": "Attendance register not submitted",
  "common.workstationLabel.localTime": ":time local",
  "common.workstationLabel.action.reviewSupport": "Review & support",
  "common.workstationLabel.action.takeAttendance": "Take attendance",
  "common.workstationLabel.reason.support_flag": "Needs support",
  "common.workstationLabel.supportAttendanceBelow": "Attendance :percent% < :threshold%",
  "common.workstationLabel.supportAssessmentBelow": "Assessment :percent% < :threshold%",
  "common.workstationLabel.cohortsAtAGlance": "Cohorts at a glance",
  "common.workstationLabel.cohortsAtAGlanceHint": "Academic progress and teaching capacity",
  "common.workstationLabel.tile.cohorts": "Cohorts at a glance",
  "common.workstationLabel.cohortColumn": "Cohort",
  "common.workstationLabel.studentsSeats": "Students / seats",
  "common.workstationLabel.attendanceRate": "Attendance",
  "common.workstationLabel.supportColumn": "Support",
  "common.workstationLabel.incomingCount": ":count incoming",
  "common.workstationLabel.flaggedCount": ":count flagged",
  "common.workstationLabel.cohortsEmpty": "No cohorts in this scope",
  "common.workstationLabel.cohortsEmptyHint": "Active cohorts on the selected campuses, programs, and courses show here.",
  "common.workstationLabel.cohortsUnavailable": "Cohort health could not be loaded. The rest of this desk is unchanged.",
  "common.workstationLabel.cohortFallback": "Cohort #:id",
  "common.workstationLabel.cohortAttendanceNote": "Weighted attended minutes divided by eligible minutes on lessons with a saved register, from :from to :to. A blank rate means no eligible minutes were recorded. Support flags follow the school settings: attendance under :attendance% or an entered assessment under :assessment%.",
  "common.workstationLabel.cohortAttendanceNoteExpanded": "Weighted attended minutes divided by eligible minutes on lessons with a saved register, from :from to :to. The lesson date filter is a single day, so this window is the 28 days ending that day. A blank rate means no eligible minutes were recorded. Support flags follow the school settings: attendance under :attendance% or an entered assessment under :assessment%.",
  "common.workstationLabel.bannerAcademics": "Start with learners under the proposed support rules, then unmarked registers, attendance exceptions, and students without a cohort.",
  "common.workstationLabel.academicQueue": "Academic work queue",
  "common.workstationLabel.academicQueueHint": "The next action, with the reason and the right screen one click away.",
  "common.workstationLabel.newSupportTask": "New support task",
  "common.workstationLabel.queueTab.all": "All priorities",
  "common.workstationLabel.queueTab.support": "Student support",
  "common.workstationLabel.queueTab.attendance": "Attendance",
  "common.workstationLabel.queueTab.grades": "Grades",
  "common.workstationLabel.queueTab.handoff": "Handoff",
  "common.workstationLabel.queueTab.tasks": "My tasks",
  "common.workstationLabel.action.openGradebook": "Open gradebook",
  "common.workstationLabel.action.reviewHandoff": "Review handoff",
  "common.workstationLabel.action.openTask": "Open task",
  "common.workstationLabel.gradeOverdue": "Grades due :date · :days days overdue",
  "common.workstationLabel.incomingReviewDetail": "Registered or confirmed, not yet active",
  "common.workstationLabel.taskOverdue": "Overdue",
  "common.workstationLabel.taskDueToday": "Due today",
  "common.workstationLabel.untitledTask": "Untitled task",
  "common.workstationLabel.gradeFallback": "Assessment #:id",
  "common.workstationLabel.reason.grade_due": "Grades due",
  "common.workstationLabel.reason.incoming_review": "Incoming enrollment",
  "common.workstationLabel.reason.my_task": "My task",
  "common.workstationLabel.tile.students": "Students and progress",
  "common.workstationLabel.tile.attendance_board": "Attendance",
  "common.workstationLabel.tile.gradebook": "Gradebook and reviews",
  "common.workstationLabel.tile.student_support": "Student support",
  "common.workstationLabel.tile.courses": "Courses and teaching",
  "common.workstationLabel.tile.handoffs": "Incoming handoffs",
  "common.workstationLabel.tile.completion": "Completion checks",
  "common.workstationLabel.studentsProgress": "Students and academic progress",
  "common.workstationLabel.studentsProgressHint": "Attendance, required-course progress, and support flags for students in this scope.",
  "common.workstationLabel.findStudent": "Find a student",
  "common.workstationLabel.searchColumn": "Search :column",
  "common.workstationLabel.searchColumns": "Search :columns or :last",
  "common.workstationLabel.studentsInScope": ":count students in this scope",
  "common.workstationLabel.studentColumn": "Student",
  "common.workstationLabel.cohortClassColumn": "Cohort / class",
  "common.workstationLabel.courseProgress": "Course progress",
  "common.workstationLabel.courseProgressCount": ":done / :total courses",
  "common.workstationLabel.attentionColumn": "Attention",
  "common.workstationLabel.openProfile": "Open profile",
  "common.workstationLabel.noRecordedLessons": "No recorded lessons",
  "common.workstationLabel.recordedMinutes": "Recorded minutes",
  "common.workstationLabel.progressUnavailable": "Curriculum is not available",
  "common.workstationLabel.flagsCount": ":count flags",
  "common.workstationLabel.attentionIncoming": "Incoming",
  "common.workstationLabel.noRuleFlags": "No rule flags",
  "common.workstationLabel.studentsEmpty": "No students match this scope.",
  "common.workstationLabel.attendanceBoard": "Attendance",
  "common.workstationLabel.attendanceBoardHint": "Today's registers, and students under the proposed attendance rule.",
  "common.workstationLabel.registersDueToday": "Registers due today",
  "common.workstationLabel.registersSubmitted": "Submitted",
  "common.workstationLabel.registersNotSubmitted": "Not submitted",
  "common.workstationLabel.belowAttendanceRule": "Below attendance rule",
  "common.workstationLabel.proposedThreshold": "Proposed threshold :threshold%",
  "common.workstationLabel.todaysRegisters": "Today's registers",
  "common.workstationLabel.lessonColumn": "Lesson",
  "common.workstationLabel.campusTimeColumn": "Campus and time",
  "common.workstationLabel.instructorColumn": "Instructor",
  "common.workstationLabel.statusColumn": "Status",
  "common.workstationLabel.registersEmpty": "No lessons are scheduled today in this scope.",
  "common.workstationLabel.gradebookReviews": "Gradebook and reviews",
  "common.workstationLabel.gradebookReviewsHint": "Unpublished assessments for cohorts in this scope. Publishing stays on the gradebook.",
  "common.workstationLabel.gradebookDraftNote": "These rows are drafts. A mark of zero counts as entered. This desk does not publish grades.",
  "common.workstationLabel.assessmentColumn": "Assessment",
  "common.workstationLabel.enteredColumn": "Entered",
  "common.workstationLabel.dueDateColumn": "Due date",
  "common.workstationLabel.draftStatus": "Draft",
  "common.workstationLabel.gradebookEmpty": "No unpublished assessments are linked to these cohorts.",
  "common.workstationLabel.studentSupport": "Student support",
  "common.workstationLabel.studentSupportHint": "Act on the proposed flags, then track a task.",
  "common.workstationLabel.supportRulesNote": "School settings: recorded attendance below :attendance% or an entered assessment below :assessment%. These flags are for review. They are not an academic decision.",
  "common.workstationLabel.studentsNeedingCheckin": "Students needing a check-in",
  "common.workstationLabel.evidenceColumn": "Evidence",
  "common.workstationLabel.followUpColumn": "Follow-up",
  "common.workstationLabel.createSupportPlan": "Create support plan",
  "common.workstationLabel.noOpenSupportTask": "No open support task",
  "common.workstationLabel.supportEmpty": "No students are under the proposed support rules in this scope.",
  "common.workstationLabel.coursesTeaching": "Courses and teaching",
  "common.workstationLabel.coursesTeachingHint": "Course cohorts in this scope, with the instructor on the cohort.",
  "common.workstationLabel.requiredCourses": ":count required courses",
  "common.workstationLabel.openAcademicGroup": "Open academic group",
  "common.workstationLabel.coursesEmpty": "No course cohorts are in this scope.",
  "common.workstationLabel.incomingHandoffs": "Admissions to academics",
  "common.workstationLabel.incomingHandoffsHint": "Students who are registered or confirmed and not yet active.",
  "common.workstationLabel.handoffChecklistOff": "The acceptance checklist is not configured, so this list does not show checks or change a student's status.",
  "common.workstationLabel.academicPlacement": "Academic placement",
  "common.workstationLabel.handoffsEmpty": "No incoming students are in this scope.",
  "common.workstationLabel.completionChecks": "Completion checks",
  "common.workstationLabel.completionChecksHint": "Students who have completed every required course on their program.",
  "common.workstationLabel.completionDisclaimer": "This is a course-completion list. It does not award a credential, and no readiness review is stored yet.",
  "common.workstationLabel.approachingCompletion": "Required courses complete",
  "common.workstationLabel.progressColumn": "Progress",
  "common.workstationLabel.completionEvidence": "Required courses are complete. Publishing grades is a separate step.",
  "common.workstationLabel.completionEmpty": "No student in this scope has completed every required course.",
  "common.workstationLabel.aiPrompt.supportFlagFollowUp": "Suggest a support follow-up for :student in :cohort. Evidence: :evidence. Recommend the next step and draft the message in :language (this student's preferred language).",
    "common.workstationLabel.backToWorkspace": "Back to workspace",
  "common.workstationLabel.tile.pipeline_unworked": "Unworked",
  "common.workstationLabel.tile.pipeline_attempting": "Attempting contact",
  "common.workstationLabel.tile.pipeline_follow_up_due": "Follow-up due",
  "common.workstationLabel.tile.pipeline_appointment_scheduled": "Appointment scheduled",
  "common.workstationLabel.tile.pipeline_connected": "Connected",
  "common.workstationLabel.rankedWork": "Ranked work",
  "common.workstationLabel.customizeHint": "Show or hide any widget on this home.",
  "common.workstationLabel.customizeModeHint": "Remove widgets from this home, or add hidden ones back. Changes save when you finish.",
  "common.workstationLabel.customizingWorkspace": "Customizing workspace",
  "common.workstationLabel.addWidget": "Add widget",
  "common.workstationLabel.removeWidget": "Remove",
  "common.workstationLabel.cancelLayoutChanges": "Cancel changes",
  "common.workstationLabel.doneCustomizing": "Done",
  "common.workstationLabel.allWidgetsVisible": "Every widget is already on this home.",
  "common.workstationLabel.startQueueHint": "Open the next ranked items and work them in order.",
  "common.workstationLabel.yourPriorities": "Your priorities",
  "common.workstationLabel.pipelineMineHint": "Your contacts by outreach status",
  "common.workstationLabel.pipelineTeamHint": "All contacts in scope by outreach status",
  "common.workstationLabel.admissionsPipeline": "Admissions outreach",
  "common.workstationLabel.todaysMeetings": "Today's meetings",
  "common.workstationLabel.scheduleEmpty": "No meetings today",
  "common.workstationLabel.scheduleEmptyHint": "Book a meeting when a contact is ready to talk.",
  "common.workstationLabel.aiHelpTitle": "A little help from AI",
  "common.workstationLabel.aiHelpHint": "Prepare a brief, draft a follow-up, or ask the knowledge base.",
  "common.workstationLabel.openAdmissionsAssistant": "Open admissions assistant",
  "common.workstationLabel.jumpBack": "Jump back into work",
  "common.workstationLabel.myTasks": "My tasks",
  "common.workstationLabel.myTasksEmpty": "No tasks due today",
  "common.workstationLabel.myTasksEmptyHint": "Incomplete tasks due today will show here.",
    "common.workstationLabel.taskDueToday": "Due today",
"common.workstationLabel.taskOverdue": "Overdue",
  "common.workstationLabel.untitledTask": "Untitled task",
  "common.workstationLabel.viewAllTasks": "View all tasks",
  "common.workstationLabel.action.openTask": "Open",
  "common.workstationLabel.shortcutApplications": "Applications",
  "common.workstationLabel.shortcutApplicationsHint": "Review and documents",
  "common.workstationLabel.shortcutQuotes": "Quotes",
  "common.workstationLabel.shortcutQuotesHint": "Tuition and options",
  "common.workstationLabel.shortcutHandoff": "Student handoff",
  "common.workstationLabel.shortcutHandoffHint": "Ready for next step",
  "common.workstationLabel.shortcutReports": "Saved reports",
  "common.workstationLabel.shortcutReportsHint": "Your admissions insights",
  "common.workstationLabel.priorityTabAll": "All priorities",
  "common.workstationLabel.priorityTabNew": "New inquiries",
  "common.workstationLabel.priorityTabOverdue": "Overdue",
  "common.workstationLabel.priorityTabBlocked": "Blocked",
  "common.workstationLabel.tileHint.actNow": "Act now",
  "common.workstationLabel.tileHint.needsAttention": "Needs attention",
  "common.workstationLabel.action.prepareMeeting": "Prepare meeting",
  "common.workstationLabel.meetingSoon": "Starting soon",
  "common.workstationLabel.meetingPast": "Ended",
"common.workstationLabel.bookMeeting": "Book a meeting",
  "common.workstationLabel.transactions": "Transactions",
  "common.workstationLabel.floor": "Floor",
  "common.workstationLabel.goAvailable": "Go available",
  "common.workstationLabel.takeBreak": "Take a break",
  "common.workstationLabel.wrapUpShown": "Wrap-up stays in the top bar",
  "common.workstationLabel.myStatus": "My status",
  "common.workstationLabel.statusCampuses": "Campuses",
  "common.workstationLabel.statusNoCampuses": "No campuses on this Call Center Agent",
  "common.workstationLabel.statusOffer": "An offer is ringing. Answer it from the screen pop.",
  "common.workstationLabel.statusRingingCampus": "Ringing for :campus. Answer it from the screen pop.",
  "common.workstationLabel.statusOnCallCampus": "On a call for :campus.",
  "common.workstationLabel.askAi": "Ask AI",
  "common.workstationLabel.course": "Course",
  "common.workstationLabel.reasonFilter": "Reason",
  "common.workstationLabel.queueNext": "Next",
  "common.workstationLabel.setupInternational": "Choose the international view",
  "common.workstationLabel.setupInternationalHint": "An administrator with school settings access must save the applicants view and the permit document types.",
  "common.workstationLabel.viewUnsupported": "This view cannot be applied here",
  "common.workstationLabel.viewUnsupportedHint": "The saved view uses filters this home does not read. Choose another applicants view so people outside it are not shown.",
  "common.workstationLabel.internationalView": "International applicants view",
  "common.workstationLabel.internationalDocuments": "Permit document types",
  "common.workstationLabel.internationalViewInvalid": "Choose an applicants saved view.",
  "common.workstationLabel.internationalDocumentsInvalid": "One of those document types is not on this school.",
  "common.workstationLabel.nextSteps": ":count next steps",
  "common.workstationLabel.bannerAdmissions": "Start with replies and new inquiries, then application blockers.",
  "common.workstationLabel.bannerCallCenter": "Start with callbacks that are due, then unread messages.",
  "common.workstationLabel.inbox": "My inbox",
  "common.workstationLabel.campaigns": "Campaigns",
  "common.workstationLabel.applications": "Applications",
  "common.workstationLabel.meetings": "Meetings and visits",
  "common.workstationLabel.quotes": "Quotes and bookings",
  "common.workstationLabel.email": "Email",
  "common.workstationLabel.sms": "SMS",
  "common.workstationLabel.whatsapp": "WhatsApp",
  "common.workstationLabel.floorLive": "Live voice",
  "common.workstationLabel.floorCallbacks": "Callback backlog",
  "common.workstationLabel.floorSms": "SMS workload",
  "common.workstationLabel.floorHistorical": "Historical voice",
  "common.workstationLabel.floorAlerts": "Alerts",
  "common.workstationLabel.floorWaiting": ":count waiting",
  "common.workstationLabel.action.reply": "Reply",
  "common.workstationLabel.action.respond": "Respond",
  "common.workstationLabel.action.followUp": "Follow up",
  "common.workstationLabel.action.schedule": "Schedule",
  "common.workstationLabel.action.reviewApplication": "Review application",
  "common.workstationLabel.action.openQuote": "Open quote",
  "common.workstationLabel.action.openMeeting": "Open meeting",
  "common.workstationLabel.action.openContact": "Open contact",
  "common.workstationLabel.action.openItem": "Open",
  "common.aiVoiceMarketing.pageDescription": "How AI voice is set up for this school, including the provider, call goals, and tools.",
  "common.aiVoiceMarketing.providerTitle": "Provider",
  "common.aiVoiceMarketing.providerSubtitle": "Primary voice infrastructure",
  "common.aiVoiceMarketing.notConfigured": "No AI Voice provider is configured.",
  "common.aiVoiceMarketing.runtimeTitle": "Runtime",
  "common.aiVoiceMarketing.claimGateTitle": "Claim gate",
  "common.aiVoiceMarketing.v2InboundTitle": "V2 inbound enabled",
  "common.aiVoiceMarketing.openingGateTitle": "Opening gate",
  "common.aiVoiceMarketing.goalsTitle": "Call goals",
  "common.aiVoiceMarketing.goalsDescription": "Autonomous conversation objectives and conversational boundaries configured for this school.",
  "common.aiVoiceMarketing.emptyGoals": "No call goals yet — once goals are configured, they appear here for review.",
  "common.aiVoiceMarketing.untitledGoal": "Untitled call goal",
  "common.aiVoiceMarketing.noneConfigured": "None configured",
  "common.aiVoiceMarketing.flagStatus": ":label: :value",
  "common.aiVoiceMarketing.knowledgeSearch": "Knowledge search",
  "common.aiVoiceMarketing.appointments": "Appointments",
  "common.aiVoiceMarketing.studentLinkResources": "Student link resources",
  "common.aiVoiceMarketing.studentInfoTypes": "Student info types",
  "common.aiVoiceMarketing.requirements": "Requirements",
  "common.aiVoiceMarketing.restrictions": "Restrictions",
  "common.aiVoiceMarketing.completion": "Completion",
  "common.aiVoiceMarketing.toolsTitle": "AI Voice tools",
  "common.aiVoiceMarketing.toolsDescription": "Callable functions exposed directly to the realtime audio model during phone sessions.",
  "common.aiVoiceMarketing.toolsCount": ":count tools",
  "common.aiVoiceMarketing.emptyTools": "No AI Voice tools registered yet.",
  "common.aiVoiceMarketing.untitledTool": "Untitled tool",
  "common.aiVoiceMarketing.toolNoDescription": "No description provided for this tool.",
  "common.aiVoiceMarketing.toolCapability": "Capability key",
  "common.aiVoiceMarketing.toolFamily.knowledge": "Knowledge",
  "common.aiVoiceMarketing.toolFamily.form": "Forms & surveys",
  "common.aiVoiceMarketing.toolFamily.appointment": "Appointments",
  "common.aiVoiceMarketing.toolFamily.privacy": "Privacy",
  "common.aiVoiceMarketing.toolFamily.call": "Call control",
  "common.aiVoiceMarketing.toolFamily.crm": "Student & CRM",
  "common.aiVoiceMarketing.toolFamily.general": "General",
  "common.aiVoiceMarketing.capabilityBadge": "capability",
  "common.aiVoiceMarketing.channelInbound": "Inbound",
  "common.aiVoiceMarketing.channelProfile": "Profile",
  "common.aiVoiceMarketing.channelAutomation": "Automation",
  "common.aiVoiceMarketing.launchSimulator": "Launch live call simulator",
  "common.aiVoiceMarketing.exportJson": "Export JSON profile",
  "common.aiVoiceMarketing.exportSuccess": "AI Voice profile exported.",
  "common.aiVoiceMarketing.exportFailed": "Unable to export the AI Voice profile.",
  "common.aiVoiceMarketing.docsTitle": "Voice documentation",
  "common.aiVoiceMarketing.telephonyLogs": "Telephony logs",
  "common.aiVoiceMarketing.sandboxTitle": "Interactive realtime voice sandbox",
  "common.aiVoiceMarketing.sandboxDescription": "Simulate incoming student queries and observe autonomous tool calling in realtime.",
  "common.aiVoiceMarketing.sandboxLiveDescription": "Talk with the live AI Voice agent — optionally bind a student, then pick a sandbox goal.",
  "common.aiVoiceMarketing.sandboxWebRtcReady": "WebRTC Ready",
  "common.aiVoiceMarketing.sandboxProviderOffline": "Provider offline",
  "common.aiVoiceMarketing.sandboxOpenAiLiveOnly": "Mic sandbox requires an enabled OpenAI Live AI Voice plugin.",
  "common.aiVoiceMarketing.sandboxLatency": "Latency",
  "common.aiVoiceMarketing.sandboxTurnDetection": "Turn detection",
  "common.aiVoiceMarketing.sandboxTrigger": "Trigger inbound voice test",
  "common.aiVoiceMarketing.sandboxStartMic": "Start mic test call",
  "common.aiVoiceMarketing.sandboxDisconnect": "End test call",
  "common.aiVoiceMarketing.sandboxGoalLabel": "Sandbox goal",
  "common.aiVoiceMarketing.sandboxNoGoals": "No sandbox-ready goals are available. Use inbound or a goal that does not require student context.",
  "common.aiVoiceMarketing.sandboxConnecting": "Connecting…",
  "common.aiVoiceMarketing.sandboxLiveConnected": "Live mic connected",
  "common.aiVoiceMarketing.sandboxWaitingAgent": "Connected · agent speaking",
  "common.aiVoiceMarketing.sandboxDisconnected": "Test call ended",
  "common.aiVoiceMarketing.sandboxSessionStarted": "Sandbox session started for :goal",
  "common.aiVoiceMarketing.sandboxSessionFailed": "Unable to start the AI Voice sandbox session.",
  "common.aiVoiceMarketing.sandboxSdpRequired": "A WebRTC offer is required.",
  "common.aiVoiceMarketing.sandboxGoalNotAllowed": "That call goal requires student context and cannot run in the mic sandbox.",
  "common.aiVoiceMarketing.sandboxPersonaMissing": "No active student-facing persona is available for this sandbox call. Create or activate one under AI Agents.",
  "common.aiVoiceMarketing.sandboxPersonaWrongProvider": "The selected persona is not bound to OpenAI Live.",
  "common.aiVoiceMarketing.sandboxMicUnsupported": "This browser cannot access the microphone.",
  "common.aiVoiceMarketing.sandboxMic": "Microphone",
  "common.aiVoiceMarketing.sandboxMicLive": "Live · browser input",
  "common.aiVoiceMarketing.sandboxMicIdle": "Idle · click start to allow mic access",
  "common.aiVoiceMarketing.sandboxPipelineTitle": "Live agent acoustic pipeline",
  "common.aiVoiceMarketing.sandboxTranscriptTitle": "Live transcript",
  "common.aiVoiceMarketing.sandboxPipelineFallback": "OpenAI Live",
  "common.aiVoiceMarketing.sandboxVoiceActive": "Full duplex active",
  "common.aiVoiceMarketing.sandboxVoiceIdle": "Voice idle · waiting for test call",
  "common.aiVoiceMarketing.sandboxVoiceIdleLive": "Voice idle · choose a goal and start",
  "common.aiVoiceMarketing.sandboxFerpa": "FERPA policy filter",
  "common.aiVoiceMarketing.sandboxFerpaEnforced": "Enforced",
  "common.aiVoiceMarketing.sandboxCodec": "Audio codec",
  "common.aiVoiceMarketing.sandboxTranscriptEmpty": "Trigger a test call to watch a simulated transcript stream in.",
  "common.aiVoiceMarketing.sandboxTranscriptEmptyLive": "Allow the microphone, then speak after the agent greets you. Transcripts appear here.",
  "common.aiVoiceMarketing.sandboxLiveHint": "Browser mic ↔ GPT-Live WebRTC",
  "common.aiVoiceMarketing.sandboxNoCrmTools": "CRM write tools disabled in sandbox",
  "common.aiVoiceMarketing.sandboxToolsHint": "Full tool surface · CRM writes simulated",
  "common.aiVoiceMarketing.sandboxStudentLabel": "Student context",
  "common.aiVoiceMarketing.sandboxStudentPlaceholder": "Search contacts by name or email",
  "common.aiVoiceMarketing.sandboxStudentHint": "Optional — unlocks student-required goals and CRM context",
  "common.aiVoiceMarketing.sandboxStudentRequired": "Select a student for this goal",
  "common.aiVoiceMarketing.sandboxStudentMissing": "That student could not be found.",
  "common.aiVoiceMarketing.sandboxStudentClear": "Clear student",
  "common.aiVoiceMarketing.sandboxStudentSearching": "Searching…",
  "common.aiVoiceMarketing.sandboxStudentEmpty": "No matching students",
  "common.aiVoiceMarketing.sandboxToolExecuted": "Autonomous tool executed",
  "common.aiVoiceMarketing.sandboxBackendInstructions": "You are the backend helper for a staff AI Voice sandbox call. Prefer facts already in the conversation instructions. Use application function tools for bookings, knowledge lookup, notes, tasks, links, outcomes, and end_call. Use web_search only when a current public fact is missing. When a tool returns ok:true, treat the action as done for this spoken turn even if sandbox simulation did not persist a CRM row.",
  "common.aiVoiceMarketing.sandboxSisLink": "Direct SIS link: Banner / Ellucian webhook OK",
  "common.aiVoiceMarketing.sandboxSimulated": "Live test simulated payload",
  "common.aiVoiceMarketing.sandboxSchoolFallback": "the school",
  "common.aiVoiceMarketing.sandboxPromptPreface": "Staff browser sandbox test. The other party is a staff member roleplaying a caller. Do not create CRM records, book appointments, send links, or claim those actions succeeded. Answer from knowledge in your instructions. Keep replies short for spoken phone style.",
  "common.aiVoiceMarketing.sandboxWelcomeInbound": "Thank you for calling :school admissions. How can I help you today?",
  "common.aiVoiceMarketing.sandboxWelcomeGoal": "Hello, this is :school calling about :goal.",
  "common.aiVoiceMarketing.sandboxWelcomeNamed": "Hello, this is :name from :school.",
  "common.aiVoiceMarketing.sandboxLineHandshake": "[00:01.120] Telephony handshake initialized via Twilio SIP trunk to HEM AI Agent",
  "common.aiVoiceMarketing.sandboxLineAgent": "\"Thank you for calling :school admissions! My name is Jordan, your admissions assistant. How can I help you today?\"",
  "common.aiVoiceMarketing.sandboxLineCaller": "\"Hi! I submitted my application for the Nursing RN program last Friday, but I have not heard back yet. Can you check my status?\"",
  "common.aiVoiceMarketing.sandboxLineTool": "match_caller() -> get_application_status(caller_id=\"+15550192\")",
  "common.aiVoiceMarketing.flag.requires_post_action_caller_turn": "requires post action caller turn",
  "common.aiVoiceMarketing.flag.requires_next_step": "requires next step",
  "common.aiVoiceMarketing.flag.requires_status_explained": "requires status explained",
  "common.aiVoiceMarketing.flag.student_context": "student context",
  "common.aiVoiceMarketing.flag.verified_invoice": "verified invoice",
  "common.aiVoiceMarketing.flag.single_invoice_scope": "single invoice scope",
  "common.aiVoiceMarketing.flag.no_card_details_over_voice": "no card details over voice",
  "common.aiVoiceMarketing.flag.requires_invoice_understood": "requires invoice understood",
  "common.aiVoiceMarketing.flag.booking_optional": "booking optional",
  "common.aiVoiceMarketing.flag.no_invented_decisions": "no invented decisions",
  "common.aiVoiceMarketing.flag.grade_changes": "grade changes",
  "common.aiVoiceMarketing.flag.schedule_changes": "schedule changes",
  "common.aiVoiceMarketing.flag.financial_record_changes": "financial record changes",
  "common.aiVoiceMarketing.flag.private_student_data": "private student data",
  "common.aiVoiceMarketing.catalogTabs": "Call goals and tools"
}
