/* Eric Meyer's CSS Reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* End of Eric Meyer's CSS Reset */

#html {
    height: auto;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block;
}

body {
    font: 12px/18px Arial, sans-serif;
    height: auto;
    min-width: 1250px;
}


a {
    color: #333;
}

/*----- Tabs -----*/
.tabs {
    width: 100%;
    display: inline-block;
}

/*----- Tab Links -----*/
/* Clearfix */
.tab-links:after {
    display: block;
    clear: both;
    content: '';
}

.tab-links li {
    margin: 0px 5px;
    float: left;
    list-style: none;
}

.tab-links a {
    padding: 9px 15px;
    display: inline-block;
    border-radius: 3px 3px 0px 0px;
    background: #7FB5DA;
    font-size: 16px;
    font-weight: 600;
    color: #4c4c4c;
    transition: all linear 0.15s;
}

.tab-links a:hover {
    background: #a7cce5;
    text-decoration: none;
}

li.active a, li.active a:hover {
    background: #fff;
    color: #4c4c4c;
}

/*----- Content of Tabs -----*/
.tab-content {
    padding: 15px;
    border-radius: 3px;
    box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15);
    background: #fff;
}

.tab {
    display: none;
}

.tab.active {
    display: block;
}

/*-----------------------------------------------------------------------------------------------------------*/
.header #Accounts {
    margin-top: 4px;
    margin-right: 10px;
    float: right;
}

.header #Accounts button {
    border: none;
}


/* The CSS */
.header #Accounts a.current {
    width: 138px !important;
    padding: 3px 5px;
    margin: 0;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    background: url('../images/accountbg.png');
    background-size: 150px;
    color: #888;
    /*font-size:1em;*/
    font-weight: normal;
    border: none;
    outline: none;
    display: inline-block;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    text-decoration: none
}

/* Targetting Webkit browsers only. FF will show the dropdown arrow with so much padding. */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    select {
        padding-right: 18px
    }
}

.header #Accounts select option {
    color: #fff;
    background: #888;
}

.header #Accounts label {
    position: relative
}

.header #Accounts label:after {
    content: '<>';
    font: 11px "Consolas", monospace;
    color: #aaa;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    right: 8px;
    top: 2px;
    padding: 0 0 2px;
    border-bottom: 1px solid #ddd;
    position: absolute;
    pointer-events: none;
}

.header #Accounts label:before {
    content: '';
    right: 6px;
    top: 0px;
    width: 20px;
    height: 20px;
    background: #f8f8f8;
    position: absolute;
    pointer-events: none;
    display: block;
}

.tri {
    float: right;
    width: 20px;
    height: 14px;
    margin-top: 2px;
    margin-right: -2px;
    border-left: 1px solid #d6d6d6;
    text-align: center;
}

#LoginHolder {
    margin-top: 8px;
    margin-right: 5px;
    float: right;
}

#LoginDropDown {
    width: auto;
    height: 20px;
    cursor: hand;
    cursor: pointer
}

.arrow {
    width: 0px;
    height: 0px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #fff;
    float: left;
    margin-top: 5px;
    margin-left: 3px;
}

.textLogin {
    float: left;
    color: #fff;
}

.navigationalHolder {
    display: block;
    width: 185px;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    background: #E84E0D;
    min-width: 185px;
    max-width: 185px;
}

.navigationalHolder .logo img {
    width: 90%;
    margin: auto;
}

.wrapper.loggedin {
    width: 100%;
    float: left;
    /*background: #666666;*/
    min-width: 1000px;
    height: auto;
    min-height: 100vh;
}

.header {
    display: block;
    background: #E84E0D;
    min-height: 36px;
    margin-left: 185px;
}

#headquicklinks {
    float: left;
    width: 580px;
    height: 25px;
    margin-left: 10px;
    margin-top: 3px;
}

#headquicklinks h1 {
    font-size: 24px;
    color: #fff;
    float: left;
    margin: 5px 5px 0 0;
}

#LoginWrapper {
    position: absolute;
    z-index: 99;
    margin-left: -5px;
    right: 0;
    background: #6c6c6c;
}

#LoginWrapper ul li a {
    text-decoration: none;
    color: #fff;
    padding: 5px;
    display: block;
}

#LoginWrapper ul li a:hover {
    text-decoration: underline;
    background: rgba(0, 0, 0, 0.1);
}

#searchBox {
    margin-top: 5px;
    margin-right: 5px;
    float: right;
}

#searchBox input[type="text"] {
    padding-right: 35px;
    padding-left: 4px;
    background: #fff url('../images/search.png') no-repeat top right;
    background-size: 31px;
    color: #818181;
    height: 24px;
    border: none;
}


.navigationalHolder ul {
    margin-top: 5px;
}

.loggedout .logo {
    margin: 20px auto 30px auto;
    text-align: center;
}

.loggedin .logo {
    margin: 5px 0 10px 7px;
    width: 100%;
    /*height: 65px;*/
}

.innerContent {
    height: auto;
}

.wrapper.loggedin .content {
    background: #ddd;
    display: block;
    margin-left: 185px;
    min-height: 100vh;
}

.listing {
    background: #eee;
    overflow-y: scroll;
    width: 43%;
    min-width: 310px;
    float: left;
    height: inherit;
}

.todayListing {
    width: 95%;
    margin: 0px auto;
    background: #fff;
    display: block;
}

.weeklisting {
    width: 94%;
    margin: 0px auto;
    background: #fff;
    display: block;
}

.result {
    background: #f4f4f4;
    overflow-y: scroll;
    width: 57%;
    float: left;
    height: inherit;
}

.totals.Flag {
    padding: 15px 5px 8px;
    display: block;
    width: 100%;
    background: #eee;
}


::-webkit-scrollbar {
    height: 12px;
    width: 12px;
    background: #ebebeb;
    overflow: visible;
}

::-webkit-scrollbar-corner {
    display: none;
    background: #f5f5f5;
}

::-webkit-scrollbar-button {
    display: none;
    height: 0;
    width: 0;
}

::-webkit-scrollbar-button:start:decrement, ::-webkit-scrollbar-button:end:increment {
    display: block;
}

::-webkit-scrollbar-button:vertical:start:increment, ::-webkit-scrollbar-button:vertical:end:decrement {
    display: none;
}

::-webkit-scrollbar-track {
    -moz-background-clip: border;
    -webkit-background-clip: border;
    background-clip: padding-box;
    background-color: #f5f5f5;
}

::-webkit-scrollbar-track:vertical, ::-webkit-scrollbar-track:horizontal {
    border-left-width: 0;
    border-right-width: 0;
}

::-webkit-scrollbar-track:vertical, ::-webkit-scrollbar-track:horizontal, ::-webkit-scrollbar-thumb:vertical, ::-webkit-scrollbar-thumb:horizontal, ::-webkit-scrollbar-track:vertical, ::-webkit-scrollbar-track:horizontal, ::-webkit-scrollbar-thumb:vertical, ::-webkit-scrollbar-thumb:horizontal {
    border-style: solid;
    border-color: transparent;
}

::-webkit-scrollbar-thumb {
    -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, .1), inset 0 -1px 0 rgba(0, 0, 0, .07);
    background-clip: padding-box;
    background-color: rgba(0, 0, 0, .2);
    min-height: 28px;
    padding-top: 100px;
}

::-webkit-scrollbar-thumb:hover {
    -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .25);
    background-color: rgba(0, 0, 0, .4);
}

::-webkit-scrollbar-thumb:active {
    -webkit-box-shadow: inset 1px 1px 3px rgba(0, 0, 0, .35);
    background-color: rgba(0, 0, 0, .5);
}

::-webkit-scrollbar-thumb:vertical, ::-webkit-scrollbar-thumb:horizontal {
    border-width: 0;
    border-left-width: 0;
    border-right-width: 0;
}


.printer,
.filterSearch,
.Calenderheader {
    float: left;
    margin-right: 5px;
}

.filterSearch a,
.Calenderheader a,
.printer a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    border-radius: 3px;
    opacity: 0.85;
    transition: opacity 0.15s;
}

.filterSearch a:hover,
.Calenderheader a:hover,
.printer a:hover {
    opacity: 1;
    color: #fff;
}

.Listing {
    font-size: 16px;
}

.df-spin {
    display: inline-block;
    width: 22px;
    height: 22px;
    border: 3px solid rgba(0, 0, 0, 0.12);
    border-top-color: #999;
    border-radius: 50%;
    -webkit-animation: df-spin-anim 0.75s linear infinite;
    animation: df-spin-anim 0.75s linear infinite;
}

@-webkit-keyframes df-spin-anim {
    to {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes df-spin-anim {
    to {
        transform: rotate(360deg);
    }
}


.displayListingLeft h3 {
    font-size: 12px;
    padding: 0px 0px 5px 5px;
    color: #888;
}

.green {
    background: #0c940c;
    color: #fff;
    border-radius: 5px;
}

.red {
    background: #ee1c25;
    color: #fff;
    border-radius: 5px;
}

.orange {
    background: #e29d28;
    color: #fff;
    border-radius: 5px;
}

.Pending {
    background: #e29d28;
    color: #fff;
    border-radius: 5px;
}


.displayListing {
    border-bottom: 1px #333 dashed;
    height: 58px;
    color: #6A6A6A;
    width: 98%;
    margin: 0px auto;
}


.displayListingImage {
    border-bottom: 1px #333 dashed;
    color: #6A6A6A;
    padding: 5px 0px 5px 0px;
}


.displayListing.selected {
    background: #f5d1d1;
}


.displayListingLeft {
    width: 70%;
    float: left;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: start;
    align-content: start;
    min-width: 0;
}

.displayListingLeft.full {
    width: 100%;
    display: inline;
}

.displayListingRight {
    width: 30%;
    float: right;
    height: 100%;
}


.displayListingRightImage {
    width: 40%;
    float: right;
}

.displayListingLeftImage {
    width: 60%;
    float: left;
    padding: 5px 0px;
}

.DLName {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    float: none;
    font-size: 24px;
    line-height: 24px;
    padding: 5px;
    color: #333;
    margin: 0;
}

.displayListingLeft .heading {
    min-width: 0;
    overflow: hidden;
}

.displayListingLeft .heading .DLName {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    flex: none;
}

.DLFlag {
    float: none;
    align-self: start;
    margin-left: 10px;
    padding: 3px 6px;
    margin-top: 6px;
    font-size: 12px;
    white-space: nowrap;
}

.displayListingLeft .clear {
    grid-column: 1 / -1;
    height: 0;
}

.displayListingLeft h3 {
    grid-column: 1 / -1;
    float: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Persons listing — let inline <span> wrappers around grid cells be
   transparent to the grid layout (used by PagePerson_view.ss /
   PagePerson_viewPeople.ss). Without display:contents the span becomes a
   single grid item containing all the would-be cells, breaking the layout. */
div.listing.persons div.displayListingLeft span {
    display: contents;
}

/* ============================================================
   RESPONSIVE — address book + general listing (max 768px)
   Works regardless of server-side IsMobile() detection.
   ============================================================ */
@media screen and (max-width: 768px) {

    /* Stack listing + result panels full-width */
    .innerContent .listing,
    .innerContent .result {
        float: none !important;
        width: 100% !important;
        clear: both;
        box-sizing: border-box;
    }

    /* ---- Search filter: full-width pill on its own line ---- */
    .df-filter-row {
        width: 100% !important;
        box-sizing: border-box;
        margin: 10px 0 6px !important;
        margin-left: 0 !important;
        padding: 0 10px;
    }

    .df-filter-row input[type="search"],
    .df-filter-row input[type="text"] {
        width: 100% !important;
        box-sizing: border-box !important;
        display: block;
        border-radius: 20px !important;
        border: 1px solid #ddd !important;
        background: #f8f8f8;
        padding: 8px 14px !important;
        font-size: 14px !important;
        outline: none;
    }

    /* ---- Status filter pills wrap cleanly ---- */
    p#UserStatus,
    p#BranchStatus,
    p#AreaStatus {
        white-space: normal;
        line-height: 2.2;
        font-size: 12px;
        padding: 2px 10px 6px;
        margin: 0;
    }

    p#UserStatus a,
    p#BranchStatus a,
    p#AreaStatus a {
        display: inline-block;
        padding: 2px 8px;
        border-radius: 10px;
        margin: 1px 2px;
        background: #f0f0f0;
        font-size: 11px;
    }

    p#UserStatus a.current,
    p#BranchStatus a.current,
    p#AreaStatus a.current {
        background: #555;
        color: #fff;
        text-decoration: none;
    }

    /* ---- Card-style list items ---- */
    .todayListing ul {
        padding: 0 8px;
        margin: 0;
        list-style: none;
    }

    .todayListing ul li {
        margin-bottom: 6px;
        border-radius: 8px;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    }

    .todayListing ul li a {
        display: block;
        text-decoration: none;
    }

    .displayListing {
        margin: 0;
        padding: 10px 12px;
        border-left: 3px solid transparent;
        transition: border-color 0.15s;
    }

    .displayListing:hover,
    .displayListing.active {
        border-left-color: #e8830a;
        background: #fafafa;
    }

    /* ---- DLName: primary label ---- */
    .displayListingLeft h2.DLName,
    h2.DLName {
        min-width: 0;
        font-size: 14px !important;
        font-weight: 600;
        line-height: 1.3;
        color: #222;
        padding: 0 !important;
        margin: 0 0 2px !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* ---- Company name <small> inside DLName ---- */
    .displayListingLeft h2.DLName small {
        font-size: 11px;
        font-weight: 400;
        color: #888;
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* ---- Sub-text rows (email, tel, status badges) ---- */
    .displayListingLeft span,
    .displayListingLeft h3,
    .displayListingLeft .DDLTel,
    h3.DDLTel {
        font-size: 12px !important;
        color: #666;
        margin: 1px 0 !important;
        padding: 0 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* ---- Right meta column (author/time) ---- */
    .displayListingRight {
        padding-top: 2px;
    }

    .DLTime,
    h5.DLTime {
        font-size: 10px !important;
        color: #aaa;
        text-align: right;
    }

    h5.DLSaurthor {
        font-size: 11px !important;
        color: #888;
        text-align: right;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* ---- DLFlag badge ---- */
    .DLFlag {
        align-self: center;
        font-size: 10px !important;
        padding: 2px 6px !important;
        border-radius: 8px;
        margin-left: 6px;
        margin-top: 0;
        white-space: nowrap;
    }
}

.DLTime {
    padding: 0px !important;
    text-align: right;
    margin-right: 5px;
    margin-top: 4px;
    font-size: 12px;
    color: #888;
}

.DLSaurthor {
    padding: 0px !important;
    text-align: right;
    margin-right: 5px;
    margin-top: 10px;
    font-size: 12px;
    color: #111;
}

.result h3 {


}

#RelatedCalls h3 {

}


#RelatedCalls ul li a div div h3 {
    font-size: 12;
    padding: 0;
}

#RelatedCalls ul li a {
    text-decoration: none;
}

.todayListing ul li a {
    text-decoration: none;
}

.quickMenu ul li {
    display: inline;
    margin-left: 5px;
}

.quickMenu ul li#summaryLink {
    margin-left: 0;
}

.quickMenu ul li a {
    color: red;
    text-decoration: none;
}

.quickMenu ul li a:hover {
    text-decoration: underline;
}

.quickmenu {
    width: 100%;
    margin: 0px auto;
    background: #fff;
    padding: 5px 0px;
    border-bottom: 1px solid #d7d7d7;
    margin-bottom: 10px;
}

.quickmenuActive a {
    color: #000 !important;
}

.clear {
    clear: both;
}

#Navigation a {
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    display: block;
    padding-top: 3px;
    padding-bottom: 3px;
    width: 173px;
    margin-left: auto;
    margin-right: auto;
}

#Navigation a span {
    padding-left: 28px;
    display: block;
}

#Navigation ul a span {
    padding-left: 25px;
}

#Navigation a span:hover {
    background: #DC3233;
}

#Navigation a.current,
#Navigation a:hover {
    background: #DC3233;
}

#Navigation ul.submenu {
    display: block;
    margin-top: 3px;
    margin-bottom: 10px;
}

#Navigation ul.submenu.closed {
    display: none;
}

#Navigation.Call.exception {
    margin-left: 0px
}

.Call {
    margin-left: 0px;
}

#Navigation li {
    margin-bottom: 2px;
}

#Navigation li.level1 {
    clear: left;
}

#Navigation li ul a {
    font-size: 13px;
    padding: 1px 0;
    width: 90%;
}

#Navigation li.level1 a {
    padding: 1px 2px;
}

#Navigation li.level1 a.current {
    /*background-color: #555*/
}

#Navigation li.PageCallManagement li.level1 a,
#Navigation li.PageFlagManagement li.level1 a {
    width: 78%;
}

#Navigation li a span {
    background: url("../images/ico_documents.png");
    background-repeat: no-repeat;
    background-position: 3px center;
    background-size: 20px;
}

#Navigation li.PageDashboard a span {
    background: url("../images/ico_dashboard.png");
    background-repeat: no-repeat;
    background-position: 3px center;
    background-size: 20px;
}

#Navigation li.PageFlagManagement a span {
    background: url("../images/ico_flags.png");
    background-repeat: no-repeat;
    background-position: 3px center;
    background-size: 20px;
}

#Navigation li.PageGallery a span {
    background: url("../images/ico_gallery.png");
    background-repeat: no-repeat;
    background-position: 3px center;
    background-size: 20px;
}

#Navigation li.PageProduct a span {
    background: url("../images/ico_package.png");
    background-repeat: no-repeat;
    background-position: 3px center;
    background-size: 20px;
}

#Navigation li.PageLeaveRequest a span,
#Navigation li.PageDistribution a span,
#Navigation li.PagePerson a span {
    background: url("../images/ico_package.png");
    background-repeat: no-repeat;
    background-position: 3px center;
    background-size: 20px;
}

#Navigation li.PageMeeting a span,
#Navigation li.PageDocument a span,
#Navigation li.PageTrivia a span,
#Navigation li.PageRedirectorAlt a span,
#Navigation li.PageEvent a span {
    background: url("../images/ico_documents.png");
    background-repeat: no-repeat;
    background-position: 3px center;
    background-size: 20px;
}


#Navigation li.AddressBook a span {
    background: url("../images/ico_addressbook.png");
    background-repeat: no-repeat;
    background-position: 3px center;
    background-size: 20px;
}

#Navigation li.PageReport a span,
#Navigation li.PageReporting a span {
    background: url("../images/ico_reports.png");
    background-repeat: no-repeat;
    background-position: 3px center;
    background-size: 18px;
}

#Navigation li.PageCallManagement a span {
    background: url("../images/ico_calls.png");
    background-repeat: no-repeat;
    background-position: 3px center;
    background-size: 20px;
}

#Navigation li.PageSchedule a span {
    background: url("../images/ico_schedules.png");
    background-repeat: no-repeat;
    background-position: 3px center;
    background-size: 20px;
}

#Navigation li.PageQuestionnaireHolder a span {
    background: url("../images/ico_checklists.png");
    background-repeat: no-repeat;
    background-position: 3px center;
    background-size: 20px;
}

#Navigation li.PageReports ul a span,
#Navigation li.PageQuestionnaireHolder ul a span {
    background: none;
}

#Navigation li ul a span {
    background: none !important;
}

span.prefix {
    color: white;
    font-size: 14px;
    padding-left: 50px;
}

.displayListing:hover,
.displayListing.active {
    background: #F5D1D1;
}

.displayListingImage:hover {
    background: #F5D1D1;
}


#Accounts select {
    border-radius: 5px;
}


#Images h3 {
    width: 170px;
    float: left;
}

.viewImages {
    color: red;
    text-decoration: none;
    text-align: center;
    display: block;
    margin-top: 5px;
}

.viewImages:hover {
    text-decoration: underline;
}


#Notes.viewImages {
    margin-top: 10px;
}


.flagMenu,
.callMenu {
    float: left;
    color: #fff;
    border-radius: 0px;
    width: 22px;
    line-height: 15px;
    text-align: center;
    margin-left: 8px;
    margin-top: 2px;
}

#Navigation li ul a.TextMenu,
.TextMenu {
    line-height: 20px;
    margin-left: 33px;
    padding: 0 0 0 2px;
    color: #fff;
}


.textblack {
    color: #000;
}

.textred {
    color: #ee1c25;
}

.textgrey {
    color: #bfbfbf;
}

.textorange {
    color: #e29d28;
}

.textgreen {
    color: #0c940c;
}

.textblue {
    color: #1160bf;
}


.red {
    background: #ee1c25;
}

.grey {
    background: #bfbfbf;
}

.orange {
    background: #e29d28;
}

.green {
    background: #0c940c;
}

.blue {
    background: #1160bf;
}


#leftArrow {
    background: url('../images/leftarrow.png');
    width: 10px;
    height: 17px;
    float: left;
    margin-left: 5px;
    background-repeat: no-repeat;
}

#rightArrow {
    background: url('../images/rightarrow.png');
    width: 10px;
    height: 12px;
    margin-top: 5px;
    float: right;
    margin-right: 4px;
    background-size: 11px;
    background-repeat: no-repeat;
}

.CalTop {
    text-align: center;
    margin: 10px 10px -5px 10px !important;
}


/* MESSAGEBOXS
--------------------------------------------- */
p.message {
    width: auto;
    color: #979908;
    border: 2px solid #F7F8B4;
    margin: 10px 5px;
    padding: 15px 10px 15px 50px;
    background-repeat: no-repeat;
    background-position: 10px center;
    font-size: 120% !important;
}

form p.message {
    margin: 5px 0px;
}

p.message.small {
    padding: 10px 5px 10px 40px;
    font-size: 100% !important;
    line-height: 1.3em;
    background-image: url('../images/icons/warning_small.png');
}

p.message.good, #SuccessMessage, #SuccessMessage a {
    color: #4F8A10;
    border-color: #B6EA5B;
    background-color: #DFF2BF;
    background-image: url('../images/icons/success_large.png');
    background-repeat: no-repeat;
}

p.message.good.small {
    background-image: url('../images/icons/success_small.png');
}

p.message.good.blue {
    color: #0402A5;
    border-color: #1000BB;
    background-color: #8CA8FF;
    background-image: url('../images/icons/success_large_blue.png');
}

p.message.good.purple {
    color: #32004A;
    border-color: #420064;
    background-color: #D47AFE;
    background-image: url('../images/icons/success_large_purple.png');
}

p.message.good.turq {
    color: #2B5B6C;
    border-color: #03B8AF;
    background-color: #9FDAE2;
    background-image: url('../images/icons/success_large_turq.png');
}

p.message.good.pink {
    color: #AE2058;
    border-color: #AE2058;
    background-color: #EEA2BE;
    background-image: url('../images/icons/success_large_pink.png');
}

p.message, #NoticeMessage, #NoticeMessage a {
    color: #9F6000;
    border-color: #F7DB6A;
    background-color: #FEEFB3;
    background-image: url('../images/icons/warning_large.png');
    background-repeat: no-repeat;
}

.wrapper form #GPSDetails .message {
    font-size: 14px !important;
    width: fit-content;
}

p#NoticeMessage.message.small {
    width: 80%;
    padding: 10px 5px 10px 40px;
    background-image: url('../images/icons/warning_small.png');
    background-repeat: no-repeat;
}

p.message.required, #ErrorMessage, #ErrorMessage a {
    color: #D8000C;
    border-color: #F26565;
    background-color: #FFBABA;
    background-image: url('../images/icons/error_large.png');
}

p.message.required.small {
    background-image: url('../images/icons/error_small.png');
}

#SuccessMessage a, #NoticeMessage a, #ErrorMessage a {
    background-image: none
}

#SuccessMessage a:hover, #NoticeMessage a:hover, #ErrorMessage a:hover {
    text-decoration: underline
}

small#NoticeMessage p {
    margin: 0 0 10px 0;
    padding: 5px 5px 5px 45px;
    background-image: url('../images/icons/warning_small.png');
}

p.message a {
    text-decoration: none
}

p.message a:hover {
    text-decoration: underline;
}


#Tab, #tab {
    background: #E84E0D !important;
    height: 34px;
}

#Tab ul {
    margin-left: 15px;
}

#Tab ul li {
    float: left;
    width: auto;
    text-align: center;
    padding: 7px 7px 10px 7px;
    margin-right: 2px;
}

#Tab ul li.activeTab {
    background: #eee;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    display: block;
    color: #6b6b6b;
}

#Tab ul li a {
    text-decoration: none;
    color: #fff;
}

#Tab ul li.activeTab a {
    color: #6b6b6b;
}

#Tab div a {
    color: #fff;
}

#tab {
    background: #6c6c6c;
    height: 34px;
}

#tab ul li {
    float: left;
    width: auto;
    text-align: center;
    padding: 3px 0 10px 0;
}

#tab ul li a {
    text-decoration: none;
    color: #c8c8c8;
    padding: 7px 10px 10px 10px;
}

#tab ul {
    margin: 0;
    margin-left: 15px;
}

#tab ul li.activeTab a,
#tab ul li a.activeTab {
    background: #eee;
    color: #6b6b6b;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;

}

.dropdownjs .select2-container {
    min-width: 150px;
    float: left;
    margin: 0 5px 5px 0
}

#ManageAccount {
    color: #fff;
    text-decoration: none;
    margin-right: 5px;
}

#ManageAccount:hover {
    text-decoration: underline;
}

/* ============================================================
   DataTables (table.display) — modern skin
   Applied to all AJAX listing tables: calls, flags,
   questionnaires, meetings, KPIs, reports, etc.
   ============================================================ */

table.display,
table.dataTable {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    color: #444;
    background: #fff;
}

/* Header */
table.display thead th,
table.dataTable thead th {
    background: #3c3c3c;
    color: #fff;
    padding: 10px 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: none;
    white-space: nowrap;
    text-align: justify;
}

table.dataTable th span.ui-icon {
    display: inline-flex;
}

/* Sorting indicators via FA unicode — replaces default GIF arrows */
table.display thead th.sorting,
table.dataTable thead th.sorting {
    cursor: pointer;
}

table.display thead th.sorting:after,
table.dataTable thead th.sorting:after {
    content: '\f0dc';
    font-family: FontAwesome;
    margin-left: 6px;
    opacity: 0.35;
    font-size: 10px;
}

table.display thead th.sorting_asc:after,
table.dataTable thead th.sorting_asc:after {
    content: '\f0de';
    font-family: FontAwesome;
    margin-left: 6px;
    opacity: 0.85;
    font-size: 10px;
}

table.display thead th.sorting_desc:after,
table.dataTable thead th.sorting_desc:after {
    content: '\f0dd';
    font-family: FontAwesome;
    margin-left: 6px;
    opacity: 0.85;
    font-size: 10px;
}

/* Body rows */
table.display tbody tr,
table.dataTable tbody tr {
    transition: background 0.1s;
}

table.display tbody tr.odd,
table.dataTable tbody tr.odd {
    background: #ffffff;
}

table.display tbody tr.even,
table.dataTable tbody tr.even {
    background: #f7f7f7;
}

table.display tbody tr:hover,
table.dataTable tbody tr:hover {
    background: #fdf2f2;
}

/* Body cells */
table.display tbody td,
table.dataTable tbody td {
    padding: 9px 12px;
    vertical-align: middle;
    border: none;
    border-bottom: 1px solid #ebebeb;
}

table.display thead th,
table.dataTable thead th {
    border-bottom: none;
}

table.display td a {
    text-decoration: none;
}

/* Action column — centred, compact */
table.display th.action,
table.display td.action,
table.dataTable th.action,
table.dataTable td.action {
    text-align: center;
    width: 44px;
    white-space: nowrap;
    padding: 6px 8px;
}

/* No results row */
table.display td.dataTables_empty,
table.dataTable td.dataTables_empty {
    text-align: center;
    color: #999;
    font-style: italic;
    padding: 20px;
}

/* Wrapper — info bar and pagination */
.dataTables_wrapper .dataTables_info {
    font-size: 11px;
    color: #888;
    margin-top: 8px;
    padding: 4px 0;
}

.dataTables_wrapper .dataTables_paginate {
    margin-top: 8px;
    text-align: right;
}

.dataTables_wrapper .dataTables_paginate span,
.dataTables_wrapper .dataTables_paginate a {
    display: inline-block;
    padding: 4px 9px;
    margin: 0 1px;
    font-size: 12px;
    border-radius: 4px;
    border: 1px solid #ddd;
    color: #555;
    text-decoration: none;
    cursor: pointer;
}

.dataTables_wrapper .dataTables_paginate .paginate_active,
.dataTables_wrapper .dataTables_paginate a.paginate_active {
    background: #b20b00;
    border-color: #b20b00;
    color: #fff;
}

.dataTables_wrapper .dataTables_paginate a:hover {
    background: #f5f5f5;
}

/* ─── Action link buttons (View, Edit) in DataTables ─────── */

a.action {
    display: inline-block;
    padding: 5px 7px;
    border-radius: 4px;
    text-decoration: none !important;
    font-size: 15px;
    line-height: 1;
    background: none !important;
    color: #e8830a !important;
    transition: color 0.15s, background 0.15s;
}

a.action:hover {
    color: #2a2a2a;
    background: #fef3e3;
}

a.action.view {
    color: #e8830a;
}

a.action.view:hover {
    color: #2a2a2a;
    background: #fef3e3;
}

a.action.edit {
    color: #e8830a;
}

a.action.edit:hover {
    color: #2a2a2a;
    background: #fef3e3;
}

/* ─── Schedule context-menu popup (#popupInfo) action links ───
   View / Toggle status / Remove from schedule sit alongside `|` separators
   inside a 250px-wide .context-menu (base font-size 11px). The generic
   a.action above is sized for DataTables (15px) — too big here. Tighten. */
#popupInfo a.action,
#popupInfo .action {
    font-size: 11px !important;
    padding: 3px 6px !important;
    line-height: 1.4 !important;
    border-radius: 3px;
    vertical-align: middle;
    color: #e8830a !important;
    text-decoration: none !important;
    transition: color .15s, background .15s;
}

#popupInfo a.action:hover,
#popupInfo .action:hover {
    color: #2a2a2a !important;
    background: #fef3e3;
}

/* FontAwesome icons inside popup action links — the global .fa rule sets
   font-size: 20px which is way too large here. Match the 11px link text
   and add a touch of right-margin so the icon doesn't crash into the label. */
#popupInfo a.action .fa,
#popupInfo .action .fa {
    font-size: 11px !important;
    line-height: 1;
    margin-right: 3px;
    vertical-align: -1px;
}

/* Compact the popup content text + separators so the link row sits cleanly */
#popupInfo .content {
    font-size: 11px;
    line-height: 1.5;
    padding: 0 4px 4px;
}

#popupInfo .content label {
    color: #666;
    font-weight: 600;
}

#popupInfo .content br + a.action,
#popupInfo .content br + .action {
    margin-top: 2px;
}

@font-face {
    font-family: 'FontAwesome';
    src: url('../fonts/fontawesome-webfont.eot?v=4.0.3');
    src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');
    font-weight: normal;
    font-style: normal
}

.fa {
    font-size: 20px;
    display: inline-block;
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.fa-lg {
    font-size: 1.3333333333333333em;
    line-height: .75em;
    vertical-align: -15%
}

.fa-2x {
    font-size: 2em
}

.fa-3x {
    font-size: 3em
}

.fa-4x {
    font-size: 4em
}

.fa-5x {
    font-size: 5em
}

.fa-fw {
    width: 1.2857142857142858em;
    text-align: center
}

.fa-ul {
    padding-left: 0;
    margin-left: 2.142857142857143em;
    list-style-type: none
}

.fa-ul > li {
    position: relative
}

.fa-li {
    position: absolute;
    left: -2.142857142857143em;
    width: 2.142857142857143em;
    top: .14285714285714285em;
    text-align: center
}

.fa-li.fa-lg {
    left: -1.8571428571428572em
}

.fa-border {
    padding: .2em .25em .15em;
    border: solid .08em #eee;
    border-radius: .1em
}

.pull-right {
    float: right
}

.pull-left {
    float: left
}

.fa.pull-left {
    margin-right: .3em
}

.fa.pull-right {
    margin-left: .3em
}

.fa-spin {
    -webkit-animation: spin 2s infinite linear;
    -moz-animation: spin 2s infinite linear;
    -o-animation: spin 2s infinite linear;
    animation: spin 2s infinite linear
}

@-moz-keyframes spin {
    0% {
        -moz-transform: rotate(0deg)
    }
    100% {
        -moz-transform: rotate(359deg)
    }
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg)
    }
    100% {
        -webkit-transform: rotate(359deg)
    }
}

@-o-keyframes spin {
    0% {
        -o-transform: rotate(0deg)
    }
    100% {
        -o-transform: rotate(359deg)
    }
}

@-ms-keyframes spin {
    0% {
        -ms-transform: rotate(0deg)
    }
    100% {
        -ms-transform: rotate(359deg)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg)
    }
    100% {
        transform: rotate(359deg)
    }
}

.fa-rotate-90 {
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg)
}

.fa-rotate-180 {
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg)
}

.fa-rotate-270 {
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
    -webkit-transform: rotate(270deg);
    -moz-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    transform: rotate(270deg)
}

.fa-flip-horizontal {
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
    -webkit-transform: scale(-1, 1);
    -moz-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    -o-transform: scale(-1, 1);
    transform: scale(-1, 1)
}

.fa-flip-vertical {
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
    -webkit-transform: scale(1, -1);
    -moz-transform: scale(1, -1);
    -ms-transform: scale(1, -1);
    -o-transform: scale(1, -1);
    transform: scale(1, -1)
}

.fa-stack {
    position: relative;
    display: inline-block;
    width: 2em;
    height: 2em;
    line-height: 2em;
    vertical-align: middle
}

.fa-stack-1x, .fa-stack-2x {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center
}

.fa-stack-1x {
    line-height: inherit
}

.fa-stack-2x {
    font-size: 2em
}

.fa-inverse {
    color: #fff
}

.fa-glass:before {
    content: "\f000"
}

.fa-music:before {
    content: "\f001"
}

.fa-search:before {
    content: "\f002"
}

.fa-envelope-o:before {
    content: "\f003"
}

.fa-heart:before {
    content: "\f004"
}

.fa-star:before {
    content: "\f005"
}

.fa-star-o:before {
    content: "\f006"
}

.fa-user:before {
    content: "\f007"
}

.fa-film:before {
    content: "\f008"
}

.fa-th-large:before {
    content: "\f009"
}

.fa-th:before {
    content: "\f00a"
}

.fa-th-list:before {
    content: "\f00b"
}

.fa-check:before {
    content: "\f00c"
}

.fa-times:before {
    content: "\f00d"
}

.fa-search-plus:before {
    content: "\f00e"
}

.fa-search-minus:before {
    content: "\f010"
}

.fa-power-off:before {
    content: "\f011"
}

.fa-signal:before {
    content: "\f012"
}

.fa-gear:before, .fa-cog:before {
    content: "\f013"
}

.fa-trash-o:before {
    content: "\f014"
}

.fa-home:before {
    content: "\f015"
}

.fa-file-o:before {
    content: "\f016"
}

.fa-clock-o:before {
    content: "\f017"
}

.fa-road:before {
    content: "\f018"
}

.fa-download:before {
    content: "\f019"
}

.fa-arrow-circle-o-down:before {
    content: "\f01a"
}

.fa-arrow-circle-o-up:before {
    content: "\f01b"
}

.fa-inbox:before {
    content: "\f01c"
}

.fa-play-circle-o:before {
    content: "\f01d"
}

.fa-rotate-right:before, .fa-repeat:before {
    content: "\f01e"
}

.fa-refresh:before {
    content: "\f021"
}

.fa-list-alt:before {
    content: "\f022"
}

.fa-lock:before {
    content: "\f023"
}

.fa-flag:before {
    content: "\f024"
}

.fa-headphones:before {
    content: "\f025"
}

.fa-volume-off:before {
    content: "\f026"
}

.fa-volume-down:before {
    content: "\f027"
}

.fa-volume-up:before {
    content: "\f028"
}

.fa-qrcode:before {
    content: "\f029"
}

.fa-barcode:before {
    content: "\f02a"
}

.fa-tag:before {
    content: "\f02b"
}

.fa-tags:before {
    content: "\f02c"
}

.fa-book:before {
    content: "\f02d"
}

.fa-bookmark:before {
    content: "\f02e"
}

.fa-print:before {
    content: "\f02f"
}

.fa-camera:before {
    content: "\f030"
}

.fa-font:before {
    content: "\f031"
}

.fa-bold:before {
    content: "\f032"
}

.fa-italic:before {
    content: "\f033"
}

.fa-text-height:before {
    content: "\f034"
}

.fa-text-width:before {
    content: "\f035"
}

.fa-align-left:before {
    content: "\f036"
}

.fa-align-center:before {
    content: "\f037"
}

.fa-align-right:before {
    content: "\f038"
}

.fa-align-justify:before {
    content: "\f039"
}

.fa-list:before {
    content: "\f03a"
}

.fa-dedent:before, .fa-outdent:before {
    content: "\f03b"
}

.fa-indent:before {
    content: "\f03c"
}

.fa-video-camera:before {
    content: "\f03d"
}

.fa-picture-o:before {
    content: "\f03e"
}

.fa-pencil:before {
    content: "\f040"
}

.fa-map-marker:before {
    content: "\f041"
}

.fa-adjust:before {
    content: "\f042"
}

.fa-tint:before {
    content: "\f043"
}

.fa-edit:before, .fa-pencil-square-o:before {
    content: "\f044"
}

.fa-share-square-o:before {
    content: "\f045"
}

.fa-check-square-o:before {
    content: "\f046"
}

.fa-arrows:before {
    content: "\f047"
}

.fa-step-backward:before {
    content: "\f048"
}

.fa-fast-backward:before {
    content: "\f049"
}

.fa-backward:before {
    content: "\f04a"
}

.fa-play:before {
    content: "\f04b"
}

.fa-pause:before {
    content: "\f04c"
}

.fa-stop:before {
    content: "\f04d"
}

.fa-forward:before {
    content: "\f04e"
}

.fa-fast-forward:before {
    content: "\f050"
}

.fa-step-forward:before {
    content: "\f051"
}

.fa-eject:before {
    content: "\f052"
}

.fa-chevron-left:before {
    content: "\f053"
}

.fa-chevron-right:before {
    content: "\f054"
}

.fa-plus-circle:before {
    content: "\f055"
}

.fa-minus-circle:before {
    content: "\f056"
}

.fa-times-circle:before {
    content: "\f057"
}

.fa-check-circle:before {
    content: "\f058"
}

.fa-question-circle:before {
    content: "\f059"
}

.fa-info-circle:before {
    content: "\f05a"
}

.fa-crosshairs:before {
    content: "\f05b"
}

.fa-times-circle-o:before {
    content: "\f05c"
}

.fa-check-circle-o:before {
    content: "\f05d"
}

.fa-ban:before {
    content: "\f05e"
}

.fa-arrow-left:before {
    content: "\f060"
}

.fa-arrow-right:before {
    content: "\f061"
}

.fa-arrow-up:before {
    content: "\f062"
}

.fa-arrow-down:before {
    content: "\f063"
}

.fa-mail-forward:before, .fa-share:before {
    content: "\f064"
}

.fa-expand:before {
    content: "\f065"
}

.fa-compress:before {
    content: "\f066"
}

.fa-plus:before {
    content: "\f067"
}

.fa-minus:before {
    content: "\f068"
}

.fa-asterisk:before {
    content: "\f069"
}

.fa-exclamation-circle:before {
    content: "\f06a"
}

.fa-gift:before {
    content: "\f06b"
}

.fa-leaf:before {
    content: "\f06c"
}

.fa-fire:before {
    content: "\f06d"
}

.fa-eye:before {
    content: "\f06e"
}

.fa-eye-slash:before {
    content: "\f070"
}

.fa-warning:before, .fa-exclamation-triangle:before {
    content: "\f071"
}

.fa-plane:before {
    content: "\f072"
}

.fa-calendar:before {
    content: "\f073"
}

.fa-random:before {
    content: "\f074"
}

.fa-comment:before {
    content: "\f075"
}

.fa-magnet:before {
    content: "\f076"
}

.fa-chevron-up:before {
    content: "\f077"
}

.fa-chevron-down:before {
    content: "\f078"
}

.fa-retweet:before {
    content: "\f079"
}

.fa-shopping-cart:before {
    content: "\f07a"
}

.fa-folder:before {
    content: "\f07b"
}

.fa-folder-open:before {
    content: "\f07c"
}

.fa-arrows-v:before {
    content: "\f07d"
}

.fa-arrows-h:before {
    content: "\f07e"
}

.fa-bar-chart-o:before {
    content: "\f080"
}

.fa-twitter-square:before {
    content: "\f081"
}

.fa-facebook-square:before {
    content: "\f082"
}

.fa-camera-retro:before {
    content: "\f083"
}

.fa-key:before {
    content: "\f084"
}

.fa-gears:before, .fa-cogs:before {
    content: "\f085"
}

.fa-comments:before {
    content: "\f086"
}

.fa-thumbs-o-up:before {
    content: "\f087"
}

.fa-thumbs-o-down:before {
    content: "\f088"
}

.fa-star-half:before {
    content: "\f089"
}

.fa-heart-o:before {
    content: "\f08a"
}

.fa-sign-out:before {
    content: "\f08b"
}

.fa-linkedin-square:before {
    content: "\f08c"
}

.fa-thumb-tack:before {
    content: "\f08d"
}

.fa-external-link:before {
    content: "\f08e"
}

.fa-sign-in:before {
    content: "\f090"
}

.fa-trophy:before {
    content: "\f091"
}

.fa-github-square:before {
    content: "\f092"
}

.fa-upload:before {
    content: "\f093"
}

.fa-lemon-o:before {
    content: "\f094"
}

.fa-phone:before {
    content: "\f095"
}

.fa-square-o:before {
    content: "\f096"
}

.fa-bookmark-o:before {
    content: "\f097"
}

.fa-phone-square:before {
    content: "\f098"
}

.fa-twitter:before {
    content: "\f099"
}

.fa-facebook:before {
    content: "\f09a"
}

.fa-github:before {
    content: "\f09b"
}

.fa-unlock:before {
    content: "\f09c"
}

.fa-credit-card:before {
    content: "\f09d"
}

.fa-rss:before {
    content: "\f09e"
}

.fa-hdd-o:before {
    content: "\f0a0"
}

.fa-bullhorn:before {
    content: "\f0a1"
}

.fa-bell:before {
    content: "\f0f3"
}

.fa-certificate:before {
    content: "\f0a3"
}

.fa-hand-o-right:before {
    content: "\f0a4"
}

.fa-hand-o-left:before {
    content: "\f0a5"
}

.fa-hand-o-up:before {
    content: "\f0a6"
}

.fa-hand-o-down:before {
    content: "\f0a7"
}

.fa-arrow-circle-left:before {
    content: "\f0a8"
}

.fa-arrow-circle-right:before {
    content: "\f0a9"
}

.fa-arrow-circle-up:before {
    content: "\f0aa"
}

.fa-arrow-circle-down:before {
    content: "\f0ab"
}

.fa-globe:before {
    content: "\f0ac"
}

.fa-wrench:before {
    content: "\f0ad"
}

.fa-tasks:before {
    content: "\f0ae"
}

.fa-filter:before {
    content: "\f0b0"
}

.fa-briefcase:before {
    content: "\f0b1"
}

.fa-arrows-alt:before {
    content: "\f0b2"
}

.fa-group:before, .fa-users:before {
    content: "\f0c0"
}

.fa-chain:before, .fa-link:before {
    content: "\f0c1"
}

.fa-cloud:before {
    content: "\f0c2"
}

.fa-flask:before {
    content: "\f0c3"
}

.fa-cut:before, .fa-scissors:before {
    content: "\f0c4"
}

.fa-copy:before, .fa-files-o:before {
    content: "\f0c5"
}

.fa-paperclip:before {
    content: "\f0c6"
}

.fa-save:before, .fa-floppy-o:before {
    content: "\f0c7"
}

.fa-square:before {
    content: "\f0c8"
}

.fa-bars:before {
    content: "\f0c9"
}

.fa-list-ul:before {
    content: "\f0ca"
}

.fa-list-ol:before {
    content: "\f0cb"
}

.fa-strikethrough:before {
    content: "\f0cc"
}

.fa-underline:before {
    content: "\f0cd"
}

.fa-table:before {
    content: "\f0ce"
}

.fa-magic:before {
    content: "\f0d0"
}

.fa-truck:before {
    content: "\f0d1"
}

.fa-pinterest:before {
    content: "\f0d2"
}

.fa-pinterest-square:before {
    content: "\f0d3"
}

.fa-google-plus-square:before {
    content: "\f0d4"
}

.fa-google-plus:before {
    content: "\f0d5"
}

.fa-money:before {
    content: "\f0d6"
}

.fa-caret-down:before {
    content: "\f0d7"
}

.fa-caret-up:before {
    content: "\f0d8"
}

.fa-caret-left:before {
    content: "\f0d9"
}

.fa-caret-right:before {
    content: "\f0da"
}

.fa-columns:before {
    content: "\f0db"
}

.fa-unsorted:before, .fa-sort:before {
    content: "\f0dc"
}

.fa-sort-down:before, .fa-sort-asc:before {
    content: "\f0dd"
}

.fa-sort-up:before, .fa-sort-desc:before {
    content: "\f0de"
}

.fa-envelope:before {
    content: "\f0e0"
}

.fa-linkedin:before {
    content: "\f0e1"
}

.fa-rotate-left:before, .fa-undo:before {
    content: "\f0e2"
}

.fa-legal:before, .fa-gavel:before {
    content: "\f0e3"
}

.fa-dashboard:before, .fa-tachometer:before {
    content: "\f0e4"
}

.fa-comment-o:before {
    content: "\f0e5"
}

.fa-comments-o:before {
    content: "\f0e6"
}

.fa-flash:before, .fa-bolt:before {
    content: "\f0e7"
}

.fa-sitemap:before {
    content: "\f0e8"
}

.fa-umbrella:before {
    content: "\f0e9"
}

.fa-paste:before, .fa-clipboard:before {
    content: "\f0ea"
}

.fa-lightbulb-o:before {
    content: "\f0eb"
}

.fa-exchange:before {
    content: "\f0ec"
}

.fa-cloud-download:before {
    content: "\f0ed"
}

.fa-cloud-upload:before {
    content: "\f0ee"
}

.fa-user-md:before {
    content: "\f0f0"
}

.fa-stethoscope:before {
    content: "\f0f1"
}

.fa-suitcase:before {
    content: "\f0f2"
}

.fa-bell-o:before {
    content: "\f0a2"
}

.fa-coffee:before {
    content: "\f0f4"
}

.fa-cutlery:before {
    content: "\f0f5"
}

.fa-file-text-o:before {
    content: "\f0f6"
}

.fa-building-o:before {
    content: "\f0f7"
}

.fa-hospital-o:before {
    content: "\f0f8"
}

.fa-ambulance:before {
    content: "\f0f9"
}

.fa-medkit:before {
    content: "\f0fa"
}

.fa-fighter-jet:before {
    content: "\f0fb"
}

.fa-beer:before {
    content: "\f0fc"
}

.fa-h-square:before {
    content: "\f0fd"
}

.fa-plus-square:before {
    content: "\f0fe"
}

.fa-angle-double-left:before {
    content: "\f100"
}

.fa-angle-double-right:before {
    content: "\f101"
}

.fa-angle-double-up:before {
    content: "\f102"
}

.fa-angle-double-down:before {
    content: "\f103"
}

.fa-angle-left:before {
    content: "\f104"
}

.fa-angle-right:before {
    content: "\f105"
}

.fa-angle-up:before {
    content: "\f106"
}

.fa-angle-down:before {
    content: "\f107"
}

.fa-desktop:before {
    content: "\f108"
}

.fa-laptop:before {
    content: "\f109"
}

.fa-tablet:before {
    content: "\f10a"
}

.fa-mobile-phone:before, .fa-mobile:before {
    content: "\f10b"
}

.fa-circle-o:before {
    content: "\f10c"
}

.fa-quote-left:before {
    content: "\f10d"
}

.fa-quote-right:before {
    content: "\f10e"
}

.fa-spinner:before {
    content: "\f110"
}

.fa-circle:before {
    content: "\f111"
}

.fa-mail-reply:before, .fa-reply:before {
    content: "\f112"
}

.fa-github-alt:before {
    content: "\f113"
}

.fa-folder-o:before {
    content: "\f114"
}

.fa-folder-open-o:before {
    content: "\f115"
}

.fa-smile-o:before {
    content: "\f118"
}

.fa-frown-o:before {
    content: "\f119"
}

.fa-meh-o:before {
    content: "\f11a"
}

.fa-gamepad:before {
    content: "\f11b"
}

.fa-keyboard-o:before {
    content: "\f11c"
}

.fa-flag-o:before {
    content: "\f11d"
}

.fa-flag-checkered:before {
    content: "\f11e"
}

.fa-terminal:before {
    content: "\f120"
}

.fa-code:before {
    content: "\f121"
}

.fa-reply-all:before {
    content: "\f122"
}

.fa-mail-reply-all:before {
    content: "\f122"
}

.fa-star-half-empty:before, .fa-star-half-full:before, .fa-star-half-o:before {
    content: "\f123"
}

.fa-location-arrow:before {
    content: "\f124"
}

.fa-crop:before {
    content: "\f125"
}

.fa-code-fork:before {
    content: "\f126"
}

.fa-unlink:before, .fa-chain-broken:before {
    content: "\f127"
}

.fa-question:before {
    content: "\f128"
}

.fa-info:before {
    content: "\f129"
}

.fa-exclamation:before {
    content: "\f12a"
}

.fa-superscript:before {
    content: "\f12b"
}

.fa-subscript:before {
    content: "\f12c"
}

.fa-eraser:before {
    content: "\f12d"
}

.fa-puzzle-piece:before {
    content: "\f12e"
}

.fa-microphone:before {
    content: "\f130"
}

.fa-microphone-slash:before {
    content: "\f131"
}

.fa-shield:before {
    content: "\f132"
}

.fa-calendar-o:before {
    content: "\f133"
}

.fa-fire-extinguisher:before {
    content: "\f134"
}

.fa-rocket:before {
    content: "\f135"
}

.fa-maxcdn:before {
    content: "\f136"
}

.fa-chevron-circle-left:before {
    content: "\f137"
}

.fa-chevron-circle-right:before {
    content: "\f138"
}

.fa-chevron-circle-up:before {
    content: "\f139"
}

.fa-chevron-circle-down:before {
    content: "\f13a"
}

.fa-html5:before {
    content: "\f13b"
}

.fa-css3:before {
    content: "\f13c"
}

.fa-anchor:before {
    content: "\f13d"
}

.fa-unlock-alt:before {
    content: "\f13e"
}

.fa-bullseye:before {
    content: "\f140"
}

.fa-ellipsis-h:before {
    content: "\f141"
}

.fa-ellipsis-v:before {
    content: "\f142"
}

.fa-rss-square:before {
    content: "\f143"
}

.fa-play-circle:before {
    content: "\f144"
}

.fa-ticket:before {
    content: "\f145"
}

.fa-minus-square:before {
    content: "\f146"
}

.fa-minus-square-o:before {
    content: "\f147"
}

.fa-level-up:before {
    content: "\f148"
}

.fa-level-down:before {
    content: "\f149"
}

.fa-check-square:before {
    content: "\f14a"
}

.fa-pencil-square:before {
    content: "\f14b"
}

.fa-external-link-square:before {
    content: "\f14c"
}

.fa-share-square:before {
    content: "\f14d"
}

.fa-compass:before {
    content: "\f14e"
}

.fa-toggle-down:before, .fa-caret-square-o-down:before {
    content: "\f150"
}

.fa-toggle-up:before, .fa-caret-square-o-up:before {
    content: "\f151"
}

.fa-toggle-right:before, .fa-caret-square-o-right:before {
    content: "\f152"
}

.fa-euro:before, .fa-eur:before {
    content: "\f153"
}

.fa-gbp:before {
    content: "\f154"
}

.fa-dollar:before, .fa-usd:before {
    content: "\f155"
}

.fa-rupee:before, .fa-inr:before {
    content: "\f156"
}

.fa-cny:before, .fa-rmb:before, .fa-yen:before, .fa-jpy:before {
    content: "\f157"
}

.fa-ruble:before, .fa-rouble:before, .fa-rub:before {
    content: "\f158"
}

.fa-won:before, .fa-krw:before {
    content: "\f159"
}

.fa-bitcoin:before, .fa-btc:before {
    content: "\f15a"
}

.fa-file:before {
    content: "\f15b"
}

.fa-file-text:before {
    content: "\f15c"
}

.fa-sort-alpha-asc:before {
    content: "\f15d"
}

.fa-sort-alpha-desc:before {
    content: "\f15e"
}

.fa-sort-amount-asc:before {
    content: "\f160"
}

.fa-sort-amount-desc:before {
    content: "\f161"
}

.fa-sort-numeric-asc:before {
    content: "\f162"
}

.fa-sort-numeric-desc:before {
    content: "\f163"
}

.fa-thumbs-up:before {
    content: "\f164"
}

.fa-thumbs-down:before {
    content: "\f165"
}

.fa-youtube-square:before {
    content: "\f166"
}

.fa-youtube:before {
    content: "\f167"
}

.fa-xing:before {
    content: "\f168"
}

.fa-xing-square:before {
    content: "\f169"
}

.fa-youtube-play:before {
    content: "\f16a"
}

.fa-dropbox:before {
    content: "\f16b"
}

.fa-stack-overflow:before {
    content: "\f16c"
}

.fa-instagram:before {
    content: "\f16d"
}

.fa-flickr:before {
    content: "\f16e"
}

.fa-adn:before {
    content: "\f170"
}

.fa-bitbucket:before {
    content: "\f171"
}

.fa-bitbucket-square:before {
    content: "\f172"
}

.fa-tumblr:before {
    content: "\f173"
}

.fa-tumblr-square:before {
    content: "\f174"
}

.fa-long-arrow-down:before {
    content: "\f175"
}

.fa-long-arrow-up:before {
    content: "\f176"
}

.fa-long-arrow-left:before {
    content: "\f177"
}

.fa-long-arrow-right:before {
    content: "\f178"
}

.fa-apple:before {
    content: "\f179"
}

.fa-windows:before {
    content: "\f17a"
}

.fa-android:before {
    content: "\f17b"
}

.fa-linux:before {
    content: "\f17c"
}

.fa-dribbble:before {
    content: "\f17d"
}

.fa-skype:before {
    content: "\f17e"
}

.fa-foursquare:before {
    content: "\f180"
}

.fa-trello:before {
    content: "\f181"
}

.fa-female:before {
    content: "\f182"
}

.fa-male:before {
    content: "\f183"
}

.fa-gittip:before {
    content: "\f184"
}

.fa-sun-o:before {
    content: "\f185"
}

.fa-moon-o:before {
    content: "\f186"
}

.fa-archive:before {
    content: "\f187"
}

.fa-bug:before {
    content: "\f188"
}

.fa-vk:before {
    content: "\f189"
}

.fa-weibo:before {
    content: "\f18a"
}

.fa-renren:before {
    content: "\f18b"
}

.fa-pagelines:before {
    content: "\f18c"
}

.fa-stack-exchange:before {
    content: "\f18d"
}

.fa-arrow-circle-o-right:before {
    content: "\f18e"
}

.fa-arrow-circle-o-left:before {
    content: "\f190"
}

.fa-toggle-left:before, .fa-caret-square-o-left:before {
    content: "\f191"
}

.fa-dot-circle-o:before {
    content: "\f192"
}

.fa-wheelchair:before {
    content: "\f193"
}

.fa-vimeo-square:before {
    content: "\f194"
}

.fa-turkish-lira:before, .fa-try:before {
    content: "\f195"
}

.fa-plus-square-o:before {
    content: "\f196"
}

/* ============================================================
   PageQuestionnaire_view — desktop UI/UX
   Mirrors the cleaned-up mobile classes from PageQuestionnaire_view.ss
   ============================================================ */

/* Container padding */
.typography.questionnaire {
    padding: 16px 20px 24px;
    background: #fafafa;
}

.typography.trivia {
    padding: 16px 20px 24px;
    background: #fafafa;
}

/* a.btn buttons scoped to this view (Complete report, Complete
   section, Edit etc.) — match the orange CTA style */
.typography.questionnaire a.btn,
.typography.questionnaire a.btn.right {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border-radius: 6px;
    background: #e8830a;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    border: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
    line-height: 1.4;
    margin: 0 8px 8px 0 !important;
}

.typography.questionnaire a.btn:hover,
.typography.questionnaire a.btn.right:hover {
    background: #d47408;
    text-decoration: none !important;
}

.typography.questionnaire a.btn.right {
    float: right;
}

.typography.questionnaire a.btn.secondary {
    background: #fff;
    color: #e8830a !important;
    border: 1px solid #e8830a;
    box-shadow: none;
    padding: 2px 15px;
}

.typography.questionnaire a.btn.secondary:hover {
    background: #fff8f2;
}

/* ─── Trivia (.formContent.trivia) action buttons — desktop only ───
   PageTrivia_category.ss wraps in <div class="formContent trivia">.
   The questionnaire-scoped a.btn rules above don't reach it, so the
   "Back to assessments" / "Logout of assessment" links rendered as
   plain text on desktop. Mobile (mobi_layout.css) is unchanged. */
.formContent.trivia a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 6px;
    background: #e8830a;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    border: 1px solid #e8830a;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
    line-height: 1.4;
    margin: 12px 8px 0 0;
    transition: background .15s, color .15s, box-shadow .15s;
}

.formContent.trivia a.btn:hover {
    background: #d47408;
    border-color: #d47408;
    color: #fff !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
    text-decoration: none !important;
}

/* Logout = destructive/leave action — secondary (white, orange border) */
.formContent.trivia a.btn#TriviaLogout {
    background: #fff;
    color: #e8830a !important;
    border: 1px solid #e8830a;
    box-shadow: none;
}

.formContent.trivia a.btn#TriviaLogout:hover {
    background: #fff8f2;
    color: #d47408 !important;
    border-color: #d47408;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

/* FA icons inside the trivia buttons — global .fa is 20px, too big here */
.formContent.trivia a.btn .fa {
    font-size: 13px !important;
    line-height: 1;
    vertical-align: middle;
    background-image: none
}


.submission-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    margin: 0 0 12px;
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 8px;
}

.submission-badge {
    display: inline-block;
    padding: 5px 12px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    border-radius: 14px;
    line-height: 1.4;
    white-space: nowrap;
}

.submission-badge a {
    color: inherit !important;
    text-decoration: none !important;
}

.submission-badge.status-complete {
    background: #e8f5e9;
    color: #2e7d32;
}

.submission-badge.status-incomplete {
    background: #ffebee;
    color: #c62828;
}

.submission-badge.verify-yes {
    background: #e8f5e9;
    color: #2e7d32;
}

.submission-badge.verify-no {
    background: #fff3e0;
    color: #ef6c00;
}

.submission-badge.archived {
    background: #eceff1;
    color: #546e7a;
}

.submission-appchannel {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    font-size: 12px;
    color: #888;
}

.submission-appchannel img {
    height: 22px;
    width: auto;
    vertical-align: middle;
}

.submission-appchannel small {
    font-size: 11px;
    color: #aaa;
}

/* View Call + Add Image actions */
.submission-actions {
    display: flex;
    flex-direction: row;
    gap: 10px;
    padding: 0 0 12px;
    margin: 0 0 12px;
    border-bottom: 1px solid #f0f0f0;
}

.submission-actions a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border-radius: 6px;
    background: #e8830a;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    border: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.submission-actions a.btn:hover {
    background: #d47408;
}

.submission-actions a.btn.secondary {
    background: #fff;
    color: #e8830a !important;
    border: 1px solid #e8830a;
    box-shadow: none;
}

.submission-actions a.btn.secondary:hover {
    background: #fff8f2;
}

.submission-no-call {
    margin: 6px 0 12px;
    padding: 10px 14px;
    background: #fff3e0;
    color: #c62828;
    border-radius: 6px;
    font-size: 13px;
}

/* PDF / Spreadsheet / Edit row */
.submission-exports {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
}

.submission-exports > a {
    display: inline-flex;
    align-items: center;
    height: 38px;
    padding: 0 20px;
    border-radius: 6px;
    background: #f5f5f5;
    border: 1px solid #ddd;
    color: #444 !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    letter-spacing: 0.2px;
}

.submission-exports > a.pdf {
    color: #b00020 !important;
    border-color: #f0c8cc;
    background: #fff5f6;
}

.submission-exports > a.pdf:hover {
    background: #fce8eb;
}

.submission-exports > a.xls {
    color: #1b5e20 !important;
    border-color: #cde7cf;
    background: #f4faf4;
}

.submission-exports > a.xls:hover {
    background: #e6f3e7;
}

.submission-exports > a.btn {
    background: #fff;
    color: #e8830a !important;
    border: 1px solid #e8830a;
}

.submission-exports > a.btn:hover {
    background: #fff8f2;
}

/* Back navigation pill — desktop */
a.submission-back,
a.back-link,
a.viewLog {
    display: inline-block;
    margin: 14px 0;
    padding: 7px 14px 7px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #e8830a !important;
    background: #fff8f2;
    border: 1px solid #fce0bf;
    border-radius: 6px;
    text-decoration: none !important;
    line-height: 1.4;
}

a.submission-back:hover,
a.back-link:hover,
a.viewLog:hover {
    background: #fce0bf;
    text-decoration: none !important;
}

/* ─── Form_viewForm: two-column key/value summary ─────── */

#QuestionnaireForm form#Form_viewForm fieldset {
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 8px;
    margin: 0 0 16px;
    padding: 6px 20px;
    box-sizing: border-box;
}

#QuestionnaireForm form#Form_viewForm .field {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 10px 0;
    margin: 0;
    border-bottom: 1px solid #f3f3f3;
}

#QuestionnaireForm form#Form_viewForm .field:last-of-type {
    border-bottom: none;
}

#QuestionnaireForm form#Form_viewForm .field label.left {
    flex: 0 0 200px;
    max-width: 200px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #888;
    margin: 0;
    padding: 2px 0 0;
    float: none;
    text-align: left;
    line-height: 1.4;
}

#QuestionnaireForm form#Form_viewForm .field .middleColumn {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    font-size: 13px;
    color: #222;
    line-height: 1.5;
    word-break: break-word;
}

#QuestionnaireForm form#Form_viewForm .field .middleColumn a {
    color: #1976d2;
    text-decoration: none;
}

#QuestionnaireForm form#Form_viewForm .field .middleColumn a:hover {
    text-decoration: underline;
}

#QuestionnaireForm form#Form_viewForm .field .middleColumn .readonly {
    color: #222;
}

/* "View branch details >" — pull up to inline with #BranchID row.
   HTML places it as the next sibling AFTER the BranchID field; we
   yank it back onto the same row by negative top margin + float */
#QuestionnaireForm form#Form_viewForm a#viewDetails {
    display: inline-block;
    float: right;
    clear: right;
    margin: -35px 0 8px 0;
    padding: 5px 12px;
    background: #fff8f2;
    border: 1px solid #fce0bf;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #e8830a;
    text-decoration: none;
    position: relative;
    z-index: 1;
}

#QuestionnaireForm form#Form_viewForm a#viewDetails:hover {
    background: #fce0bf;
}

/* Reserve right padding in BranchID row so text won't slip under the button */
#QuestionnaireForm form#Form_viewForm #BranchID .middleColumn {
    padding-right: 150px;
}

#QuestionnaireForm form#Form_viewForm p.message {
    margin: 0 0 12px;
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 13px;
}

/* ─── #Questions table — desktop card-style ─────────── */

table#Questions {
    width: 100% !important;
    border-collapse: collapse;
    margin: 8px 0 16px;
    background: #fff;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px;
    overflow: hidden;
    font-size: 13px;
}

table#Questions th,
table#Questions td {
    border: none !important;
    border-bottom: 1px solid #ebebeb !important;
    padding: 12px 16px !important;
    vertical-align: top;
}

table#Questions th {
    background: #f7f7f7;
    color: #444;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    text-align: left;
    min-width: 0 !important;
}

table#Questions th.Question,
table#Questions td.Question {
    width: 65%;
}

table#Questions tr:hover td {
    background: #fafafa;
}

table#Questions td.Question {
    color: #333;
    line-height: 1.5;
}

table#Questions td.Answer {
    font-weight: 600;
    color: #1a1a1a;
    white-space: normal !important;
}

table#Questions td.Question small,
table#Questions td.Question small p,
table#Questions td.Question small span {
    font-size: 11px;
    color: #888;
}

table#Questions tr:last-child td {
    border-bottom: none !important;
}

/* ─── #questionnaireGroups summary table — desktop ───── */

.typography.questionnaire #questionnaireGroups {
    margin: 0 0 20px;
}

.typography.questionnaire #questionnaireGroups h2 {
    font-size: 15px;
    font-weight: 700;
    color: #444;
    margin: 0 0 10px;
    padding: 0;
    letter-spacing: 0.1px;
}

.typography.questionnaire #questionnaireGroups table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    font-size: 13px;
}

.typography.questionnaire #questionnaireGroups table th,
.typography.questionnaire #questionnaireGroups table td {
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 10px 16px !important;
    vertical-align: middle;
    text-align: left;
}

.typography.questionnaire #questionnaireGroups table th {
    background: #f7f7f7;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #888;
}

.typography.questionnaire #questionnaireGroups table tr:last-child td {
    border-bottom: none !important;
}

.typography.questionnaire #questionnaireGroups table tr:hover td {
    background: #fafafa;
}

/* Group name link */
.typography.questionnaire #questionnaireGroups td:first-child a {
    color: #333;
    font-weight: 600;
    text-decoration: none;
    display: block;
}

.typography.questionnaire #questionnaireGroups td:first-child a:hover {
    color: #e8830a;
}

/* Status pill badges */
.typography.questionnaire #questionnaireGroups span.complete,
.typography.questionnaire #questionnaireGroups span.incomplete,
.typography.questionnaire #questionnaireGroups span.pending {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.typography.questionnaire #questionnaireGroups span.complete {
    background: #e8f5e9;
    color: #2e7d32;
}

.typography.questionnaire #questionnaireGroups span.incomplete {
    background: #ffebee;
    color: #c62828;
}

.typography.questionnaire #questionnaireGroups span.pending {
    background: #fff3e0;
    color: #ef6c00;
}

/* Status cell links inherit pill colour */
.typography.questionnaire #questionnaireGroups span.complete a,
.typography.questionnaire #questionnaireGroups span.incomplete a,
.typography.questionnaire #questionnaireGroups span.pending a {
    color: inherit !important;
    text-decoration: none !important;
    font-weight: 700;
}

/* ============================================================
   PageDocument — #DocumentCategories — desktop
   ============================================================ */

#DocumentCategories {
    padding: 16px 10px !important;
}

/* ── Accordion headers (h3 top-level, h4 sub-category) ─── */

#DocumentCategories h3.ui-accordion-header,
#DocumentCategories h4.ui-accordion-header {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 11px 16px !important;
    margin: 0 0 3px !important;
    background: #fff !important;
    border: 1px solid #e6e6e6 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    cursor: pointer;
    box-shadow: none !important;
    line-height: 1.3;
    transition: background 0.12s, border-color 0.12s;
    position: relative;
}

#DocumentCategories h3.ui-accordion-header:hover,
#DocumentCategories h4.ui-accordion-header:hover {
    background: #fafafa !important;
    border-color: #d8d8d8 !important;
}

#DocumentCategories h3.ui-accordion-header.ui-state-active,
#DocumentCategories h4.ui-accordion-header.ui-state-active {
    background: #fff8f2 !important;
    border-color: #f0c090 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    color: #e8830a !important;
}

/* Hide jQuery UI triangle sprite — use CSS arrow instead */
#DocumentCategories .ui-accordion-header-icon {
    display: none !important;
}

#DocumentCategories h3.ui-accordion-header::before,
#DocumentCategories h4.ui-accordion-header::before {
    content: '›';
    font-size: 18px;
    font-weight: 400;
    color: #ccc;
    flex-shrink: 0;
    transition: transform 0.15s;
    line-height: 1;
}

#DocumentCategories h3.ui-accordion-header.ui-state-active::before,
#DocumentCategories h4.ui-accordion-header.ui-state-active::before {
    transform: rotate(90deg);
    color: #e8830a;
}

/* Category title text — grows to fill available space */
#DocumentCategories h3.ui-accordion-header > span:not(.ui-accordion-header-icon):not(.cat-actions),
#DocumentCategories h4.ui-accordion-header > span:not(.ui-accordion-header-icon):not(.cat-actions):not(.fa):not(.fa-folder-o) {
    flex: 1 1 auto;
}

/* ── Accordion content panel ─────────────────────────────── */

#DocumentCategories .ui-accordion-content {
    padding: 0 !important;
    border: 1px solid #e6e6e6 !important;
    border-top: none !important;
    border-radius: 0 0 8px 8px !important;
    background: #fafafa !important;
    box-shadow: none !important;
    margin-bottom: 6px;
    overflow: visible !important;
}

/* ── Document list ───────────────────────────────────────── */

#DocumentCategories ul.docs {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#DocumentCategories ul.docs li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px !important;
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
    font-size: 13px !important;
    position: relative;
}

#DocumentCategories ul.docs li:last-child {
    border-bottom: none;
    border-radius: 0 0 8px 8px;
}

#DocumentCategories ul.docs li:hover {
    background: #fafafa;
}

/* File download link — grows, truncates */
#DocumentCategories ul.docs li a.file {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #333 !important;
    text-decoration: none !important;
    font-weight: 500;
    padding-left: 22px !important;
    background-position: left center !important;
    background-size: 16px 16px !important;
}

#DocumentCategories ul.docs li a.file:hover {
    color: #e8830a !important;
}

#DocumentCategories ul.docs li a.file.pdf {
    color: #b00020 !important;
}

#DocumentCategories ul.docs li a.file.docx,
#DocumentCategories ul.docs li a.file.doc {
    color: #1a56a0 !important;
}

#DocumentCategories ul.docs li a.file.xls,
#DocumentCategories ul.docs li a.file.xlsx {
    color: #1b5e20 !important;
}

/* Sub-category title (no file yet) */
#DocumentCategories ul.docs li > span.doc-title {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
    color: #555;
    font-size: 13px;
}

/* ── Inline action icons (desktop — .doc-actions shown inline) */

#DocumentCategories .doc-actions,
#DocumentCategories .cat-actions {
    display: inline-flex !important;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
}

#DocumentCategories .doc-actions a,
#DocumentCategories .cat-actions a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 5px;
    color: #ccc !important;
    text-decoration: none !important;
    font-size: 12px;
    transition: color 0.1s, background 0.1s;
}

#DocumentCategories .doc-actions a:hover,
#DocumentCategories .cat-actions a:hover {
    color: #e8830a !important;
    background: #fff0e0;
}

/* Destructive actions — red on hover */
#DocumentCategories .doc-actions a[title*="Delete"]:hover,
#DocumentCategories .cat-actions a[title*="Empty"]:hover {
    color: #c62828 !important;
    background: #ffebee;
}

/* Hide text labels and ⋯ button on desktop */
#DocumentCategories .action-label {
    display: none !important;
}

#DocumentCategories .doc-menu-btn,
#DocumentCategories .cat-menu-btn {
    display: none !important;
}

/* ── Sub-category block ───────────────────────────────────── */

#DocumentCategories .subcategory {
    margin: 8px 0 4px !important;
    padding: 0 12px !important;
}

#DocumentCategories .subcategory h4.ui-accordion-header {
    font-size: 13px !important;
    background: #f7f7f7 !important;
    border-color: #e0e0e0 !important;
}

#DocumentCategories .subcategory h4.ui-state-active {
    background: #fff4e8 !important;
}

/* "No documents" message */
#DocumentCategories p.message {
    margin: 0 !important;
    padding: 10px 16px !important;
    font-size: 12px !important;
    color: #aaa;
    background: #fafafa !important;
    border: none !important;
    border-radius: 0 0 8px 8px !important;
}

/* ============================================================
   PageQuestionnaire add / edit form — desktop
   Scoped to .formContent so other pages are unaffected.
   ============================================================ */

/* Constrain form width and give it breathing room */
.formContent {
    margin: 0 auto;
    padding: 20px 24px 32px !important;
    background: #f4f4f4;
    box-sizing: border-box;
}

/* Base font cascade */
form#Form_addForm,
form#Form_addForm * {
    font-size: 13px;
    line-height: 1.5;
    box-sizing: border-box;
}

/* fieldset — white card section */
form#Form_addForm fieldset {
    background: #fff;
    border-radius: 10px;
    padding: 6px 24px 16px !important;
    margin: 0 0 18px !important;
}

/* Section group headings (h2 / h3) — orange-accented bar */
form#Form_addForm h2,
form#Form_addForm h3 {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #333 !important;
    margin: 20px 0 12px !important;
    padding: 10px 14px !important;
    background: #f7f7f7;
    border-left: 3px solid #e8830a;
    border-radius: 0 6px 6px 0;
    clear: both !important;
    border-bottom: none !important;
}

form#Form_addForm h4,
form#Form_addForm h5 {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #555 !important;
    padding: 8px 0 6px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    margin: 14px 0 8px !important;
    clear: both !important;
}

/* Field rows — two-column (label left, input right) */
form#Form_addForm .field {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 16px !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #f3f3f3;
    clear: both !important;
    float: none !important;
}

form#Form_addForm .field:last-of-type,
form#Form_addForm .field:last-child {
    border-bottom: none;
}

/* Labels — right-aligned, fixed width */
form#Form_addForm .field label.left {
    flex: 0 0 220px !important;
    width: 220px !important;
    max-width: 220px !important;
    float: none !important;
    margin: 0 !important;
    padding-top: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #555 !important;
    text-align: right !important;
    line-height: 1.4;
}

form#Form_addForm .field.labelledliteral.q label.left {
    width: 100% !important;
    max-width: 100% !important;
    flex: initial !important;
    text-align: left !important;
}

/* Middle column — input side */
form#Form_addForm .field .middleColumn {
    flex: 1 1 auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    background: none !important;
    min-width: 0;
}

/* Read-only literal fields */
form#Form_addForm .labelledliteralfield .middleColumn,
form#Form_addForm .field .readonly {
    padding: 8px 12px !important;
    background: #fafafa !important;
    border: 1px solid #ececec !important;
    border-radius: 6px;
    color: #444;
    font-weight: 500;
}

form#Form_addForm .labelledliteralfield .middleColumn {
    background: none !important;
    border: none !important;
}

/* Text / number / select inputs */
form#Form_addForm input[type="text"],
form#Form_addForm input[type="number"],
form#Form_addForm input[type="tel"],
form#Form_addForm input[type="email"],
form#Form_addForm select {
    width: 100% !important;
    max-width: 480px;
    min-height: 38px;
    padding: 7px 12px !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #222 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: border-color 0.15s, box-shadow 0.15s;
}

form#Form_addForm input[type="text"]:focus,
form#Form_addForm input[type="number"]:focus,
form#Form_addForm select:focus {
    border-color: #e8830a !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(232, 131, 10, 0.10);
}

/* Numeric field — narrower */
form#Form_addForm .field.numeric input[type="text"],
form#Form_addForm .field.currency input[type="text"] {
    max-width: 140px !important;
}

/* Textarea */
form#Form_addForm textarea {
    width: 100% !important;
    max-width: 380px;
    min-height: 70px;
    padding: 9px 12px !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #222 !important;
    font-size: 13px !important;
    font-weight: normal !important;
    line-height: 1.5 !important;
    resize: vertical;
    transition: border-color 0.15s, box-shadow 0.15s;
}

form#Form_addForm textarea:focus {
    border-color: #e8830a !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(232, 131, 10, 0.10);
}

form#Form_addForm .field .middleColumn .fieldgroupField {
    display: flex;
}

form#Form_addForm .field .middleColumn .fieldgroupField label {
    flex: 0 0 220px !important;
    width: 220px !important;
    max-width: 220px !important;
    float: none !important;
    margin: 10px !important;
    padding-top: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #555 !important;
    text-align: right !important;
    line-height: 2.8;
    vertical-align: top;
}

/* select2 inside formContent */
form#Form_addForm .select2-container {
    max-width: 480px !important;
}

form#Form_addForm .select2-selection--single {
    height: 38px !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 6px !important;
    background: #fff !important;
}

form#Form_addForm .select2-selection__rendered {
    line-height: 36px !important;
    padding-left: 12px !important;
    font-size: 13px !important;
    color: #222 !important;
}

form#Form_addForm .select2-selection__arrow {
    height: 36px !important;
}

form#Form_addForm .select2-container--focus .select2-selection--single,
form#Form_addForm .select2-container--open .select2-selection--single {
    border-color: #e8830a !important;
    box-shadow: 0 0 0 3px rgba(232, 131, 10, 0.10);
}

/* Radio / checkbox optionset — pill card list */
form#Form_addForm .optionset ul,
form#Form_addForm .optionsetfield ul,
form#Form_addForm .checkboxsetfield ul,
form#Form_AnswerTriviaQuestionForm .optionset ul,
form#Form_AnswerTriviaQuestionForm .optionsetfield ul,
form#Form_AnswerTriviaQuestionForm .checkboxsetfield ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-width: 480px;
}

form#Form_addForm .optionset li,
form#Form_addForm .optionsetfield li,
form#Form_addForm .checkboxsetfield li,
form#Form_AnswerTriviaQuestionForm .optionset li,
form#Form_AnswerTriviaQuestionForm .optionsetfield li,
form#Form_AnswerTriviaQuestionForm .checkboxsetfield li {
    display: inline-flex !important;
    align-items: center;
    padding: 6px 14px 6px 10px;
    background: #fafafa;
    border: 1px solid #e0e0e0;
    border-radius: 20px;
    cursor: pointer;
    float: none !important;
    margin: 0 !important;
    clear: none !important;
    transition: border-color 0.12s, background 0.12s;
}

form#Form_addForm .optionset li:hover,
form#Form_addForm .optionsetfield li:hover,
form#Form_AnswerTriviaQuestionForm .optionset li:hover,
form#Form_AnswerTriviaQuestionForm .optionsetfield li:hover {
    border-color: #e8830a;
    background: #fff8f2;
}

form#Form_addForm .optionset li input,
form#Form_addForm .optionsetfield li input,
form#Form_addForm .checkboxsetfield li input,
form#Form_AnswerTriviaQuestionForm .optionset li input,
form#Form_AnswerTriviaQuestionForm .optionsetfield li input,
form#Form_AnswerTriviaQuestionForm .checkboxsetfield li input {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    flex-shrink: 0;
    -webkit-appearance: radio;
    accent-color: #e8830a;
}

form#Form_addForm .checkboxsetfield li input,
form#Form_AnswerTriviaQuestionForm .checkboxsetfield li input {
    -webkit-appearance: checkbox;
}

form#Form_addForm .optionset li label,
form#Form_addForm .optionsetfield li label,
form#Form_addForm .checkboxsetfield li label,
form#Form_AnswerTriviaQuestionForm .optionset li label,
form#Form_AnswerTriviaQuestionForm .optionsetfield li label,
form#Form_AnswerTriviaQuestionForm .checkboxsetfield li label {
    float: none !important;
    display: inline !important;
    width: auto !important;
    margin: 0 !important;
    padding: 3px 3px 3px 6px !important;
    color: #333 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    cursor: pointer;
    line-height: 1.3;
    text-align: left !important;
}

/* Image / file upload field */
form#Form_addForm .simpleimagefield .middleColumn,
form#Form_addForm .filefield .middleColumn {
    padding: 10px 14px !important;
    background: #fafafa !important;
    border: 1px dashed #d0d0d0 !important;
    border-radius: 8px !important;
}

form#Form_addForm .simpleimagefield input[type="file"],
form#Form_addForm .filefield input[type="file"] {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 4px 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 12px !important;
}

form#Form_addForm .simpleimagefield img {
    max-width: 160px;
    border-radius: 6px;
    margin-top: 8px;
    display: block;
    border: 1px solid #e6e6e6;
}

/* Branch label helper text */
form#Form_addForm #BranchID label small.areas {
    display: block;
    font-size: 11px !important;
    color: #aaa;
    margin-top: 3px;
    font-weight: 400;
}

/* GPS info block */
#GPSDetails {
    position: static !important;
    right: auto !important;
    margin: 8px 0 !important;
    padding: 10px 14px !important;
    border: 1px solid #f0dcc8 !important;
    border-radius: 6px !important;
    background: #fff8f2 !important;
    font-size: 12px;
    color: #6a4a14;
}

/* Primary submit button */
form#Form_addForm .Actions,
form#Form_addForm .formActions {
    padding: 16px 0 0;
    border-top: 1px solid #f0f0f0;
    margin-top: 8px;
    display: flex;
    gap: 10px;
    align-items: center;
}

form#Form_addForm .Actions input.action,
form#Form_addForm .formActions input.action,
form#Form_addForm input#Form_addForm_action_AddAQuestionnaire {
    padding: 10px 28px !important;
    border: none !important;
    border-radius: 7px !important;
    background: #e8830a !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: background 0.15s;
}

form#Form_addForm .Actions input.action:hover,
form#Form_addForm .formActions input.action:hover,
form#Form_addForm input#Form_addForm_action_AddAQuestionnaire:hover {
    background: #d47408 !important;
}

/* Secondary / cancel buttons */
form#Form_addForm .Actions input.action + input.action {
    background: #fff !important;
    color: #e8830a !important;
    border: 1px solid #e8830a !important;
}

/* Validation messages — rendered by FormField::FieldHolder() as the 3rd flex sibling
   inside <div class="field"> (after label.left and .middleColumn). Without these
   rules the message lands to the RIGHT of the input as another flex column.
   `.field` has `flex-wrap: wrap` so `flex-basis: 100%` here forces a new row;
   margin-left aligns the message under the input column (label 220px + gap 16px). */
form#Form_addForm .field span.message,
form#Form_addForm .field .message {
    flex: 0 0 100%;
    max-width: calc(100% - 236px);
    margin-left: 236px;
    margin-top: 5px;
    padding: 6px 10px;
    background: #fff7ed;
    border-left: 3px solid #e8830a;
    border-radius: 4px;
    color: #6a4a14;
    font-size: 11px;
    box-sizing: border-box;
}

form#Form_addForm .field span.message.error,
form#Form_addForm .field .message.error {
    background: #ffebee;
    border-left-color: #c62828;
    color: #7f0000;
}

/* Product/person matrix table rows — leave existing behaviour,
   just tighten spacing */
form#Form_addForm table.ProductCategoryGroups,
form#Form_addForm table.PersonCategoryGroups {
    margin-left: 0 !important;
    margin-bottom: 16px;
}

/* Hidden helper inputs — keep hidden */
form#Form_addForm input.hidden,
form#Form_addForm .hidden {
    display: none !important;
}

/* Dependency field toggle — used by inline JS in PageQuestionnaire_Controller
   to show/hide fields whose visibility depends on another answer.
   Must out-specify `form#Form_addForm .field { display:flex !important }`
   (specificity 1,2,0) — both rules carry !important, so specificity decides. */
form#Form_addForm .field.q-hidden,
form#Form_editForm .field.q-hidden,
form#Form_addForm .q-hidden,
form#Form_editForm .q-hidden,
.q-hidden {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   MEETING FORM — #Attendees and #Minutes table styling
   Both divs live inside form#Form_addForm with inline width="99%".
   The form-level .field { display:flex } rule breaks inside td — reverted here.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Orange section heading caps the table */
form#Form_addForm #Attendees h2,
form#Form_addForm #Minutes h2 {
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: #fff !important;
    background: #e8830a !important;
    margin: 20px 0 0 !important;
    padding: 9px 14px !important;
    border: none !important;
    border-radius: 7px 7px 0 0 !important;
    letter-spacing: .3px !important;
}

/* Table chrome */
form#Form_addForm #Attendees table,
form#Form_addForm #Minutes table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 12.5px !important;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-top: none !important;
    border-radius: 0 0 7px 7px !important;
    margin-bottom: 8px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .06) !important;
    table-layout: auto !important;
}

/* Header row */
form#Form_addForm #Attendees table th,
form#Form_addForm #Minutes table th {
    background: #f8f8f8 !important;
    border-bottom: 2px solid #e0e0e0 !important;
    border-right: none !important;
    padding: 8px 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #666 !important;
    text-align: left !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
    letter-spacing: .4px !important;
}

/* Body cells */
form#Form_addForm #Attendees table td,
form#Form_addForm #Minutes table td {
    padding: 5px 7px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    border-right: none !important;
    vertical-align: top !important;
}

form#Form_addForm #Attendees table tr:last-child td,
form#Form_addForm #Minutes table tr:last-child td {
    border-bottom: none !important;
}

/* Alternating rows */
form#Form_addForm #Attendees table tr.person:nth-child(even) td,
form#Form_addForm #Minutes table tbody tr:nth-child(even) td {
    background: #fafafa !important;
}

form#Form_addForm #Attendees table tr.person:hover td,
form#Form_addForm #Minutes table tbody tr:hover td {
    background: #fff8ee !important;
}

/* Revert display:flex on .field inside td — the form rule splits label/input
   into two stacked rows, breaking the table layout */
form#Form_addForm #Attendees td div.field,
form#Form_addForm #Minutes td div.field {
    display: block !important;
    align-items: unset !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: none !important;
    float: none !important;
    width: 100% !important;
}

/* Hide cell labels — th headers already identify each column */
form#Form_addForm #Attendees td label.left,
form#Form_addForm #Minutes td label.left {
    display: none !important;
}

/* middleColumn fills the cell */
form#Form_addForm #Attendees td .middleColumn,
form#Form_addForm #Minutes td .middleColumn {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Inputs + selects in cells: compact, full-width, orange focus ring */
form#Form_addForm #Attendees td input[type="text"],
form#Form_addForm #Attendees td select,
form#Form_addForm #Minutes td input[type="text"],
form#Form_addForm #Minutes td select {
    width: 100% !important;
    max-width: 100% !important;
    padding: 5px 7px !important;
    font-size: 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #333 !important;
    box-sizing: border-box !important;
    height: auto !important;
    transition: border-color .15s !important;
}

form#Form_addForm #Attendees td input:focus,
form#Form_addForm #Attendees td select:focus,
form#Form_addForm #Minutes td input:focus,
form#Form_addForm #Minutes td select:focus {
    outline: none !important;
    border-color: #e8830a !important;
    box-shadow: 0 0 0 2px rgba(232, 131, 10, .12) !important;
}

/* Textareas in Minutes rows */
form#Form_addForm #Minutes td textarea {
    width: 100% !important;
    min-height: 52px !important;
    padding: 5px 7px !important;
    font-size: 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #333 !important;
    resize: vertical !important;
    box-sizing: border-box !important;
    transition: border-color .15s !important;
}

form#Form_addForm #Minutes td textarea:focus {
    outline: none !important;
    border-color: #e8830a !important;
    box-shadow: 0 0 0 2px rgba(232, 131, 10, .12) !important;
}

/* Column widths — Attendees uses semantic td classes */
form#Form_addForm #Attendees td.attendanceType {
    width: 120px !important;
}

form#Form_addForm #Attendees td.contactNumber {
    width: 120px !important;
}

form#Form_addForm #Attendees td.position {
    width: 120px !important;
}

form#Form_addForm #Attendees td.email {
    width: 165px !important;
}

/* Column widths — Minutes uses th IDs from the template */
form#Form_addForm #Minutes th#ActionedBy {
    width: 140px !important;
}

form#Form_addForm #Minutes th#DueDate {
    width: 110px !important;
}

form#Form_addForm #Minutes th#MinuteStatus {
    width: 120px !important;
}

/* Date/dropdown wrappers inside Minutes cells */
form#Form_addForm #Minutes td div.date,
form#Form_addForm #Minutes td div.dropdown {
    width: 100% !important;
}

/* ─────────────────────────────────────────────────────────────────
   TimeField + DateField — desktop alignment on Form_addForm / Form_editForm
   ─────────────────────────────────────────────────────────────────
   Sapphire TimeField renders <input type="text"> inside <div class="field time">,
   optionally wrapped in <div class="dropdowntime"> with a clock <img class="timeIcon">.
   Sapphire DateField with dmyfields=true renders three NumericFields with classes
   .day / .month / .year inside <div class="field date">; default mode renders a
   single <input type="text">. The form-wide width:100% / max-width:480px rule
   above makes these inputs too wide — cap them and flex them in a row.
   Orange focus ring is inherited from the form-wide input[type="text"]:focus rule. */

/* DO NOT make .middleColumn or .dropdowntime a flex container:
   - sapphire/css/TimeField_dropdown.css sets `.dropdowntime { position: relative }`
     to anchor `.dropdownpopup` (which is `position: absolute`). Replacing the
     wrapper's display mode (inline-flex etc.) breaks the popup's containing block.
   - mysite/javascript/jquery.timePicker.js (used by PageMeeting_add) positions its
     `.ui-timepicker-wrapper` using `self.offset()` (document coords) and appends it
     to <body>. An extra flex container around the input shifts the offset on desktop
     so the popup lands in the wrong place. Mobile uses a different stylesheet
     (mobi_layout.css), which is why mobile renders fine. */

/* TimeField — single text input. Width must fit the rendered time string:
   - sapphire's TimeField_dropdown.js uses HH:mm (5 chars) — 80px would suffice
   - mysite/javascript/jquery.timePicker.js (used by PageMeeting_add) defaults to
     'g:ia' format → "12:30pm" (7 chars bold@13px ≈ 60–65px content width)
   100px gives ~74px content width — fits both formats with breathing room. */
form#Form_addForm .field.time input[type="text"],
form#Form_editForm .field.time input[type="text"] {
    width: 100px !important;
    max-width: 100px !important;
    text-align: center;
}

/* Clock icon (sapphire showdropdown=true) — just affordance, no layout overrides.
   Sapphire's TimeField_dropdown.css already positions the img relative to the input. */
form#Form_addForm .field.time .timeIcon,
form#Form_editForm .field.time .timeIcon {
    cursor: pointer;
}

/* jquery.timePicker popup — appended to <body>, position:absolute via JS.
   Reinforce z-index so it sits above the orange Actions bar and any sticky chrome. */
.ui-timepicker-wrapper {
    z-index: 10001 !important;
}

/* DateField — default single text input, cap at ~110px (date strings need room) */
form#Form_addForm .field.date input[type="text"],
form#Form_editForm .field.date input[type="text"] {
    width: 110px !important;
    max-width: 110px !important;
    text-align: center;
}

/* DateField dmyfields mode — three narrow inputs (day/month/year). They render
   inline by default with a separator between them — no flex needed. */
form#Form_addForm .field.date input.day,
form#Form_addForm .field.date input.month,
form#Form_editForm .field.date input.day,
form#Form_editForm .field.date input.month {
    width: 48px !important;
    max-width: 48px !important;
    display: inline-block;
    margin-right: 2px;
}

form#Form_addForm .field.date input.year,
form#Form_editForm .field.date input.year {
    width: 68px !important;
    max-width: 68px !important;
    display: inline-block;
    margin-right: 2px;
}

/* ============================================================
   PageTrivia / Assessments — AnswerTriviaQuestionForm
   Card layout matching the questionnaire/formContent style.
   ============================================================ */

#Form_AnswerTriviaQuestionForm {
    padding: 0;
    max-width: 560px;
}

/* Fieldset — white card */
#Form_AnswerTriviaQuestionForm fieldset {
    background: #fff;
    border: 1px solid #e6e6e6 !important;
    border-radius: 10px;
    padding: 24px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    margin-bottom: 0 !important;
    box-sizing: border-box;
}

/* Question heading — orange-accented bar (matches formContent h2/h3) */
#Form_AnswerTriviaQuestionForm h3.trivia-question {
    font-size: 16px;
    font-weight: 700;
    color: #222;
    line-height: 1.5;
    margin: 0 0 20px !important;
    padding: 10px 14px !important;
    background: #f7f7f7;
    border-left: 3px solid #e8830a;
    border-radius: 0 6px 6px 0;
}

/* Optional description beneath the question */
#TriviaQuestionDescription {
    font-size: 13px;
    color: #666;
    margin: -10px 0 18px;
    line-height: 1.5;
}

/* Hide the redundant "Answer" label — question text provides context */
#Form_AnswerTriviaQuestionForm .field.optionsetfield > label.left {
    display: none !important;
}

/* Full-width middleColumn when label is hidden */
#Form_AnswerTriviaQuestionForm .field.optionsetfield .middleColumn {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    float: none !important;
    clear: none !important;
}

/* Override _form.css: kill horizontal float, stack vertically */
#Form_AnswerTriviaQuestionForm .optionset ul {
    height: auto !important;
    clear: both;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
    list-style: none;
}

/* Each option — simple stacked row */
#Form_AnswerTriviaQuestionForm .optionset ul li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 0 4px !important;
    padding: 4px 0 !important;
    background: none !important;
    border: none !important;
    box-sizing: border-box;
    cursor: pointer;
    line-height: 1.3;
}

#Form_AnswerTriviaQuestionForm .optionset ul li.odd,
#Form_AnswerTriviaQuestionForm .optionset ul li.even {
    background: none !important;
}

/* Native radio/checkbox — visible, floated left */
#Form_AnswerTriviaQuestionForm .optionset ul li input[type=radio],
#Form_AnswerTriviaQuestionForm .optionset ul li input[type=checkbox] {
    position: static !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 6px 0 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    float: left !important;
    vertical-align: middle;
    pointer-events: auto !important;
}

/* Label — compact inline text */
#Form_AnswerTriviaQuestionForm .optionset ul li label {
    float: none !important;
    display: inline !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #333 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    cursor: pointer;
    line-height: 1.3;
    text-align: left !important;
    position: static !important;
}

/* No custom dot */
#Form_AnswerTriviaQuestionForm .optionset ul li label::before {
    display: none !important;
    content: none !important;
}

/* JS-toggled highlight on selected option */
#Form_AnswerTriviaQuestionForm .optionset ul li.trivia-selected label {
    color: #e8830a !important;
    font-weight: 700 !important;
}

/* Break out of .formContent form .field flex-row context */
#Form_AnswerTriviaQuestionForm .field.optionsetfield {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
}

/* Actions row */
#Form_AnswerTriviaQuestionForm .Actions {
    margin-top: 12px;
}

/* Primary submit / continue button */
form#Form_AnswerTriviaQuestionForm input.action[name="action_doAnswerTriviaQuestion"] {
    display: block;
    width: 100%;
    padding: 13px 20px;
    margin-top: 0;
    background: #e8830a;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    cursor: pointer;
    -webkit-transition: background 0.15s;
    transition: background 0.15s;
    box-sizing: border-box;
}

form#Form_AnswerTriviaQuestionForm input.action[name="action_doAnswerTriviaQuestion"]:hover {
    background: #c06800;
}

/* Skip — ghost secondary button */
form#Form_AnswerTriviaQuestionForm input.action[name="action_doAnswerTriviaQuestionSkip"] {
    display: block;
    width: 100%;
    margin-top: 8px;
    padding: 9px 20px;
    background: transparent;
    color: #888;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    -webkit-transition: background 0.15s, color 0.15s;
    transition: background 0.15s, color 0.15s;
    box-sizing: border-box;
}

form#Form_AnswerTriviaQuestionForm input.action[name="action_doAnswerTriviaQuestionSkip"]:hover {
    background: #f5f5f5;
    color: #555;
}

/* ═══════════════════════════════════════════════════════════════════════════
   MEETING VIEW — .meeting-view (PageMeeting_view.ss + PageMeeting_add.ss)
   ═══════════════════════════════════════════════════════════════════════════ */

.meeting-view {
    margin: 10px 15px;
}

/* ── Meeting summary card ────────────────────────────────────────────────── */
.mv-summary-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .05);
}

.mv-summary-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 24px;
}

.mv-summary-item {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 180px;
}

.mv-summary-label {
    font-size: 11px;
    font-weight: 700;
    color: #999;
    text-transform: uppercase;
    letter-spacing: .5px;
    white-space: nowrap;
    flex-shrink: 0;
}

.mv-summary-value {
    font-size: 13px;
    color: #222;
    font-weight: 500;
}

/* ── Section headings — orange bar, top-rounds the table below ───────────── */
.meeting-view .mv-section-head {
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: #fff !important;
    background: #e8830a !important;
    margin: 20px 0 0 !important;
    padding: 9px 14px !important;
    border: none !important;
    border-radius: 7px 7px 0 0 !important;
    letter-spacing: .3px;
    line-height: 1.4;
}

/* ── Shared table chrome ─────────────────────────────────────────────────── */
.meeting-view .mv-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-top: none;
    border-radius: 0 0 7px 7px;
    overflow: hidden;
    margin-bottom: 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
    table-layout: auto;
}

/* Header row */
.meeting-view .mv-table thead th {
    background: #f8f8f8;
    border-bottom: 2px solid #e0e0e0;
    padding: 8px 12px;
    font-size: 11px;
    font-weight: 700;
    color: #666;
    text-align: left;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: .4px;
}

/* Body cells */
.meeting-view .mv-table tbody td {
    padding: 8px 12px;
    border-bottom: 1px solid #f2f2f2;
    vertical-align: middle;
    color: #333;
    line-height: 1.45;
    font-size: 12.5px;
}

.meeting-view .mv-table tbody tr:last-child td {
    border-bottom: none;
}

/* Alternating + hover */
.meeting-view .mv-table tbody tr:nth-child(even) td {
    background: #fafafa;
}

.meeting-view .mv-table tbody tr:hover td {
    background: #fff7ed;
}

/* Utilities */
.meeting-view .mv-none {
    color: #ccc;
    font-style: normal;
}

.meeting-view .mv-name {
    font-weight: 600;
    white-space: nowrap;
}

.meeting-view .mv-contact {
    white-space: nowrap;
    color: #555;
}

.meeting-view .mv-due {
    white-space: nowrap;
    color: #555;
    font-size: 12px;
}

.meeting-view .mv-desc {
    max-width: 320px;
    word-break: break-word;
}

.meeting-view .mv-email-link {
    color: #e8830a;
    text-decoration: none;
}

.meeting-view .mv-email-link:hover {
    text-decoration: underline;
}

/* ── Attendees column widths ─────────────────────────────────────────────── */
.meeting-view .mv-attendees .mv-col-status {
    width: 106px;
}

.meeting-view .mv-attendees .mv-col-name {
    width: 150px;
}

.meeting-view .mv-attendees .mv-col-contact {
    width: 120px;
}

.meeting-view .mv-attendees .mv-col-position {
    width: 130px;
}

/* .mv-col-email takes remaining space */

/* ── Minutes column widths ───────────────────────────────────────────────── */
.meeting-view .mv-minutes .mv-col-note {
    width: 22%;
}

.meeting-view .mv-minutes .mv-col-actioned {
    width: 140px;
}

.meeting-view .mv-minutes .mv-col-due {
    width: 90px;
}

.meeting-view .mv-minutes .mv-col-mstatus {
    width: 110px;
}

/* ── Shared badge base ───────────────────────────────────────────────────── */
.meeting-view .mv-badge,
.mv-badge {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15px;
    white-space: nowrap;
    text-decoration: none;
    background: #ebebeb;
    color: #555;
    border: 1px solid #ddd;
    line-height: 1.5;
}

/* ── Attendance badges — keyed on MeetingAttendanceType.ID ──────────────── */
/* ID 1 = Expected */
.mv-attendance-1 {
    background: #e3f2fd;
    color: #1565c0;
    border-color: #90caf9;
}

/* ID 2 = Apology */
.mv-attendance-2 {
    background: #fce4ec;
    color: #ad1457;
    border-color: #f48fb1;
}

/* ID 3 = Late */
.mv-attendance-3 {
    background: #fff3e0;
    color: #e65100;
    border-color: #ffcc80;
}

/* ID 4 = Absent */
.mv-attendance-4 {
    background: #ffebee;
    color: #c62828;
    border-color: #ef9a9a;
}

/* ID 5 = Present */
.mv-attendance-5 {
    background: #e8f5e9;
    color: #2e7d32;
    border-color: #a5d6a7;
}

/* ── Minute status badge ─────────────────────────────────────────────────── */
.meeting-view .mv-status-badge,
a.mv-status-badge {
    background: #f3e5f5;
    color: #6a1b9a;
    border-color: #ce93d8;
    cursor: pointer;
}

a.mv-status-badge:hover {
    background: #e1bee7;
    text-decoration: none;
}

/* ─── Trivia login form (ProfileFindCreateForm) — desktop layout ─────────
   Two-column label/input layout, inline pill-chip radio groups, constrained
   max-width. Mirrors the addForm pattern used in the questionnaire editor.
   ──────────────────────────────────────────────────────────────────────── */

form#Form_ProfileFindCreateForm,
form#Form_ProfileFindCreateForm * {
    font-size: 13px;
    line-height: 1.5;
    box-sizing: border-box;
}

form#Form_ProfileFindCreateForm {
    max-width: 520px;
    width: 100%;
    margin: 0 auto;
}

form#Form_ProfileFindCreateForm fieldset {
    background: #fff;
    border-radius: 10px;
    padding: 6px 24px 16px;
    margin: 0 0 18px;
    border: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* Field rows — two-column (label left, input right).
   display intentionally NOT !important: jQuery's .hide() sets inline display:none
   which must win. The [style] rule below restores flex when .show() sets display:block. */
form#Form_ProfileFindCreateForm .field {
    display: flex;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 16px !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #f3f3f3;
    clear: both !important;
    float: none !important;
}

/* jQuery .show() sets inline display:block — override back to flex */
form#Form_ProfileFindCreateForm .field[style*="display: block"],
form#Form_ProfileFindCreateForm .field[style*="display:block"] {
    display: flex !important;
}

form#Form_ProfileFindCreateForm .field:last-of-type,
form#Form_ProfileFindCreateForm .field:last-child {
    border-bottom: none;
}

/* Labels — right-aligned, fixed column width */
form#Form_ProfileFindCreateForm .field label.left {
    flex: 0 0 160px !important;
    width: 160px !important;
    max-width: 160px !important;
    float: none !important;
    margin: 0 !important;
    padding-top: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #555 !important;
    text-align: right !important;
    line-height: 1.4;
}

/* middleColumn — input side, flex-grows to fill remaining space */
form#Form_ProfileFindCreateForm .field .middleColumn {
    flex: 1 1 auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    background: none !important;
    min-width: 0;
}

/* nolabel fields (#NewExisting) — indent to align with labelled inputs */
form#Form_ProfileFindCreateForm .field.nolabel .middleColumn {
    margin-left: 100px !important;
}

/* Text inputs */
form#Form_ProfileFindCreateForm input[type="text"],
form#Form_ProfileFindCreateForm input[type="tel"] {
    width: 100% !important;
    max-width: 300px;
    height: 34px;
    padding: 6px 10px !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #222 !important;
    font-size: 13px !important;
    font-weight: normal !important;
    -webkit-appearance: none;
    box-shadow: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

form#Form_ProfileFindCreateForm input[type="text"]:focus,
form#Form_ProfileFindCreateForm input[type="tel"]:focus {
    border-color: #e8830a !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(232, 131, 10, 0.10);
}

/* Select2 dropdowns */
form#Form_ProfileFindCreateForm .select2-container {
    max-width: 300px !important;
    width: 100% !important;
}

form#Form_ProfileFindCreateForm .select2-selection--single {
    height: 34px !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 6px !important;
    background: #fff !important;
}

form#Form_ProfileFindCreateForm .select2-selection__rendered {
    line-height: 32px !important;
    padding-left: 10px !important;
    font-size: 13px !important;
    color: #222 !important;
}

form#Form_ProfileFindCreateForm .select2-selection__arrow {
    height: 32px !important;
}

form#Form_ProfileFindCreateForm .select2-container--focus .select2-selection--single,
form#Form_ProfileFindCreateForm .select2-container--open .select2-selection--single {
    border-color: #e8830a !important;
    box-shadow: 0 0 0 3px rgba(232, 131, 10, 0.10);
}

/* Radio optionsets — inline pill chips */
form#Form_ProfileFindCreateForm #NewExisting ul,
form#Form_ProfileFindCreateForm #ChangeBranch ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

form#Form_ProfileFindCreateForm #NewExisting li,
form#Form_ProfileFindCreateForm #ChangeBranch li {
    display: inline-flex !important;
    align-items: center;
    padding: 5px 14px 5px 10px;
    background: #fafafa;
    border: 1px solid #e0e0e0;
    border-radius: 20px;
    cursor: pointer;
    float: none !important;
    margin: 0 !important;
    clear: none !important;
    transition: border-color 0.12s, background 0.12s;
}

form#Form_ProfileFindCreateForm #NewExisting li:hover,
form#Form_ProfileFindCreateForm #ChangeBranch li:hover {
    border-color: #e8830a;
    background: #fff8f2;
}

form#Form_ProfileFindCreateForm #NewExisting li input,
form#Form_ProfileFindCreateForm #ChangeBranch li input {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    flex-shrink: 0;
    -webkit-appearance: radio;
    accent-color: #e8830a;
}

form#Form_ProfileFindCreateForm #NewExisting li label,
form#Form_ProfileFindCreateForm #ChangeBranch li label {
    float: none !important;
    display: inline !important;
    width: auto !important;
    margin: 0 !important;
    padding: 3px 3px 3px 6px !important;
    color: #333 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    cursor: pointer;
    line-height: 1.3;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Submit button — auto width, aligned under inputs */
form#Form_ProfileFindCreateForm .Actions {
    padding: 4px 0 0;
    margin-left: 176px;
}

form#Form_ProfileFindCreateForm input[type="submit"] {
    -webkit-appearance: none;
    padding: 8px 28px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 6px;
    border: none;
    background: #e8830a;
    color: #fff;
    cursor: pointer;
    width: auto;
    transition: background 0.15s;
}

form#Form_ProfileFindCreateForm input[type="submit"]:hover {
    background: #d47408;
}

form#Form_ProfileFindCreateForm input[type="submit"]:active {
    background: #c06e08;
}

/* Validation error message */
form#Form_ProfileFindCreateForm p.message {
    max-width: 480px;
    margin: 0 0 14px;
    padding: 9px 14px;
    border-radius: 6px;
    font-size: 12px;
    background: #fff3cd;
    border: 1px solid #ffc107;
    color: #856404;
}

form#Form_ProfileFindCreateForm p.message.bad,
form#Form_ProfileFindCreateForm p.message.error {
    background: #fdecea;
    border-color: #f5c6cb;
    color: #842029;
}

/* ── Meeting-level status badge (in summary card) ───────────────────────── */
.meeting-view .mv-meeting-status,
a.mv-meeting-status {
    background: #e8f4fd;
    color: #0d47a1;
    border-color: #90caf9;
    cursor: pointer;
}

a.mv-meeting-status:hover {
    background: #bbdefb;
    text-decoration: none;
}

/* ── addCallHolder action links (global pattern) ────────────────────────── */
.addCallHolder a {
    color: #fff;
    text-decoration: none;
    margin: 3px 3px 0 10px;
    line-height: 2em;
}
.addCallHolder a:hover {
    cursor: pointer;
    text-decoration: underline;
}
/* Reset .trivia-analytics-btn pill styles so it matches other header links */
.addCallHolder a.trivia-analytics-btn,
.addCallHolder a.trivia-analytics-btn:hover {
    display: inline;
    background: none;
    border: none;
    border-radius: 0;
    padding: 0;
    height: auto;
    font-size: inherit;
    font-weight: normal;
    white-space: normal;
    color: #fff;
}
.todayListing a.trivia-analytics-badge {
    position: absolute;
    margin-left: 55px;
    margin-top: -28px;
}

/* ── Select2 multiselect — Edit Category (companies restriction) ─────────
   Overrides the global .dropdownjs .select2-container float/min-width rule
   and applies consistent form-panel styling (matches Form_addForm pattern).
   ──────────────────────────────────────────────────────────────────────── */
#category-edit #CompaniesSelectWrap {
    overflow: visible;
    margin-bottom: 6px;
}
#category-edit #CompaniesSelectWrap label.left {
    width: 150px;
    float: left;
    font-size: 13px;
    color: #444;
    padding-top: 6px;
}
#category-edit #CompaniesSelectWrap .middleColumn {
    margin-left: 0;
    overflow: visible;
}
#category-edit #CompaniesSelectWrap .select2-container {
    width: 100% !important;
    float: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box;
}
#category-edit #CompaniesSelectWrap .select2-selection--multiple {
    min-height: 36px;
    border: 1px solid #d0d0d0 !important;
    border-radius: 4px !important;
    background: #fff !important;
    padding: 2px 4px;
    cursor: text;
}
#category-edit #CompaniesSelectWrap .select2-container--focus .select2-selection--multiple,
#category-edit #CompaniesSelectWrap .select2-container--open .select2-selection--multiple {
    border-color: #e8830a !important;
    box-shadow: 0 0 0 2px rgba(232, 131, 10, 0.12);
}
#category-edit #CompaniesSelectWrap .select2-selection__choice {
    background: #e8830a !important;
    border: 1px solid #c97009 !important;
    border-radius: 3px !important;
    color: #fff !important;
    font-size: 11px;
    padding: 2px 20px 2px 7px;
    margin: 2px 3px 2px 0;
    line-height: 1.4;
}
#category-edit #CompaniesSelectWrap .select2-selection__clear {
    margin-top: 0;
    background: none
}
#category-edit #CompaniesSelectWrap .select2-selection__choice__remove {
    color: rgba(255, 255, 255, 0.75) !important;
    margin-right: 4px;
    font-weight: bold;
    background: none;
    padding: 5px;
    border: none;
}
#category-edit #CompaniesSelectWrap .select2-selection__choice__remove:hover {
    color: #fff !important;
}
#category-edit #CompaniesSelectWrap .select2-search--inline input {
    font-size: 12px;
    color: #333;
    margin-top: 3px;
}
#category-edit #CompaniesSelectWrap .select2-placeholder {
    color: #aaa;
    font-size: 12px;
    line-height: 32px;
    padding-left: 4px;
}
#category-edit .select2-dropdown {
    border: 1px solid #e8830a;
    border-radius: 4px;
    box-shadow: 0 3px 8px rgba(0,0,0,.12);
    font-size: 12px;
    z-index: 9999;
}
#category-edit .select2-container .select2-search--inline {
    display: contents;
}
#category-edit .select2-results__option {
    padding: 6px 10px;
    font-size: 12px;
}
#category-edit .select2-results__option--highlighted[aria-selected] {
    background: #e8830a !important;
    color: #fff !important;
}
#category-edit .select2-results__option[aria-selected=true] {
    background: #fff3e0;
    color: #c97009;
}
#category-edit .select2-search--dropdown input {
    border: 1px solid #d0d0d0;
    border-radius: 3px;
    padding: 5px 8px;
    font-size: 12px;
    margin: 4px;
    width: calc(100% - 8px);
    box-sizing: border-box;
}

/* GG 2026-08-11 add-documents form: left-aligned labels + fields beside */
form#Form_addForm .field {
    display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
    align-items: baseline !important; gap: 14px !important; text-align: left !important;
    clear: both !important; float: none !important; padding: 8px 0 !important;
}
form#Form_addForm .field label.left {
    flex: 0 0 180px !important; width: 180px !important; max-width: 180px !important;
    float: none !important; margin: 0 !important; padding-top: 8px !important;
    text-align: left !important; font-weight: 600 !important; color: #555 !important; line-height: 1.4 !important;
}
form#Form_addForm .field#Address.labelledliteral label.left,
form#Form_addForm .field#CallTypeLabel.labelledliteral label.left {
    flex: none !important; width: 100% !important; max-width: 180px !important;
}
form#Form_addForm .field.labelledliteral label.left {
    flex: none !important; width: 100% !important; max-width: fit-content !important;
}
form#Form_addForm .field .middleColumn,
form#Form_addForm .filefield .middleColumn,
form#Form_addForm .simpleimagefield .middleColumn {
    flex: 1 1 auto !important; float: none !important; width: auto !important;
    margin: 0 !important; padding: 0 !important; min-width: 0 !important; text-align: left !important; background: none !important;
}
form#Form_addForm .field input[type="text"],
form#Form_addForm .field textarea,
form#Form_addForm .field select {
    width: 100% !important; max-width: 480px !important; box-sizing: border-box !important;
}
form#Form_addForm .field textarea { min-height: 120px !important; }
form#Form_addForm .field.header,
form#Form_addForm #FileHeader,
form#Form_addForm .field#FileHeader {
    flex: 1 1 100% !important; width: 100% !important; text-align: left !important; display: block !important;
}
/* end add-documents form fix */
