/* Force ordered lists to show numbers, even with Bootstrap or custom classes */
ol, ol.absent, ol.edit-report-remove, ol.edit-report-add, ol.non-app-user {
    list-style-type: decimal !important;
    list-style-position: inside !important;
    counter-reset: list;
    padding-left: 1.5em !important;
    padding-right: 1.5em !important;
    width: 100%
}
ol > li, ol.absent > li, ol.edit-report-remove > li, ol.edit-report-add > li, ol.non-app-user > li {
    display: list-item !important;
    list-style-type: decimal !important;
}
/* Force ordered lists to show numbers */
/* ol {
    list-style: decimal inside !important;
    counter-reset: list;
}
ol > li {
    display: list-item !important;
} */
/* Modern card container for attendee_edit lists */
.attendee-modern-card {
    background: linear-gradient(120deg, #fffbe7 0%, #f8eedc 100%);
    border: 1.5px solid #f3e4c8;
    border-radius: 1.5rem;
    box-shadow: 0 4px 18px rgba(126, 98, 39, 0.10);
    margin-bottom: 2rem;
    padding: 0.5rem 0.5rem 0 0.5rem;
    transition: box-shadow 0.2s, border 0.2s;
}
@media (max-width: 767.98px) {
    .attendee-modern-card {
        border-radius: 1rem;
        margin-bottom: 1.2rem;
        padding: 0.3rem 0.2rem 0 0.2rem;
    }
}
/* Transparent list items for attendee_edit */
li.list-group-item {
    background: transparent !important;
    box-shadow: none !important;
    /* border intentionally not overridden to keep default border */
} 
/* 
.attendance-done {
    position: sticky;
    top: 360px;
    z-index: 100;
} */

/* Attendee name search */
.attendee-search-wrap {
    position: sticky;
    background: rgb(253, 251, 233);
    z-index: 100;
    box-shadow: 0 2px 8px rgba(126, 98, 39, 0.08);
    padding: 0 0.25rem;
    border-radius: 5px;
    margin: 12px 0;
}
.attendee-search-wrap .attendee-search-count {
    display: inline-block;
    margin: 0.35rem;
}
li.attendee-search-match {
    background: #fff3cd !important;
}
li.attendee-search-match-active {
    background: #ffe066 !important;
    outline: 2px solid #f0b400;
}
/* Modern card body for attendee_edit */
.attendee-modern-card-body {
    background: linear-gradient(120deg, #fffbe7 0%, #f8eedc 100%);
    border: 1px solid #f3e4c8;
    border-radius: 1.2rem;
    box-shadow: 0 2px 12px rgba(126, 98, 39, 0.08);
    padding: 0 !important;
    margin-bottom: 1.2rem;
    transition: box-shadow 0.2s, border 0.2s;
    width: 100%;
}
@media (max-width: 767.98px) {
    .attendee-modern-card-body {
        padding: 1.2rem 0.7rem 1rem 0.7rem;
        border-radius: 0.8rem;
    }
}
/* Modern h3 headers for attendee_edit */
.attendee-modern-h3 {
    position: sticky;
    background: #fff;
    z-index: 99;
    box-shadow: 0 2px 8px rgba(126, 98, 39, 0.08);
    padding: 0.75rem 1.5rem;
    margin-bottom: 0.5rem;
    border-radius: 0.2rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: #7E6227;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    letter-spacing: 0.2px;
    /* border: 1px solid #f3e4c8; */
    width: 100%;
    /* top: 172px; */
}
@media (max-width: 767.98px) {
    .attendee-modern-h3 {
        /* top: 230px; */
        padding: 0.5rem 0.75rem;
        font-size: 1.1rem;
        padding: 0.5rem 0.75rem;
        font-size: 1.1rem;
    }
}
/* Modern sticky header styling for attendee_edit */
.mobile-sticky-h1 {
    position: sticky;
    top: 56px;
    background: linear-gradient(90deg, #fffbe7 0%, #f8eedc 100%);
    z-index: 100;
    box-shadow: 0 4px 16px rgba(126, 98, 39, 0.10), 0 1.5px 4px rgba(126, 98, 39, 0.08);
    padding: 1.5rem 2rem 1rem 2rem;
    font-size: 2rem;
    transition: font-size 0.2s, padding 0.2s, box-shadow 0.2s;
    border-radius: 0.5rem;
    margin: 1.5rem auto 1.5rem auto;
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}
.mobile-sticky-h1.stuck {
    font-size: 1.2rem;
    padding: 0.75rem 1.5rem;
    box-shadow: 0 2px 8px rgba(126, 98, 39, 0.12);
}
.mobile-sticky-h1 h1 {
    font-size: 2rem;
    font-weight: 700;
    margin: 0;
    color: #7E6227;
    letter-spacing: 0.5px;
    line-height: 1.2;
}
.mobile-sticky-h1 h4 {
    margin: 0.25rem 0 0 0;
    color: #a88c4a;
    font-weight: 500;
    font-size: 1.1rem;
}
@media (max-width: 767.98px) {
    .mobile-sticky-h1 {
        top: 140px;
        padding: 1rem 1rem 0.75rem 1rem;
        max-width: 98vw;
        border-radius: 0.5rem;
    }
    .mobile-sticky-h1 h1 {
        font-size: 1.3rem;
    }
    .mobile-sticky-h1 h4 {
        font-size: 1rem;
    }
}
/* Sticky header for attendee_edit */
.mobile-sticky-h1 {
    position: sticky;
    top: 56px;
    background: #fff;
    z-index: 100;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    padding: 1rem 0;
    font-size: 2rem;
    transition: font-size 0.2s, padding 0.2s;
}
.mobile-sticky-h1.stuck {
    font-size: 1.2rem;
    padding: 0.5rem 0;
}
@media (max-width: 767.98px) {
    .mobile-sticky-h1 {
        top: 140px;
    }
}
h3 {
    font-family: 'Raleway', Arial, Helvetica, sans-serif !important;
    font-weight: 600;
}
* {
    font-size: 14px;
}

.btn-attendee {
    border-radius: 50% !important;
    padding: 0.3rem !important;
    float: right;
}

.attendee-span {
    width: 80%;
}

.attendee-small {
    width: 70%;
}


body {
    background-color: wheat;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body > section.container {
    flex: 1 0 auto;
}


h1 {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 2.5em;
    color: #7E6227;
    font-weight: 700;
}

.push-left {
    margin-left: -1.5rem;
}

.fa-arrow-alt-circle-left {
    padding-right: 10px;
}

.error {
    border: 1px solid red;
    border-radius: 2px;
    color: red;
    background-color: #fccbcb;
}

.container {
    padding-top: 10px;
}

.listings-heading h1 {
    color: #7E6227;
}

.overview {
    display: flex;
}

.listings div {
    padding-top: 10px;
    margin-top: 10px;
}

.overview > main  {
    flex-basis: 50%;
}

.box {
    border: 1px solid #c7b073;
    border-radius: 4px;
}

.btn {
    outline: none !important;
    box-shadow: 1px 1px 0.5px #473816 !important;
}

.btn:active, .btn:focus {
    outline: none !important;
    box-shadow: 1px 1px 0.5px 1.5px #7E6227 !important;
}

.btn-primary {
    background-color: #7E6227 !important;
    border: 1px solid #473816;
}

.btn-primary:hover {
    background-color: #66511f !important;
    outline: none;
}

.btn-primary:active, .btn-primary:focus {
    background-color: #66511f !important;
    outline: none !important;
    box-shadow: 1px 1px 0.5px 1.5px #7E6227 !important;
}

.btn-primary:not(:disabled):not(.disabled):active {
    border-color: #7E6227 !important;
}

.box + p {
    padding-top: 1em;
}

.overview > aside {
    flex-basis: 50%;
}

a:hover {
    text-decoration: underline;
    color: rgb(173, 90, 90);
}

input[type="checkbox"]{
    accent-color:#7e6227;
}

a {
    color: #901919;
}

@media screen and (max-width: 768px) { 
    .overview {
        display: block;
    }

}

h1 span {
    color: #7e6227;
    font: inherit;
}

h2.head {
    color: #7e6227;
    font-family: 'Lobster', cursive;
    font-weight: 600;
    text-align: left;
}

h2 {
    color: #7e6227;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 200%;
    text-align: center;
}


.nav-bg {
    opacity: 0.8;
    background-color: #CEBF9F;
}

.nav-bg-2 {
    background-color: #F5DEB3;
    border-bottom: 1px solid #c7b073;
}

button:not(#report) {
    margin: 0;
}

.align-items-end .btn:not(.btn-sm):not(.btn-lg) {
    min-height: calc(2.25rem + 2px);
}

.add-remove-worker > .btn { 
    float: right;
}

.heading {
    background-color: rgb(248, 238, 220);
    border: 1px solid #7e622756;
    border-radius: 5px;
    width: 100%;
    padding: 30px;
    margin: 15px 0 15px 0;
}

.input-class {
    width: 50%;
}

.list, .absent {
    width: 300px;
    padding: 20px;
}

.list-workers {
    background-color: rgb(248, 238, 220);
    border: 1px solid #7e622756;
    border-radius: 5px;
    min-height: 300px;
    padding: 50px;
    margin: 5px;
}

.light-bg {
    background-color: rgb(248, 238, 220);
    border: 1px solid #7e622756;
    border-radius: 5px;
    padding: 20px;
    margin: 5px;
}

.read-list {
    background-color: rgb(248, 238, 220);
    border: 1px solid #7e622756;
    border-radius: 5px;
    padding: 30px;
    margin: 15px 0 15px 0;
}

.list-disciples {
    background-color: rgb(248, 238, 220);
    border: 1px solid #7e622756;
    border-radius: 5px;
    /* min-height: 300px; */
    padding: 30px;
    margin: 5px;
}

.list > .hoverer:hover {
    background-color: rgb(247, 201, 199);
}

.hand:hover {
    cursor: pointer;
}

.absent > .hoverer:hover {
    background-color: rgb(199, 224, 247);
}

.hoverer, .hoverer2 {
    border-radius: 3px;
}

.listings {
    background-color: rgb(248, 238, 220);
    border: 1px solid #7e622756;
    border-radius: 5px;
    min-height: 300px;
    padding: 30px;
    margin: 5px;
}

.listings-heading {
    background-color: rgb(248, 238, 220);
    border: 1px solid #7e622756;
    border-radius: 5px;
    padding: 5px;
    margin: 5px;
}

.date {
    font-size: 0.9em;
}

.wrap {
    width: 400px;
}



/* MENU / NAVIGATION */

/* .abc:hover {
    before:
} */

/* .home-link > p {
    font-size: 14px;
} */

.home-link {
    color:  #7E6227; 
    padding-left: 0;
}


.home-link:hover {
    color: #ad8413; ;
    text-decoration: none;
    /* outline: thick; */
    scale: 1.05;
}

.admin-link:hover {
    text-decoration: none;
    scale: 1.05;
}

/* 
Table Stylings
*/
th, td {
    padding: 5px 12px;
    border: 1px solid gray;
}

table {
    border-collapse: collapse;
    padding: 2px;
    width: 100%; 
    border: 1px solid gray;
}

/* th:hover, td:hover {
    background-color: #7e7c7c;
    color: white;
} */

/* Zebra striping */
tbody > tr:nth-of-type(odd) { 
  background: rgb(243, 228, 200);
}

th { 
  background: rgb(255, 240, 212);
  color: black; 
  font-weight: 400; 
  border: 1px solid #CEBF9F; 
}
td { 
  padding: 6px; 
  border: 1px solid #CEBF9F; 
  text-align: left; 
}

@media 
only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px)  {
    /* Only apply block-table style to legacy tables, not Bootstrap .table or .table-bordered */
    table:not(.table):not(.table-bordered),
    thead:not(.table):not(.table-bordered),
    tbody:not(.table):not(.table-bordered),
    th:not(.table):not(.table-bordered),
    td:not(.table):not(.table-bordered),
    tr:not(.table):not(.table-bordered) {
        display: block;
        border: none;
    }
    thead tr:not(.table):not(.table-bordered) {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    tr:not(.table):not(.table-bordered) {
        border: 1px solid #CEBF9F;
        margin: 0px 0px 5px 0px;
    }
    td:not(.table):not(.table-bordered) {
        border: none;
        border-bottom: 1px solid #CEBF9F;
        position: relative;
        padding-left: 40%;
        min-height: 50px;
    }
    td:before:not(.table):not(.table-bordered) {
        position: absolute;
        top: 6px;
        left: 6px;
        width: 35%;
        padding-right: 10px;
        white-space: wrap;
        font-weight: 500;
    }
    /* Label the data for legacy tables only */
    /* ...existing code for legacy table labels... */
}


.notify {
    color: #28A745;
}

.nodisplay {
    display: none;
}

.small-text {
    font-size: 12pt;
    color: grey;
}

.greyed {
    color: grey;
}

.no-underline:hover {
    text-decoration: none;
}

.prayer-del-btn {
    color: rgb(255, 37, 37);
    margin: auto;
    visibility: hidden;
}

.del-element {
    color: #ff3b3b; 
    cursor: pointer;
    font-weight: 600;
    outline: greenyellow;
}

.del-element:hover {
    color: red;
    text-decoration: none;
    font-weight: 800;
    outline: white;
}

.plain-del {
    color: #ff3b3b; 
    cursor: pointer;
    font-weight: 600;
    outline: greenyellow;
}

.plain-del:hover {
    color: red;
    text-decoration: none;
    font-weight: 800;
    outline: white;
}

.del-element-new {
    color: white; 
    /* background-color: #ff9100; */
    cursor: pointer;
    border: 1px solid #ff9100;
    border-radius: 2px;
    outline: red;
}

.del-element-new:hover {
    color: #ff9100;
    background-color: transparent;
    text-decoration: none;
}

.prayer-del-btn:hover {
    color: rgb(172, 20, 20);
    text-decoration: none;
    font-weight: 900px;
    cursor: pointer;
    visibility: visible;
}

.del-btn {
    color: red; 
    visibility: hidden;
}

.del-btn-vis {
    visibility: visible;
}

.del-btn:hover {
    color: rgb(172, 20, 20);
    font-weight: 900px;
    text-decoration: none;
    cursor: pointer;
}

.line-through {
    text-decoration: line-through red;
}

#prayer-table td:nth-of-type(5) {
    text-align: center;
}

.invisible {
    visibility: hidden;
}

.cover {
    border-top: 1px solid lightgray;
}

.hr-style {
    border: 0;
    height: 2px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}

.notabene {
    font-size: 8pt;
    line-height: 100%;
    color: grey;
}

.notabene::before {
    content: "*";
    color: red;
}

.notabene-red {
    color: #9C0006;
    font-size: 9pt;
    padding: 2px 5px;
    border-radius: 3px;
    width: 50%;
}

.notabene-red-border {
    color: #9C0006;
    font-size: 9pt;
    padding: 2px 5px;
    border-radius: 3px;
    width: 50%;
    border: 2px solid red;
}

.login-warning {
    border: 1px solid #eed202;
    border-radius: 4px;
    padding: 0 10px;
}

.login-warning-text {
    color: #645a0d;
}


/* ALL LOCKDOWN TABLE */
/* Force table to not be like tables anymore */
table.allLockdown thead, .allLockdown tbody, .allLockdown tr, .allLockdown td { 
    display: block; 
    border: none;
}

table.allLMALockdown {
    display: table;
    font-size: small;
}

/* Hide table headers (but not display: none;, for accessibility) */
.allLockdown thead tr { 
    position: absolute;
    top: -9999px;
    left: -9999px;
}

.allLockdown tr { 
    border: 1px solid #CEBF9F; 
    margin: 0px 0px 5px 0px;
}

.allLockdown td { 
    /* Behave  like a "row" */
    border: none;
    border-bottom: 1px solid #CEBF9F; 
    position: relative;
    padding-left: 40%; 
    min-height: 50px;
}

.allLockdown td:before { 
    /* Now like a table header */
    position: absolute;
    /* Top/left values mimic padding */
    top: 6px;
    left: 6px;
    width: 35%; 
    padding-right: 10px; 
    white-space: wrap;
    font-weight: 500;
}

/* Label the data */
.allLockdown td:nth-of-type(1):before { content: "Date"; }
.allLockdown td:nth-of-type(2):before { content: "Prayer Chain"; }
.allLockdown td:nth-of-type(3):before { content: "Exhortation"; }
.allLockdown td:nth-of-type(4):before { content: "Discipleship"; }
.allLockdown td:nth-of-type(5):before { content: "Evangelism"; }
.allLockdown td:nth-of-type(6):before { content: "Bible Study"; }
.allLockdown td:nth-of-type(7):before { content: "Facebook"; }
.allLockdown td:nth-of-type(8):before { content: "Telecast"; }
.allLockdown td:nth-of-type(9):before { content: "Study Group"; }
.allLockdown td:nth-of-type(10):before { content: "Optional"; }
.allLockdown td:nth-of-type(11):before { content: "Delete"; }


.text-paragraphs {
    white-space: pre-line;
}

.text-overflow {
    text-overflow: ellipsis;
    width: auto; 
    overflow:hidden;
    list-style-position: inside;
}

.form-control {
    /* background-color: #F8EEDC !important; */
    /* border: 1px solid #CEBF9F !important; */
}

.without_ampm::-webkit-datetime-edit-ampm-field {
   display: none;
 }
 #no-ampm::-webkit-clear-button {
   -webkit-appearance: none;
   -moz-appearance: none;
   -o-appearance: none;
   -ms-appearance:none;
   appearance: none;
   margin: -10px; 
 }


 /* EVANGELISM CORNER */

 /* Label the data */
#evangelismTable td:nth-of-type(1):before { content: "Date"; }
#evangelismTable td:nth-of-type(2):before { content: "Location"; }
#evangelismTable td:nth-of-type(3):before { content: "Total Reached"; }
#evangelismTable td:nth-of-type(4):before { content: "Saved"; }
#evangelismTable td:nth-of-type(5):before { content: "Filled"; }
#evangelismTable td:nth-of-type(6):before { content: "Prophesied"; }
#evangelismTable td:nth-of-type(7):before { content: "Healed"; }
#evangelismTable td:nth-of-type(8):before { content: ""; }
#evangelismTable td:nth-of-type(9):before { content: ""; }
#evangelismTable td:nth-of-type(10):before { content: "Delete / Edit"; }

thead {
    font-weight: 600;
}


/* DISCIPLESHIP / REPORT CORNER */

.disc-box{
    border: 1px solid lightgrey;
    border-radius: 2px;
    min-height: 100px;
    width: 100%;
    padding: 10px 25px;
}

.form-box{
    border: 1px solid lightgrey;
    border-radius: 3px;
    width: 100%;
    padding: 0 15px;
    line-height: 0.7;
}

select.scc-form, li.scc-form {
    width: 80%;
}

.scc-form {
    padding-left: 10px;
    border: none;
    background-color: #F8EEDC;
    color: black;
}


/* COPY TEXT */
.copy-text {
    display: flex;
}

.copy-text > h3 {
    display: none;
}

.copy-text > textarea {
    height: 0;
    width: 0;
    position: absolute;
    left: -100px;
}

textarea {
    min-height: 200px !important
}

/* ADD OR REMOVE WORKER */
.add-remove-worker {
    border-bottom: 1px solid darkgray;
    padding-bottom: 40px;
}

.add-remove-worker div a {
    margin: 2px;
}

.list-no-left {
    padding-left: 0;
}

ol.disciple-list li div:nth-of-type(2n) {
    float: right;
}

/* .hover-appear:hover {
    border: 1px solid #F5DEB3;
} */


/* MENU */
.other-menu {
    list-style-type: none;
    display: none;
    justify-content: start;
}

.menu-wrap {
    background-color: wheat;
    padding-bottom: 2px;
    padding-top: 2px;
    border-bottom: 1px solid #473816;
}

.naira {
    font-size: 16px;
    padding-top: 5px;
    padding-right: 5px;
}


.selected {
    color: brown !important;
}

.menu-mouseover {
    color: #a86e02 !important;
}

.menu, .menu > i {
    color: black;
}


/* ADD OR REMOVE HTML ELEMENTS */

.duplicate-element {
    border: 1px solid lightgray;
    border-radius: 5px;
    padding: 5px;
    margin-top: 30px;
}

.element-playground i {
    font-size: 25px;
}

.new-element {
    color: var(--blue);
    font-size: 25px;
    visibility: hidden;
}

#sample-icon {
    font-size: 14px;
    color: var(--blue);
}

ol {
    padding-inline-start: 0px;
}

.special-meeting {
    background-color: #DAEEDC;
    border-radius: 10px;
    padding: 10px 5px;
    margin: 3px;
}

.dropdown {
    z-index: 1;
    /* overflow-y: auto; */
    position: relative;
    padding-top: 3px;
    /* padding-left: 30px; */
}

.dropdown > li {
    padding: 5px 10px;
    margin: 2px 0;
    border: 1px solid #bebebe;
    border-radius: 5px;
    background-color: #F8EEDC;
    list-style-type: none;
    cursor: pointer;
    width: 100%;
}

.dropdown-select {
    background-color: #DAEEDC !important;
}

.outline {
    border: 1px solid #ced4da;
    border-radius: 3px;
    padding-top: 5px;
}

.outline2 {
    border: 1px solid #ced4da;
    border-radius: 4px;
    padding: 0;
    margin: 0;
    height: 37px;
    /* padding-top: 5px; */
}

.no-outline {
    outline: none;
    border: none !important;
    border-color: transparent;
}

.note {
    text-align: left;
    line-height: 0.8;
}

.no-display {
    visibility: hidden;
}

.new-tooltip {
    position: relative;
    display: inline-block;
    /* visibility: hidden; */
    width: 140px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px;
    margin-bottom: 15px;
    position: absolute;
    z-index: 1;
    bottom: 150%;
    left: 50%;
    margin-left: -75px;
    opacity: 1;
    transition: opacity 0.3s;
}
  
.tab {
    width: 100%;
}

div.text-center {
    margin: 20px 0 0 0;
}

.step {
    padding: 0 15px 0 15px;
}

.light-brown {
    background-color: #F8EEDC;
    color: black;
}

.brown {
    background-color: #7E6227;
    color: #F8EEDC;
}

.validate-confirm {
    font-size: 18px;
    font-weight: bold;
}

.no-bullet {
    list-style: none;
}

@media (max-width: 768px) {
  .profile-logout-wrap {
    margin-top: 12px !important;
    margin-bottom: 8px !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    justify-content: flex-end !important;
  }
  .profile-logout-wrap a {
    width: auto;
    margin-right: 0 !important;
  }
}




/* ATTENDEE SECTION */

.select2-selection__clear {
  position: absolute;
  right: 25px;   /* moves the clear button left of the arrow */
  top: 20%;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 1;
}


.attendee > main#true {
    background-color: #FFF9C4;
}

.attendee > main {
    background-color: #E8F5E9;
}

.filter-selected {
  font-size: 15px;
  padding-bottom: 2px;
  margin-left: 10px;
  border-bottom: 2px solid #8d4444;
  color: #b41616;
  font-weight: 500;
}




/* BLOG POST SECTION */

.pagination a {
  padding: 6px 12px;
  margin: 2px;
  border: 1px solid #ccc;
  text-decoration: none;
}

.pagination a.active {
  background: #333;
  color: #fff;
}

.blog-post {
    font-size: 16px;
    white-space: pre-wrap;
    background-color: #ffffff;
}


/* FIRST-LOGIN TOUR & HELP CENTRE */
.app-tour .modal-content { border: 0; border-radius: 18px; box-shadow: 0 12px 40px rgba(0,0,0,0.18); }
.app-tour .modal-body { text-align: center; }
.app-tour .modal-header { align-items: center; flex-wrap: nowrap; }
.app-tour .modal-header .close { margin: 0 0 0 auto; padding: 4px 8px; width: auto; border: 0; box-shadow: none; }
.app-tour__icon i { font-size: 28px; }
.app-tour__icon { width: 64px; height: 64px; margin: 0 auto 12px; border-radius: 50%; background: #f8eedc; color: #7e6227; display: flex; align-items: center; justify-content: center; font-size: 28px; }
.app-tour__title { color: #7e6227; font-weight: 700; }
.app-tour__badge { background: #ad8413; color: #fff; }
.app-tour__list { max-width: 420px; margin: 0 auto 8px; padding-left: 1.2rem; }
.app-tour__where { color: #6c5520; background: #f8eedc; border-radius: 8px; padding: 6px 10px; display: inline-block; }
.app-tour__dots { margin-top: 16px; }
.app-tour__dot { display: inline-block; width: 8px; height: 8px; margin: 0 3px; border-radius: 50%; background: #e0d3b6; }
.app-tour__dot.is-active { background: #7e6227; width: 20px; border-radius: 4px; }
.app-tour .btn-link { border: 0; box-shadow: none; }
.app-tour__next { background: #7e6227; border-color: #7e6227; color: #fff; }
.app-tour__next:hover, .app-tour__next:focus { background: #6a5220; color: #fff; }
.help-centre__heading { font-family: 'Lobster', cursive; color: #7e6227; letter-spacing: 1px; }
.help-centre__search { position: relative; width: 360px; max-width: 100%; }
.help-centre__search .fa-search { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #ad8413; }
.help-centre__search input { padding-left: 34px; border-radius: 20px; }
.help-centre__chip { background: #f8eedc; color: #7e6227; padding: 6px 12px; margin: 2px; font-size: 0.9rem; }
.help-centre__chip:hover { background: #ad8413; color: #fff; text-decoration: none; }
.help-centre__category { color: #ad8413; font-weight: 700; }
.help-centre__topic { border-radius: 12px !important; margin-bottom: 8px; overflow: hidden; }
.help-centre__toggle, .help-centre__toggle:hover, .help-centre__toggle:focus, .help-centre__toggle:active { color: #333; padding: 12px 16px; white-space: normal; margin: 0 !important; width: 100%; transform: none !important; background: transparent !important; border: 0; border-radius: 0; box-shadow: none !important; }
.help-centre__heading .fa-question-circle { font-size: 1em; }
.help-centre__toggle:hover, .help-centre__toggle:focus { color: #7e6227; text-decoration: none; box-shadow: none; }
.help-centre__toggle .fas:first-child { color: #ad8413; }

/* Home dashboard */
.home-hero { text-align: center; margin-bottom: 1.25rem; }
.home-hero__date { color: #ad8413; font-weight: 600; margin-bottom: 0.25rem; }
.home-hero__title { color: #7e6227; font-size: 2.2rem; letter-spacing: 1px; margin-bottom: 0.25rem; }
.home-hero__sub { color: #6c757d; margin-bottom: 0; }
.home-card { background: #fff; border-radius: 18px; box-shadow: 0 4px 16px rgba(126, 98, 39, 0.12); padding: 1.25rem; margin-bottom: 1.25rem; }
.home-card__title { font-size: 1.1rem; font-weight: 700; color: #7e6227; margin-bottom: 0.75rem; }
.home-card__sub { color: #6c757d; font-size: 0.9rem; margin-top: -0.5rem; }
.home-help { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.home-standing { display: flex; align-items: flex-start; gap: 1rem; border-radius: 18px; padding: 1.25rem; margin-bottom: 1.25rem; color: #333; border-left: 6px solid; box-shadow: 0 4px 16px rgba(126, 98, 39, 0.12); }
.home-standing__icon { flex: 0 0 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; color: #fff; }
.home-standing__title { font-size: 1.3rem; font-weight: 700; margin-bottom: 0.25rem; }
.home-standing__message { margin-bottom: 0; }
.home-standing__trend { margin: 0.5rem 0 0; font-weight: 600; font-size: 0.95rem; }
.home-standing__trend--up { color: #1e7e34; }
.home-standing__trend--down { color: #b02a37; }
.home-standing--success { background: #eaf7ee; border-color: #28a745; }
.home-standing--success .home-standing__icon { background: #28a745; }
.home-standing--info { background: #fdf6e7; border-color: #ad8413; }
.home-standing--info .home-standing__icon { background: #ad8413; }
.home-standing--warning { background: #fff4e0; border-color: #e0891a; }
.home-standing--warning .home-standing__icon { background: #e0891a; }
.home-standing--danger { background: #fdecee; border-color: #c0392b; }
.home-standing--danger .home-standing__icon { background: #c0392b; }
.home-nudges { list-style: none; padding: 0; margin: 0; }
.home-nudges__item { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; padding: 0.65rem 0; border-top: 1px solid #f1e6cf; }
.home-nudges__item:first-child { border-top: 0; padding-top: 0; }
.home-nudges__icon { color: #ad8413; width: 1.25rem; text-align: center; }
.home-nudges__text { flex: 1 1 200px; }
.home-nudges__action { font-weight: 600; color: #7e6227; white-space: nowrap; }
.home-nudges__action:hover { color: #ad8413; text-decoration: none; }
.home-activity { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0.75rem; }
.home-activity__item { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.75rem; border-radius: 12px; background: #faf6ee; border-left: 4px solid #d9c7a0; }
.home-activity__item--good { border-left-color: #28a745; }
.home-activity__item--warn { border-left-color: #e0891a; background: #fff8ec; }
.home-activity__icon { color: #ad8413; font-size: 1.1rem; margin-top: 2px; width: 1.25rem; text-align: center; }
.home-activity__label { font-weight: 700; font-size: 0.9rem; color: #7e6227; }
.home-activity__detail { font-size: 0.95rem; }
.home-activity__note { font-size: 0.8rem; color: #6c757d; }
.home-actions { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 0.6rem; }
.home-actions__item { display: flex; flex-direction: column; align-items: center; gap: 0.35rem; padding: 0.85rem 0.5rem; border-radius: 12px; background: #faf6ee; color: #7e6227; text-align: center; font-weight: 600; font-size: 0.9rem; }
.home-actions__item .fas { font-size: 1.3rem; color: #ad8413; }
.home-actions__item:hover, .home-actions__item:focus { background: #ad8413; color: #fff; text-decoration: none; }
.home-actions__item:hover .fas, .home-actions__item:focus .fas { color: #fff; }
.home-summary__empty { background: #fff; border-radius: 18px; padding: 1.25rem; margin-bottom: 1.25rem; color: #6c757d; text-align: center; }
.home-skeleton { height: 90px; border-radius: 18px; margin-bottom: 1.25rem; background: linear-gradient(90deg, #f6efe0 25%, #fbf7ee 50%, #f6efe0 75%); background-size: 200% 100%; animation: home-skeleton 1.4s ease-in-out infinite; }
.home-skeleton--banner { height: 110px; }
@keyframes home-skeleton { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .home-skeleton { animation: none; } }

/* Home birthdays */
.birthday-card { border: 1px solid #dcc89d; background: #fffaf0; }
.birthday-card__heading { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 1.2rem; text-align: left; margin-bottom: 0.5rem; }
.birthday-card__intro { color: #62605b; margin-bottom: 1rem; }
.birthday-card__names { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; margin: 0; }
.birthday-card__name { padding: 0.5rem 0.85rem; border-radius: 12px; background: #f3e7cb; color: #473816; font-weight: 600; overflow-wrap: anywhere; max-width: 100%; }
.birthday-card__more { margin-top: 0.75rem; }
.birthday-card__more summary { color: #7e6227; font-weight: 600; cursor: pointer; padding: 0.35rem 0; }
.birthday-card__more summary:focus-visible { outline: 2px solid #ad8413; outline-offset: 3px; }
.birthday-card__more .birthday-card__names { margin-top: 0.5rem; }
.birthday-card__hide, .birthday-card__more[open] .birthday-card__show { display: none; }
.birthday-card__more[open] .birthday-card__hide { display: inline; }
.birthday-card__wish { color: #62605b; margin: 1rem 0 0; }

/* Public study questions */
.study-questions { max-width: 900px; margin: 0 auto; padding: 1.5rem 0; }
.study-questions__header { padding: 2rem; border: 1px solid #e4d6ba; border-radius: 18px; background: #fff; }
.study-questions__header h1 { font-size: 2rem; }
.study-questions__header p { color: #62605b; line-height: 1.7; }
.study-questions__header .study-questions__eyebrow { color: #7e6227; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.study-questions__signin { margin-bottom: 0; }
.study-questions__filter { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1rem; margin: 1.5rem 0; padding: 1.25rem; background: #faf6ee; border: 1px solid #d7c39a; border-radius: 14px; }
.study-questions__filter label { display: block; font-weight: 600; }
.study-questions__filter > div { flex: 1 1 180px; }
.study-questions__filter button { margin: 0; min-height: calc(2.25rem + 2px); }
.study-questions__count { flex-basis: 100%; color: #6c757d; margin-bottom: 0; }
.study-question { background: #fff; border: 1px solid #e4d6ba; border-radius: 16px; padding: 1.75rem; margin-bottom: 1.25rem; }
.study-question__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem; color: #62605b; margin-bottom: 1rem; }
.study-question__badge { background: #f8eedc; color: #7e6227; font-weight: 600; border-radius: 20px; padding: 0.3rem 0.75rem; }
.study-question h2 { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 1.5rem; text-align: left; line-height: 1.4; margin-bottom: 1rem; }
.study-question__body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.85; color: #302a20; }
.study-question__actions { display: flex; gap: 1.25rem; flex-wrap: wrap; padding-top: 1rem; margin-top: 1rem; border-top: 1px solid #eee5d5; }
.study-questions__empty { background: #fff; padding: 2rem; border-radius: 16px; text-align: center; }
.study-questions__empty > .fas { font-size: 2rem; color: #ad8413; margin-bottom: 1rem; }
.study-questions__empty h2 { font-size: 1.5rem; }
@media (max-width: 575.98px) {
    .study-questions__header, .study-question { padding: 1.25rem; }
    .study-questions__header h1 { font-size: 1.7rem; }
}

/* Landing page */
.landing { max-width: 1050px; margin: 0 auto; padding: 1.5rem 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
.landing-hero { display: grid; grid-template-columns: 1.5fr 1fr; overflow: hidden; border: 1px solid #e4d6ba; border-radius: 20px; background: #fff; box-shadow: 0 12px 36px rgba(71, 56, 22, 0.1); }
.landing-hero__content { padding: 3rem; }
.landing-eyebrow { color: #7e6227; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.landing-hero h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); color: #302a20; margin-bottom: 0.75rem; }
.landing-hero__tagline { font-size: 1.4rem; font-weight: 600; color: #7e6227; }
.landing-hero__description { color: #62605b; line-height: 1.75; max-width: 480px; margin-bottom: 1.5rem; }
.landing-cta { padding: 0.8rem 1.5rem; border-radius: 8px; font-weight: 700; }
.landing-cta:focus-visible, .landing-invitation a:focus-visible { outline: 2px solid #ad8413 !important; outline-offset: 3px; }
.landing-hero__note { font-size: 0.85rem; color: #6c757d; margin: 1rem 0 0; }
.landing-hero__mark { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 1.5rem; padding: 2rem; background: #473816; color: #fff5df; text-align: center; }
.landing-hero__mark .fas { font-size: 5rem; color: #e7bd63; }
.landing-hero__mark span { font-weight: 600; line-height: 1.6; }
.landing-features { padding: 2rem 0 0; }
.landing-features h2 { font-family: inherit; font-size: 1.5rem; font-weight: 700; margin-bottom: 1.25rem; }
.landing-features__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.landing-feature { padding: 1.25rem; border-radius: 14px; background: #fff; border: 1px solid #e4d6ba; }
.landing-feature > .fas { font-size: 1.5rem; color: #ad8413; margin-bottom: 0.75rem; }
.landing-feature h3 { font-size: 1rem; color: #473816; margin-bottom: 0.5rem; }
.landing-feature p { color: #62605b; line-height: 1.65; margin-bottom: 0; }
.landing-invitation { display: flex; align-items: flex-start; gap: 1rem; padding: 1.25rem; margin-top: 1.5rem; border: 1px solid #d7c39a; border-radius: 14px; background: #faf6ee; }
.landing-invitation > .fas { font-size: 1.5rem; color: #7e6227; margin-top: 0.25rem; }
.landing-invitation h2 { font-family: inherit; font-size: 1.1rem; font-weight: 700; text-align: left; margin-bottom: 0.4rem; }
.landing-invitation p { margin-bottom: 0; color: #62605b; line-height: 1.6; }
@media (max-width: 991.98px) {
    .landing-features__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .landing { padding: 1rem 0; }
    .landing-hero { grid-template-columns: 1fr; }
    .landing-hero__content { padding: 1.75rem 1.5rem; }
    .landing-hero__mark { display: none; }
    .landing-features__grid { grid-template-columns: 1fr; }
}

/* Sign in */
.login-page { flex: 1 0 auto; display: flex; align-items: center; padding: 2rem 1rem; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
.login-shell { display: grid; grid-template-columns: 1fr 1.1fr; width: 100%; max-width: 900px; margin: 0 auto; overflow: hidden; border: 1px solid #e4d6ba; border-radius: 20px; background: #fff; box-shadow: 0 16px 48px rgba(71, 56, 22, 0.12); }
.login-intro { padding: 3rem 2.5rem; background: #473816; color: #fff5df; }
.login-brand { display: inline-flex; align-items: center; gap: 0.6rem; margin-bottom: 3rem; color: #fff5df; font-size: 1.25rem; font-weight: 700; }
.login-brand:hover { color: #fff; }
.login-brand .fas { font-size: 1.5rem; }
.login-eyebrow { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.login-intro__title { font-family: inherit; color: #fff; font-size: 2.2rem; font-weight: 700; line-height: 1.2; text-align: left; margin-bottom: 1rem; }
.login-intro__description { color: #e6d7b7; line-height: 1.7; }
.login-features { list-style: none; margin: 2rem 0 0; padding: 0; }
.login-features li { display: flex; align-items: center; gap: 0.75rem; margin-top: 1rem; }
.login-features .fas { width: 1.25rem; text-align: center; color: #e7bd63; }
.login-panel { padding: 3rem 2.5rem; }
.login-panel .login-eyebrow { color: #7e6227; margin-bottom: 0.5rem; }
.login-panel h1 { font-size: 1.9rem; line-height: 1.25; color: #302a20; margin-bottom: 0.75rem; }
.login-panel__description { color: #6c757d; margin-bottom: 2rem; }
.login-panel label { font-weight: 600; }
.login-panel .form-control { height: 48px; border-radius: 8px; border-color: #c9c1b3; }
.login-panel .form-control:focus { border-color: #7e6227; box-shadow: 0 0 0 3px rgba(126, 98, 39, 0.15); }
.login-panel .space-trail { display: block; margin-top: 0.4rem; }
.login-options { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem; margin-top: 1rem; }
.login-show-password { display: inline-flex; align-items: center; gap: 0.5rem; margin-bottom: 0; cursor: pointer; }
.login-show-password input { width: 16px; height: 16px; }
.login-options a, .login-panel__help a { color: #7e6227; font-weight: 600; }
.login-panel .login-submit { width: 100%; margin: 1rem 0 0; min-height: 48px; border-radius: 8px; font-weight: 700; }
.login-submit .fas { margin-left: 0.5rem; }
.login-panel__help { margin: 1.5rem 0 0; color: #6c757d; font-size: 0.9rem; }
.login-page a:focus-visible, .login-page input:focus-visible, .login-page button:focus-visible { outline: 2px solid #ad8413 !important; outline-offset: 3px; }
@media (max-width: 767.98px) {
    .login-page { padding: 1rem 0; }
    .login-shell { grid-template-columns: 1fr; }
    .login-intro { padding: 1.5rem; }
    .login-brand { margin-bottom: 1rem; }
    .login-intro__title { font-size: 1.6rem; }
    .login-intro__description { margin-bottom: 0; }
    .login-features { display: none; }
    .login-panel { padding: 1.75rem 1.5rem; }
}
