/*
 *---------------------------------------------------------------
 * DEVELOPMENT UTILITIES - REMOVE BEFORE GOING LIVE
 *---------------------------------------------------------------
 * Move this into its own stylesheet...
 */
/*html:after {
    background: red;
    padding: 5px;
    content: '< 30em';
    font-size: 0.7em;
    position: fixed;
    color: #FFFFFF;
    z-index: 999;
    left: 0;
    top: 0;
}

@media screen and (min-width: 30.375em) {
    html:after {
        content: '> 30em';
    }
}

@media screen and (min-width: 40.375em) {
    html:after {
        content: '> 40em';
    }
}

@media screen and (min-width: 56.875em) {
    html:after {
        content: '> 56em';
    }
}

@media screen and (min-width: 61.5625em) {
    html:after {
        content: '> 61em';
    }
}
*/

/* more styles */
@import url("variables.css");

/* variables.css */


:root {
    --border: black;
    --primary: yellow;
    --primary-color: blue;
    --border-light: #CFCFCF;
    --text-1: black;
    --text-2: black;
    --text-3: black;
    --bg-2: white;
    --bg-light: gray;
    --surface: white;
    --border-med: black;
    --hover: red;
}

/*
 *---------------------------------------------------------------
 * LAYOUT & UTILITIES
 *---------------------------------------------------------------
 *
 */
html {
    box-sizing: border-box;
    height: 100%;
    font-size: 100%;
}

body {
    font-family: var(--font-body), sans-serif;
    color: var(--slate);
    background-color: var(--cream);
    font-weight: var(--font-weight-regular);
}

::selection {
    background-color:#333;
    color:#fff;
}

*, *:before, *:after {
    box-sizing: inherit;
}

textarea { resize: none !important; }

hr {
    border: 0;
    border-bottom: 1px solid var(--border-color);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.clear:before, .clear:after {
    content:'';
    display:table;
}

.clear:after {
    clear:both;
}

.gap {
    display: grid;
    gap: 2rem;
}

.fl {
    float:left;
}

.fr {
    float:right;
}

.hidden {
    display: none;
}

.w90 {
    width:90%;
}

.w80 {
    width:80%;
}

.w75 {
    width:75%;
}

.w70 {
    width:70%;
}

.w60 {
    width:60%;
}

.w50, .half {
    width:50%;
}

.w40 {
    width:40%;
}

.w33-3, .third {
    width:33.3333333%;
}

.w30 {
    width:30%;
}

.w25, .quarter {
    width:25%;
}

.w20, .fifth {
    width:20%;
}

.w16-6, .sixth {
    width:16.6666666%;
}

.w12-5, .eighth {
    width:12.5%;
}

.w10, .tenth {
    width:10%;
}

.w5 {
    width: 5%;
}

.pad-2em {
    padding: 2em;
}

/*
 *---------------------------------------------------------------
 * A TAG RESET
 *---------------------------------------------------------------
 *
 */
a:link {
    text-decoration: none;
    /*color:#2c82c9;*/
}

a:visited {
    text-decoration: none;
    /*color:#2c82c9;*/
}

a:hover {
    text-decoration: underline;
    /*color: #bb1cc9;*/
}

a:active {
    text-decoration: underline;
}

/* Stop iPhone changing numbered links to telephone numbers */

a[href^=tel] {
    text-decoration:inherit;
    color: inherit;
}

/*
 *---------------------------------------------------------------
 * DEFAULT TEXT COLOURS
 *---------------------------------------------------------------
 *
 */
h1, h2, h3, h4 {
    font-family: var(--font-heading), sans-serif;
    color: var(--slate);
}


.h1-styling {

}

.txtBlack {
    color: #000;
}

.txtWhite {
    color: #fff;
}

.txtGrey {
    color: #666;
}

.txtBlue {
    color:#2c82c9;
}

.txtPurple {
    color: #bb1cc9;
}

.txtGreen {
    color: #13c975;
}

.txtRed {
    color: #c92a12;
}

.txtCenter {
    text-align: center;
}

.txtRight {
    text-align: right;
}

/*
 *---------------------------------------------------------------
 * DEFAULT BACKGROUND COLOURS
 *---------------------------------------------------------------
 *
 */
.bgBlack {
    background-color: #000;
}

.bgWhite {
    background-color: #fff;
}

.bgGrey {
    background-color: #666;
}

.bgBlue {
    background-color:#2c82c9;
}

.bgPurple {
    background-color: #bb1cc9;
}

.bgGreen {
    background-color: #13c975;
}

.bgRed {
    background-color: #c92a12;
}

/*
 *---------------------------------------------------------------
 * DEFAULT FORMS
 *---------------------------------------------------------------
 *
 */

fieldset {
    border: none;
    padding: 0;
}

label {
    padding: 0.5em 0;
    display: inline-block;
    color: #666;
}

input, select, textarea {
    border:1px solid #d1d1d1;
    width:100%;
    padding: 1em;
    outline: none;
    transition: box-shadow 0.30s ease-in-out;
    /*transition: border 0.30s ease-in-out;*/
}

textarea {
    resize: none;
}

select {
    /*background: transparent url('../assets/downArrow.svg') no-repeat right;*/
    background-size: contain;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
}

input:focus, select:focus, textarea:focus {
    box-shadow: 0 0 0 3px rgba(255, 134, 0, 0.18);
    border-color: var(--orange);
}

input[type="submit"] {
    width: auto;
    margin: 1em 0;
    background-color: var(--orange);
    color: var(--white);
    border-radius: var(--radius-sm);
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

input[type="submit"]:hover {
    background-color: var(--orange-l);
}

/* CHECKBOX AND RADIO */
/* Customize the label (the container) */
.chkRdLabel {
    display: block;
    position: relative;
    padding-left: 2em;
    padding-top: 0.1em;
    margin-bottom: 0.5em;
    cursor: pointer;
    /*font-size: 22px;*/
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default checkbox */
.chkRdLabel input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */
.customCheckbox, .customRadio {
    position: absolute;
    top: 0;
    left: 0;
    height: 1.5em;
    width: 1.5em;
    background-color: #eee;
}

.customRadio {
    border-radius: 50%;
}

/* On mouse-over, add a grey background color */
.chkRdLabel:hover input ~ .customCheckbox,
.chkRdLabel:hover input ~ .customRadio {
    background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.chkRdLabel input:checked ~ .customCheckbox,
.chkRdLabel input:checked ~ .customRadio {
    background-color: #2196F3;
}

/* Create the checkmark/indicator (hidden when not checked) */
.customCheckbox:after,
.customRadio:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.chkRdLabel input:checked ~ .customCheckbox:after,
.chkRdLabel input:checked ~ .customRadio:after {
    display: block;
}

/* Style the checkmark/indicator */
.chkRdLabel .customCheckbox:after {
    left: 0.6em;
    top: 0.35em;
    width: 0.3em;
    height: 0.6em;
    border: solid white;
    border-width: 0 0.2em 0.2em 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* Style the indicator (dot/circle) */
.chkRdLabel .customRadio:after {
    top: 0.42em;
    left: 0.45em;
    width: 0.6em;
    height: 0.6em;
    border-radius: 50%;
    background: white;
}

/* END CHECKBOX AND RADIO */

::-webkit-input-placeholder {
    color: #d1d1d1;
}

input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
    color: transparent;
}

::-moz-placeholder {
    color: #d1d1d1;
}

input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
    color: transparent;
}

:-ms-input-placeholder {
    color: #d1d1d1;
}

input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
    color: transparent;
}

.error input, .error textarea {
    outline:1px solid #b8312f;
}

.field_error {
    color: #9d9d9d;
    font-size: 0.6em;
    margin: 0.5em 0;
}

/*
 *---------------------------------------------------------------
 * TABLES
 *---------------------------------------------------------------
 *
 */

table {
    padding:0.4em;
}

tr:nth-child(odd) {
    /*background: var(--warm);*/
}

th, td {
    border: 1px solid var(--border-color);
    padding: 0.65em 0.85em;
    vertical-align: middle;
}

th {
    background: var(--navy);
    color: var(--white);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-sm);
    letter-spacing: 0.04em;
    text-align: left;
}

/*
 *---------------------------------------------------------------
 * RESPONSIVE NAVIGATION (BURGER)
 *---------------------------------------------------------------
 *
 */

.respon_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.menu_i_wrap {
    padding: 0.5rem 0.5rem;
}

.menuIcon {
    position: relative;
    width: 30px;
    height: 30px;
    display: block;
    border-top: 0.2em solid var(--white);
    border-bottom: 0.2em solid var(--white);
    cursor: pointer;
}

.menuIcon:before {
    content: '';
    position: absolute;
    top: 46%;
    left: 0;
    width: 100%;
    border-top: 0.2em solid var(--white);
}

.menu_i_wrap:hover .menuIcon {
    border-top: 0.2em solid var(--green);
    border-bottom: 0.2em solid var(--green);
}

.menu_i_wrap:hover .menuIcon:before {
    border-top: 0.2em solid var(--green);
}

/*
 *---------------------------------------------------------------
 * RESPONSIVE SLIDER JS PLUGIN
 *---------------------------------------------------------------
 *
 */

.jsSlides {
    position: relative;
    list-style: none;
    overflow: hidden;
    width: 100%;
    padding: 0;
    margin: 0;
}

.jsSlides li {
    -webkit-backface-visibility: hidden;
    position: absolute;
    display: none;
    width: 100%;
    left: 0;
    top: 0;
}

.jsSlides li:first-child {
    position: relative;
    display: block;
    float: left;
}

.jsSlides img {
    display: block;
    height: auto;
    float: left;
    width: 100%;
    border: 0;
}

/*
 *---------------------------------------------------------------
 * LIVE SEARCH
 *---------------------------------------------------------------
 *
 */

.searchBox {
    background-color: #666;
    width:100%;
    text-align: center;
    display: none;
    height:54px;
    opacity: 0.8;
    /*position: fixed;*/
    z-index: 999;
}
.searchBox input {
    width:60%;
    margin: 10px auto;
    padding: 6px;
}

.closeSearch {
    float:right;
    padding:10px 20px;
    margin: 2px;
    cursor: pointer;
}

.liveSearch {
    background-color: #666;
    left: -9999px;
    min-height: auto;
    position: relative;
    top:54px;
    z-index: 999;
}

.liveSearch.active {
    background-color: #666;
    overflow: scroll;
    min-height: 100%;
    left: auto;
    opacity: 0.9;
}

/*
 *---------------------------------------------------------------
 * SITE SPECIFIC CONTENT
 *---------------------------------------------------------------
 *
 */
.mainHeader {
    border-bottom: 1px solid black;
}

.mainHeader .wrap {
    display: flex;
    justify-content: space-between;
}

.mainMenu {
    padding: 1em 0;
    margin: 0;
}

.mainMenu li {
    display: inline-block;
    list-style: none;
    margin-right: 0.5em;
}

.content {
    padding: 1em 0;
}

.footer {
    border-top: 1px solid black;
    text-align: right;
    padding: 1em 0;
}

/*
 *---------------------------------------------------------------
 * SITE STRUCTURE
 *---------------------------------------------------------------
 *
 */

/* Basic Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Container for the entire layout */
/*.wrapper {*/
/*    display: flex;*/
/*    min-height: 100vh;  !* Full height of the screen *!*/
/*}*/

/* Left Column - 100px wide, has icon links */
.left-column {
    /*    width: 100px;*/
    background-color: var(--navy);
    /*    color: white;*/
    /*    display: flex;*/
    /*    flex-direction: column;*/
    /*    align-items: center;*/
    /*    padding-top: 20px;*/
}

/* Icon Link Styling */
.left-column ul {
    list-style: none;
}

.left-column ul.mainmenu {
    display: none;
}

.left-column ul.mainmenu.on {
    display: block;
}

.mainmenu li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.mainmenu li:last-child {
    border-bottom: 0;
}

.mainmenu .icon-link {
    /*outline: solid red 1px;*/
    padding: 1rem;
    display: flex;
    width: 100%;
    color: var(--white);
}

.right_container {
    /*outline:  1px solid red;*/
    margin: 0 auto;
    width: 90%;
}

.right-column .dash {
    padding-top: 5%;
    padding-bottom: 5%;
}

.left-column .icon-link:hover {
    color: var(--green);  /* Change color on hover */
}

/* Left Side - 100px wide, has icon links */
.left-side {
    /*width: 270px;*/
    background-color: #FFF;
    display: flex;
    flex-direction: column;
    /*border-right: 1px solid #CFCFCF;*/
}

.sub_menu {
    list-style: none;
    font-weight: var(--font-weight-medium);
    color: #48484A;
    margin: 0 auto;
    /*max-width: 90%;*/
    padding: 1rem 0;
}

.sub_menu h3 {
    margin-bottom: 1rem;
    color: var(--navy);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sub_menu li {
    display: flex;
}

.sub_menu li a {
    display: flex;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    text-decoration: none;
    width: 100%;
    font-size: 0.875rem;
    padding: 0.85rem 1rem;
    color: var(--slate);
    margin-bottom: 0.6rem;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.sub_menu li a:hover {
    border-color: var(--orange);
    background: var(--orange);
    color: var(--white);
}

.m_group {
        opacity: 0;
        visibility: hidden;
        transition: all 0.5s;
        display: none;
}

.m_group.active {
    visibility: visible;
    opacity: 1;
    margin-left: 0;
    z-index: 1;
    display: block;
}

.right-column .header .b3 .user .name > div:last-child {
    display: none;
}

.dash_boxes {
    /*max-width: 90%;*/
    /*height: 100%;*/
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.dash_boxes > div {
    width: 49%;
    margin-top: 1em;
    transition: transform .2s; /* Animation */
}

.dash_boxes > div:hover {
    transform: scale(1.1); /* (150% zoom - Note: if the zoom is too large, it will go outside of the viewport) */
}

.dash_boxes > div a {
    position: relative;
    width: 100%;
    min-height: 200px;
    height: 100%;
    display: flex;
    padding: 8em 1.5em 1em 1.5em;
    background: #dcdee3;
    border-radius: 7px;
    color: #FFF;
    text-decoration: none;
}

.dash_boxes > div a span {
    position: absolute;
    opacity: 0.5;
    content: '';
    display: flex;
    width: 40px;
    height: 40px;
    left: 1.5rem;
    font-size: 3rem;
    top: 1.5rem;
}

/*.dash_boxes {*/
/*    display: grid;*/
/*    grid-template-columns: repeat(auto-fill, 195px);*/
/*    grid-gap: 0.7rem;*/
/*    justify-content: space-between;*/
/*}*/

/*.dash_boxes > div {*/
/*    display: flex;*/
/*    outline: red solid 1px;*/
/*    width: 100%%;*/
/*    max-width: 24%;*/
/*}*/

.search {
    position: relative;
    display: flex;
    /*max-width: 300px;*/
    width: 100%;
}

.search form {
    width: 100%;
}

.search input {
    padding: 0.7em;
    outline: var(--gray) 1px solid ;
}

.search span {
    background: 0;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    border: 0;
    width: 50px;
    margin: 0;
    right: 0;
    top: 0;
}

/* Right Column */
.right-column {
    display: flex;
    flex: 1;
    flex-direction: column;
    background-color: var(--cream);
    height: 100%;
}

.right-column > .two {
    /*min-height: 100vh;  !* Full height of the screen *!*/
    width: 100%;
    display: flex;
    align-items: center;
    /*justify-content: center;*/
    /*min-height: 100vh;*/
    position: relative;
    flex-direction: column;
}

.right-column .header {
    background: var(--white);
    /*position: absolute;*/
    /*height: 100px;*/
    border-bottom: 1px solid #CFCFCF;
    /*min-height: 100px;*/
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    top:0;
    right: 0;
    width: 100%;
}

.right-column .header > div {
    width: 90%;
    display: flex;
    /*background: pink;*/
    flex-direction: column;
    justify-content: space-between;
}

.right-column .header div > div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.right-column .header div > div.b1 {
    /*outline: red solid 1px;*/
    display: none;
    max-width: 200px;
    width: 33%;
}

.right-column .header div > div.b3 {
    padding: 1rem 0;
    /*outline: red solid 1px;*/
    /*max-width: 200px;*/
    /*width: 33%;*/
}

.b3 > div {
    display: flex;
    width: 100%;
    height: 100%;
}

.b3 .user {
    width: 70%;
}

.right-column .header .b3 .user {
    display: flex;
    height: 100%;
    flex-grow: 4;
    overflow: hidden;
    text-overflow: ellipsis;
}

.right-column .header .b3 .user .icon {
    display: flex;
    height: 40px;
    width: 40px;
    max-width: 40px;
    margin-right: 0.5rem;
}

.right-column .header .b3 .user .icon > div {
    border-radius: 40px;
    border: 3px solid var(--green);
    overflow: hidden;
}

.right-column .header .b3 .user .name {
    flex-direction: column;
    height: 100%;
    display: flex;
    flex-grow: 3;
    padding-right: 0.5rem;
}

.right-column .header .b3 .notifications a {
    display: block;
    height: 100%;
    width: 100%;
}

.right-column .header .b3 .notifications:hover {
    background-color: var(--green);
}

.right-column .header .b3 .user .name > div {
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: right;
    display: block;
    width: 100%;
    font-size: 1rem;
}

.right-column .header .b3 .user .name > div:last-child {
    display: block;
}

.right-column .header .b3 .user .name > div:last-child a {
    color: var(--dark-green);
}

.right-column .header .b3 .user .name > div:last-child a:hover {
    color: var(--green);
}

.right-column .header .b3 .user .name > div:first-child {
    font-weight: var(--font-weight-bold);
}

.right-column .header .b3 .notifications {
    background: var(--warm) url("/application/themes/default/assets/bell.svg") center no-repeat;
    background-size: 22px;
    display: flex;
    height: 40px;
    width: 40px;
    max-width: 40px;
    /*height: 100%;*/
    border-radius: 6px;
    position: relative;
}

.right-column .header .b3 .notifications span {
    -webkit-box-shadow: 0 0 5px -1px rgba(0, 0, 0, 0.39);
    -moz-box-shadow: 0 0 5px -1px rgba(0, 0, 0, 0.39);
    box-shadow: 0 0 5px -1px rgba(0, 0, 0, 0.39);
    border-radius: 20px;
    position: absolute;
    right: -14px;
    top: -14px;
    background: var(--green);
    color: var(--white);
    font-size: 0.8rem;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search {
    position: relative;
    display: flex;
    /*max-width: 300px;*/
    margin-top: 1rem;
    width: 100%;
}

.search input {
    border-radius: 5px;
    padding: 0.7em;
    border: 0;
}

.search span {
    background: 0;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    border: 0;
    width: 50px;
    margin: 0;
    right: 0;
    top: 0;
}
.left-column .right_container {
    padding: 0.5rem 0;
}

.left-column .right_container .logo {
    background-position: left center;
    background-size: 50%;
    max-width: 200px;
}

.left-column .right_container .logo a {
    color: transparent;
    font-size: 0;
    width: 100%;
    height: 100%;
}

.logo {
    background: url("/application/themes/default/assets/logo.svg") center no-repeat;
    background-size: contain;
    display: flex;
    width: 100%;
    /*max-width: 150px;*/
    height: 41px;
}
.logo--client {
    background: none;
    align-items: center;
}

/*.logo {*/
/*    background: url("assets/logo.svg") center no-repeat;*/
/*    background-size: contain;*/
/*    display: flex;*/
/*    width: 100%;*/
/*    !*max-width: 150px;*!*/
/*    height: 41px;*/
/*}*/

/*
 *---------------------------------------------------------------
 * RESPONSIVE 30.375em AND WIDER
 *---------------------------------------------------------------
 *
 */

@media screen and (min-width: 30.375em) {
}

@media screen and (min-width: 40.375em) {
}

@media screen and (min-width: 56.875em) {
}

@media screen and (min-width: 61.5625em)/*985px*/ {

    /* Container for the entire layout */
    .wrapper {
        display: flex;
        min-height: 100vh;  /* Full height of the screen */
    }

    .wrap {
        max-width: 1260px;
        margin: 0 auto;
    }

    /* Left Column - 100px wide, has icon links */
    .left-column {
        z-index: 2;
        position: relative;
        width: 100px;
        color: white;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 20px;
    }

    .respon_header {
        display: none;
    }

    .m_group {
        position: relative;

        margin-left: -270px;
        width: 270px;
        min-width: 270px;
        max-width: 270px;
        color: #fff;

        z-index: -1;

        transition: all 0.5s;

        opacity: 0;
        visibility: hidden;
        transition: all 0.5s;

    }

    .mainmenu li {
        /*outline: green 1px solid;*/
        border-bottom: 0;
    }

    .mainmenu .icon-link {
        cursor: pointer;
        position: relative;
        display: block;
        text-align: center;
        font-size: 0.6rem;
        padding: 1.7rem 0 0;
        margin-bottom: 1rem;
        color: var(--white);
        text-decoration: none;
        transition: color 0.3s;
        background-size: 2rem;
    }

    .mainmenu li:first-child .icon-link {
        padding: 2.4rem 0 0;
        /*outline: 1px solid green;*/
    }

    .mainmenu .icon-link:before {
        position: absolute;
        width: 100%;
        height: 2.6rem;
        display: block;
        content: '';
        top: 0;
        z-index: 1;
        background: url("/application/themes/default/assets/home.svg") no-repeat top center;
        background-size: 20px;
        filter: brightness(0) invert(1);
    }

    .mainmenu li.active .icon-link:before,
    .mainmenu li.in-trail .icon-link:before,
    .mainmenu .icon-link:hover:before {
        opacity: 0;
    }

    .mainmenu .icon-link:after {
        background-size: 20px;
        position: absolute;
        width: 100%;
        height: 2.6rem;
        display: block;
        content: '';
        top: 0;
        z-index: 1;
        opacity: 0;
    }

    .mainmenu li.active .icon-link:after,
    .mainmenu li.in-trail .icon-link:after,
    .mainmenu .icon-link:hover:after {
        opacity: 1;
    }

    /* ── Position zero: logo/fav (unchanged) ────────────────────────── */
    .mainmenu .icon-link.zero:before {
        background: url("/application/themes/default/assets/fav.svg") no-repeat top center;
        background-size: 35px;
    }
    .mainmenu .icon-link.zero:after {
        background: url("/application/themes/default/assets/fav.svg") no-repeat top center;
        background-size: 35px;
    }

    /* ── Nav icons mapped by data-menu slug ─────────────────────────── */
    /* Default (white/currentColor) icon via :before; orange on active via :after */

    .mainmenu .icon-link[data-menu="home"]:before,
    .mainmenu .icon-link[data-menu="dashboard"]:before {
        background: url("/application/themes/default/assets/01-dashboard.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="home"]:after,
    .mainmenu .icon-link[data-menu="dashboard"]:after {
        background: url("/application/themes/default/assets/01-dashboard-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="clients"]:before,
    .mainmenu .icon-link[data-menu="consultant-dashboard"]:before {
        background: url("/application/themes/default/assets/02-clients.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="clients"]:after,
    .mainmenu .icon-link[data-menu="consultant-dashboard"]:after {
        background: url("/application/themes/default/assets/02-clients-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="mgmt-review"]:before {
        background: url("/application/themes/default/assets/03-mgmt-review.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="mgmt-review"]:after {
        background: url("/application/themes/default/assets/03-mgmt-review-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="actions"]:before {
        background: url("/application/themes/default/assets/04-actions.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="actions"]:after {
        background: url("/application/themes/default/assets/04-actions-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="feedback"]:before {
        background: url("/application/themes/default/assets/05-feedback.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="feedback"]:after {
        background: url("/application/themes/default/assets/05-feedback-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="audits"]:before {
        background: url("/application/themes/default/assets/06-audits.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="audits"]:after {
        background: url("/application/themes/default/assets/06-audits-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="documents"]:before {
        background: url("/application/themes/default/assets/07-documents.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="documents"]:after {
        background: url("/application/themes/default/assets/07-documents-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="suppliers"]:before {
        background: url("/application/themes/default/assets/08-suppliers.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="suppliers"]:after {
        background: url("/application/themes/default/assets/08-suppliers-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="equipment"]:before {
        background: url("/application/themes/default/assets/09-equipment.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="equipment"]:after {
        background: url("/application/themes/default/assets/09-equipment-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="training"]:before {
        background: url("/application/themes/default/assets/10-training.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="training"]:after {
        background: url("/application/themes/default/assets/10-training-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="environment"]:before {
        background: url("/application/themes/default/assets/11-environment.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="environment"]:after {
        background: url("/application/themes/default/assets/11-environment-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="health-safety"]:before {
        background: url("/application/themes/default/assets/12-health-safety.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="health-safety"]:after {
        background: url("/application/themes/default/assets/12-health-safety-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="info-security"]:before {
        background: url("/application/themes/default/assets/13-info-security.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="info-security"]:after {
        background: url("/application/themes/default/assets/13-info-security-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="standards"]:before {
        background: url("/application/themes/default/assets/14-standards.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="standards"]:after {
        background: url("/application/themes/default/assets/14-standards-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .mainmenu .icon-link[data-menu="users"]:before {
        background: url("/application/themes/default/assets/15-users.svg") no-repeat top center;
        background-size: 20px;
    }
    .mainmenu .icon-link[data-menu="users"]:after {
        background: url("/application/themes/default/assets/15-users-orange.svg") no-repeat top center;
        background-size: 20px;
    }

    .right_container .logo {
        display: none;
    }

    .left-side {
        height: 100%;
        width: 270px;
        background-color: #FFF;
        display: flex;
        flex-direction: column;
        border-right: 1px solid #CFCFCF;
    }

    .right-column .header div >.b2 {
        /*outline: red solid 1px;*/
        max-width: 50%;
        padding: 0 1rem;
        width: 100%;
    }

    .search {

        margin-top: 0;
    }

    .right-column .header div > div.b1 {
        display: flex;
    }

    .right-column .dash{
        padding-top: 2.5%;
    }

    .right-column .header > div {
        flex-direction: row;

    }

    .right-column .header {
        height: 100px;
        min-height: 100px;

    }

    .right-column .header .b3 .user .name > div {

        font-size: 0.8rem;
    }

    .right-column .header .b3 .user .name {

        display: none;

    }

    .dash_boxes > div {
        width: 48%;
        margin-bottom: 1em;
    }

    .left-column ul.mainmenu {
        display: block !important;
    }
}

@media screen and (min-width: 75em)/*1200px*/ {

    .dash_boxes > div {
        width: 23%;
        margin-bottom: 1em;
    }

    .right-column > .two {
        min-height: 100vh;
        flex-direction: column;
        display: block;
    }

    /*.right-column .header {*/
    /*    position: absolute;*/

    /*}*/

    .right-column .header .b3 .user .name {
        display: flex;
    }
}

/* ==========================================================================
   SIMPLISO COMPONENT LIBRARY
   Buttons, badges, page headers, alerts, forms, data tables, modules
   ========================================================================== */

/*
 * ── BUTTONS ────────────────────────────────────────────────────────────────
 */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.6rem 1.2rem;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.18s, border-color 0.18s, transform 0.12s, color 0.18s;
    white-space: nowrap;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }

.btn-primary {
    background: var(--orange);
    color: var(--white);
    border-color: var(--orange);
}
.btn-primary:hover { background: var(--orange-l); border-color: var(--orange-l); color: var(--white); }

.btn-secondary {
    background: var(--white);
    color: var(--slate);
    border-color: var(--border-color);
}
.btn-secondary:hover { border-color: var(--grey); color: var(--navy); }

.btn-warning {
    background: rgba(255, 134, 0, 0.12);
    color: var(--orange);
    border-color: rgba(255, 134, 0, 0.3);
}
.btn-warning:hover { background: var(--orange); color: var(--white); border-color: var(--orange); }

.btn-danger {
    background: rgba(231, 76, 60, 0.1);
    color: #c0392b;
    border-color: rgba(231, 76, 60, 0.25);
}
.btn-danger:hover { background: #e74c3c; color: var(--white); border-color: #e74c3c; }

.btn-sm {
    padding: 0.35rem 0.75rem;
    font-size: 0.78rem;
    border-radius: var(--radius-xs);
}

/*
 * ── BADGES ─────────────────────────────────────────────────────────────────
 */
.badge {
    display: inline-block;
    padding: 0.25em 0.65em;
    border-radius: 100px;
    font-size: 0.72rem;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.03em;
}
.badge-green  { background: rgba(40, 167, 69,  0.12); color: #1e7e34; }
.badge-amber  { background: rgba(255, 134, 0,  0.13); color: #b85e00; }
.badge-red    { background: rgba(231, 76,  60, 0.12); color: #a93226; }
.badge-grey   { background: rgba(74, 85, 104,  0.10); color: var(--slate); }

/*
 * ── PAGE HEADER ────────────────────────────────────────────────────────────
 */

.page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--border-color);
}
.page-header h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--navy);
    margin: 0;
}
.page-header-actions {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

/*
 * ── ALERTS ─────────────────────────────────────────────────────────────────
 */

.alert {
    padding: 0.85rem 1.1rem;
    border-radius: var(--radius-sm);
    font-size: var(--font-size-sm);
    margin-bottom: 1.2rem;
    border-left: 3px solid transparent;
}
.alert-success {
    background: rgba(40, 167, 69, 0.08);
    border-color: #28a745;
    color: #155724;
}
.alert-error {
    background: rgba(231, 76, 60, 0.08);
    border-color: #e74c3c;
    color: #7b241c;
}

/*
 * ── UTILITIES ──────────────────────────────────────────────────────────────
 */
.text-muted  { color: var(--grey); font-size: var(--font-size-sm); }
.no-records  { color: var(--slate); padding: 2rem 0; font-size: var(--font-size-sm); }
.inline-form { display: inline; }

/*
 * ── DATA TABLES ────────────────────────────────────────────────────────────
 */
.data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    background: var(--white);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(26,35,50,0.07);
}
.data-table th {
    padding: 0.75rem 1rem;
    background: var(--navy);
    color: var(--white);
    font-weight: var(--font-weight-medium);
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border: none;
}
.data-table td {
    padding: 0.7rem 1rem;
    border: none;
    border-bottom: 1px solid var(--border-color);
    vertical-align: middle;
    color: var(--slate);
}
.data-table tbody tr:last-child td { border-bottom: none; }
.data-table tbody tr:hover { background: var(--warm); }
.data-table .actions-col { width: 1%; white-space: nowrap; text-align: right; }
.data-table .actions-col .btn + .btn,
.data-table .actions-col .btn + form,
.data-table .actions-col form + form { margin-left: 0.35rem; }

/*
 * ── EXPIRY DATE LABELS ─────────────────────────────────────────────────────
 */
.expiry          { font-size: var(--font-size-sm); }
.expiry-soon     { color: #b85e00; font-weight: var(--font-weight-medium); }
.expiry-overdue  { color: #a93226; font-weight: var(--font-weight-medium); }

/*
 * ── FORM SECTIONS ──────────────────────────────────────────────────────────
 */
.form-section-heading {
    margin: 1.8rem 0 0.8rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--orange);
}
.form-section-heading h3 {
    color: var(--navy);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0;
}
.form-hint {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--navy);
    margin-bottom: 0.3rem;
    padding: 0;
}
.form-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
    padding-top: 1.2rem;
    border-top: 1px solid var(--border-color);
}

/*
 * ── FORM REPEATABLE (licence rows) ─────────────────────────────────────────
 */
.form-repeatable {
    margin: 0.5rem 0 1rem;
}
.form-repeatable-rows {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.form-repeatable-row {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    /*background: var(--warm);*/
    /*border: 1px solid var(--border-color);*/
    /*border-radius: var(--radius-sm);*/
    /*padding: 0.85rem 1rem;*/
}
.form-repeatable-row .form-group {
    flex: 1;
    margin: 0;
}
.licence-expiry { max-width: 180px; }

.form-repeatable-remove {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: 1px solid rgba(231,76,60,0.3);
    background: rgba(231,76,60,0.08);
    color: #c0392b;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
    margin-bottom: 0;
    align-self: center;
}
.form-repeatable-remove:hover { background: #e74c3c; color: var(--white); }

.form-repeatable-add {
    margin-top: 0.6rem;
    padding: 0.5rem 1rem;
    border-radius: var(--radius-sm);
    border: 1px dashed var(--orange);
    background: rgba(255,134,0,0.06);
    color: var(--orange);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: background 0.15s;
}
.form-repeatable-add:hover { background: rgba(255,134,0,0.13); }

/*
 * ── FORM FIELDS (override global defaults) ─────────────────────────────────
 */
.form-group {
    margin-bottom: 1rem;
}

.form-group:last-child { margin-bottom: 0; }

.form-group label {
    display: block;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--navy);
    margin-bottom: 0.3rem;
    padding: 0;
}
.form-group input,
.form-group select,
.form-group textarea {
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-color);
    background: var(--white);
    color: var(--dark);
    font-size: var(--font-size-sm);
}
.form-group textarea { min-height: 90px; }

.form-error { color: #c0392b; font-size: 0.78rem; margin-bottom: 0.3rem; display: block; }

/*
 * ── MODULE WRAPPERS ────────────────────────────────────────────────────────
 */
.suppliers-list,
.suppliers-edit,
.assets-list,
.assets-edit {
    padding: 1.5rem;
    max-width: 1200px;
}

/*
 * ── DASHBOARD CARDS ─────────────────────────────────────────────────────────
 *
 * Dark navy section wrapping 8 glass-effect compliance summary cards.
 * Matches the landing page standard-card style.
 */

.dash-section {
    background: transparent;
    padding: 0;
    position: relative;
}

.dash-section-header {
    margin-bottom: 1.25rem;
}

.dash-section-eyebrow {
    display: inline-block;
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--orange);
    margin-bottom: 0.3rem;
}

.dash-section-title {
    font-family: var(--font-heading), sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--navy);
    letter-spacing: -0.02em;
    margin: 0;
}

/* 4-column grid, collapsing to 2 on tablet and 1 on mobile */
.dash-section-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
    position: relative;
    z-index: 1;
}

@media (max-width: 1100px) {
    .dash-section-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .dash-section-grid { grid-template-columns: 1fr; }
}

/* Individual card — each tile carries its own navy background */
.dash-card {
    background: var(--navy);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    padding: 1.1rem 1rem;
    text-decoration: none;
    display: block;
    transition: background 0.2s, transform 0.18s, box-shadow 0.18s;
    cursor: pointer;
}

.dash-card:hover {
    background: #243040;
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(26, 35, 50, 0.25);
    text-decoration: none;
}

/* Category label — small muted uppercase */
.dash-card-label {
    font-size: 0.68rem;
    color: rgba(255, 255, 255, 0.38);
    letter-spacing: 0.07em;
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: 0.3rem;
}

/* Card title */
.dash-card-title {
    font-family: var(--font-heading), sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--white);
    line-height: 1.3;
    margin-bottom: 0.65rem;
}

/* Progress bar track */
.dash-bar-wrap {
    height: 4px;
    background: rgba(255, 255, 255, 0.10);
    border-radius: 3px;
    overflow: hidden;
}

/* Progress bar fill — orange, animated on load */
.dash-bar {
    height: 100%;
    border-radius: 3px;
    background: var(--orange);
    transition: width 0.7s ease;
}

/* Percentage / count text */
.dash-pct {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.35);
    margin-top: 0.4rem;
    font-weight: 500;
}

/* When a card has a non-zero bar, accent the pct text in orange */
.dash-card:has(.dash-bar[style*="width"]:not([style*="width:0%"])) .dash-pct {
    color: var(--orange-l);
}

/* Today's Tasks tile — full-width strip below the card grid */
.dash-tasks {
    background: var(--navy);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    padding: 1rem 1.1rem;
    margin-top: 0.75rem;
}

.dash-tasks-title {
    font-size: 0.68rem;
    color: rgba(255, 255, 255, 0.35);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    font-weight: 500;
    margin-bottom: 0.7rem;
}

.dash-task {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.dash-task:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.dash-task-dot {
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}
.dash-task-dot.green { background: #28C840; }
.dash-task-dot.amber { background: #FEBC2E; }
.dash-task-dot.red   { background: #FF5F57; }

.dash-task-text {
    flex: 1;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.62);
}

.dash-task-due {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.30);
    white-space: nowrap;
}

/* left-side panel border */
@media screen and (min-width: 61.5625em) {
    .left-side {
        border-right: 1px solid var(--border-color);
    }
}

/* ── Org context bar (consultant active-client indicator) ── */
.org-context-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(255,134,0,0.12);
  border: 1px solid rgba(255,134,0,0.3);
  border-radius: 6px;
  padding: 0.25rem 0.6rem;
  margin-bottom: 0.4rem;
  font-size: 0.8rem;
}

.org-context-label { color: var(--navy); font-weight: 500; }
.org-context-clear {
  padding: 0 0.3rem !important;
  min-width: 0 !important;
  font-size: 0.7rem !important;
  line-height: 1.4 !important;
  background: transparent;
  border-color: rgba(255,134,0,0.4);
  color: var(--orange);
}
.org-context-clear:hover { background: var(--orange); color: var(--white); }

/* ── Profile page ── */
.profile-section {
  border-bottom: 1px solid var(--border);
}

.profile-section:last-child { border-bottom: none; }
.profile-section h3 {
  font-size: 1rem;
  margin: 0 0 1rem;
  color: var(--navy);
}

.active-org-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--warm);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 1rem 1.25rem;
}

.active-org-card strong { display: block; }
.org-switcher { display: flex; flex-direction: column; gap: 0.5rem; }
.org-switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--white);
}

.org-switch-active { border-color: var(--orange); background: rgba(255,134,0,0.05); }
.org-switch-row strong { display: block; }
.detail-table { width: 100%; border-collapse: collapse; }
.detail-table th, .detail-table td { padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--border); text-align: left; font-size: 0.9rem; }
.detail-table th { width: 140px; color: var(--slate); font-weight: 500; }

.profile-section .detail-table {
    border-radius: 6px;
    overflow: hidden;
    outline: 1px solid rgba(26, 35, 50, 0.10);
}

.profile-section .detail-table th {
    background: var(--warm);
}

.profile-section .detail-table th, .profile-section .detail-table td {
    border-left: 0;
}

.profile-section .detail-table td {
    border-right: 0;
}

.profile-section .detail-table tr:first-child th, .profile-section .detail-table tr:first-child td {
   border-top: 0;
}

/* ── Client Dashboard ── */
.client-dashboard { display: flex; flex-direction: column; gap: 2rem; }

.dash-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.dash-header h2 { margin: 0 0 0.35rem; font-size: 1.6rem; }
.dash-standards { display: flex; gap: 0.35rem; flex-wrap: wrap; }

/* Stat row */
.dash-stats-row {
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  gap: 1rem;
}

.dash-score-card {
  border-radius: 10px;
  padding: 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}

.rag-bg-green { background: rgba(40,167,69,0.1);  border: 1px solid rgba(40,167,69,0.25); }
.rag-bg-amber { background: rgba(255,134,0,0.1);  border: 1px solid rgba(255,134,0,0.25); }
.rag-bg-red   { background: rgba(231,76,60,0.1);  border: 1px solid rgba(231,76,60,0.25); }
.score-number { font-size: 2.8rem; font-weight: 700; line-height: 1; }
.rag-bg-green .score-number { color: #1e7e34; }
.rag-bg-amber .score-number { color: #b85e00; }
.rag-bg-red   .score-number { color: #a93226; }
.score-label  { font-size: 0.8rem; font-weight: 500; color: var(--slate); text-transform: uppercase; letter-spacing: 0.04em; }
.score-sub    { font-size: 0.78rem; color: var(--slate); }

.dash-stat-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 1.25rem 1rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}

.stat-red {
    border-color: rgba(231, 76, 60, 0.4);
    background: rgba(231, 76, 60, 0.05);
}

.stat-amber {
    border-color: rgba(255, 134, 0, 0.4);
    background: rgba(255, 134, 0, 0.05);
}

.stat-ok {
    border-color: rgba(40, 167, 69, 0.3);
    background: rgba(40, 167, 69, 0.05);
}

.stat-value {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1;
    color: var(--navy);
}

.stat-red .stat-value {
    color: #a93226;
}

.stat-amber .stat-value {
    color: #b85e00;
}

.stat-ok .stat-value {
    color: #1e7e34;
}

.stat-label {
    font-size: 0.78rem;
    color: var(--slate);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.stat-sub {
    font-size: 0.75rem;
    color: var(--slate);
}

.stat-red-text {
    color: #a93226 !important;
}

/* Standard cards */
.dash-standard-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
}

.dash-standard-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.standard-card-header {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.standard-card-header strong {
    display: block;
    font-size: 0.9rem;
}

.standard-card-header .text-muted {
    font-size: 0.78rem;
}

.standard-card-metrics {
    display: flex;
    gap: 0.5rem;
}

.sc-metric {
    flex: 1;
    text-align: center;
    background: var(--warm);
    border-radius: 6px;
    padding: 0.4rem;
}

.sc-value {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--navy);
}

.sc-label {
    display: block;
    font-size: 0.68rem;
    color: var(--slate);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.sc-red .sc-value {
    color: #a93226;
}

.sc-amber .sc-value {
    color: #b85e00;
}

.standard-card-cert {
    font-size: 0.8rem;
    border-top: 1px solid var(--border);
    padding-top: 0.5rem;
}

/* RAG dots */
.rag-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.rag-green {
    background: #28a745;
}

.rag-amber {
    background: var(--orange);
}

.rag-red {
    background: #e74c3c;
}

.rag-grey {
    background: #adb5bd;
}

/* Dash sections */
.dash-section {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.dash-section .section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dash-section h3 {
    margin: 0;
    font-size: 1.05rem;
    color: var(--navy);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

@media (max-width: 56em) {
    .dash-stats-row {
        grid-template-columns: 1fr 1fr;
    }

    .dash-score-card {
        grid-column: span 2;
    }
}

/* ── Fixes ─────────────────────────────────────────────────────────────── */

/* 1. Remove rounded corners from data tables */
.data-table { border-radius: 0; }
.data-table thead tr:first-child th:first-child { border-radius: 0; }
.data-table thead tr:first-child th:last-child  { border-radius: 0; }

/* 2. Scope RAG colour classes to their dot element only —
      prevents rag-amber etc. painting card backgrounds orange */
.rag-green, .rag-amber, .rag-red, .rag-grey { background: transparent; }
.rag-dot.rag-green { background: #28a745; }
.rag-dot.rag-amber { background: var(--orange); }
.rag-dot.rag-red   { background: #e74c3c; }
.rag-dot.rag-grey  { background: #adb5bd; }

/* 3. Give plain .btn (no colour modifier) a visible default appearance */
.btn:not(.btn-primary):not(.btn-secondary):not(.btn-warning):not(.btn-danger) {
    background: var(--white);
    color: var(--navy);
    border-color: var(--border-color, #dde1e7);
}
.btn:not(.btn-primary):not(.btn-secondary):not(.btn-warning):not(.btn-danger):hover {
    border-color: var(--grey, #a0aab4);
    color: var(--navy);
}

/* ── Filter bar ──────────────────────────────────────────────────────────── */
.filter-bar {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    padding: 0.65rem 1rem;
    background: var(--warm, #f8f7f5);
    border: 1px solid var(--border, #e8e4df);
    border-radius: var(--radius-sm, 6px);
    margin-bottom: 0.25rem;
}
.filter-bar select {
    padding: 0.3rem 0.65rem;
    border: 1px solid var(--border-color, #dde1e7);
    border-radius: var(--radius-xs, 4px);
    font-size: 0.82rem;
    font-family: var(--font-body), sans-serif;
    background: var(--white, #fff);
    color: var(--navy, #2d3748);
    cursor: pointer;
    min-width: 150px;
}
.filter-bar select:focus { outline: none; border-color: var(--orange); }
.filter-checkbox {
    font-size: 0.82rem;
    color: var(--navy, #2d3748);
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding-left: 0.25rem;
}
.filter-bar .btn-sm { margin-left: auto; }

/* Filter bar select sizing fix — prevent stretching in flex row */
.filter-bar select { flex: 0 0 auto; width: auto; max-width: 200px; }

/* ── Notification bell ───────────────────────────────────────────────────── */
.notif-bell {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.notif-bell-link {
    display: flex;
    align-items: center;
    color: var(--slate);
    text-decoration: none;
    padding: 0.25rem;
    border-radius: 50%;
    transition: background 0.15s;
}
.notif-bell-link:hover { background: var(--warm); color: var(--navy); }
.notif-bell-link .material-icons { font-size: 1.4rem; }
.notif-count {
    position: absolute;
    top: -4px;
    right: -4px;
    background: var(--orange);
    color: var(--white);
    font-size: 0.65rem;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    line-height: 1;
}

/* ── Notifications list page ─────────────────────────────────────────────── */
.notif-list { display: flex; flex-direction: column; }
.notif-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--border);
}
.notif-item:last-child { border-bottom: none; }
.notif-unread { background: rgba(255,134,0,0.04); margin: 0 -1rem; padding: 1rem; border-radius: 6px; }
.notif-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--warm);
    display: flex;
    align-items: center;
    justify-content: center;
}
.notif-icon .material-icons { font-size: 1.1rem; color: var(--slate); }
.notif-unread .notif-icon { background: rgba(255,134,0,0.12); }
.notif-unread .notif-icon .material-icons { color: var(--orange); }
.notif-body { flex: 1; min-width: 0; }
.notif-message { margin: 0 0 0.2rem; font-size: 0.9rem; color: var(--navy); }
.notif-unread .notif-message { font-weight: 500; }
.notif-time { font-size: 0.78rem; }
.notif-action { flex-shrink: 0; }
.empty-state { text-align: center; padding: 3rem 0; color: var(--slate); }

/* ── User avatar (header) ───────────────────────────────────────────────── */
.user-avatar-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    text-decoration: none;
    border: 2px solid var(--border, #e8e4df);
    transition: border-color 0.15s;
}
.user-avatar-link:hover { border-color: var(--orange); }

.user-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.user-avatar-initials {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--navy, #2d3748);
    color: var(--white, #fff);
    font-size: 0.85rem;
    font-weight: 600;
    font-family: var(--font-body), sans-serif;
    letter-spacing: 0.02em;
}

/* ── Bell card style ─────────────────────────────────────────────────────── */
.notif-bell {
    position: relative;
    display: inline-flex;
}
.notif-bell-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: var(--warm, #f5f3f0);
    border: 1px solid var(--border, #e8e4df);
    color: var(--slate, #5a6476);
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
    position: relative;
}
.notif-bell-link:hover { background: #ede9e4; border-color: #ccc; color: var(--navy); }
.notif-bell-link .material-icons { font-size: 1.25rem; }

.notif-count {
    position: absolute;
    top: -6px;
    right: -6px;
    background: var(--orange);
    color: var(--white);
    font-size: 0.65rem;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
    border: 2px solid var(--white, #fff);
}

/* ── Profile photo section ───────────────────────────────────────────────── */
.profile-photo-section {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}
.profile-avatar-preview {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid var(--border);
    flex-shrink: 0;
}
.profile-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.profile-avatar-initials {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--navy);
    color: var(--white);
    font-size: 1.4rem;
    font-weight: 600;
}
.profile-photo-form {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* ── Summary/Details sections ───────────────────────────────────────────── */

.form-section {
    display: grid;
    gap: 1.5rem;
}

details .form-section-heading {
    display: flex;
    align-items: center;
    justify-content: left;
    padding: 0.75rem 1rem;
    background: var(--warm, #f8f7f5);
    border: 1px solid var(--border, #CFCFCF);
    border-radius: var(--radius-sm, 6px);
    margin-top: 0;
    margin-bottom: 0;
    cursor: pointer;
    transition: background 0.3s ease, color 0.3s ease, border 0.3s ease;
}

details .form-section-heading span {
    display: flex;
    width: 20px;
    height: 20px;
    margin-left: auto;
    font-size: 1.2rem;
    color: var(--navy);
    justify-content: center;
    align-items: center;
    transition: transform 0.25s ease, color 0.3s ease;
    transform: rotate(0);
}

details[open] .form-section-heading span {
    transform: rotate(90deg);
}
details .form-section-heading h3 {
    transition: color 0.3s ease;
}

details .form-section-heading:hover {
    background: var(--navy);
    color: var(--white);
    border: 1px solid var(--navy);
}

details .form-section-heading:hover h3 {
    color: var(--white);
}

details .form-section-heading:hover span {
    color: var(--white);
}

details .form-section-wrapper,
.profile-section-wrapper {
    /*padding: 0;*/
    background: var(--white, #fff);
    border-radius: var(--radius-sm, 6px);
    border: 1px solid #e5e7eb;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

h3.profile-title {
    color: var(--navy);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0 0 1.5em 0;
}

details .form-section-wrapper > *:last-child {
    margin-bottom: 0;
}

details .form-section-wrapper .form-section-title {
    background: #f9fafb;
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
}

details .form-section-wrapper .form-section-body {
    padding: 14px;
    background: var(--white, #fff);
}

details .form-section-wrapper .form-group {
    margin-bottom: 12px;
}

details .form-section-wrapper .form-group label {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    margin-bottom: 4px;
    display: block;
    text-transform: uppercase;
}

details .form-section-wrapper .form-group input[type="text"],
details .form-section-wrapper .form-group input[type="email"],
details .form-section-wrapper .form-group input[type="tel"],
details .form-section-wrapper .form-group input[type="url"],
details .form-section-wrapper .form-group textarea,
details .form-section-wrapper .form-group select {
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 12px;
    padding: 8px 10px;
    color: #374151;
    font-family: inherit;
    background: #fff;
    box-sizing: border-box;
}

details .form-section-wrapper .form-group input:focus,
details .form-section-wrapper .form-group textarea:focus,
details .form-section-wrapper .form-group select:focus {
    outline: none;
    border-color: #9ca3af;
}

details .form-section-wrapper .form-group textarea {
    resize: none;
}

.summary-sections {
    border: 1px solid var(--border);
    border-radius: 8px;
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.summary-sections summary {
    cursor: pointer;
    padding: 1rem 1.5rem;
    background: var(--surface);
    font-weight: 600;
    user-select: none;
    transition: background 0.2s ease;
}

.summary-sections summary:hover {
    background: var(--hover);
}

.summary-sections summary::marker {
    color: var(--primary);
}

.summary-sections[open] summary {
    border-bottom: 1px solid var(--border);
}

.summary-sections > *:not(summary) {
    padding: 1.5rem;
}

@media screen and (min-width: 61.5625em) {
    .two-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .column-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 1rem;
        margin-bottom: 1rem;
    }
}

@media screen and (min-width: 91.5625em) {
    .column-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.standards-checkboxes {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

@media screen and (min-width: 61.5625em) {
    .standards-checkboxes {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

.two-factor-auth > * {
    margin-bottom: 1rem;
}

/*
 * ── Custom circular checkboxes ───────────────────────────────────────────────
 */
.checkbox-label {
    --checkbox-accent: var(--orange);
    --checkbox-accent-hover: var(--orange-l);
    --checkbox-border: rgba(255, 134, 0, 0.55);
    --checkbox-bg: var(--white);

    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    background: var(--white);
    color: var(--slate);
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.checkbox-label:hover {
    border-color: var(--checkbox-accent);
    background: rgba(255, 134, 0, 0.04);
}

.checkbox-label input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    flex: 0 0 auto;
    width: 1.35rem;
    height: 1.35rem;
    margin: 0.05rem 0 0;
    padding: 0;
    border: 2px solid var(--checkbox-border);
    border-radius: 50%;
    background: var(--checkbox-bg);
    cursor: pointer;
    display: grid;
    place-content: center;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.12s ease;
}

.checkbox-label input[type="checkbox"]::before {
    content: "";
    width: 0.36rem;
    height: 0.62rem;
    border: solid var(--white);
    border-width: 0 0.16rem 0.16rem 0;
    transform: rotate(45deg) scale(0);
    transform-origin: center;
    transition: transform 0.14s ease;
    margin-top: -0.08rem;
}

.checkbox-label input[type="checkbox"]:checked {
    background: var(--checkbox-accent);
    border-color: var(--checkbox-accent);
    box-shadow: 0 0 0 4px rgba(255, 134, 0, 0.14);
}

.checkbox-label input[type="checkbox"]:checked::before {
    transform: rotate(45deg) scale(1);
}

.checkbox-label input[type="checkbox"]:hover {
    border-color: var(--checkbox-accent-hover);
    transform: scale(1.04);
}

.checkbox-label input[type="checkbox"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(255, 134, 0, 0.22);
}

.checkbox-label:has(input[type="checkbox"]:checked) {
    border-color: rgba(255, 134, 0, 0.45);
    background: rgba(255, 134, 0, 0.06);
}

.client-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1.5rem;
}

.client-cards > div {
    padding: 0.65rem 1rem;
    background: var(--warm, #f8f7f5);
    border: 1px solid var(--border, #e8e4df);
    border-radius: var(--radius-sm, 6px);
    margin-bottom: 0.25rem;

    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    justify-content: space-between;
}

.client-cards .client-card-name {
    /*display: flex;*/
    /*flex-direction: row-reverse;*/
    /*outline: 1px solid red;*/
}

.client-cards .client-card-name h3 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.client-cards .client-card-name h3.expanded {
    -webkit-line-clamp: unset;
}

.client-cards .show-more-btn {
    font-size: 0.75rem;
    color: var(--orange);
    border: 0;
    display: block;
    background: none;
    cursor: pointer;
    padding: 0;
    margin-top: 0.25rem;
    font-weight: var(--font-weight-medium);
    transition: color 0.2s;
}

.client-cards .show-more-btn:hover {
    color: var(--orange-l);
    text-decoration: underline;
}

/* ── F-IMS23 scoped styles ── */
.fims { --fims-green:#16A34A; --fims-red:#DC2626; --fims-blue:#2563EB; --fims-amber:#D97706;
    --fims-purple:#7C3AED; --fims-cyan:#0891B2; font-size:13px; }
.fims-header { display:flex; align-items:center; justify-content:space-between;
    margin-bottom:16px; flex-wrap:wrap; gap:10px; }
.fims-title  { font-size:18px; font-weight:700; color:var(--navy,#162032); }
.fims-meta   { display:flex; align-items:center; gap:12px; }
.fims-year   { font-size:12px; color:#666; }
.fims-tabs   { display:flex; gap:4px; margin-bottom:20px; border-bottom:2px solid #e5e7eb; }
.fims-tab    { padding:8px 16px; font-size:12px; font-weight:600; color:#6b7280; cursor:pointer;
    border:none; background:none; border-bottom:2px solid transparent; margin-bottom:-2px;
    transition:color .15s, border-color .15s; white-space:nowrap; }
.fims-tab.active  { color:var(--orange,#E07B2A); border-bottom-color:var(--orange,#E07B2A); }
.fims-tab:hover   { color:#374151; }
.fims-panel       { display:none; }
.fims-panel.active{ display:block; }

/* SWOT */
.swot-grid  { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(max-width:600px){ .swot-grid{ grid-template-columns:1fr; } }
.swot-card  { border:1px solid #e5e7eb; background: var(--white,#FFF); border-radius:8px; overflow:hidden; }
.swot-head  { padding:10px 14px; display:flex; align-items:center; gap:8px; }
.swot-letter{ width:28px; height:28px; border-radius:50%; display:flex; align-items:center;
    justify-content:center; font-weight:700; font-size:14px; color:#fff; flex-shrink:0; }
.swot-label { font-weight:600; font-size:13px; }
.swot-items { padding:6px 10px; min-height:60px; }
.swot-item  { display:flex; align-items:center; gap:6px; margin:4px 0; }
.swot-dot   { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.swot-item input{ flex:1; border:none; border-bottom:1px solid #e5e7eb; background:transparent;
    font-size:12px; padding:3px 4px; outline:none; color:#374151; }
.swot-item input:focus{ border-bottom-color:#9ca3af; }
.swot-remove{ border:none; background:none; cursor:pointer; color:#9ca3af; padding:2px; font-size:13px; }
.swot-remove:hover{ color:#ef4444; }
.swot-add   { border:none; background:none; cursor:pointer; font-size:11px; color:#9ca3af;
    padding:4px 10px 8px; display:flex; align-items:center; gap:4px; }
.swot-add:hover{ color:var(--orange,#E07B2A); }

/* Risk Register */
.risk-toolbar { display:flex; align-items:center; justify-content:space-between;
    margin-bottom:12px; flex-wrap:wrap; gap:8px; }
.risk-summary { display:flex; gap:12px; }
.risk-pill    { font-size:11px; font-weight:600; padding:3px 10px; border-radius:99px; }
.pill-t       { background:#dcfce7; color:#166534; }
.pill-m       { background:#fef9c3; color:#854d0e; }
.pill-s       { background:#fee2e2; color:#991b1b; }
.risk-table   { width:100%; border-collapse:collapse; font-size:12px; }
.risk-table th{ background:#f9fafb; text-align:left; padding:7px 10px; font-weight:600;
    color:#6b7280; border-bottom:2px solid #e5e7eb; font-size:11px; text-transform:uppercase; }
.risk-table td{ padding:7px 8px; border-bottom:1px solid #f3f4f6; vertical-align:top; }
.risk-table tr:hover td{ background:#fafafa; }
.risk-num    { width:32px; font-weight:600; color:#9ca3af; font-size:11px; }
.risk-desc-input { width:100%; border:none; background:transparent; font-size:12px; font-weight:500;
    color:#374151; padding:0; outline:none; }
.risk-conseq { margin-top:4px; }
.risk-conseq input{ width:100%; border:none; background:transparent; font-size:11px; color:#6b7280;
    padding:0; outline:none; }
.rating-badge{ display:inline-flex; flex-direction:column; align-items:center; padding:4px 8px;
    border-radius:6px; font-size:11px; font-weight:600; cursor:pointer; min-width:80px;
    text-align:center; user-select:none; transition:opacity .1s; }
.rating-badge:hover{ opacity:.8; }
.rating-code { font-size:9px; font-weight:400; opacity:.7; margin-top:1px; }
.rt { background:#dcfce7; color:#166534; }
.rm { background:#fef9c3; color:#854d0e; }
.rs { background:#fee2e2; color:#991b1b; }
.controls-input{ width:100%; border:none; background:transparent; font-size:11px; color:#374151;
    resize:vertical; min-height:44px; outline:none; padding:0; line-height:1.5; }
.risk-remove{ border:none; background:none; cursor:pointer; color:#d1d5db; padding:2px; font-size:13px; }
.risk-remove:hover{ color:#ef4444; }
td.rating-cell{ width:96px; text-align:center; }
td.risk-actions-cell{ width:28px; }

/* Review */
.review-grid {
    display: grid;
    grid-template-columns:1fr 1fr;
    gap: 16px;
}

@media (max-width: 600px) {
    .review-grid {
        grid-template-columns:1fr;
    }
}

.review-section {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 16px;
}

.review-section-title {
    background: #f9fafb;
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
}

.review-section-body {
    padding: 14px;
    background: var(--white, #fff);
}

.fi {
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 12px;
    padding: 8px 10px;
    color: #374151;
    font-family: inherit;
    background: #fff;
    box-sizing: border-box;
}

.fi:focus {
    outline: none;
    border-color: #9ca3af;
}

.fi.tall {
    min-height: 80px;
    resize: vertical;
}

.fi-label {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    margin-bottom: 4px;
    display: block;
    text-transform: uppercase;
}

.fi-row {
    margin-bottom: 12px;
}

.sig-grid {
    display: grid;
    grid-template-columns:1fr 1fr;
    gap: 16px;
}

@media (max-width: 600px) {
    .sig-grid {
        grid-template-columns:1fr;
    }
}

.sig-label {
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.sig-name {
    border: none;
    border-bottom: 1px solid #d1d5db;
    width: 100%;
    font-size: 12px;
    padding: 4px 2px;
    background: transparent;
    font-family: inherit;
    outline: none;
    margin-bottom: 8px;
}

.sig-date {
    border: none;
    border-bottom: 1px solid #d1d5db;
    font-size: 12px;
    padding: 4px 2px;
    background: transparent;
    font-family: inherit;
    outline: none;
}

/* PESTLE */
.pestle-grid {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 12px;
}

@media (max-width: 700px) {
    .pestle-grid {
        grid-template-columns:1fr;
    }
}

.pestle-card {
    border: 1px solid #e5e7eb;
    background: var(--white, #FFF);
    border-radius: 8px;
    overflow: hidden;
}

.pestle-head {
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pestle-letter {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 15px;
    color: #fff;
    flex-shrink: 0;
}

.pestle-label {
    font-weight: 600;
    font-size: 13px;
}

.pestle-desc {
    font-size: 11px;
    color: #6b7280;
    margin-top: 1px;
}

.pestle-items {
    padding: 4px 10px;
    min-height: 40px;
}

.pestle-item {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 4px 0;
}

.pestle-type {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 4px;
    cursor: pointer;
    flex-shrink: 0;
    user-select: none;
}

.pt-r {
    background: #fee2e2;
    color: #991b1b;
}

.pt-o {
    background: #dcfce7;
    color: #166534;
}

.pt-b {
    background: #dbeafe;
    color: #1e40af;
}

.pestle-item input {
    flex: 1;
    border: none;
    border-bottom: 1px solid #e5e7eb;
    background: transparent;
    font-size: 12px;
    padding: 3px 4px;
    outline: none;
    color: #374151;
}

.pestle-item input:focus {
    border-bottom-color: #9ca3af;
}

.pestle-item-remove {
    border: none;
    background: none;
    cursor: pointer;
    color: #d1d5db;
    padding: 2px;
    font-size: 12px;
}

.pestle-item-remove:hover {
    color: #ef4444;
}

/* Status / progress bar */
.fims-status-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 8px 14px;
    margin-bottom: 16px;
    font-size: 12px;
    flex-wrap: wrap;
}

.fims-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #d1d5db;
    flex-shrink: 0;
}

.fims-progress-track {
    flex: 1;
    min-width: 80px;
    height: 4px;
    background: #e5e7eb;
    border-radius: 99px;
    overflow: hidden;
}

.fims-progress-fill {
    height: 4px;
    background: var(--orange, #E07B2A);
    border-radius: 99px;
    transition: width .3s;
    width: 0%;
}

.fims-progress-label {
    font-size: 11px;
    color: #9ca3af;
}

.fims-status-label {
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
}

/* Save bar */
.fims-save-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: flex-end;
    padding: 14px 0 4px;
    border-top: 1px solid #e5e7eb;
    margin-top: 20px;
}

.fims-save-status {
    font-size: 12px;
    color: #9ca3af;
}

.btn-save {
    background: var(--orange, #E07B2A);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 9px 22px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .15s;
}

.btn-save:hover {
    opacity: .85;
}

.btn-save:disabled {
    opacity: .5;
    cursor: default;
}

.btn-add-row {
    background: transparent;
    border: 1px dashed #d1d5db;
    color: #9ca3af;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 12px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color .15s, border-color .15s;
    margin-top: 8px;
}

.btn-add-row:hover {
    color: var(--orange, #E07B2A);
    border-color: var(--orange, #E07B2A);
}

/* ── IP Register ── */
.ip-wrap {
    max-width: 1400px;
    /*margin: 0 auto; padding: 0 0 40px; */
}

/* Status bar */
.ip-status {
    background: var(--surface, #fff);
    border: 0.5px solid var(--border-light, #e5e7eb);
    border-radius: 8px;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 12px;
    margin-bottom: 14px;
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.dot-draft {
    background: #f59e0b;
}

.dot-ok {
    background: #22c55e;
}

.progress-track {
    flex: 1;
    min-width: 80px;
    height: 4px;
    background: var(--border-light, #e5e7eb);
    border-radius: 99px;
    overflow: hidden;
}

.progress-fill {
    height: 4px;
    background: var(--orange, #e85d04);
    border-radius: 99px;
    transition: width .3s;
}

/* Form paper */
.ip-paper {
    background: var(--surface, #fff);
    border: 0.5px solid var(--border-light, #e5e7eb);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0, 0, 0, .06);
}

/* Header band */
.ip-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ip-hlogo {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ip-hmark {
    width: 34px;
    height: 34px;
    background: var(--orange, #E07B2A);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ip-hwm {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}
.ip-hmeta {
    text-align: right;
    font-size: 11px;
    color: rgba(255, 255, 255, .5);
    line-height: 1.7;
}
.ip-hmeta strong {
    color: rgba(255, 255, 255, .85);
    font-weight: 500;
}

/* Title bar (inside paper) */
.ip-title-bar {
    padding: 16px 22px 0;
    border-bottom: 2px solid var(--orange, #E07B2A);
    margin-bottom: 0;
}

/* Client details meta grid */
.ip-meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0, 0, 0, .07);
}
.ip-meta-cell {
    padding: 0;
    border-right: 0.5px solid rgba(0, 0, 0, .07);
}
.ip-meta-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-3, #9ca3af);
    padding: 8px 12px 2px;
    display: block;
}
.ip-meta-input {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: var(--text-1, #1a1a18);
    padding: 4px 12px 10px;
    outline: none;
}
.ip-meta-input:focus {
    background: #fdf0e6;
}

#ipSaveBtn {
    background: var(--orange, #e85d04) !important;
    color: #fff !important;
    border: none !important;
}

.ip-title-bar-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
    margin-top: 0;
}

.ip-title-bar h1 {
    font-size: 20px;
    font-weight: 600;
    color: var(--text-1, #1a1a2e);
    margin: 0;
}

.ip-title-bar p {
    font-size: 12px;
    color: var(--text-3, #9ca3af);
    line-height: 1.6;
    margin: 0;
}

/* Body */
.ip-body { padding: 18px 22px; }

/* Sections */
.ip-section {
    margin-bottom: 18px;
}

.ip-section-title {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--text-3, #9ca3af);
    background: var(--bg-2, #f5f5f2);
    border: 0.5px solid rgba(0, 0, 0, .07);
    border-radius: 6px 6px 0 0;
    padding: 7px 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.ip-section-title i {
    font-size: 14px;
}

.ip-section-body {
    border: 0.5px solid rgba(0, 0, 0, .07);
    border-top: none;
    border-radius: 0 0 6px 6px;
    overflow: hidden;
}

/* Summary chips */
.summary-bar {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px 12px;
    border-bottom: 0.5px solid var(--border-light, #e5e7eb);
}

.chip {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    border: 0.5px solid var(--border-light, #e5e7eb);
    background: var(--bg-2, #f5f5f2);
    color: var(--text-2, #374151);
}

.chip i {
    font-size: 13px;
}

.chip-internal {
    background: #e6f1fb;
    color: #0c447c;
    border-color: #b5d4f4;
}

.chip-external {
    background: #fdf0e6;
    color: #a85a1e;
    border-color: #f5c490;
}

.chip-reviewed {
    background: #eaf7f2;
    color: #065f46;
    border-color: #86efac;
}

/* Instructions */
.ip-instructions {
    background: #EBF4FF;
    border-left: 3px solid #2B6CB0;
    padding: 10px 14px;
    margin: 12px;
    border-radius: 0 6px 6px 0;
    font-size: 12px;
    color: #1a3f6e;
    line-height: 1.7;
}

.ip-instructions strong {
    display: block;
    margin-bottom: 2px;
}

/* Party cards */
.parties-area {
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.party-card {
    border: 0.5px solid var(--border-light, #e5e7eb);
    border-radius: 10px;
    overflow: hidden;
    transition: box-shadow .15s;
}

.party-card:hover {
    box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
}

.party-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    background: var(--bg-2, #f5f5f2);
    border-bottom: 0.5px solid var(--border-light, #e5e7eb);
}

.party-num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--orange, #e85d04);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.party-name-input {
    flex: 1;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-1, #1a1a2e);
    outline: none;
    padding: 2px 4px;
    border-radius: 4px;
}

.party-name-input::placeholder {
    color: var(--text-3, #9ca3af);
    font-weight: 400;
}

.party-name-input:focus {
    background: #fdf0e6;
}

.party-name-input[readonly] {
    cursor: default;
}

.type-toggle-group {
    display: flex;
    gap: 4px;
}

.type-toggle {
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid var(--border-light, #e5e7eb);
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    background: #fff;
    color: var(--text-3, #9ca3af);
    transition: all .12s;
    user-select: none;
}

.type-toggle:hover {
    border-color: var(--orange, #e85d04);
    color: var(--orange, #e85d04);
}

.type-toggle.active-internal {
    background: #e6f1fb;
    color: #0c447c;
    border-color: #b5d4f4;
}

.type-toggle.active-external {
    background: #fdf0e6;
    color: #a85a1e;
    border-color: #f5c490;
}

.party-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: none;
    cursor: pointer;
    color: rgba(0, 0, 0, .25);
    font-size: 18px;
    padding: 2px;
    border-radius: 4px;
    flex-shrink: 0;
    transition: all .12s;
}

.party-remove:hover {
    color: #7F1D1D;
    background: #FEF2F2;
}

.party-card-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.party-field {
    padding: 0;
    border-right: 0.5px solid var(--border-light, #e5e7eb);
    border-bottom: 0.5px solid var(--border-light, #e5e7eb);
}

.party-field:nth-child(2n) {
    border-right: none;
}

.party-field.full-width {
    grid-column: 1 / -1;
    border-right: none;
}

.party-field:last-child, .party-field:nth-last-child(2):not(.full-width) {
    border-bottom: none;
}

.party-field-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-3, #9ca3af);
    padding: 8px 12px 2px;
    display: block;
}

.party-field textarea, .party-field input[type="text"], .party-field select {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: var(--text-1, #1a1a2e);
    padding: 4px 12px 10px;
    outline: none;
    resize: none;
    line-height: 1.6;
}

.party-field textarea:focus, .party-field input[type="text"]:focus, .party-field select:focus {
    background: #fdf0e6;
}

.party-field textarea {
    min-height: 60px;
}

.party-field textarea.tall {
    min-height: 80px;
}

.party-field textarea[readonly], .party-field input[readonly], .party-field select[disabled] {
    cursor: default;
}

/* Standards pills */
.std-row {
    padding: 6px 12px 10px;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.std-pill {
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid var(--border-light, #e5e7eb);
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    background: #fff;
    color: var(--text-3, #9ca3af);
    transition: all .12s;
    user-select: none;
}

.std-pill:hover {
    border-color: var(--orange, #e85d04);
}

.std-pill.a9001 {
    background: #e6f1fb;
    color: #0c447c;
    border-color: #b5d4f4;
}

.std-pill.a14001 {
    background: #eaf3de;
    color: #27500a;
    border-color: #c0dd97;
}

.std-pill.a45001 {
    background: #faece7;
    color: #712b13;
    border-color: #f5c4b3;
}

.std-pill.a27001 {
    background: #eeedfe;
    color: #3c3489;
    border-color: #cecbf6;
}

.std-pill.readonly {
    cursor: default;
    pointer-events: none;
}

/* Add party btn */
.add-party-btn { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-3, #9ca3af); cursor: pointer; padding: 10px 12px; border: 1.5px dashed var(--border-light, #e5e7eb); border-radius: 10px; background: transparent; font-family: inherit; width: 100%; transition: all .15s; }
.add-party-btn:hover { border-color: var(--orange, #e85d04); color: var(--orange, #e85d04); background: #fdf0e6; }

/* Callout */
.ip-callout { display: flex; gap: 10px; padding: 10px 14px; border-radius: 6px; font-size: 12px; line-height: 1.7; margin: 10px 12px 12px; background: #eaf7f2; border-left: 3px solid #22c55e; color: #065f46; }
.ip-callout i { font-size: 16px; flex-shrink: 0; margin-top: 1px; }

/* Review / sig grids */
.review-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.review-cell {
    padding: 0;
    border-right: 0.5px solid var(--border-light, #e5e7eb);
}

.review-cell:last-child {
    border-right: none;
}

.review-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-3, #9ca3af);
    padding: 8px 12px 2px;
    display: block;
}

.review-input {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: var(--text-1, #1a1a2e);
    padding: 4px 12px 10px;
    outline: none;
}

.review-input:focus {
    background: #fdf0e6;
}

.review-changes {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: var(--text-1, #1a1a2e);
    padding: 4px 12px 10px;
    outline: none;
    resize: none;
    min-height: 56px;
    line-height: 1.6;
}

.review-changes:focus {
    background: #fdf0e6;
}

.sig-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.sig-cell {
    padding: 12px 14px;
    border-right: 0.5px solid var(--border-light, #e5e7eb);
}

.sig-cell:last-child {
    border-right: none;
}

.sig-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-3, #9ca3af);
    margin-bottom: 10px;
}

.sig-line {
    border: none;
    border-bottom: 0.5px solid var(--border-light, #e5e7eb);
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: var(--text-1, #1a1a2e);
    padding: 4px 0;
    width: 100%;
    outline: none;
    margin-bottom: 6px;
}

.sig-line:focus {
    border-bottom-color: var(--orange, #e85d04);
}

.sig-sub {
    font-size: 11px;
    color: var(--text-3, #9ca3af);
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.sig-sub input {
    border: none;
    border-bottom: 0.5px solid var(--border-light, #e5e7eb);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: var(--text-1, #1a1a2e);
    padding: 1px 4px;
    outline: none;
    flex: 1;
}

.sig-sub input:focus {
    border-bottom-color: var(--orange, #e85d04);
}

/* Toast */
#ipToast {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #22c55e;
    color: #fff;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    z-index: 9999;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}

@media print {
    .ip-status, .add-party-btn, .party-remove, #ipSaveBtn, [style*="border-top"] {
        display: none !important;
    }
}

/*
 *---------------------------------------------------------------
 * MODULE-SPECIFIC STYLES (migrated from view files)
 *---------------------------------------------------------------
 * Styles that were originally inline in view files, organized by module.
 * Each section corresponds to a specific module and view file.
 */

/*
 * ── AUDITS MODULE ──
 */

/* audit-report-list.php */
.fq31l-bar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 10px 16px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
}
.fq31l-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.fq31l-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fq31l-hmeta {
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.fq31l-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.fq31l-table {
    width: 100%;
    border-collapse: collapse;
}
.fq31l-table th {
    padding: 8px 14px;
    background: #f5f5f2;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.fq31l-table th:last-child {
    border-right: none;
}
.fq31l-table td {
    padding: 10px 14px;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    font-size: 12px;
    vertical-align: middle;
}
.fq31l-table td:last-child {
    border-right: none;
}
.fq31l-table tr:last-child td {
    border-bottom: none;
}
.fq31l-table tr:hover td {
    background: #fafaf8;
}
.fq31l-badge-d {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    background: #FFFBEB;
    color: #78350F;
    border: 0.5px solid #FDE68A;
}
.fq31l-badge-f {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    background: #EAF7F2;
    color: #0d5c42;
    border: 0.5px solid #86EFAC;
}
.fq31l-badge-d .material-icons,.fq31l-badge-f .material-icons {
    font-size: 11px;
}
.fq31l-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    font-family: inherit;
    text-decoration: none;
}
.fq31l-btn-or {
    background: #E07B2A;
    color: #fff;
}
.fq31l-btn-or:hover {
    opacity: .88;
}
.fq31l-btn-g {
    background: #fff;
    color: #4a4a46;
    border: 0.5px solid rgba(0,0,0,.15);
}
.fq31l-btn-g:hover {
    background: #f5f5f2;
}
.fq31l-empty {
    padding: 48px 22px;
    text-align: center;
    color: #7a7a76;
}
.fq31l-empty .material-icons {
    font-size: 48px;
    color: #d1d5db;
    display: block;
    margin-bottom: 12px;
}

/* audit-report.php */
.fq31-bar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 10px 16px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
}
.fq31-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
    margin-bottom: 24px;
}
.fq31-hband {
    background: #162032;
    padding: 14px 22px;
}
.fq31-hmeta {
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
    text-align: left;
}
.fq31-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.fq31-title-bar {
    padding: 16px 22px 0;
    border-bottom: 2px solid #E07B2A;
}
.fq31-title-bar h1 {
    font-size: 20px;
    font-weight: 600;
    color: #1a1a18;
    padding-bottom: 14px;
}
.fq31-body {
    padding: 18px 22px;
}
.fq31-sec {
    margin-bottom: 18px;
}
.fq31-sec-head {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #7a7a76;
    background: #f5f5f2;
    border: 0.5px solid rgba(0,0,0,.09);
    border-radius: 6px 6px 0 0;
    padding: 7px 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.fq31-sec-head .material-icons {
    font-size: 14px;
}
.fq31-sec-body {
    border: 0.5px solid rgba(0,0,0,.09);
    border-top: none;
    border-radius: 0 0 6px 6px;
    overflow: hidden;
}
.fq31-tbl {
    width: 100%;
    border-collapse: collapse;
}
.fq31-tbl td {
    padding: 0;
    vertical-align: top;
}
.fq31-tbl td.lbl {
    width: 160px;
    padding: 9px 11px;
    background: #fff;
    font-size: 12px;
    font-weight: 500;
    color: #4a4a46;
    border-right: 0.5px solid rgba(0,0,0,.09);
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    vertical-align: middle;
}
.fq31-tbl td.inp {
    padding: 5px 9px;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.fq31-tbl tr:last-child td {
    border-bottom: none;
}
.fi {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 2px;
    outline: none;
    resize: none;
    line-height: 1.6;
    -webkit-appearance: none;
    appearance: none;
}
.fi:focus:not([readonly]) {
    background: #FDF0E6;
    border-radius: 4px;
    padding: 4px 6px;
    margin: -4px -6px;
    width: calc(100% + 12px);
}
textarea.fi {
    min-height: 60px;
    width: 100%;
}
textarea.fi.tall {
    min-height: 120px;
}
.fq31-std-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px 12px;
}
.fq31-std {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 999px;
    border: 1.5px solid rgba(0,0,0,.12);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    background: #f5f5f2;
    color: #7a7a76;
    transition: all .15s;
}
.fq31-std.on-9001 {
    border-color: #B5D4F4;
    background: #E6F1FB;
    color: #0C447C;
}
.fq31-std.on-14001 {
    border-color: #C0DD97;
    background: #EAF3DE;
    color: #27500A;
}
.fq31-std.on-45001 {
    border-color: #F5C4B3;
    background: #FAECE7;
    color: #712B13;
}
.fq31-std.on-27001 {
    border-color: #CECBF6;
    background: #EEEDFE;
    color: #3C3489;
}
.fq31-std .material-icons {
    font-size: 13px;
}
.dist-list {
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.dist-row {
    display: flex;
    gap: 8px;
    align-items: center;
}
.dist-row input {
    flex: 1;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 6px;
    padding: 6px 9px;
    font-size: 12px;
    font-family: inherit;
    background: #fff;
    color: #1a1a18;
    outline: none;
}
.dist-row input:focus {
    border-color: #E07B2A;
}
.dist-row input.role {
    width: 150px;
    flex: none;
    color: #7a7a76;
}
.btn-add-row {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 4px 0;
    border: none;
    background: none;
    font-family: inherit;
}
.btn-add-row:hover {
    color: #E07B2A;
}
.btn-rm {
    border: none;
    background: none;
    cursor: pointer;
    color: rgba(0,0,0,.2);
    padding: 2px;
    border-radius: 4px;
    font-size: 16px;
    line-height: 1;
    display: flex;
    align-items: center;
}
.btn-rm:hover {
    color: #7F1D1D;
    background: #FEF2F2;
}
.finding-item {
    border: 0.5px solid rgba(0,0,0,.09);
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 8px;
}
.finding-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    background: #f9f9f7;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.finding-num {
    font-size: 11px;
    font-weight: 700;
    color: #E07B2A;
}
.finding-type {
    border: none;
    background: transparent;
    font-size: 11px;
    font-weight: 600;
    font-family: inherit;
    color: #4a4a46;
    cursor: pointer;
    padding: 2px 4px;
    border-radius: 4px;
    outline: none;
}
.finding-type:focus {
    background: #FDF0E6;
}
.finding-std {
    border: 0.5px solid rgba(0,0,0,.12);
    background: #fff;
    font-size: 11px;
    font-family: inherit;
    color: #7a7a76;
    cursor: pointer;
    padding: 4px 10px;
    border-radius: 999px;
    outline: none;
}
.finding-body textarea {
    width: 100%;
    border: none;
    padding: 8px 10px;
    font-size: 13px;
    font-family: inherit;
    color: #1a1a18;
    resize: vertical;
    min-height: 52px;
    background: #fff;
    outline: none;
    line-height: 1.6;
}
.finding-body textarea:focus {
    background: #FDF0E6;
}
.plan-tbl {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}
.plan-tbl th {
    padding: 6px 9px;
    background: #f5f5f2;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.plan-tbl th:last-child {
    border-right: none;
}
.plan-tbl td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: top;
}
.plan-tbl td:last-child {
    border-right: none;
}
.plan-tbl tr:last-child td {
    border-bottom: none;
}
.plan-inp {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 6px 8px;
    outline: none;
}
.plan-inp:focus {
    background: #FDF0E6;
}
.obj-item {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-bottom: 6px;
}
.obj-dot {
    width: 6px;
    height: 6px;
    background: #E07B2A;
    border-radius: 999px;
    flex-shrink: 0;
    margin-top: 7px;
}
.obj-item textarea {
    flex: 1;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 6px;
    padding: 6px 9px;
    font-size: 13px;
    font-family: inherit;
    color: #1a1a18;
    resize: none;
    min-height: 36px;
    background: #fff;
    outline: none;
    line-height: 1.5;
}
.obj-item textarea:focus {
    border-color: #E07B2A;
    background: #FDF0E6;
}
.sig-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}
.sig-cell {
    padding: 10px 12px;
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.sig-cell:last-child {
    border-right: none;
}
.sig-lbl {
    font-size: 11px;
    font-weight: 500;
    color: #7a7a76;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 8px;
}
.sig-inp {
    width: 100%;
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.15);
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 0;
    outline: none;
}
.sig-inp:focus {
    border-bottom-color: #E07B2A;
}
.fq31-save-bar {
    position: sticky;
    bottom: 0;
    background: #fff;
    border-top: 0.5px solid rgba(0,0,0,.12);
    padding: 10px 22px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    z-index: 20;
}
.fq31-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    font-family: inherit;
}
.fq31-btn-g {
    background: #f5f5f2;
    color: #4a4a46;
    border: 0.5px solid rgba(0,0,0,.15);
}
.fq31-btn-g:hover {
    background: #ececea;
}
.fq31-btn-or {
    background: #E07B2A;
    color: #fff;
}
.fq31-btn-or:hover {
    opacity: .88;
}
.fq31-btn-gr {
    background: #1D9E75;
    color: #fff;
}
.fq31-btn-gr:hover {
    opacity: .88;
}
.fq31-save-msg {
    font-size: 12px;
    color: #7a7a76;
    margin-left: auto;
}
.fq31-save-msg.ok {
    color: #1D9E75;
}
.fq31-save-msg.err {
    color: #DC2626;
}
.fq31-footer {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}

/* internal-audit-list.php */
.iac-bar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 10px 16px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
}
.iac-bar .material-icons {
    font-size: 16px;
    color: #E07B2A;
}
.iac-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.iac-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.iac-hmark {
    width: 34px;
    height: 34px;
    background: #E07B2A;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.iac-hmark .material-icons {
    font-size: 18px;
    color: #fff;
}
.iac-hwm {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    margin-left: 10px;
}
.iac-hmeta {
    text-align: right;
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.iac-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.iac-table {
    width: 100%;
    border-collapse: collapse;
}
.iac-table th {
    padding: 8px 14px;
    background: #f5f5f2;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.iac-table th:last-child {
    border-right: none;
}
.iac-table td {
    padding: 10px 14px;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    font-size: 12px;
    vertical-align: middle;
}
.iac-table td:last-child {
    border-right: none;
}
.iac-table tr:last-child td {
    border-bottom: none;
}
.iac-table tr:hover td {
    background: #fafaf8;
}
.iac-badge-draft {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    background: #FFFBEB;
    color: #78350F;
    border: 0.5px solid #FDE68A;
}
.iac-badge-final {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    background: #EAF7F2;
    color: #0d5c42;
    border: 0.5px solid #86EFAC;
}
.iac-badge-final .material-icons,.iac-badge-draft .material-icons {
    font-size: 11px;
}
.iac-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    font-family: inherit;
    text-decoration: none;
}
.iac-btn-or {
    background: #E07B2A;
    color: #fff;
}
.iac-btn-or:hover {
    opacity: .88;
}
.iac-btn-g {
    background: #fff;
    color: #4a4a46;
    border: 0.5px solid rgba(0,0,0,.15);
}
.iac-btn-g:hover {
    background: #f5f5f2;
}
.iac-empty {
    padding: 48px 22px;
    text-align: center;
    color: #7a7a76;
}
.iac-empty .material-icons {
    font-size: 48px;
    color: #d1d5db;
    display: block;
    margin-bottom: 12px;
}

/* internal-audit.php */
.fq2-sbar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 8px 14px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
}
.fq2-sdot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #9ca3af;
    flex-shrink: 0;
}
.fq2-ptr {
    flex: 1;
    min-width: 80px;
    height: 4px;
    background: rgba(0,0,0,.09);
    border-radius: 99px;
    overflow: hidden;
}
.fq2-pf {
    height: 4px;
    background: #E07B2A;
    border-radius: 99px;
    transition: width .3s;
}
.fq2-sc {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    border: 0.5px solid;
}
.fq2-sc-ok {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.fq2-sc-obs {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.fq2-sc-nc {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.fq2-sc .material-icons {
    font-size: 12px;
}
.fq2-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.fq2-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fq2-hmark {
    width: 34px;
    height: 34px;
    background: #E07B2A;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fq2-hmark .material-icons {
    font-size: 18px;
    color: #fff;
}
.fq2-hwm {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    margin-left: 10px;
}
.fq2-hmeta {
    text-align: right;
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.fq2-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.fq2-hinfo {
    background: #EBF4FF;
    border-bottom: 0.5px solid #B5D4F4;
    padding: 10px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.fq2-hinfo-title {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a18;
}
.fq2-hinfo-sub {
    font-size: 11px;
    color: #7a7a76;
}
.fq2-std-pill {
    font-size: 10px;
    padding: 3px 9px;
    border-radius: 999px;
    font-weight: 700;
}
.fq2-std-9001 {
    background: #E6F1FB;
    color: #0C447C;
    border: 0.5px solid #B5D4F4;
}
.fq2-std-27001 {
    background: #EEEDFE;
    color: #3C3489;
    border: 0.5px solid #CECBF6;
}
.fq2-metastrip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.fq2-meta4 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.fq2-mc {
    border-right: 0.5px solid rgba(0,0,0,.09);
    padding: 0;
}
.fq2-mc:last-child {
    border-right: none;
}
.fq2-mlabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    padding: 7px 14px 2px;
    display: block;
}
.fq2-minput {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
}
.fq2-minput:focus {
    background: #FDF0E6;
}
.fq2-minput[type=date] {
    padding: 4px 10px 10px;
}
.fq2-key-bar {
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    padding: 8px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 11px;
}
.fq2-shdr {
    padding: 9px 16px;
    font-size: 11px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
}
.fq2-shdr .material-icons {
    font-size: 14px;
    color: #E07B2A;
}
.fq2-shdr .fq2-iso-ref {
    font-size: 10px;
    font-weight: 400;
    opacity: .5;
    margin-left: auto;
}
.fq2-ct {
    width: 100%;
    border-collapse: collapse;
}
.fq2-ct th {
    padding: 7px 12px;
    background: #f5f5f2;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.fq2-ct th:last-child {
    border-right: none;
}
.fq2-ct td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: top;
}
.fq2-ct td:last-child {
    border-right: none;
}
.fq2-ct tr:last-child td {
    border-bottom: none;
}
.fq2-ct tr:hover td {
    background: #fafaf8;
}
.fq2-qc,
.fq2-ct td.fq2-qc {
    padding: 10px 14px;
    background: #f5f5f2;
    width: 34%;
    vertical-align: top;
}
.fq2-qref {
    font-size: 10px;
    font-weight: 700;
    color: #E07B2A;
    margin-bottom: 3px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.fq2-qtext {
    font-size: 12px;
    color: #1a1a18;
    line-height: 1.55;
    font-weight: 500;
}
.fq2-qrefs {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-top: 6px;
}
.fq2-rchip {
    font-size: 10px;
    font-weight: 600;
    padding: 1px 7px;
    border-radius: 999px;
    background: #FDF0E6;
    color: #a85a1e;
    border: 0.5px solid rgba(224,123,42,.3);
}
.fq2-auc {
    width: 12%;
}
.fq2-auc textarea {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    color: #1a1a18;
    padding: 10px;
    outline: none;
    resize: none;
    min-height: 60px;
    overflow: hidden;
    line-height: 1.5;
}
.fq2-auc textarea:focus {
    background: #FDF0E6;
}
.fq2-evc textarea {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 10px 12px;
    outline: none;
    resize: none;
    min-height: 60px;
    overflow: hidden;
    line-height: 1.6;
}
.fq2-evc textarea:focus {
    background: #FDF0E6;
}
.fq2-fsc,
.fq2-ct td.fq2-fsc {
    width: 100px;
    padding: 6px 8px;
    text-align: center;
    vertical-align: middle;
}
.fq2-fs-btn {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    border: 0.5px solid;
    cursor: pointer;
    width: 100%;
    text-align: center;
    transition: all .12s;
}
.fq2-fs-ok {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.fq2-fs-obs {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.fq2-fs-mnc {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.fq2-fs-jnc {
    background: #DC2626;
    color: #fff;
    border-color: #DC2626;
}
.fq2-summary-wrap {
    background: #f5f5f2;
    border-top: 2px solid rgba(0,0,0,.12);
    padding: 12px 16px;
}
.fq2-summary-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #7a7a76;
    margin-bottom: 8px;
}
.fq2-summary-ta {
    width: 100%;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 6px;
    padding: 10px 12px;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    resize: none;
    min-height: 72px;
    outline: none;
    background: #fff;
    line-height: 1.6;
}
.fq2-summary-ta:focus {
    border-color: #E07B2A;
}
.fq2-sigstrip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 0.5px solid rgba(0,0,0,.09);
}
.fq2-sigcell {
    padding: 14px 18px;
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.fq2-sigcell:last-child {
    border-right: none;
}
.fq2-siglabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #7a7a76;
    margin-bottom: 8px;
}
.fq2-sigline {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 3px 0;
    width: 100%;
    outline: none;
    margin-bottom: 6px;
    display: block;
}
.fq2-sigline:focus {
    border-bottom-color: #E07B2A;
}
.fq2-sigsub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 4px;
}
.fq2-sigsub input {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    padding: 1px 4px;
    outline: none;
    color: #1a1a18;
    width: 180px;
}
.fq2-sigsub input[type=date] {
    width: 140px;
}
.fq2-sigsub input:focus {
    border-bottom-color: #E07B2A;
}
.fq2-ftr {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
.fq2-save-bar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 10px 16px;
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.fq2-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    font-family: inherit;
}
.fq2-btn-g {
    background: #fff;
    color: #4a4a46;
    border: 0.5px solid rgba(0,0,0,.15);
}
.fq2-btn-g:hover {
    background: #f5f5f2;
}
.fq2-btn-gr {
    background: #1D9E75;
    color: #fff;
}
.fq2-btn-gr:hover {
    opacity: .88;
}
.fq2-btn-or {
    background: #E07B2A;
    color: #fff;
}
.fq2-btn-or:hover {
    opacity: .88;
}
.fq2-btn .material-icons {
    font-size: 13px;
}
.fq2-finalised-banner {
    background: #EAF7F2;
    border-bottom: 0.5px solid #86EFAC;
    padding: 10px 22px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #0d5c42;
    font-weight: 500;
}
.fq2-finalised-banner .material-icons {
    font-size: 16px;
}
@media print {
  .fq2-save-bar,.fq2-sbar {
    display: none!important;
}
  .fq2-paper {
    box-shadow: none;
    border: none;
    border-radius: 0;
}
  .fq2-evc textarea,.fq2-auc textarea {
    min-height: auto;
}
  @page {
    margin: 1.5cm;
    size: A4;
}
}

/* schedule.php */
.er11-statsbar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 10px 16px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
}
.er11-sc {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    border: 0.5px solid;
}
.er11-sc-x {
    background: #EBF4FF;
    color: #1e3a8a;
    border-color: #B5D4F4;
}
.er11-sc-p {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.er11-sc-c {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.er11-sc-f {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.er11-sc .material-icons {
    font-size: 13px;
}
.er11-ss {
    margin-left: auto;
    color: #7a7a76;
    font-size: 12px;
}
.er11-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.er11-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.er11-hlogo {
    display: flex;
    align-items: center;
    gap: 10px;
}
.er11-hmark {
    width: 34px;
    height: 34px;
    background: #E07B2A;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.er11-hmark .material-icons {
    font-size: 18px;
    color: #fff;
}
.er11-hwm {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}
.er11-hmeta {
    text-align: right;
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.er11-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.er11-active-stds {
    color: #1D9E75;
    font-size: 10px;
    font-weight: 600;
}
.er11-metastrip {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.er11-mc {
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.er11-mc:last-child {
    border-right: none;
}
.er11-mlabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    padding: 7px 14px 2px;
    display: block;
}
.er11-minput {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
}
.er11-minput:focus {
    background: #FDF0E6;
}
.er11-key-bar {
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    padding: 8px 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    font-size: 11px;
}
.er11-key-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 500;
    color: #4a4a46;
}
.er11-kb {
    width: 24px;
    height: 24px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}
.er11-kb-blank {
    background: #e5e7eb;
    color: #9ca3af;
}
.er11-kb-x {
    background: #EBF4FF;
    color: #1e3a8a;
}
.er11-kb-p {
    background: #FFFBEB;
    color: #78350F;
}
.er11-kb-c {
    background: #EAF7F2;
    color: #0d5c42;
}
.er11-kb-f {
    background: #FEF2F2;
    color: #7F1D1D;
}
.er11-st {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.er11-st th {
    padding: 7px 6px;
    background: #f5f5f2;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: center;
    white-space: nowrap;
}
.er11-st th.tl {
    text-align: left;
    padding: 7px 12px;
}
.er11-st th:last-child {
    border-right: none;
}
.er11-st td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: middle;
}
.er11-st td:last-child {
    border-right: none;
}
.er11-st tr:last-child td {
    border-bottom: none;
}
.er11-st tr:hover td {
    background: #fafaf8;
}
.er11-area-cell,
.er11-st td.er11-area-cell {
    padding: 9px 12px;
    font-size: 12px;
    font-weight: 500;
    color: #1a1a18;
    vertical-align: middle;
}
.er11-freq-cell,
.er11-st td.er11-freq-cell {
    padding: 5px 6px;
    text-align: center;
    vertical-align: middle;
}
.er11-fbadge {
    display: inline-block;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
    border: 0.5px solid;
    cursor: pointer;
}
.er11-f-ann {
    background: #EBF4FF;
    color: #1e3a8a;
    border-color: #B5D4F4;
}
.er11-f-6m {
    background: #EEEDFE;
    color: #3C3489;
    border-color: #CECBF6;
}
.er11-f-q {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.er11-f-wi {
    background: #f5f5f2;
    color: #4a4a46;
    border-color: rgba(0,0,0,.15);
}
.er11-month-cell,
.er11-st td.er11-month-cell {
    width: 44px;
    padding: 3px;
    text-align: center;
    vertical-align: middle;
}
.er11-mcell-btn {
    width: 34px;
    height: 26px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    font-size: 11px;
    font-weight: 700;
    font-family: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    transition: all .12s;
}
.er11-mb-blank {
    background: #f0efeb;
    color: #d1d5db;
}
.er11-mb-blank:hover {
    background: #e5e7eb;
    color: #9ca3af;
}
.er11-mb-x {
    background: #EBF4FF;
    color: #1e3a8a;
}
.er11-mb-p {
    background: #FFFBEB;
    color: #78350F;
}
.er11-mb-c {
    background: #EAF7F2;
    color: #0d5c42;
}
.er11-mb-f {
    background: #FEF2F2;
    color: #7F1D1D;
}
.er11-issues-cell {
    padding: 4px 6px;
    text-align: center;
    vertical-align: middle;
}
.er11-issues-inp {
    width: 40px;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 5px;
    padding: 4px;
    font-size: 12px;
    font-weight: 700;
    font-family: inherit;
    text-align: center;
    color: #DC2626;
    background: #fff;
    outline: none;
}
.er11-issues-inp:focus {
    border-color: #E07B2A;
}
.er11-issues-inp::-webkit-inner-spin-button {
    opacity: 0;
}
.er11-notes-cell {
    padding: 0;
}
.er11-notes-ta {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    color: #1a1a18;
    padding: 8px 10px;
    outline: none;
    resize: none;
    overflow: hidden;
    line-height: 1.5;
    min-height: 36px;
}
.er11-notes-ta:focus {
    background: #FDF0E6;
}
.er11-notes-ta::placeholder {
    color: #c4c4c0;
}
.er11-rm-btn {
    border: none;
    background: none;
    cursor: pointer;
    color: rgba(0,0,0,.1);
    font-size: 14px;
    padding: 5px;
    display: block;
    margin: 2px auto;
    border-radius: 4px;
    width: 28px;
    text-align: center;
}
.er11-rm-btn:hover {
    color: #7F1D1D;
    background: #FEF2F2;
}
tr:hover .er11-rm-btn {
    color: rgba(0,0,0,.25);
}
.er11-sec-div td {
    background: #162032;
    color: #fff;
    padding: 6px 12px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.er11-sec-div td .material-icons {
    font-size: 12px;
    vertical-align: -2px;
    margin-right: 5px;
    color: #E07B2A;
}
.er11-add-row-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 9px 16px;
    border: none;
    background: #f5f5f2;
    font-family: inherit;
    width: 100%;
    border-top: 0.5px solid rgba(0,0,0,.09);
    transition: all .12s;
}
.er11-add-row-btn:hover {
    color: #E07B2A;
    background: #FDF0E6;
}
.er11-add-row-btn .material-icons {
    font-size: 14px;
}
.er11-ftr {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
.er11-save-bar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 10px;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
}
.er11-btn-save {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 22px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    font-family: inherit;
    background: #E07B2A;
    color: #fff;
    transition: all .12s;
}
.er11-btn-save:hover {
    opacity: .88;
}
.er11-btn-save .material-icons {
    font-size: 14px;
}
.er11-btn-print {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 9px 16px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 0.5px solid rgba(0,0,0,.15);
    font-family: inherit;
    background: #fff;
    color: #4a4a46;
    transition: all .12s;
}
.er11-btn-print:hover {
    background: #f5f5f2;
}
.er11-btn-print .material-icons {
    font-size: 13px;
}
.er11-audits-link {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 9px 16px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 0.5px solid rgba(0,0,0,.15);
    font-family: inherit;
    background: #fff;
    color: #4a4a46;
    text-decoration: none;
    transition: all .12s;
}
.er11-audits-link:hover {
    background: #f5f5f2;
}
.er11-audits-link .material-icons {
    font-size: 13px;
}
@media print {
  .er11-statsbar,.er11-save-bar {
    display: none!important;
}
  .er11-paper {
    box-shadow: none;
    border: none;
}
  .er11-add-row-btn,.er11-rm-btn {
    display: none;
}
  .er11-mcell-btn {
    border: 0.5px solid #ccc;
}
  @page {
    margin: 1cm;
    size: A4 landscape;
}
}

/*
 * ── BUSINESSCONTINUITY MODULE ──
 */

/* register.php */
#bcSaveBtn  {
     background: var(--orange,#e85d04)!important;
     color: #fff!important;
     border: none!important;
}
.bc-titlebar  {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 14px 20px;
     border-bottom: 1px solid #e5e7eb;
}
.bc-titlebar h1  {
     font-size: 18px;
     font-weight: 700;
     margin: 0;
}
.bc-ref  {
     font-size: 11px;
     color: #6b7280;
     margin-top: 2px;
}
.bc-statusbar  {
     display: flex;
     align-items: center;
     gap: 8px;
     padding: 10px 20px;
     background: #f9fafb;
     border-bottom: 1px solid #e5e7eb;
     flex-wrap: wrap;
}
.bc-chip  {
     padding: 4px 12px;
     border-radius: 20px;
     font-size: 11px;
     font-weight: 600;
     cursor: pointer;
     border: 1.5px solid #e5e7eb;
     background: #fff;
     color: #374151;
}
.bc-chip.active  {
     border-color: #162032;
     background: #162032;
     color: #fff;
}
.bc-chip-h   {
     border-color: #FECACA;
     color: #7F1D1D;
     background: #FEF2F2;
}
.bc-chip-h.active   {
     background: #7F1D1D;
     color: #fff;
     border-color: #7F1D1D;
}
.bc-chip-m   {
     border-color: #FDE68A;
     color: #92400E;
     background: #FEF3C7;
}
.bc-chip-m.active   {
     background: #92400E;
     color: #fff;
     border-color: #92400E;
}
.bc-chip-l   {
     border-color: #86EFAC;
     color: #0d5c42;
     background: #EAF7F2;
}
.bc-chip-l.active   {
     background: #0d5c42;
     color: #fff;
     border-color: #0d5c42;
}
.bc-tab-bar  {
     display: flex;
     background: #fff;
     border-bottom: 1px solid #e5e7eb;
}
.bc-tab  {
     padding: 11px 18px;
     font-size: 13px;
     font-weight: 500;
     color: #6b7280;
     cursor: pointer;
     border-bottom: 2px solid transparent;
     margin-bottom: -1px;
     display: flex;
     align-items: center;
     gap: 7px;
}
.bc-tab:hover  {
     color: #1a1a18;
     background: #f9fafb;
}
.bc-tab.active  {
     color: #a85a1e;
     border-bottom-color: #E07B2A;
     font-weight: 600;
}
.bc-tab .material-icons  {
     font-size: 16px;
}
.bc-panel  {
     display: none;
}
.bc-panel.active  {
     display: block;
}
.bc-banner  {
     padding: 10px 20px;
     font-size: 13px;
     font-weight: 600;
     color: #162032;
     background: #f0f4f8;
     border-bottom: 1px solid #e5e7eb;
}
.bc-matrix-key  {
     padding: 12px 18px;
     background: #fff;
     border-bottom: 0.5px solid #e5e7eb;
     font-size: 12px;
     color: #4a4a46;
}
.mx-grid  {
     display: grid;
     grid-template-columns: auto repeat(3,1fr);
     gap: 3px;
     max-width: 420px;
     margin-top: 10px;
     font-size: 10px;
     font-weight: 600;
}
.mx-hdr  {
     background: #162032;
     color: rgba(255,255,255,.7);
     padding: 4px 8px;
     text-align: center;
     border-radius: 2px;
}
.mx-row-label  {
     background: #e5e7eb;
     color: #4a4a46;
     padding: 4px 8px;
     border-radius: 2px;
}
.mx-l  {
     background: #EAF7F2;
     color: #0d5c42;
     padding: 4px 8px;
     text-align: center;
     border-radius: 2px;
}
.mx-m  {
     background: #FFFBEB;
     color: #78350F;
     padding: 4px 8px;
     text-align: center;
     border-radius: 2px;
}
.mx-h  {
     background: #FEF2F2;
     color: #7F1D1D;
     padding: 4px 8px;
     text-align: center;
     border-radius: 2px;
}
.bc-note  {
     background: #EBF4FF;
     border-bottom: 0.5px solid #B5D4F4;
     padding: 10px 18px;
     font-size: 12px;
     color: #0C447C;
}
.bc-table  {
     width: 100%;
     border-collapse: collapse;
     font-size: 12px;
}
.bc-table th  {
     background: #162032;
     color: rgba(255,255,255,.75);
     padding: 8px 10px;
     font-size: 10px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: .04em;
     text-align: left;
     border-right: 0.5px solid rgba(255,255,255,.1);
     white-space: nowrap;
}
.bc-table th:last-child  {
     border-right: none;
}
.bc-table td  {
     border-bottom: 0.5px solid #e5e7eb;
     border-right: 0.5px solid #e5e7eb;
     vertical-align: top;
     padding: 0;
     background: #fff !important;
}
.bc-table td:last-child  {
     border-right: none;
}
.bc-table tr:last-child td  {
     border-bottom: none;
}
.bc-table tr:hover td  {
     background: #fafaf8 !important;
}
.bc-table tr.hidden  {
     display: none;
}
.ft  {
     width: 100%;
     border: none;
     background: transparent;
     font-family: inherit;
     font-size: 12px;
     color: #1a1a18;
     padding: 9px 10px;
     outline: none;
     /*resize: vertical;*/
     line-height: 1.6;
     display: block;
     box-sizing: border-box;
     min-height: 52px;
}
.ft:focus  {
     background: #FDF0E6;
}
.ft::placeholder  {
     color: #d1d5db;
}
.fi2  {
     display: block;
     width: 100%;
     border: none;
     background: transparent;
     font-family: inherit;
     font-size: 12px;
     color: #1a1a18;
     padding: 9px 10px;
     outline: none;
     box-sizing: border-box;
}
.fi2:focus  {
     background: #FDF0E6;
}
.bc-sel-cell  {
     padding: 5px 4px;
     vertical-align: middle;
}
.bc-isel  {
     border: 0.5px solid rgba(0,0,0,.12);
     border-radius: 4px;
     font-family: inherit;
     font-size: 10px;
     color: #1a1a18;
     padding: 4px 6px;
     outline: none;
     cursor: pointer;
     background: #fff;
     width: 100%;
}
.bc-isel:focus  {
     border-color: #E07B2A;
}
.pri-cell  {
     padding: 5px 4px;
     text-align: center;
     vertical-align: middle;
}
.pri-badge  {
     display: inline-block;
     padding: 3px 10px;
     border-radius: 999px;
     font-size: 10px;
     font-weight: 700;
     min-width: 60px;
     text-align: center;
     border: 0.5px solid;
}
.pb-h    {
     background: #FEF2F2;
     color: #7F1D1D;
     border-color: #FECACA;
}
.pb-m    {
     background: #FFFBEB;
     color: #78350F;
     border-color: #FDE68A;
}
.pb-l    {
     background: #EAF7F2;
     color: #0d5c42;
     border-color: #86EFAC;
}
.pb-none  {
     background: #f5f5f2;
     color: #9ca3af;
     border-color: rgba(0,0,0,.1);
}
.bc-add-btn  {
     display: flex;
     align-items: center;
     gap: 6px;
     font-size: 12px;
     color: #6b7280;
     cursor: pointer;
     padding: 9px 16px;
     border: none;
     background: #f5f5f2;
     font-family: inherit;
     width: 100%;
     border-top: 0.5px solid #e5e7eb;
}
.bc-add-btn:hover  {
     color: #E07B2A;
     background: #FDF0E6;
}
.rm-btn  {
     border: none;
     background: none;
     cursor: pointer;
     color: rgba(0,0,0,.15);
     font-size: 13px;
     padding: 4px 8px;
     border-radius: 3px;
     display: block;
     margin: 3px auto;
}
.rm-btn:hover  {
     color: #DC2626;
     background: #FEE2E2;
}
tr:hover .rm-btn  {
     color: rgba(0,0,0,.3);
}
.bc-sigstrip  {
     display: grid;
     grid-template-columns: 1fr 1fr;
     border-top: 2px solid #162032;
}
.bc-sigcell  {
     padding: 14px 20px;
     background: #fff;
     border-right: 0.5px solid #e5e7eb;
}
.bc-sigcell:last-child  {
     border-right: none;
}
.bc-siglabel  {
     font-size: 10px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .07em;
     color: #162032;
     margin-bottom: 8px;
}
.bc-sigline  {
     width: 100%;
     border: none;
     border-bottom: 1.5px solid #162032;
     background: transparent;
     font-size: 14px;
     padding: 4px 0;
     margin-bottom: 8px;
     font-family: inherit;
     outline: none;
}
.bc-sigline:focus  {
     border-bottom-color: #E07B2A;
}
.bc-sigsub  {
     font-size: 11px;
     color: #6b7280;
     display: flex;
     align-items: center;
     gap: 6px;
     margin-bottom: 4px;
}
.bc-sigsub input  {
     border: none;
     border-bottom: 1px solid #d1d5db;
     background: transparent;
     font-size: 12px;
     width: 180px;
     font-family: inherit;
     outline: none;
}
.bc-ftr  {
     padding: 8px 20px;
     font-size: 10px;
     color: #9ca3af;
     display: flex;
     justify-content: space-between;
     border-top: 1px solid #e5e7eb;
}

/*
 * ── CLIENTDASHBOARD MODULE ──
 */

/* dashboard.php */
.cdb-cert-banner  {
     background: #162032;
     border-radius: 10px;
     padding: 16px 20px;
     display: flex;
     align-items: center;
     gap: 20px;
     margin-bottom: 18px;
     flex-wrap: wrap;
}
.cdb-cert-label   {
     font-size: 11px;
     font-weight: 700;
     color: rgba(255,255,255,.4);
     text-transform: uppercase;
     letter-spacing: .06em;
     flex-shrink: 0;
}
.cdb-cert-div     {
     width: 0.5px;
     height: 40px;
     background: rgba(255,255,255,.12);
     flex-shrink: 0;
}
.cdb-cert-item    {
     display: flex;
     align-items: center;
     gap: 10px;
}
.cdb-cert-icon    {
     width: 40px;
     height: 40px;
     border-radius: 8px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
}
.cdb-cert-name    {
     font-size: 11px;
     font-weight: 700;
     color: rgba(255,255,255,.5);
     text-transform: uppercase;
     letter-spacing: .05em;
}
.cdb-cert-days    {
     font-size: 20px;
     font-weight: 700;
     line-height: 1;
}
.cdb-cert-date    {
     font-size: 11px;
     color: rgba(255,255,255,.4);
     margin-top: 1px;
}
.cdb-cert-right   {
     margin-left: auto;
     flex-shrink: 0;
}
.cdb-stat-row   {
     display: grid;
     grid-template-columns: repeat(6,1fr);
     gap: 10px;
     margin-bottom: 18px;
}
.cdb-stat-card  {
     background: #fff;
     border: 0.5px solid rgba(0,0,0,.1);
     border-radius: 10px;
     padding: 14px 16px;
     position: relative;
     overflow: hidden;
}
.cdb-stat-card::before  {
     content: '';
     position: absolute;
     left: 0;
     top: 0;
     bottom: 0;
     width: 3px;
     border-radius: 3px 0 0 3px;
}
.cdb-stat-card.red::before     {
     background: #DC2626;
}
.cdb-stat-card.amber::before   {
     background: #D97706;
}
.cdb-stat-card.blue::before    {
     background: #3B82F6;
}
.cdb-stat-card.green::before   {
     background: #1D9E75;
}
.cdb-stat-num   {
     font-size: 26px;
     font-weight: 700;
     color: #162032;
     line-height: 1;
}
.cdb-stat-num.red    {
     color: #DC2626;
}
.cdb-stat-num.amber  {
     color: #D97706;
}
.cdb-stat-num.green  {
     color: #1D9E75;
}
.cdb-stat-lbl   {
     font-size: 11px;
     color: #7a7a76;
     margin-top: 3px;
}
.cdb-stat-icon  {
     position: absolute;
     right: 12px;
     top: 50%;
     transform: translateY(-50%);
     font-size: 24px;
     color: rgba(0,0,0,.06);
}
.cdb-two-col  {
     display: grid;
     grid-template-columns: 1fr 320px;
     gap: 16px;
}
.cdb-panel    {
     background: #fff;
     border: 0.5px solid rgba(0,0,0,.1);
     border-radius: 10px;
     overflow: hidden;
}
.cdb-phdr     {
     padding: 11px 16px;
     border-bottom: 0.5px solid rgba(0,0,0,.08);
     display: flex;
     align-items: center;
     justify-content: space-between;
}
.cdb-ptitle   {
     font-size: 13px;
     font-weight: 600;
     color: #162032;
     display: flex;
     align-items: center;
     gap: 7px;
}
.cdb-ptitle .material-icons  {
     font-size: 15px;
     color: #E07B2A;
}
.cdb-pbadge   {
     font-size: 10px;
     font-weight: 700;
     padding: 2px 8px;
     border-radius: 999px;
}
.cdb-pbadge.red    {
     background: #FEF2F2;
     color: #7F1D1D;
     border: 0.5px solid #FECACA;
}
.cdb-pbadge.amber  {
     background: #FEF3C7;
     color: #92400E;
     border: 0.5px solid #FDE68A;
}
.cdb-pbadge.blue   {
     background: #EBF4FF;
     color: #0C447C;
     border: 0.5px solid #B5D4F4;
}
.cdb-arow   {
     padding: 10px 16px;
     border-bottom: 0.5px solid rgba(0,0,0,.06);
     display: flex;
     align-items: center;
     gap: 10px;
}
.cdb-arow:last-child  {
     border-bottom: none;
}
.cdb-arow:hover  {
     background: #fafaf8;
}
.cdb-adot   {
     width: 8px;
     height: 8px;
     border-radius: 999px;
     flex-shrink: 0;
}
.cdb-adot.red    {
     background: #DC2626;
}
.cdb-adot.amber  {
     background: #D97706;
}
.cdb-adot.blue   {
     background: #3B82F6;
}
.cdb-adot.green  {
     background: #1D9E75;
}
.cdb-ainfo  {
     flex: 1;
     min-width: 0;
}
.cdb-atitle  {
     font-size: 12px;
     font-weight: 500;
     color: #1a1a18;
     line-height: 1.4;
}
.cdb-ameta   {
     font-size: 11px;
     color: #9ca3af;
     margin-top: 1px;
}
.cdb-abadge  {
     font-size: 10px;
     font-weight: 700;
     padding: 2px 7px;
     border-radius: 999px;
     border: 0.5px solid;
     flex-shrink: 0;
     white-space: nowrap;
}
.cdb-abadge.red    {
     background: #FEF2F2;
     color: #7F1D1D;
     border-color: #FECACA;
}
.cdb-abadge.amber  {
     background: #FEF3C7;
     color: #92400E;
     border-color: #FDE68A;
}
.cdb-abadge.blue   {
     background: #EBF4FF;
     color: #0C447C;
     border-color: #B5D4F4;
}
.cdb-aempty  {
     padding: 28px 16px;
     text-align: center;
     font-size: 12px;
     color: #9ca3af;
}
.cdb-ql-grid  {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 1px;
     background: rgba(0,0,0,.06);
}
.cdb-ql-item  {
     background: #fff;
     padding: 10px 12px;
     display: flex;
     align-items: center;
     gap: 9px;
     cursor: pointer;
     text-decoration: none;
     transition: background .1s;
}
.cdb-ql-item:hover  {
     background: #FDF0E6;
}
.cdb-ql-icon  {
     width: 28px;
     height: 28px;
     border-radius: 6px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 15px;
     flex-shrink: 0;
}
.cdb-ql-name  {
     font-size: 11px;
     font-weight: 600;
     color: #1a1a18;
     line-height: 1.3;
}
.cdb-ql-ref   {
     font-size: 10px;
     color: #9ca3af;
}
.cdb-contacts  {
     padding: 10px 12px;
     display: flex;
     flex-direction: column;
     gap: 7px;
}
.cdb-contact   {
     background: #f5f5f2;
     border-radius: 8px;
     padding: 10px 12px;
     display: flex;
     align-items: center;
     gap: 10px;
}
.cdb-avatar    {
     width: 32px;
     height: 32px;
     border-radius: 999px;
     background: #162032;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 10px;
     font-weight: 700;
     color: #fff;
     flex-shrink: 0;
}
.cdb-cname     {
     font-size: 12px;
     font-weight: 600;
     color: #1a1a18;
     line-height: 1.3;
}
.cdb-crole     {
     font-size: 10px;
     color: #7a7a76;
}
.cdb-no-data   {
     padding: 20px 16px;
     text-align: center;
     font-size: 12px;
     color: #9ca3af;
}
@media(max-width: 1024px)  {
     .cdb-two-col  {
     grid-template-columns: 1fr;
}
 .cdb-stat-row  {
     grid-template-columns: repeat(3,1fr);
}
}
@media(max-width: 600px)   {
     .cdb-stat-row  {
     grid-template-columns: 1fr 1fr;
}
 .cdb-cert-div  {
     display: none;
}
}

/*
 * ── CONSULTANT MODULE ──
 */

/* dashboard.php */
.od-stat-row {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 14px;
    margin-bottom: 24px;
}
.od-stat-card {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.1);
    border-radius: 10px;
    padding: 16px 20px;
    position: relative;
    overflow: hidden;
}
.od-stat-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    border-radius: 3px 0 0 3px;
}
.od-stat-card.blue::before {
    background: #3B82F6;
}
.od-stat-card.orange::before {
    background: #E07B2A;
}
.od-stat-card.red::before {
    background: #DC2626;
}
.od-stat-card.green::before {
    background: #1D9E75;
}
.od-stat-num {
    font-size: 28px;
    font-weight: 700;
    color: #162032;
    line-height: 1;
}
.od-stat-lbl {
    font-size: 12px;
    color: #7a7a76;
    margin-top: 4px;
}
.od-stat-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 28px;
    color: rgba(0,0,0,.06);
}
.od-sec-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.od-sec-title {
    font-size: 15px;
    font-weight: 600;
    color: #162032;
    display: flex;
    align-items: center;
    gap: 8px;
}
.od-sec-title .material-icons {
    font-size: 16px;
    color: #E07B2A;
}
.od-crit-table {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.1);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 28px;
}
.od-crit-hdr {
    padding: 12px 18px;
    background: #FEF2F2;
    border-bottom: 0.5px solid #FECACA;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #7F1D1D;
}
.od-crit-hdr .material-icons {
    font-size: 15px;
}
.od-crit-row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 90px;
    padding: 11px 18px;
    border-bottom: 0.5px solid rgba(0,0,0,.06);
    align-items: center;
    gap: 12px;
}
.od-crit-row:last-child {
    border-bottom: none;
}
.od-crit-row:hover {
    background: #fafaf8;
}
.od-crit-lbl {
    font-size: 12px;
    font-weight: 500;
    color: #1a1a18;
}
.od-crit-sub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 1px;
}
.od-crit-client {
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    background: #EBF4FF;
    color: #0C447C;
    border: 0.5px solid #B5D4F4;
    display: inline-block;
}
.od-crit-due {
    font-size: 11px;
    font-weight: 600;
    color: #DC2626;
}
.od-crit-open {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 5px;
    background: #f5f5f2;
    color: #4a4a46;
    text-decoration: none;
    border: 0.5px solid rgba(0,0,0,.12);
    transition: all .12s;
}
.od-crit-open:hover {
    background: #162032;
    color: #fff;
}
.od-crit-empty {
    padding: 20px 18px;
    font-size: 12px;
    color: #9ca3af;
    text-align: center;
}
.od-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(380px,1fr));
    gap: 16px;
    margin-bottom: 28px;
}
.od-card {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.1);
    border-radius: 10px;
    overflow: hidden;
    transition: all .15s;
}
.od-card:hover {
    border-color: #E07B2A;
    box-shadow: 0 6px 24px rgba(0,0,0,.1);
    transform: translateY(-2px);
}
.od-card-hdr {
    padding: 16px 18px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border-bottom: 0.5px solid rgba(0,0,0,.06);
}
.od-avatar {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
}
.od-card-info {
    flex: 1;
}
.od-card-name {
    font-size: 14px;
    font-weight: 600;
    color: #162032;
    line-height: 1.3;
}
.od-card-sub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 2px;
}
.od-card-sub a {
    color: #E07B2A;
    text-decoration: none;
    font-weight: 600;
}
.od-rag-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    flex-shrink: 0;
    margin-top: 4px;
}
.od-rag-dot.green {
    background: #1D9E75;
    box-shadow: 0 0 0 3px rgba(29,158,117,.15);
}
.od-rag-dot.amber {
    background: #D97706;
    box-shadow: 0 0 0 3px rgba(217,119,6,.15);
}
.od-rag-dot.red {
    background: #DC2626;
    box-shadow: 0 0 0 3px rgba(220,38,38,.15);
}
.od-std-row {
    padding: 10px 18px;
    display: flex;
    align-items: center;
    gap: 5px;
    border-bottom: 0.5px solid rgba(0,0,0,.06);
    flex-wrap: wrap;
}
.od-std-b {
    font-size: 9px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 3px;
}
.od-stats {
    padding: 12px 18px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
    border-bottom: 0.5px solid rgba(0,0,0,.06);
}
.od-stat-c {
    text-align: center;
}
.od-stat-c-num {
    font-size: 18px;
    font-weight: 700;
    color: #162032;
    line-height: 1;
}
.od-stat-c-num.red {
    color: #DC2626;
}
.od-stat-c-num.amber {
    color: #D97706;
}
.od-stat-c-num.green {
    color: #1D9E75;
}
.od-stat-c-lbl {
    font-size: 10px;
    color: #7a7a76;
    margin-top: 2px;
}
.od-cert-strip {
    padding: 10px 18px;
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.od-cert-label {
    font-size: 11px;
    color: #7a7a76;
    display: flex;
    align-items: center;
    gap: 5px;
}
.od-cert-label .material-icons {
    font-size: 13px;
}
.od-cert-pill {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
    border: 0.5px solid;
}
.cert-green {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.cert-amber {
    background: #FEF3C7;
    color: #92400E;
    border-color: #FDE68A;
}
.cert-red {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.od-docs-strip {
    padding: 10px 18px;
    border-bottom: 0.5px solid rgba(0,0,0,.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
}
.od-docs-label {
    font-size: 11px;
    color: #7a7a76;
    display: flex;
    align-items: center;
    gap: 5px;
}
.od-docs-label .material-icons {
    font-size: 13px;
}
.od-readiness {
    padding: 12px 18px;
    border-bottom: 0.5px solid rgba(0,0,0,.06);
}
.od-readiness-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}
.od-readiness-lbl {
    font-size: 11px;
    font-weight: 600;
    color: #7a7a76;
    display: flex;
    align-items: center;
    gap: 5px;
}
.od-readiness-lbl .material-icons {
    font-size: 13px;
}
.od-readiness-pct {
    font-size: 15px;
    font-weight: 700;
}
.od-readiness-pct.green {
    color: #1D9E75;
}
.od-readiness-pct.amber {
    color: #D97706;
}
.od-readiness-pct.red {
    color: #DC2626;
}
.od-readiness-bar {
    height: 6px;
    background: rgba(0,0,0,.07);
    border-radius: 999px;
    overflow: hidden;
}
.od-readiness-fill {
    height: 100%;
    border-radius: 999px;
}
.od-rb-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 4px;
    margin-top: 8px;
}
.od-rb-item {
    background: #f5f5f2;
    border-radius: 5px;
    padding: 4px 6px;
    text-align: center;
}
.od-rb-lbl {
    font-size: 9px;
    color: #9ca3af;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.od-rb-val {
    font-size: 11px;
    font-weight: 700;
}
.od-rb-val.ok {
    color: #1D9E75;
}
.od-rb-val.warn {
    color: #D97706;
}
.od-rb-val.bad {
    color: #DC2626;
}
.od-card-footer {
    padding: 10px 18px;
    border-top: 0.5px solid rgba(0,0,0,.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.od-open-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    background: #162032;
    color: #fff;
    text-decoration: none;
    transition: all .12s;
}
.od-open-btn:hover {
    background: #0d1b2a;
}
.od-open-btn .material-icons {
    font-size: 13px;
}
.od-settings-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 7px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    background: #f5f5f2;
    color: #4a4a46;
    text-decoration: none;
    border: 0.5px solid rgba(0,0,0,.12);
    transition: all .12s;
}
.od-settings-btn:hover {
    background: #162032;
    color: #fff;
}
.od-settings-btn .material-icons {
    font-size: 13px;
}
.od-add-card {
    background: #fff;
    border: 1.5px dashed rgba(0,0,0,.15);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px;
    cursor: pointer;
    transition: all .15s;
    min-height: 220px;
    text-decoration: none;
}
.od-add-card:hover {
    border-color: #E07B2A;
    background: #FDF0E6;
}
.od-add-card .material-icons {
    font-size: 32px;
    color: #9ca3af;
    margin-bottom: 8px;
}
.od-add-card:hover .material-icons {
    color: #E07B2A;
}
.od-add-card p {
    font-size: 13px;
    color: #7a7a76;
    font-weight: 500;
}
.od-add-card:hover p {
    color: #a85a1e;
}
@media(max-width: 768px) {
  .od-stat-row {
    grid-template-columns: 1fr 1fr;
}
  .od-grid {
    grid-template-columns: 1fr;
}
  .od-crit-row {
    grid-template-columns: 1fr;
    gap: 4px;
}
}

/*
 * ── DESIGNCHANGE MODULE ──
 */

/* form.php */
.dcrf-savebar {
    position: sticky;
    bottom: 0;
    z-index: 50;
    background: #fff;
    border-top: 0.5px solid rgba(0,0,0,.13);
    padding: 10px 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 -2px 12px rgba(0,0,0,.07);
}
.dcrf-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    font-family: inherit;
    transition: background .15s,opacity .15s;
}
.dcrf-btn:disabled {
    opacity: .45;
    cursor: default;
}
.dcrf-btn-primary {
    background: #E07B2A;
    color: #fff;
}
.dcrf-btn-primary:hover:not(:disabled) {
    background: #c96b22;
}
.dcrf-btn-finalise {
    background: #162032;
    color: #fff;
}
.dcrf-btn-finalise:hover:not(:disabled) {
    background: #0f1824;
}
.dcrf-btn-danger {
    background: #FEF2F2;
    color: #991B1B;
    border: 0.5px solid #FECACA;
}
.dcrf-btn-danger:hover:not(:disabled) {
    background: #FEE2E2;
}
.dcrf-btn-back {
    background: #fff;
    color: #162032;
    border: 0.5px solid rgba(0,0,0,.2);
}
.dcrf-btn-back:hover {
    background: #f5f5f2;
    text-decoration: none;
}
.dcrf-save-msg {
    font-size: 12px;
    color: #7a7a76;
    margin-left: auto;
}
.dcrf-save-msg.ok {
    color: #0d5c42;
}
.dcrf-save-msg.err {
    color: #991B1B;
}
.dcrf-hband {
    background: #162032;
    border-radius: 10px 10px 0 0;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.dcrf-hband-left {
    display: flex;
    align-items: center;
    gap: 12px;
}
.dcrf-hmark {
    width: 34px;
    height: 34px;
    background: #E07B2A;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dcrf-hmark .material-icons {
    font-size: 18px;
    color: #fff;
}
.dcrf-htitle {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 1px;
}
.dcrf-hsub {
    font-size: 11px;
    color: rgba(255,255,255,.5);
}
.dcrf-status-pill {
    font-size: 10px;
    font-weight: 700;
    padding: 4px 11px;
    border-radius: 999px;
    letter-spacing: .04em;
}
.dcrf-status-pill.draft {
    background: rgba(255,255,255,.12);
    color: rgba(255,255,255,.7);
}
.dcrf-status-pill.finalised {
    background: #86EFAC;
    color: #0d5c42;
}
.dcrf-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-top: none;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
    margin-bottom: 20px;
}
.dcrf-cobanner {
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    padding: 10px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.dcrf-coinput {
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    color: #1a1a18;
    outline: none;
    flex: 1;
}
.dcrf-coinput:focus {
    background: #FDF0E6;
    padding: 2px 6px;
    border-radius: 4px;
}
.dcrf-coinput[readonly] {
    cursor: default;
}
.dcrf-cobanner-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #7a7a76;
    white-space: nowrap;
}
.dcrf-meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.dcrf-mc {
    border-right: 0.5px solid rgba(0,0,0,.09);
    padding: 10px 14px;
}
.dcrf-mc:last-child {
    border-right: none;
}
.dcrf-mlabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    margin-bottom: 3px;
}
.dcrf-minput {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    outline: none;
}
.dcrf-minput:focus {
    background: #FDF0E6;
    padding: 2px 4px;
    border-radius: 3px;
}
.dcrf-minput[readonly] {
    color: #7a7a76;
    cursor: default;
}
.dcrf-proj-row {
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    padding: 10px 14px;
    background: #f5f5f2;
}
.dcrf-proj-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    margin-bottom: 3px;
}
.dcrf-proj-input {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    color: #1a1a18;
    outline: none;
}
.dcrf-proj-input:focus {
    background: #FDF0E6;
    padding: 2px 4px;
    border-radius: 3px;
}
.dcrf-proj-input[readonly] {
    color: #7a7a76;
    cursor: default;
}
.dcrf-impact-row {
    padding: 8px 14px;
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.dcrf-impact-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
}
.dcrf-impact-chip {
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    border: 0.5px solid;
    cursor: pointer;
    font-family: inherit;
    transition: all .12s;
    opacity: .5;
}
.dcrf-impact-chip.active {
    opacity: 1;
    outline: 2px solid #162032;
    outline-offset: 1px;
}
.dcrf-impact-chip[disabled] {
    cursor: default;
}
.dcrf-change-ref {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
    background: #FDF0E6;
    color: #a85a1e;
    border: 0.5px solid rgba(224,123,42,.35);
    margin-left: auto;
}
.dcrf-field {
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.dcrf-field:last-child {
    border-bottom: none;
}
.dcrf-field-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    background: #f5f5f2;
    padding: 7px 14px;
    border-bottom: 0.5px solid rgba(0,0,0,.07);
    display: flex;
    align-items: center;
    gap: 6px;
}
.dcrf-field-label .material-icons {
    font-size: 13px;
}
.dcrf-ta {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 12px 14px;
    outline: none;
    /*resize: vertical;*/
    line-height: 1.7;
    min-height: 80px;
    box-sizing: border-box;
}
.dcrf-ta:focus {
    background: #FDF0E6;
}
.dcrf-ta[readonly] {
    color: #4a4a46;
    cursor: default;
}
.dcrf-approval-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 2px solid rgba(0,0,0,.1);
}
.dcrf-ap-cell {
    padding: 14px 18px;
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.dcrf-ap-cell:last-child {
    border-right: none;
}
.dcrf-ap-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    margin-bottom: 8px;
}
.dcrf-sig-inp {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 3px 0;
    width: 100%;
    outline: none;
    margin-bottom: 6px;
}
.dcrf-sig-inp:focus {
    border-bottom-color: #E07B2A;
}
.dcrf-sig-inp[readonly] {
    color: #7a7a76;
    cursor: default;
}
.dcrf-sub-row {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.dcrf-sub-inp {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    padding: 1px 4px;
    outline: none;
    color: #1a1a18;
}
.dcrf-sub-inp:focus {
    border-bottom-color: #E07B2A;
}
.dcrf-sub-inp[readonly] {
    color: #7a7a76;
    cursor: default;
}
.dcrf-linked-row {
    font-size: 12px;
    color: #7a7a76;
    line-height: 2;
}
.dcrf-finalised-banner {
    background: #EAF7F2;
    border: 0.5px solid #86EFAC;
    border-radius: 8px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 12px;
    color: #0d5c42;
    font-weight: 600;
}
.dcrf-finalised-banner .material-icons {
    font-size: 17px;
}
.dcrf-ftr {
    padding: 10px 18px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}

/* list.php */
.dcr-header {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    padding: 16px 20px;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.dcr-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}
.dcr-header-icon {
    width: 36px;
    height: 36px;
    background: #162032;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dcr-header-icon .material-icons {
    font-size: 18px;
    color: #E07B2A;
}
.dcr-header-title {
    font-size: 15px;
    font-weight: 700;
    color: #162032;
    margin: 0 0 2px;
}
.dcr-header-sub {
    font-size: 11px;
    color: #7a7a76;
}
.dcr-new-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #E07B2A;
    color: #fff;
    padding: 8px 16px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
}
.dcr-new-btn:hover {
    background: #c96b22;
    text-decoration: none;
}
.dcr-new-btn .material-icons {
    font-size: 16px;
}
.dcr-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
}
.dcr-tbl {
    width: 100%;
    border-collapse: collapse;
}
.dcr-tbl th {
    padding: 8px 14px;
    background: #f5f5f2;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.dcr-tbl td {
    padding: 10px 14px;
    border-bottom: 0.5px solid rgba(0,0,0,.07);
    font-size: 13px;
    color: #1a1a18;
    vertical-align: middle;
}
.dcr-tbl tr:last-child td {
    border-bottom: none;
}
.dcr-tbl tr:hover td {
    background: #fafaf8;
}
.dcr-ref {
    font-size: 11px;
    font-weight: 700;
    background: #FDF0E6;
    color: #a85a1e;
    padding: 3px 9px;
    border-radius: 999px;
    border: 0.5px solid rgba(224,123,42,.35);
    white-space: nowrap;
}
.dcr-impact {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 999px;
    border: 0.5px solid;
}
.dcr-status {
    font-size: 10px;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 999px;
    border: 0.5px solid;
}
.dcr-status-draft {
    background: #f5f5f2;
    color: #4a4a46;
    border-color: rgba(0,0,0,.15);
}
.dcr-status-finalised {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.dcr-link {
    color: #162032;
    text-decoration: none;
    font-weight: 500;
}
.dcr-link:hover {
    color: #E07B2A;
}
.dcr-empty {
    padding: 40px;
    text-align: center;
    color: #7a7a76;
    font-size: 13px;
}
.dcr-empty .material-icons {
    font-size: 36px;
    color: #c5c5c0;
    display: block;
    margin: 0 auto 10px;
}

/*
 * ── DESIGNREVIEW MODULE ──
 */

/* form.php */
.fq1-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.fq1-hband {
    background: #162032;
    padding: 14px 22px;
}
.fq1-hmeta {
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.fq1-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.fq1-cobanner {
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    padding: 10px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.fq1-coinput {
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    color: #1a1a18;
    outline: none;
    flex: 1;
}
.fq1-coinput:focus {
    background: #FDF0E6;
    padding: 2px 6px;
    border-radius: 4px;
}
.fq1-part-hdr {
    background: #162032;
    color: #fff;
    padding: 9px 22px;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    border-top: 2px solid #E07B2A;
}
.fq1-part-hdr .material-icons {
    font-size: 14px;
    color: #E07B2A;
}
.fq1-meta4 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.1);
    background: #f5f5f2;
}
.fq1-meta3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.1);
    background: #f5f5f2;
}
.fq1-mcell {
    border-right: 0.5px solid rgba(0,0,0,.1);
}
.fq1-mcell:last-child {
    border-right: none;
}
.fq1-mcell-inner {
    padding: 8px 12px;
}
.fq1-mlabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    margin-bottom: 3px;
}
.fq1-minput {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    outline: none;
    padding: 2px 0;
    display: block;
}
.fq1-minput:focus {
    background: #FDF0E6;
    padding: 2px 4px;
    border-radius: 3px;
}
.fq1-fw-label {
    background: #f5f5f2;
    padding: 7px 12px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.fq1-fw-ta {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 10px 12px;
    outline: none;
    resize: none;
    overflow: hidden;
    line-height: 1.65;
    min-height: 60px;
}
.fq1-fw-ta:focus {
    background: #FDF0E6;
}
.fq1-ft {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.fq1-ft td,.fq1-ft th {
    border: 0.5px solid rgba(0,0,0,.1);
    padding: 0;
    vertical-align: top;
}

.your-table-class {
    table-layout: fixed;
    width: 100%;
}

.fq1-item-num {
    padding: 10px 12px !important;
    font-size: 11px;
    font-weight: 700;
    color: #E07B2A;
    width: 50px !important;
    text-align: right;
    vertical-align: top;
    background: #f5f5f2;
    white-space: nowrap;

    white-space: nowrap;
}
.fq1-item-label {
    padding: 7px 14px !important;
    font-size: 12px;
    font-weight: 500;
    color: #1a1a18;
    background: #f5f5f2;
    vertical-align: top;
    width: 200px !important;
}
.fq1-item-ta {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 7px 14px;
    outline: none;
    resize: none;
    overflow: hidden;
    line-height: 1.6;
    min-height: 60px;
}
.fq1-item-ta:focus {
    background: #FDF0E6;
}
.fq1-th {
    padding: 7px 14px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    background: #f5f5f2;
}
.fq1-proceed-row {
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    background: #f5f5f2;
}
.fq1-proceed-btn {
    border: 1.5px solid;
    padding: 5px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: all .12s;
    background: transparent;
}
.fq1-proceed-yes {
    color: #0d5c42;
    border-color: #86EFAC;
    background: #EAF7F2;
}
.fq1-proceed-no {
    color: #7F1D1D;
    border-color: #FECACA;
    background: #FEF2F2;
}
.fq1-proceed-yes.sel {
    background: #1D9E75;
    color: #fff;
    border-color: #1D9E75;
}
.fq1-proceed-no.sel {
    background: #DC2626;
    color: #fff;
    border-color: #DC2626;
}
.fq1-proceed-input {
    flex: 1;
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 2px 4px;
    outline: none;
    min-width: 140px;
}
.fq1-proceed-input:focus {
    border-bottom-color: #E07B2A;
}
.fq1-phases-table {
    width: 100%;
    border-collapse: collapse;
    border-bottom: 0.5px solid rgba(0,0,0,.1);
}
.fq1-phases-table th {
    padding: 7px 12px;
    background: #f5f5f2;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.fq1-phases-table th:last-child {
    border-right: none;
}
.fq1-phases-table td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: top;
}
.fq1-phases-table td:last-child {
    border-right: none;
}
.fq1-phases-table tr:last-child td {
    border-bottom: none;
}
.fq1-phases-table tr:hover td {
    background: #fafaf8;
}
.fq1-ptc {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 8px 10px;
    outline: none;
    resize: none;
    overflow: hidden;
    line-height: 1.5;
    min-height: 44px;
}
.fq1-ptc:focus {
    background: #FDF0E6;
}
.fq1-add-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 8px 12px;
    border: none;
    background: #f5f5f2;
    font-family: inherit;
    width: 100%;
    border-top: 0.5px solid rgba(0,0,0,.09);
    transition: all .12s;
}
.fq1-add-row:hover {
    color: #E07B2A;
    background: #FDF0E6;
}
.fq1-rm-btn {
    border: none;
    background: none;
    cursor: pointer;
    color: rgba(0,0,0,.15);
    padding: 6px;
    display: block;
    margin: 0 auto;
    border-radius: 4px;
}
.fq1-rm-btn:hover {
    color: #7F1D1D;
    background: #FEF2F2;
}
.fq1-rm-btn .material-icons {
    font-size: 14px;
}
tr:hover .fq1-rm-btn {
    color: rgba(0,0,0,.3);
}
.fq1-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.1);
}
.fq1-2col-left {
    border-right: 0.5px solid rgba(0,0,0,.1);
}
.fq1-3col {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.1);
}
.fq1-3col > div {
    border-right: 0.5px solid rgba(0,0,0,.1);
}
.fq1-3col > div:last-child {
    border-right: none;
}
.fq1-sigstrip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 0.5px solid rgba(0,0,0,.09);
}
.fq1-sigcell {
    padding: 14px 18px;
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.fq1-sigcell:last-child {
    border-right: none;
}
.fq1-siglabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #7a7a76;
    margin-bottom: 8px;
}
.fq1-sigline {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 3px 0;
    width: 100%;
    outline: none;
    margin-bottom: 6px;
    display: block;
}
.fq1-sigline:focus {
    border-bottom-color: #E07B2A;
}
.fq1-sigsub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 4px;
}
.fq1-sigsub input {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    padding: 1px 4px;
    outline: none;
    color: #1a1a18;
    width: 140px;
}
.fq1-sigsub input:focus {
    border-bottom-color: #E07B2A;
}
.fq1-ftr {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
.fq1-save-bar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 10px 16px;
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.fq1-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    font-family: inherit;
}
.fq1-btn-gr {
    background: #1D9E75;
    color: #fff;
}
.fq1-btn-gr:hover {
    opacity: .88;
}
.fq1-btn-or {
    background: #E07B2A;
    color: #fff;
}
.fq1-btn-or:hover {
    opacity: .88;
}
.fq1-btn .material-icons {
    font-size: 13px;
}
.fq1-finalised-banner {
    background: #EAF7F2;
    border-bottom: 0.5px solid #86EFAC;
    padding: 10px 22px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #0d5c42;
    font-weight: 500;
}
.fq1-finalised-banner .material-icons {
    font-size: 16px;
}

/* list.php */
.fq1l-bar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 10px 16px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
}
.fq1l-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.fq1l-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fq1l-hmeta {
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.fq1l-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.fq1l-table {
    width: 100%;
    border-collapse: collapse;
}
.fq1l-table th {
    padding: 8px 14px;
    background: #f5f5f2;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.fq1l-table th:last-child {
    border-right: none;
}
.fq1l-table td {
    padding: 10px 14px;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    font-size: 12px;
    vertical-align: middle;
}
.fq1l-table td:last-child {
    border-right: none;
}
.fq1l-table tr:last-child td {
    border-bottom: none;
}
.fq1l-table tr:hover td {
    background: #fafaf8;
}
.fq1l-badge-d {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    background: #FFFBEB;
    color: #78350F;
    border: 0.5px solid #FDE68A;
}
.fq1l-badge-f {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    background: #EAF7F2;
    color: #0d5c42;
    border: 0.5px solid #86EFAC;
}
.fq1l-badge-d .material-icons,.fq1l-badge-f .material-icons {
    font-size: 11px;
}
.fq1l-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    font-family: inherit;
    text-decoration: none;
}
.fq1l-btn-or {
    background: #E07B2A;
    color: #fff;
}
.fq1l-btn-or:hover {
    opacity: .88;
}
.fq1l-btn-g {
    background: #fff;
    color: #4a4a46;
    border: 0.5px solid rgba(0,0,0,.15);
}
.fq1l-btn-g:hover {
    background: #f5f5f2;
}
.fq1l-empty {
    padding: 48px 22px;
    text-align: center;
    color: #7a7a76;
}
.fq1l-empty .material-icons {
    font-size: 48px;
    color: #d1d5db;
    display: block;
    margin-bottom: 12px;
}


/*
 * ── EQUIPMENT MODULE ──
 */

/* index.php */
.er4-toolbar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 10px 16px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
}
.er4-sbar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 8px 14px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
}
.er4-sc {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    border: 0.5px solid;
}
.er4-sc-total {
    background: #f5f5f2;
    color: #4a4a46;
    border-color: rgba(0,0,0,.15);
}
.er4-sc-inuse {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.er4-sc-due {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.er4-sc-soon {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.er4-sc .material-icons {
    font-size: 13px;
}
.er4-search {
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 6px;
    padding: 5px 10px;
    font-size: 12px;
    font-family: inherit;
    outline: none;
    width: 200px;
    margin-left: auto;
}
.er4-search:focus {
    border-color: #E07B2A;
}
.er4-tabs {
    display: flex;
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px 10px 0 0;
    overflow: hidden;
}
.er4-tab {
    padding: 11px 18px;
    font-size: 13px;
    font-weight: 500;
    color: #7a7a76;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    display: flex;
    align-items: center;
    gap: 7px;
    user-select: none;
}
.er4-tab:hover {
    color: #1a1a18;
    background: #f5f5f2;
}
.er4-tab.active {
    color: #a85a1e;
    border-bottom-color: #E07B2A;
    font-weight: 600;
    background: #fff;
}
.er4-tab .material-icons {
    font-size: 15px;
}
.er4-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-top: none;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
    margin-bottom: 24px;
}
.er4-panel {
    display: none;
}
.er4-panel.active {
    display: block;
}
.er4-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.er4-hmeta {
    text-align: right;
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.er4-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.er4-metastrip {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.er4-mc {
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.er4-mc:last-child {
    border-right: none;
}
.er4-mlabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    padding: 7px 14px 2px;
    display: block;
}
.er4-minput {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
}
.er4-minput:focus {
    background: #FDF0E6;
}
.er4-tbl {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.er4-tbl th {
    padding: 7px 8px;
    background: #f5f5f2;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
    word-wrap: break-word;
}
.er4-tbl th:last-child {
    border-right: none;
}
.er4-tbl td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: middle;
}
.er4-tbl td:last-child {
    border-right: none;
}
.er4-tbl tr:last-child td {
    border-bottom: none;
}
.er4-tbl tr:hover td {
    background: #fafaf8;
}
.er4-tbl tr.hidden {
    display: none;
}
.tc {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    color: #1a1a18;
    padding: 7px 8px;
    outline: none;
    resize: none;
    overflow: hidden;
    line-height: 1.5;
    min-height: 34px;
    box-sizing: border-box;
    word-wrap: break-word;
}
.tc:focus {
    background: #FDF0E6;
}
.tc::placeholder {
    color: #9ca3af;
}
input.ti {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    color: #1a1a18;
    padding: 7px 8px;
    outline: none;
}
input.ti:focus {
    background: #FDF0E6;
}
input.ti::placeholder {
    color: #9ca3af;
}
.tsel {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    color: #1a1a18;
    padding: 7px 6px;
    outline: none;
    cursor: pointer;
}
.tsel:focus {
    background: #FDF0E6;
}
.tdate {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    color: #1a1a18;
    padding: 7px 6px;
    outline: none;
}
.tdate:focus {
    background: #FDF0E6;
}
.tdate.exp-warn {
    color: #DC2626;
    font-weight: 700;
}
.tdate.exp-soon {
    color: #D97706;
    font-weight: 600;
}
.inuse-cell {
    padding: 5px 6px;
    text-align: center;
    vertical-align: middle;
}
.iu-btn {
    border: 0.5px solid;
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: all .12s;
}
.iu-yes {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.iu-no {
    background: #f5f5f2;
    color: #9ca3af;
    border-color: rgba(0,0,0,.15);
}
.er4-add-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 9px 16px;
    border: none;
    background: #f5f5f2;
    font-family: inherit;
    width: 100%;
    border-top: 0.5px solid rgba(0,0,0,.09);
}
.er4-add-btn:hover {
    color: #E07B2A;
    background: #FDF0E6;
}
.er4-add-btn .material-icons {
    font-size: 14px;
}
.er4-rm-btn {
    border: none;
    background: none;
    cursor: pointer;
    color: rgba(0,0,0,.1);
    font-size: 14px;
    padding: 4px;
    display: block;
    margin: 2px auto;
    border-radius: 4px;
    width: 26px;
    text-align: center;
}
.er4-rm-btn:hover {
    color: #7F1D1D;
    background: #FEF2F2;
}
tr:hover .er4-rm-btn {
    color: rgba(0,0,0,.25);
}
.er4-sigstrip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 0.5px solid rgba(0,0,0,.09);
}
.er4-sigcell {
    padding: 12px 16px;
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.er4-sigcell:last-child {
    border-right: none;
}
.er4-siglabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #7a7a76;
    margin-bottom: 8px;
}
.er4-sigline {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 3px 0;
    width: 100%;
    outline: none;
    margin-bottom: 5px;
}
.er4-sigline:focus {
    border-bottom-color: #E07B2A;
}
.er4-sigsub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 3px;
}
.er4-sigsub input {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    padding: 1px 4px;
    outline: none;
    color: #1a1a18;
}
.er4-footer {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
.er4-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    font-family: inherit;
}
.er4-btn-g {
    background: #f5f5f2;
    color: #4a4a46;
    border: 0.5px solid rgba(0,0,0,.15);
}
.er4-btn-g:hover {
    background: #ececea;
}
.er4-btn-or {
    background: #E07B2A;
    color: #fff;
}
.er4-btn-or:hover {
    opacity: .88;
}
.er4-save-bar {
    position: sticky;
    bottom: 0;
    background: #fff;
    border-top: 0.5px solid rgba(0,0,0,.12);
    padding: 10px 22px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    z-index: 20;
}
.er4-save-msg {
    font-size: 12px;
    color: #7a7a76;
    margin-left: auto;
}
.er4-save-msg.ok {
    color: #1D9E75;
}
.er4-save-msg.err {
    color: #DC2626;
}

/*
 * ── FEEDBACK MODULE ──
 */

/* call.php */
.fq12-paper {
    max-width: 720px;
    margin: 0 auto;
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.fq12-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fq12-hmeta {
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.fq12-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.fq12-call-banner {
    background: #EBF4FF;
    border-bottom: 0.5px solid #B5D4F4;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: #0C447C;
}
.fq12-call-banner .material-icons {
    font-size: 16px;
    flex-shrink: 0;
}
.fq12-meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.fq12-mg-cell {
    border-right: 0.5px solid rgba(0,0,0,.09);
    border-top: 0.5px solid rgba(0,0,0,.09);
    padding: 0;
}
.fq12-mg-cell:nth-child(2n) {
    border-right: none;
}
.fq12-mg-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    padding: 7px 14px 2px;
    display: block;
}
.fq12-mg-input {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
}
.fq12-mg-input:focus {
    background: #EBF4FF;
}
.fq12-mg-input {
    color: #4a4a46;
}
.fq12-sec-hdr {
    background: #162032;
    padding: 8px 16px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #E07B2A;
    display: flex;
    align-items: center;
    gap: 7px;
}
.fq12-sec-hdr .material-icons {
    font-size: 14px;
}
.fq12-sec-hdr span.hint {
    font-size: 10px;
    font-weight: 400;
    opacity: .6;
    margin-left: 8px;
    text-transform: none;
    letter-spacing: 0;
}
.fq12-score-row {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    padding: 10px 16px;
    gap: 12px;
}
.fq12-q-num {
    font-size: 10px;
    font-weight: 700;
    color: #E07B2A;
    margin-bottom: 1px;
}
.fq12-q-text {
    font-size: 13px;
    color: #1a1a18;
    font-weight: 500;
}
.fq12-score-btns {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}
.fq12-sb {
    width: 38px;
    height: 38px;
    border-radius: 6px;
    border: 0.5px solid rgba(0,0,0,.15);
    background: #f5f5f2;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    color: #4a4a46;
    transition: all .12s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fq12-sb:hover {
    border-color: #162032;
    background: #fff;
}
.fq12-sb.sel-1,.fq12-sb.sel-2 {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.fq12-sb.sel-3 {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.fq12-sb.sel-4 {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.fq12-sb.sel-5 {
    background: #1D9E75;
    color: #fff;
    border-color: #1D9E75;
}
.fq12-sb:disabled {
    cursor: default;
    opacity: .7;
}
.fq12-custom-row {
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    padding: 8px 16px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
}
.fq12-custom-inp {
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    outline: none;
    width: 100%;
    padding: 2px 0;
}
.fq12-custom-inp::placeholder {
    color: #d1d5db;
}
.fq12-custom-inp:focus {
    border-bottom: 1px solid #E07B2A;
}
.fq12-add-q-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 8px 16px;
    border: none;
    background: #f5f5f2;
    font-family: inherit;
    border-top: 0.5px solid rgba(0,0,0,.09);
    width: 100%;
}
.fq12-add-q-btn:hover {
    color: #E07B2A;
    background: #FDF0E6;
}
.fq12-add-q-btn .material-icons {
    font-size: 13px;
}
.fq12-low-block {
    border-top: 0.5px solid rgba(0,0,0,.09);
    background: #FEF2F2;
    display: none;
}
.fq12-low-block.show {
    display: block;
}
.fq12-low-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7F1D1D;
    background: #FEF2F2;
    padding: 7px 14px;
    border-bottom: 0.5px solid #FECACA;
    display: flex;
    align-items: center;
    gap: 6px;
}
.fq12-low-label .material-icons {
    font-size: 13px;
}
.fq12-low-ta {
    display: block;
    width: 100%;
    border: none;
    background: #fff8f8;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 10px 14px;
    outline: none;
    resize: none;
    min-height: 56px;
    overflow: hidden;
    line-height: 1.6;
}
.fq12-low-ta:focus {
    background: #fff;
}
.fq12-low-ta::placeholder {
    color: #fca5a5;
}
.fq12-use-again-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.fq12-ua-label {
    font-size: 13px;
    font-weight: 500;
    color: #1a1a18;
    flex: 1;
}
.fq12-ua-btn {
    padding: 7px 20px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border: 0.5px solid;
    font-family: inherit;
    transition: all .12s;
}
.fq12-ua-yes {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.fq12-ua-no {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.fq12-ua-btn.sel-yes {
    background: #1D9E75;
    color: #fff;
    border-color: #1D9E75;
}
.fq12-ua-btn.sel-no {
    background: #DC2626;
    color: #fff;
    border-color: #DC2626;
}
.fq12-ua-btn:disabled {
    cursor: default;
    opacity: .7;
}
.fq12-field-block {
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.fq12-field-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    background: #f5f5f2;
    padding: 7px 14px;
    border-bottom: 0.5px solid rgba(0,0,0,.07);
}
.fq12-field-ta {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 10px 14px;
    outline: none;
    resize: none;
    min-height: 64px;
    overflow: hidden;
    line-height: 1.6;
}
.fq12-field-ta:focus {
    background: #EBF4FF;
}
.fq12-field-ta::placeholder {
    color: #9ca3af;
}
.fq12-field-ta:read-only {
    color: #4a4a46;
}
.fq12-score-summary {
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.fq12-ss-score {
    font-size: 26px;
    font-weight: 700;
    color: #162032;
}
.fq12-ss-label {
    font-size: 10px;
    color: #7a7a76;
    margin-top: -2px;
}
.fq12-ss-div {
    width: 0.5px;
    height: 32px;
    background: rgba(0,0,0,.12);
}
.fq12-ss-item {
    font-size: 12px;
    color: #4a4a46;
}
.fq12-er5-prompt {
    background: #EBF4FF;
    border: 0.5px solid #B5D4F4;
    border-radius: 8px;
    margin: 14px 16px;
    padding: 10px 13px;
    font-size: 12px;
    color: #0C447C;
    display: flex;
    align-items: flex-start;
    gap: 9px;
}
.fq12-er5-prompt .material-icons {
    font-size: 15px;
    flex-shrink: 0;
    margin-top: 1px;
    color: #1e40af;
}
.fq12-ftr {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
.fq12-save-bar {
    max-width: 720px;
    margin: 14px auto 0;
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 10px;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fq12-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    font-family: inherit;
}
.fq12-btn-back {
    border: 0.5px solid rgba(0,0,0,.15);
    background: #fff;
    color: #4a4a46;
    text-decoration: none;
}
.fq12-btn-back:hover {
    background: #f5f5f2;
}
.fq12-btn-save {
    background: #E07B2A;
    color: #fff;
}
.fq12-btn-save:hover {
    opacity: .88;
}
.fq12-btn .material-icons {
    font-size: 14px;
}
.fq12-er1-toggle {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    color: #4a4a46;
    cursor: pointer;
    padding: 0 4px;
}
.fq12-er1-toggle input {
    accent-color: #E07B2A;
    width: 14px;
    height: 14px;
}
.fq12-er1-toggle.hidden {
    display: none;
}

/* register.php */
.er5-wrap {
    max-width: 960px;
    margin: 0 auto;
}
.er5-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.er5-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.er5-hmeta {
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.er5-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.er5-hactions {
    display: flex;
    align-items: center;
    gap: 10px;
}
.er5-hbtn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    font-family: inherit;
    text-decoration: none;
}
.er5-hbtn-new {
    background: #E07B2A;
    color: #fff;
}
.er5-hbtn-new:hover {
    opacity: .88;
}
.er5-stats {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-bottom: 0.5px solid rgba(0,0,0,.1);
}
.er5-stat-cell {
    padding: 12px 18px;
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.er5-stat-cell:last-child {
    border-right: none;
}
.er5-stat-val {
    font-size: 26px;
    font-weight: 700;
    color: #162032;
    line-height: 1.1;
}
.er5-stat-val.good {
    color: #1D9E75;
}
.er5-stat-val.warn {
    color: #E07B2A;
}
.er5-stat-val.danger {
    color: #DC2626;
}
.er5-stat-label {
    font-size: 10px;
    color: #7a7a76;
    margin-top: 2px;
}
.er5-meta-strip {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-bottom: 0.5px solid rgba(0,0,0,.1);
}
.er5-ms-cell {
    border-right: 0.5px solid rgba(0,0,0,.09);
    padding: 0;
}
.er5-ms-cell:last-child {
    border-right: none;
}
.er5-ms-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    padding: 7px 14px 2px;
    display: block;
}
.er5-ms-input {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
}
.er5-ms-input:focus {
    background: #EBF4FF;
}
/* Q label customiser */
.er5-qlabels {
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.1);
    padding: 0;
}
.er5-ql-toggle {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    color: #7a7a76;
    padding: 8px 16px;
    cursor: pointer;
    border: none;
    background: transparent;
    font-family: inherit;
}
.er5-ql-toggle:hover {
    color: #E07B2A;
}
.er5-ql-toggle .material-icons {
    font-size: 14px;
}
.er5-ql-grid {
    display: none;
    grid-template-columns: repeat(3,1fr);
    gap: 1px;
    background: rgba(0,0,0,.09);
}
.er5-ql-grid.open {
    display: grid;
}
.er5-ql-cell {
    background: #f5f5f2;
    padding: 4px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.er5-ql-badge {
    font-size: 10px;
    font-weight: 700;
    color: #E07B2A;
    flex-shrink: 0;
    width: 20px;
}
.er5-ql-inp {
    flex: 1;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    outline: none;
    padding: 4px 0;
    border-bottom: 0.5px solid transparent;
}
.er5-ql-inp:focus {
    border-bottom-color: #E07B2A;
}
/* Tabs */
.er5-tabs {
    display: flex;
    border-bottom: 0.5px solid rgba(0,0,0,.1);
    background: #f9f9f7;
}
.er5-tab {
    padding: 10px 18px;
    font-size: 12px;
    font-weight: 600;
    color: #7a7a76;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.er5-tab.active {
    color: #E07B2A;
    border-bottom-color: #E07B2A;
    background: #fff;
}
.er5-tab-panel {
    display: none;
}
.er5-tab-panel.active {
    display: block;
}
/* Feedback table */
.er5-tbl-wrap {
    overflow-x: auto;
}
.er5-tbl {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}
.er5-tbl th {
    background: #162032;
    color: rgba(255,255,255,.75);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 8px 10px;
    text-align: left;
    white-space: nowrap;
    border-right: 0.5px solid rgba(255,255,255,.08);
}
.er5-tbl th:last-child {
    border-right: none;
}
.er5-tbl td {
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    padding: 8px 10px;
    vertical-align: middle;
}
.er5-tbl tr:hover td {
    background: #f9f9f7;
}
.er5-tbl .er5-score {
    width: 28px;
    height: 28px;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 12px;
}
.s1,.s2 {
    background: #FEF2F2;
    color: #7F1D1D;
}
.s3 {
    background: #FFFBEB;
    color: #78350F;
}
.s4 {
    background: #EAF7F2;
    color: #0d5c42;
}
.s5 {
    background: #1D9E75;
    color: #fff;
}
.s0 {
    background: #f5f5f2;
    color: #9ca3af;
}
.er5-ua-badge {
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.er5-ua-yes {
    background: #EAF7F2;
    color: #0d5c42;
}
.er5-ua-no {
    background: #FEF2F2;
    color: #7F1D1D;
}
.er5-er1-badge {
    font-size: 9px;
    font-weight: 700;
    background: #EBF4FF;
    color: #0C447C;
    padding: 1px 6px;
    border-radius: 4px;
    white-space: nowrap;
}
.er5-tbl-add {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 8px 14px;
    border: none;
    background: #f5f5f2;
    font-family: inherit;
    width: 100%;
    border-top: 0.5px solid rgba(0,0,0,.09);
}
.er5-tbl-add:hover {
    color: #E07B2A;
    background: #FDF0E6;
}
.er5-tbl-add .material-icons {
    font-size: 14px;
}
/* Year pills */
.er5-year-pills {
    display: flex;
    gap: 6px;
    align-items: center;
    padding: 10px 16px;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    background: #f9f9f7;
    flex-wrap: wrap;
}
.er5-year-pill {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    border: 0.5px solid rgba(0,0,0,.15);
    background: #fff;
    color: #4a4a46;
    text-decoration: none;
}
.er5-year-pill.active {
    background: #162032;
    color: #fff;
    border-color: #162032;
}
/* Analysis tab */
.er5-analysis {
    padding: 16px;
}
.er5-ana-cards {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 12px;
    margin-bottom: 16px;
}
.er5-ana-card {
    background: #f5f5f2;
    border-radius: 8px;
    padding: 14px 16px;
    text-align: center;
}
.er5-ana-card-val {
    font-size: 28px;
    font-weight: 700;
    color: #162032;
    line-height: 1.1;
}
.er5-ana-card-lbl {
    font-size: 10px;
    color: #7a7a76;
    margin-top: 3px;
}
.er5-ana-hdr {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #7a7a76;
    margin: 14px 0 8px;
}
/* Score bars */
.er5-score-bar-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 7px;
}
.er5-sb-label {
    font-size: 12px;
    color: #4a4a46;
    width: 180px;
    flex-shrink: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.er5-sb-track {
    flex: 1;
    background: #eee;
    border-radius: 4px;
    height: 12px;
    overflow: hidden;
}
.er5-sb-fill {
    height: 100%;
    border-radius: 4px;
    transition: width .4s ease;
    background: #1D9E75;
}
.er5-sb-avg {
    font-size: 11px;
    font-weight: 700;
    color: #162032;
    width: 30px;
    text-align: right;
    flex-shrink: 0;
}
/* Distribution table */
.er5-dist-tbl {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}
.er5-dist-tbl th {
    padding: 5px 8px;
    background: #f5f5f2;
    font-weight: 600;
    text-align: center;
    border: 0.5px solid rgba(0,0,0,.1);
}
.er5-dist-tbl td {
    padding: 5px 8px;
    border: 0.5px solid rgba(0,0,0,.1);
    text-align: center;
}
.er5-dist-tbl .q-lbl {
    text-align: left;
    font-weight: 500;
    color: #4a4a46;
}
.er5-save-bar {
    max-width: 960px;
    margin: 14px auto 0;
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 10px;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.er5-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    font-family: inherit;
}
.er5-btn-save {
    background: #E07B2A;
    color: #fff;
}
.er5-btn-save:hover {
    opacity: .88;
}
.er5-btn .material-icons {
    font-size: 14px;
}

/*
 * ── IMPROVEMENTS MODULE ──
 */

/* register.php */
/* STATS BAR */
.er1-statsbar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 10px 16px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.er1-stat {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    border: 0.5px solid;
    cursor: pointer;
    transition: opacity .12s;
}
.er1-stat:hover {
    opacity: .8;
}
.st-all {
    background: #f5f5f2;
    color: #4a4a46;
    border-color: rgba(0,0,0,.15);
}
.st-open {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.st-prog {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.st-closed {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.er1-save-status {
    margin-left: auto;
    font-size: 12px;
    color: #7a7a76;
}
/* TABS */
.er1-tab-bar {
    display: flex;
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px 10px 0 0;
    overflow: hidden;
}
.er1-tab {
    padding: 11px 18px;
    font-size: 13px;
    font-weight: 500;
    color: #7a7a76;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: all .12s;
    display: flex;
    align-items: center;
    gap: 7px;
    user-select: none;
    white-space: nowrap;
}
.er1-tab:hover {
    color: #1a1a18;
    background: #f5f5f2;
}
.er1-tab.active {
    color: #a85a1e;
    border-bottom-color: #E07B2A;
    font-weight: 600;
    background: #fff;
}
.er1-tab .material-icons {
    font-size: 15px;
}
/* PAPER */
.er1-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-top: none;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.er1-tab-panel {
    display: none;
}
.er1-tab-panel.active {
    display: block;
}
/* Header band */
.er1-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.er1-hlogo {
    display: flex;
    align-items: center;
    gap: 10px;
}
.er1-hmark {
    width: 34px;
    height: 34px;
    background: #E07B2A;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.er1-hmark .material-icons {
    font-size: 18px;
    color: #fff;
}
.er1-hwm {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}
.er1-hmeta {
    text-align: right;
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.er1-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
/* Meta strip */
.er1-metastrip {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.er1-mc {
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.er1-mc:last-child {
    border-right: none;
}
.er1-mlabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    padding: 7px 14px 2px;
    display: block;
}
.er1-minput {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
}
.er1-minput:focus {
    background: #FDF0E6;
}
/* Section band */
.er1-sec-band {
    background: #162032;
    color: #fff;
    padding: 8px 16px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .03em;
    display: flex;
    align-items: center;
    gap: 8px;
}
.er1-sec-band .material-icons {
    font-size: 14px;
    color: #E07B2A;
}
.er1-sec-band .iso-ref {
    font-size: 10px;
    font-weight: 400;
    opacity: .5;
    margin-left: auto;
}
/* Filter bar */
.er1-filter-bar {
    padding: 8px 16px;
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.er1-filter-btn {
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    border: 0.5px solid rgba(0,0,0,.15);
    background: #fff;
    cursor: pointer;
    font-family: inherit;
    transition: all .12s;
}
.er1-filter-btn:hover,.er1-filter-btn.active {
    background: #162032;
    color: #fff;
    border-color: #162032;
}
.er1-search {
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 6px;
    padding: 5px 10px;
    font-size: 12px;
    font-family: inherit;
    color: #1a1a18;
    outline: none;
    width: 220px;
    margin-left: auto;
}
.er1-search:focus {
    border-color: #E07B2A;
}
/* Register table */
.er1-rt {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    table-layout: fixed;
}
.er1-rt th {
    padding: 7px 8px;
    background: #f5f5f2;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.er1-rt th:last-child {
    border-right: none;
}
.er1-rt td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: top;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.er1-rt td:last-child {
    border-right: none;
}
.er1-rt tr:last-child td {
    border-bottom: none;
}
.er1-rt tr:hover td {
    background: #fafaf8;
}
.er1-rt tr.er1-hidden {
    display: none;
}
.er1-id-cell {
    padding: 10px;
    font-size: 11px;
    font-weight: 700;
    color: #7a7a76;
    text-align: center;
    vertical-align: middle;
    width: 36px;
    white-space: nowrap;
}
/* Editable cells */
.er1-tc {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    color: #1a1a18;
    padding: 7px 8px;
    outline: none;
    resize: none;
    line-height: 1.55;
    min-height: 44px;
    overflow: hidden;
    box-sizing: border-box;
    word-wrap: break-word;
}
.er1-tc:focus {
    background: #FDF0E6;
}
.er1-tc::placeholder {
    color: #9ca3af;
}
.er1-tc-sm {
    min-height: 36px;
}
.er1-tsel {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    color: #1a1a18;
    padding: 7px 6px;
    outline: none;
    cursor: pointer;
}
.er1-tsel:focus {
    background: #FDF0E6;
}
/* Status badges */
.er1-status-cell {
    padding: 6px;
    text-align: center;
    vertical-align: middle;
    width: 80px;
}
.er1-sbadge {
    display: inline-block;
    padding: 3px 6px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700;
    border: 0.5px solid;
    cursor: pointer;
    width: 100%;
    text-align: center;
    transition: all .12s;
}
.s-open {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.s-prog {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.s-closed {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
/* Significance */
.er1-sig-cell {
    padding: 7px 8px;
    text-align: center;
    vertical-align: middle;
    width: 58px;
}
.er1-sigbadge {
    display: inline-block;
    padding: 3px 6px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700;
    border: 0.5px solid;
    cursor: pointer;
    width: 100%;
    text-align: center;
}
.sig-l {
    background: #f5f5f2;
    color: #4a4a46;
    border-color: rgba(0,0,0,.15);
}
.sig-m {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.sig-h {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
/* Add / remove */
.er1-add-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 9px 16px;
    border: none;
    background: #f5f5f2;
    font-family: inherit;
    width: 100%;
    border-top: 0.5px solid rgba(0,0,0,.09);
    transition: all .12s;
}
.er1-add-btn:hover {
    color: #E07B2A;
    background: #FDF0E6;
}
.er1-add-btn .material-icons {
    font-size: 14px;
}
.er1-rm-btn {
    border: none;
    background: none;
    cursor: pointer;
    color: rgba(0,0,0,.12);
    font-size: 14px;
    padding: 5px;
    display: block;
    margin: 3px auto;
    border-radius: 4px;
    width: 28px;
    text-align: center;
}
.er1-rm-btn:hover {
    color: #7F1D1D;
    background: #FEF2F2;
}
tr:hover .er1-rm-btn {
    color: rgba(0,0,0,.25);
}
/* Analysis tab */
.er1-stats-panel {
    padding: 20px 24px;
}
.er1-stats-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 12px;
    margin-bottom: 20px;
}
.er1-stat-card {
    background: #f5f5f2;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 10px;
    padding: 14px 16px;
    text-align: center;
}
.er1-stat-card .num {
    font-size: 28px;
    font-weight: 600;
    color: #E07B2A;
}
.er1-stat-card .lbl {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 2px;
}
.er1-cat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.er1-cat-card {
    background: #f5f5f2;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 8px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
}
.er1-cat-num {
    font-size: 18px;
    font-weight: 600;
    color: #162032;
}
/* RCA tab */
.er1-rca-panel {
    padding: 16px 20px;
}
.er1-rca-table {
    width: 100%;
    border-collapse: collapse;
}
.er1-rca-table th {
    padding: 8px 12px;
    background: #f5f5f2;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.er1-rca-table th:last-child {
    border-right: none;
}
.er1-rca-table td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: top;
}
.er1-rca-table td:last-child {
    border-right: none;
}
.er1-rca-table tr:last-child td {
    border-bottom: none;
}
/* Footer */
.er1-ftr {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
/* Save bar */
.er1-save-bar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 10px;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
}
.er1-btn-save {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 22px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    font-family: inherit;
    background: #E07B2A;
    color: #fff;
    transition: all .12s;
}
.er1-btn-save:hover {
    opacity: .88;
}
.er1-btn-save .material-icons {
    font-size: 14px;
}
.er1-btn-exp {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 9px 16px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 0.5px solid rgba(0,0,0,.15);
    font-family: inherit;
    background: #fff;
    color: #4a4a46;
    transition: all .12s;
}
.er1-btn-exp:hover {
    background: #f5f5f2;
}
.er1-btn-exp .material-icons {
    font-size: 13px;
}

/*
 * ── INTERESTED PARTIES MODULE ──
 */

/* index.php */
/* ── IP Register ── */
.ip-wrap  {
     /*max-width: 960px;*/
     /*margin: 0 auto;*/
     /*padding: 0 0 40px;*/
}
/* Status bar */
.ip-status  {
     background: var(--surface, #fff);
     border: 0.5px solid var(--border-light, #e5e7eb);
     border-radius: 8px;
     padding: 8px 14px;
     display: flex;
     align-items: center;
     gap: 12px;
     flex-wrap: wrap;
     font-size: 12px;
     margin-bottom: 14px;
}
.status-dot  {
     width: 8px;
     height: 8px;
     border-radius: 50%;
     flex-shrink: 0;
}
.dot-draft  {
     background: #f59e0b;
}
.dot-ok     {
     background: #22c55e;
}
.progress-track  {
     flex: 1;
     min-width: 80px;
     height: 4px;
     background: var(--border-light, #e5e7eb);
     border-radius: 99px;
     overflow: hidden;
}
.progress-fill   {
     height: 4px;
     background: var(--orange, #e85d04);
     border-radius: 99px;
     transition: width .3s;
}
/* Form paper */
.ip-paper  {
     background: var(--surface, #fff);
     border: 0.5px solid var(--border-light, #e5e7eb);
     border-radius: 10px;
     overflow: hidden;
     box-shadow: 0 4px 24px rgba(0,0,0,.06);
}
/* Title bar */
.ip-title-bar  {
     padding: 0 0 14px;
     border-bottom: 1px solid var(--border-light, #e5e7eb);
     margin-bottom: 14px;
}
#ipSaveBtn  {
     background: var(--orange, #e85d04) !important;
     color: #fff !important;
     border: none !important;
}
.ip-title-bar-row  {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 12px;
     margin-bottom: 6px;
}
.ip-title-bar h1  {
     font-size: 20px;
     font-weight: 600;
     color: var(--text-1, #1a1a2e);
     margin: 0;
}
.ip-title-bar p   {
     font-size: 12px;
     color: var(--text-3, #9ca3af);
     line-height: 1.6;
     margin: 0;
}
/* Body */
.ip-body  {
     padding: 18px 22px;
}
/* Sections */
.ip-section  {
     margin-bottom: 18px;
}
.ip-section-title  {
     font-size: 10px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: .07em;
     color: var(--text-3, #9ca3af);
     background: var(--bg-2, #f5f5f2);
     border: 0.5px solid rgba(0,0,0,.07);
     border-radius: 6px 6px 0 0;
     padding: 7px 12px;
     display: flex;
     align-items: center;
     gap: 6px;
}
.ip-section-title i  {
     font-size: 14px;
}
.ip-section-body  {
     border: 0.5px solid rgba(0,0,0,.07);
     border-top: none;
     border-radius: 0 0 6px 6px;
     overflow: hidden;
}
/* Summary chips */
.summary-bar  {
     display: flex;
     gap: 8px;
     flex-wrap: wrap;
     padding: 10px 12px;
     border-bottom: 0.5px solid var(--border-light, #e5e7eb);
}
.chip  {
     display: flex;
     align-items: center;
     gap: 5px;
     padding: 4px 10px;
     border-radius: 999px;
     font-size: 11px;
     font-weight: 600;
     border: 0.5px solid var(--border-light, #e5e7eb);
     background: var(--bg-2, #f5f5f2);
     color: var(--text-2, #374151);
}
.chip i  {
     font-size: 13px;
}
.chip-internal  {
     background: #e6f1fb;
     color: #0c447c;
     border-color: #b5d4f4;
}
.chip-external  {
     background: #fdf0e6;
     color: #a85a1e;
     border-color: #f5c490;
}
.chip-reviewed   {
     background: #eaf7f2;
     color: #065f46;
     border-color: #86efac;
}
/* Instructions */
.ip-instructions  {
     background: #eff6ff;
     border-left: 3px solid #93c5fd;
     padding: 10px 14px;
     margin: 12px;
     border-radius: 0 6px 6px 0;
     font-size: 12px;
     color: #1e40af;
     line-height: 1.7;
}
.ip-instructions strong  {
     display: block;
     margin-bottom: 2px;
}
/* Party cards */
.parties-area  {
     padding: 10px 12px;
     display: flex;
     flex-direction: column;
     gap: 8px;
}
.party-card  {
     border: 0.5px solid var(--border-light, #e5e7eb);
     border-radius: 10px;
     overflow: hidden;
     transition: box-shadow .15s;
}
.party-card:hover  {
     box-shadow: 0 2px 12px rgba(0,0,0,.08);
}
.party-card-head  {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 9px 12px;
     background: var(--bg-2, #f5f5f2);
     border-bottom: 0.5px solid var(--border-light, #e5e7eb);
}
.party-num  {
     width: 24px;
     height: 24px;
     border-radius: 50%;
     background: var(--orange, #e85d04);
     color: #fff;
     font-size: 11px;
     font-weight: 700;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
}
.party-name-input  {
     flex: 1;
     border: none;
     background: transparent;
     font-family: inherit;
     font-size: 14px;
     font-weight: 600;
     color: var(--text-1, #1a1a2e);
     outline: none;
     padding: 2px 4px;
     border-radius: 4px;
}
.party-name-input::placeholder  {
     color: var(--text-3, #9ca3af);
     font-weight: 400;
}
.party-name-input:focus  {
     background: #fdf0e6;
}
.party-name-input[readonly]  {
     cursor: default;
}
.type-toggle-group  {
     display: flex;
     gap: 4px;
}
.type-toggle  {
     padding: 3px 10px;
     border-radius: 999px;
     border: 1px solid var(--border-light, #e5e7eb);
     font-size: 11px;
     font-weight: 600;
     cursor: pointer;
     background: #fff;
     color: var(--text-3, #9ca3af);
     transition: all .12s;
     user-select: none;
}
.type-toggle:hover  {
     border-color: var(--orange, #e85d04);
     color: var(--orange, #e85d04);
}
.type-toggle.active-internal  {
     background: #e6f1fb;
     color: #0c447c;
     border-color: #b5d4f4;
}
.type-toggle.active-external  {
     background: #fdf0e6;
     color: #a85a1e;
     border-color: #f5c490;
}
.party-remove  {
     display: flex;
     align-items: center;
     gap: 5px;
     font-size: 12px;
     font-weight: 500;
     font-family: inherit;
     cursor: pointer;
     color: #b91c1c;
     background: #fef2f2;
     border: 0.5px solid #fca5a5;
     border-radius: 6px;
     padding: 5px 12px;
     transition: all .12s;
}
.party-remove:hover  {
     background: #fee2e2;
     border-color: #f87171;
}
.party-card-body  {
     display: grid;
     grid-template-columns: 1fr 1fr;
}
.party-field  {
     padding: 0;
     border-right: 0.5px solid var(--border-light, #e5e7eb);
     border-bottom: 0.5px solid var(--border-light, #e5e7eb);
}
.party-field:nth-child(2n)  {
     border-right: none;
}
.party-field.full-width  {
     grid-column: 1 / -1;
     border-right: none;
}
.party-field:last-child, .party-field:nth-last-child(2):not(.full-width)  {
     border-bottom: none;
}
.party-field-label  {
     font-size: 10px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: .05em;
     color: var(--text-3, #9ca3af);
     padding: 8px 12px 2px;
     display: block;
}
.party-field textarea, .party-field input[type="text"], .party-field select  {
     width: 100%;
     border: none;
     background: transparent;
     font-family: inherit;
     font-size: 13px;
     color: var(--text-1, #1a1a2e);
     padding: 4px 12px 10px;
     outline: none;
     resize: none;
     line-height: 1.6;
}
.party-field textarea:focus, .party-field input[type="text"]:focus, .party-field select:focus  {
     background: #fdf0e6;
}
.party-field textarea  {
     min-height: 60px;
}
.party-field textarea.tall  {
     min-height: 80px;
}
.party-field textarea[readonly], .party-field input[readonly], .party-field select[disabled]  {
     cursor: default;
}
/* Standards pills */
.std-row  {
     padding: 6px 12px 10px;
     display: flex;
     gap: 5px;
     flex-wrap: wrap;
}
.std-pill  {
     padding: 3px 10px;
     border-radius: 999px;
     border: 1px solid var(--border-light, #e5e7eb);
     font-size: 11px;
     font-weight: 600;
     cursor: pointer;
     background: #fff;
     color: var(--text-3, #9ca3af);
     transition: all .12s;
     user-select: none;
}
.std-pill:hover  {
     border-color: var(--orange, #e85d04);
}
.std-pill.a9001   {
     background: #e6f1fb;
     color: #0c447c;
     border-color: #b5d4f4;
}
.std-pill.a14001  {
     background: #eaf3de;
     color: #27500a;
     border-color: #c0dd97;
}
.std-pill.a45001  {
     background: #faece7;
     color: #712b13;
     border-color: #f5c4b3;
}
.std-pill.a27001  {
     background: #eeedfe;
     color: #3c3489;
     border-color: #cecbf6;
}
.std-pill.readonly  {
     cursor: default;
     pointer-events: none;
}
/* Add party btn */
.add-party-btn  {
     display: flex;
     align-items: center;
     gap: 6px;
     font-size: 13px;
     color: var(--text-3, #9ca3af);
     cursor: pointer;
     padding: 10px 12px;
     border: 1.5px dashed var(--border-light, #e5e7eb);
     border-radius: 10px;
     background: transparent;
     font-family: inherit;
     width: 100%;
     transition: all .15s;
}
.add-party-btn:hover  {
     border-color: var(--orange, #e85d04);
     color: var(--orange, #e85d04);
     background: #fdf0e6;
}
/* Callout */
.ip-callout  {
     display: flex;
     gap: 10px;
     padding: 10px 14px;
     border-radius: 6px;
     font-size: 12px;
     line-height: 1.7;
     margin: 10px 12px 12px;
     background: #eaf7f2;
     border-left: 3px solid #22c55e;
     color: #065f46;
}
.ip-callout i  {
     font-size: 16px;
     flex-shrink: 0;
     margin-top: 1px;
}
/* Review / sig grids */
.review-grid  {
     display: grid;
     grid-template-columns: 1fr 1fr 1fr;
}
.review-cell  {
     padding: 0;
     border-right: 0.5px solid var(--border-light, #e5e7eb);
}
.review-cell:last-child  {
     border-right: none;
}
.review-label  {
     font-size: 10px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: .05em;
     color: var(--text-3, #9ca3af);
     padding: 8px 12px 2px;
     display: block;
}
.review-input  {
     width: 100%;
     border: none;
     background: transparent;
     font-family: inherit;
     font-size: 13px;
     color: var(--text-1, #1a1a2e);
     padding: 4px 12px 10px;
     outline: none;
}
.review-input:focus  {
     background: #fdf0e6;
}
.review-changes  {
     width: 100%;
     border: none;
     background: transparent;
     font-family: inherit;
     font-size: 13px;
     color: var(--text-1, #1a1a2e);
     padding: 4px 12px 10px;
     outline: none;
     resize: none;
     min-height: 56px;
     line-height: 1.6;
}
.review-changes:focus  {
     background: #fdf0e6;
}
.sig-grid  {
     display: grid;
     grid-template-columns: 1fr 1fr;
}
.sig-cell  {
     padding: 12px 14px;
     border-right: 0.5px solid var(--border-light, #e5e7eb);
}
.sig-cell:last-child  {
     border-right: none;
}
.sig-label  {
     font-size: 10px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: .06em;
     color: var(--text-3, #9ca3af);
     margin-bottom: 10px;
}
.sig-line  {
     border: none;
     border-bottom: 0.5px solid var(--border-light, #e5e7eb);
     background: transparent;
     font-family: inherit;
     font-size: 13px;
     color: var(--text-1, #1a1a2e);
     padding: 4px 0;
     width: 100%;
     outline: none;
     margin-bottom: 6px;
}
.sig-line:focus  {
     border-bottom-color: var(--orange, #e85d04);
}
.sig-sub  {
     font-size: 11px;
     color: var(--text-3, #9ca3af);
     margin-bottom: 4px;
     display: flex;
     align-items: center;
     gap: 6px;
}
.sig-sub input  {
     border: none;
     border-bottom: 0.5px solid var(--border-light, #e5e7eb);
     background: transparent;
     font-family: inherit;
     font-size: 12px;
     color: var(--text-1, #1a1a2e);
     padding: 1px 4px;
     outline: none;
     flex: 1;
}
.sig-sub input:focus  {
     border-bottom-color: var(--orange, #e85d04);
}
/* Toast */
#ipToast  {
     display: none;
     position: fixed;
     bottom: 20px;
     right: 20px;
     background: #22c55e;
     color: #fff;
     padding: 10px 18px;
     border-radius: 8px;
     font-size: 13px;
     font-weight: 600;
     z-index: 9999;
     box-shadow: 0 4px 12px rgba(0,0,0,.2);
}
@media print  {
  .ip-status, .add-party-btn, .party-remove, #ipSaveBtn, [style*="border-top"]  {
     display: none !important;
}
}

/*
 * ── ISRISKREGISTER MODULE ──
 */

/* index.php */
/* Save bar */
.er15-savebar {
    position: sticky;
    bottom: 0;
    z-index: 50;
    background: #fff;
    border-top: 0.5px solid rgba(0,0,0,.13);
    padding: 10px 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 -2px 12px rgba(0,0,0,.07);
}
.er15-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    font-family: inherit;
    transition: background .15s;
}
.er15-btn-primary {
    background: #E07B2A;
    color: #fff;
}
.er15-btn-primary:hover {
    background: #c96b22;
}
.er15-btn-finalise {
    background: #162032;
    color: #fff;
}
.er15-btn-finalise:hover {
    background: #0f1824;
}
.er15-btn-danger {
    background: #FEF2F2;
    color: #991B1B;
    border: 0.5px solid #FECACA;
}
.er15-btn-danger:hover {
    background: #FEE2E2;
}
.er15-btn-outline {
    background: #fff;
    color: #162032;
    border: 0.5px solid rgba(0,0,0,.2);
}
.er15-btn-outline:hover {
    background: #f5f5f2;
}
.er15-save-msg {
    font-size: 12px;
    color: #7a7a76;
    margin-left: auto;
}
.er15-save-msg.ok {
    color: #0d5c42;
}
.er15-save-msg.err {
    color: #991B1B;
}
/* Header */
.er15-hband {
    background: #162032;
    border-radius: 10px 10px 0 0;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.er15-hlogo {
    display: flex;
    align-items: center;
    gap: 10px;
}
.er15-hmark {
    width: 34px;
    height: 34px;
    background: #E07B2A;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.er15-hmark .material-icons {
    font-size: 18px;
    color: #fff;
}
.er15-htitle {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 1px;
}
.er15-hsub {
    font-size: 11px;
    color: rgba(255,255,255,.5);
}
.er15-status-pill {
    font-size: 10px;
    font-weight: 700;
    padding: 4px 11px;
    border-radius: 999px;
    letter-spacing: .04em;
}
.er15-status-pill.draft {
    background: rgba(255,255,255,.12);
    color: rgba(255,255,255,.7);
}
.er15-status-pill.finalised {
    background: #86EFAC;
    color: #0d5c42;
}
/* Stats bar */
.er15-sbar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 8px 14px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.er15-sc {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    border: 0.5px solid;
    cursor: pointer;
}
.er15-sc:hover {
    opacity: .8;
}
.er15-sc-all {
    background: #f5f5f2;
    color: #4a4a46;
    border-color: rgba(0,0,0,.15);
}
.er15-sc-sub {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.er15-sc-mod {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.er15-sc-tol {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.er15-sc .material-icons {
    font-size: 13px;
}
.er15-search {
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 6px;
    padding: 5px 10px;
    font-size: 12px;
    font-family: inherit;
    outline: none;
    width: 200px;
    margin-left: auto;
}
.er15-search:focus {
    border-color: #E07B2A;
}
/* Tabs */
.er15-tabs {
    display: flex;
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px 10px 0 0;
    overflow: hidden;
    margin-bottom: 0;
}
.er15-tab {
    padding: 11px 18px;
    font-size: 13px;
    font-weight: 500;
    color: #7a7a76;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    display: flex;
    align-items: center;
    gap: 7px;
    user-select: none;
}
.er15-tab:hover {
    color: #1a1a18;
    background: #f5f5f2;
}
.er15-tab.active {
    color: #a85a1e;
    border-bottom-color: #E07B2A;
    font-weight: 600;
}
.er15-tab .material-icons {
    font-size: 15px;
}
/* Paper */
.er15-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-top: none;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
    margin-bottom: 20px;
}
.er15-panel {
    display: none;
}
.er15-panel.active {
    display: block;
}
/* Meta strip */
.er15-metastrip {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.er15-mc {
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.er15-mc:last-child {
    border-right: none;
}
.er15-mlabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    padding: 7px 14px 2px;
    display: block;
}
.er15-minput {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
    box-sizing: border-box;
}
.er15-minput:focus {
    background: #FDF0E6;
}
.er15-minput[readonly] {
    color: #7a7a76;
    cursor: default;
}
/* Matrix key */
.er15-matrix-key {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 9px 16px;
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    flex-wrap: wrap;
    font-size: 11px;
}
.er15-rk {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
}
.er15-rk-dot {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    flex-shrink: 0;
}
.er15-rk-tol {
    background: #86EFAC;
}
.er15-rk-mod {
    background: #FDE68A;
}
.er15-rk-sub {
    background: #FECACA;
}
/* Risk table */
.er15-tbl {
    width: 100%;
    border-collapse: collapse;
}
.er15-tbl th {
    padding: 7px 8px;
    background: #162032;
    color: rgba(255,255,255,.7);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 600;
    border-right: 0.5px solid rgba(255,255,255,.1);
    text-align: left;
    white-space: nowrap;
}
.er15-tbl th:last-child {
    border-right: none;
}
.er15-tbl td {
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: top;
    padding: 0;
}
.er15-tbl td:last-child {
    border-right: none;
}
.er15-tbl tr:last-child td {
    border-bottom: none;
}
.er15-tbl tr:hover td {
    background: #fafaf8;
}
.er15-tbl tr.hidden {
    display: none;
}
.er15-ft {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    color: #1a1a18;
    padding: 8px;
    outline: none;
    resize: none;
    line-height: 1.5;
    display: block;
    box-sizing: border-box;
    overflow: hidden;
    min-height: 40px;
}
.er15-ft:focus {
    background: #FDF0E6;
}
.er15-ft[readonly] {
    color: #4a4a46;
    cursor: default;
}
.er15-fi {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    color: #1a1a18;
    padding: 8px;
    outline: none;
    box-sizing: border-box;
}
.er15-fi:focus {
    background: #FDF0E6;
}
.er15-fi[readonly] {
    color: #4a4a46;
    cursor: default;
}
/* CIA badges */
.er15-cia-grp {
    display: flex;
    gap: 3px;
    justify-content: center;
    flex-wrap: wrap;
    padding: 5px 4px;
}
.er15-cia-btn {
    font-size: 9px;
    font-weight: 700;
    padding: 2px 5px;
    border-radius: 3px;
    border: 0.5px solid;
    cursor: pointer;
    font-family: inherit;
    transition: all .12s;
}
.er15-cia-btn[disabled] {
    cursor: default;
    pointer-events: none;
}
.er15-cia-c.on {
    background: #EBF4FF;
    color: #0C447C;
    border-color: #B5D4F4;
}
.er15-cia-i.on {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.er15-cia-a.on {
    background: #F3E8FF;
    color: #6B21A8;
    border-color: #D8B4FE;
}
.er15-cia-c.off,.er15-cia-i.off,.er15-cia-a.off {
    background: #f5f5f2;
    color: #d1d5db;
    border-color: rgba(0,0,0,.1);
}
/* Risk selects */
.er15-risk-sel {
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 4px;
    font-family: inherit;
    font-size: 10px;
    color: #1a1a18;
    padding: 3px;
    outline: none;
    cursor: pointer;
    background: #fff;
    width: 100%;
}
.er15-risk-sel:focus {
    border-color: #E07B2A;
}
.er15-risk-sel:disabled {
    background: #f5f5f2;
    color: #7a7a76;
    cursor: default;
}
.er15-risk-cell {
    padding: 5px 4px;
    text-align: center;
    vertical-align: middle;
}
/* Rating badge */
.er15-rating-cell {
    padding: 5px 3px;
    text-align: center;
    vertical-align: middle;
}
.rbadge {
    display: inline-block;
    padding: 3px 6px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    min-width: 60px;
    text-align: center;
    border: 0.5px solid;
}
.rb-tol {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.rb-mod {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.rb-sub {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.rb-none {
    background: #f5f5f2;
    color: #9ca3af;
    border-color: rgba(0,0,0,.1);
}
/* Treatment */
.er15-treat-sel {
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 999px;
    font-family: inherit;
    font-size: 10px;
    font-weight: 600;
    padding: 3px 6px;
    outline: none;
    cursor: pointer;
    background: #fff;
    width: 100%;
    text-align: center;
}
.er15-treat-sel:focus {
    border-color: #E07B2A;
}
.er15-treat-sel:disabled {
    cursor: default;
}
.t-accept {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.t-reduce {
    background: #EBF4FF;
    color: #0C447C;
    border-color: #B5D4F4;
}
.t-transfer {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.t-avoid {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
/* Add row / remove */
.er15-add-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 9px 16px;
    border: none;
    background: #f5f5f2;
    font-family: inherit;
    width: 100%;
    border-top: 0.5px solid rgba(0,0,0,.09);
}
.er15-add-btn:hover {
    color: #E07B2A;
    background: #FDF0E6;
}
.er15-add-btn .material-icons {
    font-size: 14px;
}
.er15-rm {
    border: none;
    background: none;
    cursor: pointer;
    color: rgba(0,0,0,.1);
    font-size: 13px;
    padding: 4px;
    border-radius: 3px;
    display: block;
    margin: 3px auto;
}
.er15-rm:hover {
    color: #DC2626;
    background: #FEF2F2;
}
tr:hover .er15-rm {
    color: rgba(0,0,0,.25);
}
/* Threat intel table */
.er15-ti-tbl {
    width: 100%;
    border-collapse: collapse;
}
.er15-ti-tbl th {
    padding: 7px 12px;
    background: #f5f5f2;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.er15-ti-tbl th:last-child {
    border-right: none;
}
.er15-ti-tbl td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: middle;
}
.er15-ti-tbl td:last-child {
    border-right: none;
}
.er15-ti-tbl tr:last-child td {
    border-bottom: none;
}
.er15-ti-inp {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 9px 12px;
    outline: none;
    box-sizing: border-box;
}
.er15-ti-inp:focus {
    background: #FDF0E6;
}
.er15-ti-inp[readonly] {
    color: #4a4a46;
    cursor: default;
}
.er15-ti-link {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #0C447C;
    padding: 9px 12px;
    outline: none;
    box-sizing: border-box;
}
.er15-ti-link:focus {
    background: #EBF4FF;
}
.er15-ti-link[readonly] {
    color: #0C447C;
    cursor: default;
}
/* Section header */
.er15-sec-hdr {
    background: #162032;
    padding: 8px 16px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #E07B2A;
    display: flex;
    align-items: center;
    gap: 7px;
}
.er15-sec-hdr .material-icons {
    font-size: 14px;
}
/* Monitoring */
.er15-freq-sel {
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 4px;
    font-family: inherit;
    font-size: 10px;
    color: #1a1a18;
    padding: 4px;
    outline: none;
    cursor: pointer;
    background: #fff;
    width: 100%;
}
.er15-freq-sel:disabled {
    background: #f5f5f2;
    color: #7a7a76;
    cursor: default;
}
/* Sig strip */
.er15-sigstrip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 0.5px solid rgba(0,0,0,.09);
}
.er15-sigcell {
    padding: 12px 16px;
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.er15-sigcell:last-child {
    border-right: none;
}
.er15-siglabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #7a7a76;
    margin-bottom: 8px;
}
.er15-sigline {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 3px 0;
    width: 100%;
    outline: none;
    margin-bottom: 5px;
}
.er15-sigline:focus {
    border-bottom-color: #E07B2A;
}
.er15-sigline[readonly] {
    color: #7a7a76;
    cursor: default;
}
.er15-sigsub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 3px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.er15-subinp {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    padding: 1px 4px;
    outline: none;
    color: #1a1a18;
}
.er15-subinp:focus {
    border-bottom-color: #E07B2A;
}
.er15-subinp[readonly] {
    color: #7a7a76;
    cursor: default;
}
.er15-ftr {
    padding: 10px 18px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
.er15-finalised-banner {
    background: #EAF7F2;
    border: 0.5px solid #86EFAC;
    border-radius: 8px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 12px;
    color: #0d5c42;
    font-weight: 600;
}
.er15-finalised-banner .material-icons {
    font-size: 17px;
}

/*
 * ── ITMONITORING MODULE ──
 */

/* check.php */
.fq25-statsbar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 8px 14px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.fq25-prog-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 180px;
}
.fq25-prog-bar {
    flex: 1;
    height: 8px;
    background: rgba(0,0,0,.08);
    border-radius: 999px;
    overflow: hidden;
}
.fq25-prog-fill {
    height: 100%;
    background: #1D9E75;
    border-radius: 999px;
    transition: width .3s;
}
.fq25-prog-lbl {
    font-size: 11px;
    font-weight: 700;
    color: #1D9E75;
    min-width: 36px;
}
.fq25-sc {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    border: 0.5px solid;
}
.fq25-sc-ok {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.fq25-sc-iss {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.fq25-sc-pnd {
    background: #f5f5f2;
    color: #7a7a76;
    border-color: rgba(0,0,0,.15);
}
.fq25-sc .material-icons {
    font-size: 12px;
}
.fq25-ss {
    margin-left: auto;
    font-size: 12px;
    color: #7a7a76;
}
.fq25-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.fq25-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fq25-hmeta {
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.fq25-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.fq25-hiso {
    font-size: 10px;
    color: #E07B2A;
    font-weight: 600;
}
.fq25-metastrip {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.fq25-mc {
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.fq25-mc:last-child {
    border-right: none;
}
.fq25-mlabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    padding: 7px 16px 2px;
    display: block;
}
.fq25-minput {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 16px 10px;
    outline: none;
}
.fq25-minput:focus {
    background: #FDF0E6;
}
.fq25-minput:read-only {
    color: #4a4a46;
    cursor: default;
}
.fq25-ct {
    width: 100%;
    border-collapse: collapse;
}
.fq25-ct thead th {
    background: #162032;
    color: rgba(255,255,255,.7);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 600;
    padding: 8px 12px;
    border-right: 0.5px solid rgba(255,255,255,.1);
    text-align: left;
}
.fq25-ct thead th:first-child {
    padding-left: 20px;
}
.fq25-ct thead th:last-child {
    border-right: none;
}
.fq25-ct td {
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: top;
    padding: 0;
}
.fq25-ct td:last-child {
    border-right: none;
}
.fq25-ct tr:last-child td {
    border-bottom: none;
}
.fq25-ct tr:hover td {
    background: #fafaf8;
}
.fq25-item-td {
    padding: 11px 20px !important;
    vertical-align: top;
    width: 36%;
}
.fq25-item-num {
    font-size: 10px;
    font-weight: 700;
    color: #E07B2A;
    margin-bottom: 2px;
}
.fq25-item-title {
    font-size: 12px;
    font-weight: 600;
    color: #1a1a18;
    margin-bottom: 3px;
    outline: none;
}
.fq25-item-sub {
    font-size: 11px;
    color: #7a7a76;
    line-height: 1.5;
    outline: none;
    min-height: 14px;
}
.fq25-status-td {
    padding: 8px;
    text-align: center;
    vertical-align: middle;
    width: 100px;
}
.fq25-status-sel {
    display: block;
    width: 100%;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 6px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    padding: 5px 6px;
    outline: none;
    cursor: pointer;
    background: #fff;
    text-align: center;
}
.fq25-status-sel:focus {
    border-color: #E07B2A;
}
.fq25-status-sel.ok {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.fq25-status-sel.issue {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.fq25-status-sel.na {
    background: #f5f5f2;
    color: #7a7a76;
    border-color: rgba(0,0,0,.15);
}
.fq25-checked-td {
    padding: 6px 8px;
    width: 110px;
    vertical-align: middle;
}
.fq25-ci {
    display: block;
    width: 100%;
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.15);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 4px 2px;
    outline: none;
}
.fq25-ci:focus {
    border-bottom-color: #E07B2A;
    background: #FDF0E6;
}
.fq25-ci::placeholder {
    color: #d1d5db;
}
.fq25-comment-td {
    padding: 0;
}
.fq25-comment-ta {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 10px 12px;
    outline: none;
    resize: none;
    overflow: hidden;
    min-height: 52px;
    line-height: 1.6;
}
.fq25-comment-ta:focus {
    background: #FDF0E6;
}
.fq25-comment-ta::placeholder {
    color: #9ca3af;
}
.fq25-rm-btn {
    border: none;
    background: none;
    cursor: pointer;
    color: rgba(0,0,0,.1);
    font-size: 13px;
    padding: 4px;
    border-radius: 3px;
    display: block;
    margin: auto;
}
.fq25-rm-btn:hover {
    color: #DC2626;
    background: #FEF2F2;
}
tr:hover .fq25-rm-btn {
    color: rgba(0,0,0,.25);
}
.fq25-sec-hdr {
    background: #162032;
    padding: 8px 20px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #E07B2A;
    display: flex;
    align-items: center;
    gap: 7px;
}
.fq25-sec-hdr .material-icons {
    font-size: 14px;
}
.fq25-al {
    width: 100%;
    border-collapse: collapse;
}
.fq25-al thead th {
    background: #f5f5f2;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    padding: 8px 12px;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.fq25-al thead th:first-child {
    padding-left: 20px;
}
.fq25-al thead th:last-child {
    border-right: none;
}
.fq25-al td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: middle;
}
.fq25-al td:last-child {
    border-right: none;
}
.fq25-al tr:last-child td {
    border-bottom: none;
}
.fq25-al tr:hover td {
    background: #fafaf8;
}
.fq25-al-ta {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 9px 12px;
    outline: none;
    resize: none;
    overflow: hidden;
    min-height: 38px;
    line-height: 1.6;
}
.fq25-al-ta:focus {
    background: #FDF0E6;
}
.fq25-al-ta::placeholder {
    color: #d1d5db;
}
.fq25-al td:first-child .fq25-al-ta {
    padding-left: 20px;
}
.fq25-add-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 9px 16px;
    border: none;
    background: #f5f5f2;
    font-family: inherit;
    width: 100%;
    border-top: 0.5px solid rgba(0,0,0,.09);
    transition: all .12s;
}
.fq25-add-btn:hover {
    color: #E07B2A;
    background: #FDF0E6;
}
.fq25-add-btn .material-icons {
    font-size: 14px;
}
.fq25-er1-prompt {
    background: #EBF4FF;
    border: 0.5px solid #B5D4F4;
    border-radius: 8px;
    margin: 14px 20px;
    padding: 10px 13px;
    font-size: 12px;
    color: #0C447C;
    display: flex;
    align-items: flex-start;
    gap: 9px;
}
.fq25-er1-prompt .material-icons {
    font-size: 15px;
    flex-shrink: 0;
    margin-top: 1px;
    color: #1e40af;
}
.fq25-ftr {
    padding: 10px 20px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
.fq25-save-bar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 10px;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
}
.fq25-btn-save {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 22px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    font-family: inherit;
    background: #E07B2A;
    color: #fff;
}
.fq25-btn-save:hover {
    opacity: .88;
}
.fq25-btn-save .material-icons {
    font-size: 14px;
}
.fq25-btn-back {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 9px 16px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 0.5px solid rgba(0,0,0,.15);
    font-family: inherit;
    background: #fff;
    color: #4a4a46;
    text-decoration: none;
}
.fq25-btn-back:hover {
    background: #f5f5f2;
}
.fq25-btn-back .material-icons {
    font-size: 13px;
}
.fq25-complete-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 14px;
    border-radius: 7px;
    background: #EAF7F2;
    color: #0d5c42;
    border: 0.5px solid #86EFAC;
    font-size: 12px;
    font-weight: 600;
}

/* index.php */
.itm-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.itm-hdr h2 {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a18;
    margin: 0;
}
.itm-btn-new {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    font-family: inherit;
    background: #E07B2A;
    color: #fff;
    text-decoration: none;
}
.itm-btn-new:hover {
    opacity: .88;
}
.itm-btn-new .material-icons {
    font-size: 14px;
}
.itm-list {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 10px;
    overflow: hidden;
}
.itm-list-hdr {
    display: grid;
    grid-template-columns: 1fr 140px 160px 100px 80px;
    padding: 8px 16px;
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
}
.itm-row {
    display: grid;
    grid-template-columns: 1fr 140px 160px 100px 80px;
    padding: 12px 16px;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    align-items: center;
    text-decoration: none;
    color: inherit;
    transition: background .1s;
}
.itm-row:last-child {
    border-bottom: none;
}
.itm-row:hover {
    background: #fafaf8;
}
.itm-row-title {
    font-size: 13px;
    font-weight: 600;
    color: #1a1a18;
}
.itm-row-sub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 1px;
}
.itm-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    border: 0.5px solid;
}
.itm-b-draft {
    background: #f5f5f2;
    color: #4a4a46;
    border-color: rgba(0,0,0,.15);
}
.itm-b-complete {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.itm-empty {
    padding: 48px 24px;
    text-align: center;
    color: #7a7a76;
    font-size: 13px;
}
.itm-empty .material-icons {
    font-size: 48px;
    color: #d1d5db;
    display: block;
    margin-bottom: 8px;
}

/*
 * ── LEGAL MODULE ──
 */

/* register.php */
#lrSaveBtn  {
     background: var(--orange,#e85d04)!important;
     color: #fff!important;
     border: none!important;
}
.lr-titlebar  {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 14px 20px;
     border-bottom: 1px solid #e5e7eb;
}
.lr-titlebar h1  {
     font-size: 18px;
     font-weight: 700;
     margin: 0;
}
.lr-ref  {
     font-size: 11px;
     color: #6b7280;
     margin-top: 2px;
}
.lr-statusbar  {
     display: flex;
     align-items: center;
     gap: 8px;
     padding: 10px 20px;
     background: #f9fafb;
     border-bottom: 1px solid #e5e7eb;
     flex-wrap: wrap;
}
.lr-chip  {
     padding: 4px 12px;
     border-radius: 20px;
     font-size: 11px;
     font-weight: 600;
     cursor: pointer;
     border: 1.5px solid #e5e7eb;
     background: #fff;
     color: #374151;
}
.lr-chip.active  {
     border-color: #162032;
     background: #162032;
     color: #fff;
}
.lr-chip-c   {
     border-color: #86EFAC;
     color: #0d5c42;
     background: #EAF7F2;
}
.lr-chip-c.active   {
     background: #0d5c42;
     color: #fff;
     border-color: #0d5c42;
}
.lr-chip-a   {
     border-color: #FDE68A;
     color: #92400E;
     background: #FEF3C7;
}
.lr-chip-a.active   {
     background: #92400E;
     color: #fff;
     border-color: #92400E;
}
.lr-chip-nc  {
     border-color: #FECACA;
     color: #7F1D1D;
     background: #FEF2F2;
}
.lr-chip-nc.active  {
     background: #7F1D1D;
     color: #fff;
     border-color: #7F1D1D;
}
.lr-banner  {
     padding: 10px 20px;
     font-size: 13px;
     font-weight: 600;
     color: #162032;
     background: #f0f4f8;
     border-bottom: 1px solid #e5e7eb;
}
.lr-sec-hdr  {
     background: #162032;
     padding: 9px 16px;
     display: flex;
     align-items: center;
     justify-content: space-between;
}
.lr-sec-hdr-left  {
     display: flex;
     align-items: center;
     gap: 7px;
     font-size: 11px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .07em;
     color: #E07B2A;
}
.lr-sec-hdr-left .material-icons  {
     font-size: 16px;
}
.lr-std-badges  {
     display: flex;
     gap: 4px;
}
.lr-std-b  {
     font-size: 9px;
     font-weight: 700;
     padding: 2px 6px;
     border-radius: 3px;
}
.lr-b9001   {
     background: #EBF4FF;
     color: #0C447C;
}
.lr-b14001  {
     background: #EAF7F2;
     color: #0d5c42;
}
.lr-b45001  {
     background: #FEF3C7;
     color: #92400E;
}
.lr-b27001  {
     background: #F3E8FF;
     color: #6B21A8;
}
.lr-table  {
     width: 100%;
     border-collapse: collapse;
     font-size: 12px;
}
.lr-table th  {
     background: #f5f5f2;
     color: #6b7280;
     padding: 8px 10px;
     font-size: 10px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: .04em;
     text-align: left;
     border-bottom: 0.5px solid #e5e7eb;
     border-right: 0.5px solid #e5e7eb;
}
.lr-table th:last-child  {
     border-right: none;
}
.lr-table td  {
     border-bottom: 0.5px solid #e5e7eb;
     border-right: 0.5px solid #e5e7eb;
     vertical-align: top;
     padding: 0;
     background: #fff !important;
}
.lr-table td:last-child  {
     border-right: none;
}
.lr-table tr:last-child td  {
     border-bottom: none;
}
.lr-table tr:hover td  {
     background: #fafaf8 !important;
}
.lr-table tr.hidden  {
     display: none;
}
.fi  {
     display: block;
     width: 100%;
     border: none;
     background: transparent;
     font-family: inherit;
     font-size: 11px;
     font-weight: 700;
     color: #162032;
     padding: 8px 10px;
     outline: none;
     /*text-align: center;*/
     box-sizing: border-box;
}
.fi:focus  {
     background: #FDF0E6;
}
.fn  {
     display: block;
     width: 100%;
     border: none;
     background: transparent;
     font-family: inherit;
     font-size: 12px;
     color: #1a1a18;
     padding: 8px 10px;
     outline: none;
     resize: vertical;
     line-height: 1.6;
     min-height: 48px;
     box-sizing: border-box;
}
.fn:focus  {
     background: #FDF0E6;
}
.fn::placeholder  {
     color: #d1d5db;
}
.lr-status-cell  {
     padding: 5px 4px;
     text-align: center;
     vertical-align: middle;
}
.lr-status-sel  {
     border: 0.5px solid rgba(0,0,0,.12);
     border-radius: 999px;
     font-family: inherit;
     font-size: 10px;
     font-weight: 700;
     padding: 3px 6px;
     outline: none;
     cursor: pointer;
     width: 100%;
}
.s-c   {
     background: #EAF7F2;
     color: #0d5c42;
     border-color: #86EFAC;
}
.s-a   {
     background: #FEF3C7;
     color: #92400E;
     border-color: #FDE68A;
}
.s-nc  {
     background: #FEF2F2;
     color: #7F1D1D;
     border-color: #FECACA;
}
.lr-date-inp  {
     display: block;
     width: 100%;
     border: none;
     background: transparent;
     font-family: inherit;
     font-size: 11px;
     color: #1a1a18;
     padding: 8px 8px;
     outline: none;
     text-align: center;
     box-sizing: border-box;
}
.lr-date-inp:focus  {
     background: #FDF0E6;
}
.lr-add-btn  {
     display: flex;
     align-items: center;
     gap: 6px;
     font-size: 12px;
     color: #6b7280;
     cursor: pointer;
     padding: 9px 16px;
     border: none;
     background: #f5f5f2;
     font-family: inherit;
     width: 100%;
     border-top: 0.5px solid #e5e7eb;
}
.lr-add-btn:hover  {
     color: #E07B2A;
     background: #FDF0E6;
}
.rm-btn  {
     border: none;
     background: none;
     cursor: pointer;
     color: rgba(0,0,0,.15);
     font-size: 13px;
     padding: 4px 8px;
     border-radius: 3px;
     display: block;
     margin: 3px auto;
}
.rm-btn:hover  {
     color: #DC2626;
     background: #FEF2F2;
}
tr:hover .rm-btn  {
     color: rgba(0,0,0,.3);
}
.lr-sigstrip  {
     display: grid;
     grid-template-columns: 1fr 1fr;
     border-top: 2px solid #162032;
}
.lr-sigcell  {
     padding: 14px 20px;
     background: #fff;
     border-right: 0.5px solid #e5e7eb;
}
.lr-sigcell:last-child  {
     border-right: none;
}
.lr-siglabel  {
     font-size: 10px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .07em;
     color: #162032;
     margin-bottom: 8px;
}
.lr-sigline  {
     width: 100%;
     border: none;
     border-bottom: 1.5px solid #162032;
     background: transparent;
     font-size: 14px;
     padding: 4px 0;
     margin-bottom: 8px;
     font-family: inherit;
     outline: none;
}
.lr-sigline:focus  {
     border-bottom-color: #E07B2A;
}
.lr-sigsub  {
     font-size: 11px;
     color: #6b7280;
     display: flex;
     align-items: center;
     gap: 6px;
     margin-bottom: 4px;
}
.lr-sigsub input  {
     border: none;
     border-bottom: 1px solid #d1d5db;
     background: transparent;
     font-size: 12px;
     width: 180px;
     font-family: inherit;
     outline: none;
}
.lr-ftr  {
     padding: 8px 20px;
     font-size: 10px;
     color: #9ca3af;
     display: flex;
     justify-content: space-between;
     border-top: 1px solid #e5e7eb;
}


/*
 * ── MANUAL MODULE ──
 */

/* index.php */
/* ── Base reset (scoped to the manual's own roots — index.php emits a
 *    nested standalone document into the theme's 'content' region, so its
 *    reset/body styles must not leak site-wide) ── */
#saveToast,
.ims-topbar, .ims-topbar *, .ims-topbar *:before, .ims-topbar *:after,
.ims-layout, .ims-layout *, .ims-layout *:before, .ims-layout *:after  {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
}
.ims-topbar, .ims-layout  {
     font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
     background: var(--bg-2, #f0f2f5);
     color: var(--text-1, #1a1a2e);
     font-size: 13px;
}
/* ── Layout ── */
.ims-layout  {
     display: flex;
     height: calc(100vh - 56px);
     overflow: hidden;
}
.ims-sidebar  {
     width: 220px;
     min-width: 220px;
     background: var(--cream, #faf9f7);
     border-right: 1px solid var(--border-light, #e5e7eb);
     overflow-y: auto;
     display: flex;
     flex-direction: column;
}
.ims-content  {
     flex: 1;
     overflow-y: auto;
     padding: 24px 0;
}
/* ── Topbar ── */
.ims-topbar  {
     height: 56px;
     background: var(--cream, #faf9f7);
     border-bottom: 1px solid var(--border-light, #e5e7eb);
     display: flex;
     align-items: center;
     padding: 0 16px;
     gap: 12px;
     position: sticky;
     top: 0;
     z-index: 100;
}
.doc-badge  {
     background: var(--orange, #e85d04);
     color: #fff;
     font-size: 11px;
     font-weight: 700;
     padding: 4px 10px;
     border-radius: 4px;
     letter-spacing: .03em;
     white-space: nowrap;
}
.ims-topbar .topbar-right  {
     margin-left: auto;
     display: flex;
     gap: 8px;
     align-items: center;
}
/* ── Buttons ── */
/* Scoped to the manual's roots so this does not override the global .btn
 * (defined earlier in this file) for the rest of the site. */
.ims-topbar .btn, .ims-layout .btn  {
     display: inline-flex;
     align-items: center;
     gap: 5px;
     padding: 6px 12px;
     border-radius: 6px;
     font-size: 12px;
     font-weight: 500;
     cursor: pointer;
     border: none;
     transition: background .15s, opacity .15s;
}
.ims-topbar .btn  {
     background: var(--orange, #e85d04) !important;
     color: #fff !important;
     border: none !important;
}
.ims-topbar .btn:hover  {
     background: #cf5203 !important;
}
.ims-topbar .btn:disabled  {
     opacity: .6;
     cursor:not-allowed;
}
.btn-green  {
     background: #22c55e;
     color: #fff;
}
.btn-green:hover  {
     background: #16a34a;
}
.btn-green:disabled  {
     opacity: .6;
     cursor:not-allowed;
}
.btn-solid  {
     background: var(--navy, #1a1a2e);
     color: #fff;
}
.btn-solid:hover  {
     opacity: .85;
}
/* ── Sidebar nav ── */
.sidebar-heading  {
     font-size: 10px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .08em;
     color: var(--text-3, #9ca3af);
     padding: 16px 14px 6px;
}
.nav-item  {
     display: flex;
     align-items: center;
     gap: 8px;
     width: 100%;
     background: none;
     border: none;
     color: var(--text-2, #4b5563);
     font-size: 12px;
     padding: 7px 14px;
     cursor: pointer;
     text-align: left;
     transition: background .15s, color .15s;
}
.nav-item:hover  {
     background: rgba(0,0,0,.05);
     color: var(--text-1, #1a1a2e);
}
.nav-item.active  {
     background: rgba(232,93,4,.08);
     color: var(--orange, #e85d04);
     font-weight: 600;
}
.nav-item i  {
     font-size: 14px;
}
.nav-sub  {
     padding-left: 14px;
}
.nav-sub .nav-item  {
     font-size: 11.5px;
     padding: 5px 12px;
}
.nav-divider  {
     height: 1px;
     background: var(--border-light, #e5e7eb);
     margin: 4px 0;
}
/* ── Doc paper ── */
.doc-paper  {
     background: #fff;
     border-radius: 8px;
     box-shadow: 0 1px 4px rgba(0,0,0,.08);
     padding: 40px 48px;
     max-width: 820px;
     margin: 0 auto 24px;
}
@media print  {
     .doc-paper  {
     box-shadow: none;
     border-radius: 0;
     margin: 0;
     padding: 24px 32px;
}
}
/* ── Section heading ── */
.section-heading  {
     border-bottom: 2px solid var(--navy, #1a1a2e);
     padding-bottom: 12px;
     margin-bottom: 20px;
}
.section-heading h2  {
     font-size: 16px;
     font-weight: 700;
     color: var(--navy, #1a1a2e);
     display: flex;
     align-items: center;
     gap: 10px;
}
.section-icon-badge  {
     width: 28px;
     height: 28px;
     border-radius: 6px;
     background: var(--navy, #1a1a2e);
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     font-size: 13px;
     flex-shrink: 0;
}
.std-section-header  {
     display: flex;
     align-items: center;
     gap: 8px;
     margin-bottom: 14px;
     padding: 8px 12px;
     background: var(--bg-2, #f0f2f5);
     border-radius: 6px;
}
/* ── Cover ── */
.cover  {
     background: var(--navy, #1a1a2e);
     color: #fff;
     border-radius: 8px;
     padding: 40px 40px 32px;
     margin-bottom: 20px;
}
.cover-logo-area  {
     height: 64px;
     display: flex;
     align-items: center;
     margin-bottom: 24px;
}
.cover-logo-placeholder  {
     font-size: 18px;
     font-weight: 700;
     color: rgba(255,255,255,.6);
}
.cover-logo-area img  {
     max-height: 64px;
     max-width: 200px;
     object-fit: contain;
}
.cover-doc-ref  {
     font-size: 11px;
     color: rgba(255,255,255,.5);
     margin-bottom: 8px;
     letter-spacing: .04em;
     text-transform: uppercase;
}
.cover h1  {
     font-size: 28px;
     font-weight: 800;
     margin-bottom: 8px;
}
.cover-subtitle  {
     font-size: 14px;
     color: rgba(255,255,255,.65);
     margin-bottom: 24px;
}
.cover-meta-grid  {
     display: grid;
     grid-template-columns: 140px 1fr;
     gap: 6px 16px;
     margin-bottom: 20px;
}
.cover-meta-label  {
     font-size: 11px;
     color: rgba(255,255,255,.45);
     align-self: center;
}
.cover-meta-value  {
     font-size: 12px;
     color: rgba(255,255,255,.9);
}
.cover-std-pills  {
     display: flex;
     gap: 8px;
     flex-wrap: wrap;
}
.cover-pill  {
     background: rgba(255,255,255,.15);
     color: #fff;
     font-size: 11px;
     padding: 4px 10px;
     border-radius: 20px;
}
/* ── Doc footer ── */
.doc-footer  {
     border-top: 1px solid var(--border-light, #e5e7eb);
     margin-top: 24px;
     padding-top: 10px;
     display: flex;
     justify-content: space-between;
     font-size: 11px;
     color: var(--text-3, #9ca3af);
}
.mn-sigstrip  {
     display: grid;
     grid-template-columns: 1fr 1fr;
     border-top: 2px solid #162032;
     margin-top: 28px;
}
.mn-sigcell  {
     padding: 14px 20px;
     background: #fff;
     border-right: 0.5px solid #e5e7eb;
}
.mn-sigcell:last-child  {
     border-right: none;
}
.mn-siglabel  {
     font-size: 10px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .07em;
     color: #162032;
     margin-bottom: 8px;
}
.mn-sigline  {
     width: 100%;
     border: none;
     border-bottom: 1.5px solid #162032;
     background: transparent;
     font-size: 14px;
     padding: 4px 0;
     margin-bottom: 8px;
     font-family: inherit;
     outline: none;
}
.mn-sigline:focus  {
     border-bottom-color: #E07B2A;
}
.mn-sigsub  {
     font-size: 11px;
     color: #6b7280;
     display: flex;
     align-items: center;
     gap: 6px;
     margin-bottom: 4px;
}
.mn-sigsub input  {
     border: none;
     border-bottom: 1px solid #d1d5db;
     background: transparent;
     font-size: 12px;
     width: 180px;
     font-family: inherit;
     outline: none;
}
/* ── Responsibility bar ── */
.resp-bar  {
     background: var(--navy, #1a1a2e);
     color: #fff;
     padding: 8px 14px;
     border-radius: 6px;
     margin-bottom: 12px;
     font-size: 12px;
     display: flex;
     align-items: center;
     gap: 6px;
     flex-wrap: wrap;
}
.resp-input  {
     background: rgba(255,255,255,.15);
     border: none;
     color: #fff;
     font-size: 12px;
     padding: 3px 8px;
     border-radius: 4px;
     outline: none;
     min-width: 140px;
}
.resp-input::placeholder  {
     color: rgba(255,255,255,.4);
}
.resp-input:focus  {
     background: rgba(255,255,255,.22);
}
.resp-input[readonly]  {
     cursor: default;
}
/* ── Subsection ── */
.subsection  {
     padding: 0 0 16px;
}
.subsection h4  {
     font-size: 12.5px;
     font-weight: 700;
     color: var(--navy, #1a1a2e);
     margin: 14px 0 6px;
}
.subsection h3  {
     font-size: 13.5px;
     font-weight: 700;
     color: var(--navy, #1a1a2e);
     margin: 18px 0 8px;
}
.subsection p  {
     font-size: 12.5px;
     line-height: 1.65;
     color: var(--text-2, #374151);
     margin-bottom: 8px;
}
.subsection ul.ims-list  {
     padding-left: 20px;
     margin-bottom: 8px;
}
.subsection ul.ims-list li  {
     font-size: 12.5px;
     line-height: 1.65;
     color: var(--text-2, #374151);
     margin-bottom: 3px;
}
.ref  {
     font-size: 11px;
     color: var(--text-3, #9ca3af);
     font-weight: 400;
     margin-left: 6px;
}
/* ── Tables ── */
.ims-table  {
     width: 100%;
     border-collapse: collapse;
     margin-bottom: 12px;
}
.ims-table th  {
     background: var(--navy, #1a1a2e);
     color: #fff;
     font-size: 11px;
     font-weight: 600;
     padding: 7px 10px;
     text-align: left;
}
.ims-table td  {
     border: 0.5px solid var(--border-light, #e5e7eb);
     padding: 7px 10px;
     font-size: 12px;
     vertical-align: middle;
}
.ims-table td input, .ims-table td textarea  {
     border: none;
     width: 100%;
     font-size: 12px;
     background: transparent;
     outline: none;
     font-family: inherit;
}
.ims-table td input:focus, .ims-table td textarea:focus  {
     background: rgba(232,93,4,.06);
     border-radius: 3px;
}
.update-table th:first-child  {
     width: 160px;
}
.update-table th:nth-child(2)  {
     width: 130px;
}
/* ── Checklist ── */
.checklist  {
     background: #f0fdf4;
     border: 0.5px solid #86efac;
     border-radius: 6px;
     padding: 10px 14px;
     margin-top: 10px;
}
.checklist-item  {
     display: flex;
     align-items: flex-start;
     gap: 8px;
     font-size: 12px;
     color: #166534;
     padding: 3px 0;
}
.checklist-item i  {
     font-size: 14px;
     color: #22c55e;
     flex-shrink: 0;
     margin-top: 1px;
}
/* ── Callout / decision box ── */
.callout  {
     display: flex;
     align-items: flex-start;
     gap: 10px;
     padding: 10px 14px;
     border-radius: 6px;
     margin: 10px 0;
     font-size: 12px;
}
.callout.note  {
     background: #eff6ff;
     border: 0.5px solid #93c5fd;
     color: #1e40af;
}
.callout i  {
     font-size: 16px;
     flex-shrink: 0;
     margin-top: 1px;
}
.decision-box  {
     background: #fff7ed;
     border: 0.5px solid #fdba74;
     border-radius: 6px;
     padding: 10px 14px;
     margin: 10px 0;
     display: flex;
     gap: 10px;
}
.decision-icon  {
     color: #ea580c;
     font-size: 18px;
     flex-shrink: 0;
}
.decision-content  {
     font-size: 12px;
}
.decision-content strong  {
     display: block;
     color: var(--navy, #1a1a2e);
     margin-bottom: 4px;
}
.decision-no  {
     color: #9a3412;
}
/* ── Ref chip ── */
.ref-chip  {
     display: inline-block;
     background: var(--orange, #e85d04);
     color: #fff;
     font-size: 10.5px;
     font-weight: 600;
     padding: 2px 7px;
     border-radius: 10px;
     white-space: nowrap;
}
/* ── Std pills ── */
.std-pill  {
     display: inline-block;
     font-size: 11px;
     font-weight: 600;
     padding: 3px 9px;
     border-radius: 10px;
}
.p9001   {
     background: #dbeafe;
     color: #1d4ed8;
}
.p14001  {
     background: #d1fae5;
     color: #065f46;
}
.p45001  {
     background: #fef9c3;
     color: #854d0e;
}
.p27001  {
     background: #f3e8ff;
     color: #6b21a8;
}
/* ── Org chart ── */
.org-chart  {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 0;
     padding: 16px 0;
}
.org-level  {
     display: flex;
     gap: 12px;
     justify-content: center;
}
.org-box  {
     background: var(--navy, #1a1a2e);
     border-radius: 8px;
     padding: 0;
     min-width: 120px;
     text-align: center;
}
.org-box.primary  {
     background: var(--orange, #e85d04);
}
.org-box input  {
     background: transparent;
     border: none;
     color: #fff;
     text-align: center;
     font-size: 11px;
     font-weight: 600;
     padding: 10px 12px;
     width: 100%;
     outline: none;
     cursor: default;
}
.org-box input[readonly]  {
     cursor: default;
}
.org-box input:not([readonly]):focus  {
     background: rgba(255,255,255,.12);
     border-radius: 8px;
}
.org-connector  {
     width: 1px;
     height: 24px;
     background: var(--border-med, #d1d5db);
     margin: 0 auto;
}
/* ── Section opacity for inactive stds ── */
.section-inactive  {
     opacity: 0.45;
     pointer-events: none;
}
/* ── Field highlight ── */
.field-highlight  {
     font-weight: 600;
     color: var(--navy, #1a1a2e);
}
/* ── Editable textarea ── */
textarea.editable  {
     border: 0.5px solid var(--border-med, #d1d5db);
     border-radius: 6px;
     padding: 10px;
     width: 100%;
     font-family: inherit;
     font-size: 12.5px;
     resize: vertical;
}
textarea.editable:focus  {
     outline: none;
     border-color: var(--orange, #e85d04);
}
textarea.editable[readonly]  {
     background: var(--bg-2, #f0f2f5);
     cursor: default;
}
/* ── Save toast ── */
#saveToast  {
     display: none;
     position: fixed;
     bottom: 20px;
     right: 20px;
     background: #22c55e;
     color: #fff;
     padding: 10px 18px;
     border-radius: 8px;
     font-size: 13px;
     font-weight: 600;
     z-index: 9999;
     box-shadow: 0 4px 12px rgba(0,0,0,.2);
}
/* ── Print ── */
@media print  {
  .ims-topbar, .ims-sidebar, #saveToast, .btn  {
     display: none !important;
}
  .ims-layout  {
     height: auto;
     overflow: visible;
}
  .ims-content  {
     overflow: visible;
     padding: 0;
}
  .doc-paper  {
     page-break-after: always;
}
}

/*
 * ── OBJECTIVES MODULE ──
 */

/* register.php */
#objSaveBtn  {
     background: var(--orange,#e85d04)!important;
     color: #fff!important;
     border: none!important;
}
.obj-titlebar  {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 14px 20px;
     border-bottom: 1px solid #e5e7eb;
}
.obj-titlebar h1  {
     font-size: 18px;
     font-weight: 700;
     margin: 0;
}
.obj-ref  {
     font-size: 11px;
     color: #6b7280;
     margin-top: 2px;
}
.obj-statusbar  {
     display: flex;
     align-items: center;
     gap: 8px;
     padding: 10px 20px;
     background: #f9fafb;
     border-bottom: 1px solid #e5e7eb;
     flex-wrap: wrap;
}
.obj-chip  {
     padding: 4px 12px;
     border-radius: 20px;
     font-size: 11px;
     font-weight: 600;
     cursor: pointer;
     border: 1.5px solid #e5e7eb;
     background: #fff;
     color: #374151;
}
.obj-chip.active  {
     border-color: #162032;
     background: #162032;
     color: #fff;
}
.obj-chip-on   {
     border-color: #86EFAC;
     color: #0d5c42;
     background: #EAF7F2;
}
.obj-chip-on.active   {
     background: #0d5c42;
     color: #fff;
     border-color: #0d5c42;
}
.obj-chip-ip   {
     border-color: #B5D4F4;
     color: #0C447C;
     background: #EBF4FF;
}
.obj-chip-ip.active   {
     background: #0C447C;
     color: #fff;
     border-color: #0C447C;
}
.obj-chip-ov   {
     border-color: #FECACA;
     color: #7F1D1D;
     background: #FEF2F2;
}
.obj-chip-ov.active   {
     background: #7F1D1D;
     color: #fff;
     border-color: #7F1D1D;
}
.obj-std-strip  {
     padding: 8px 20px;
     background: #f5f5f2;
     border-bottom: 1px solid #e5e7eb;
     display: flex;
     align-items: center;
     gap: 6px;
     flex-wrap: wrap;
     font-size: 11px;
     color: #6b7280;
}
.obj-std-b  {
     font-size: 10px;
     font-weight: 700;
     padding: 2px 8px;
     border-radius: 3px;
}
.obj-b9001   {
     background: #EBF4FF;
     color: #0C447C;
}
.obj-b14001  {
     background: #EAF7F2;
     color: #0d5c42;
}
.obj-b45001  {
     background: #FEF3C7;
     color: #92400E;
}
.obj-b27001  {
     background: #F3E8FF;
     color: #6B21A8;
}
.obj-note  {
     background: #EBF4FF;
     border-bottom: 0.5px solid #B5D4F4;
     padding: 9px 20px;
     font-size: 12px;
     color: #0C447C;
}
.obj-table  {
     width: 100%;
     border-collapse: collapse;
     font-size: 12px;
}
.obj-table th  {
     background: #162032;
     color: rgba(255,255,255,.75);
     padding: 8px 10px;
     font-size: 10px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: .04em;
     text-align: left;
     border-right: 0.5px solid rgba(255,255,255,.1);
     white-space: nowrap;
}
.obj-table th:last-child  {
     border-right: none;
}
.obj-table td  {
     border-bottom: 0.5px solid #e5e7eb;
     border-right: 0.5px solid #e5e7eb;
     vertical-align: top;
     padding: 0;
     background: #fff !important;
}
.obj-table td:last-child  {
     border-right: none;
}
.obj-table tr:last-child td  {
     border-bottom: none;
}
.obj-table tr:hover td  {
     background: #fafaf8 !important;
}
.obj-table tr.hidden  {
     display: none;
}
.ft  {
     width: 100%;
     border: none;
     background: transparent;
     font-family: inherit;
     font-size: 12px;
     color: #1a1a18;
     padding: 9px 10px;
     outline: none;
     /*resize: vertical;*/
     line-height: 1.6;
     display: block;
     box-sizing: border-box;
     min-height: 52px;
}
.ft:focus  {
     background: #FDF0E6;
}
.ft::placeholder  {
     color: #d1d5db;
}
.fi2  {
     display: block;
     width: 100%;
     border: none;
     background: transparent;
     font-family: inherit;
     font-size: 12px;
     color: #1a1a18;
     padding: 9px 10px;
     outline: none;
     box-sizing: border-box;
}
.fi2:focus  {
     background: #FDF0E6;
}
.fi2::placeholder  {
     color: #d1d5db;
}
.obj-status-cell  {
     padding: 5px 4px;
     text-align: center;
     vertical-align: middle;
}
.obj-status-sel  {
     border: 0.5px solid rgba(0,0,0,.12);
     border-radius: 999px;
     font-family: inherit;
     font-size: 10px;
     font-weight: 700;
     padding: 3px 6px;
     outline: none;
     cursor: pointer;
     width: 100%;
}
.s-on  {
     background: #EAF7F2;
     color: #0d5c42;
     border-color: #86EFAC;
}
.s-ip  {
     background: #EBF4FF;
     color: #0C447C;
     border-color: #B5D4F4;
}
.s-ov  {
     background: #FEF2F2;
     color: #7F1D1D;
     border-color: #FECACA;
}
.s-co  {
     background: #f5f5f2;
     color: #4a4a46;
     border-color: rgba(0,0,0,.15);
}
.obj-prog-wrap  {
     padding: 10px 12px;
     vertical-align: middle;
}
.obj-prog-bar  {
     height: 6px;
     background: rgba(0,0,0,.08);
     border-radius: 999px;
     overflow: hidden;
     margin-top: 4px;
}
.obj-prog-fill  {
     height: 100%;
     border-radius: 999px;
     transition: width .3s;
}
.obj-add-btn  {
     display: flex;
     align-items: center;
     gap: 6px;
     font-size: 12px;
     color: #6b7280;
     cursor: pointer;
     padding: 9px 16px;
     border: none;
     background: #f5f5f2;
     font-family: inherit;
     width: 100%;
     border-top: 0.5px solid #e5e7eb;
}
.obj-add-btn:hover  {
     color: #E07B2A;
     background: #FDF0E6;
}
.obj-info-ftr  {
     padding: 10px 20px;
     background: #f5f5f2;
     border-top: 0.5px solid #e5e7eb;
     font-size: 12px;
     color: #6b7280;
     display: flex;
     align-items: center;
     gap: 8px;
}
.rm-btn  {
     border: none;
     background: none;
     cursor: pointer;
     color: rgba(0,0,0,.15);
     font-size: 13px;
     padding: 4px 8px;
     border-radius: 3px;
     display: block;
     margin: 3px auto;
}
.rm-btn:hover  {
     color: #DC2626;
     background: #FEE2E2;
}
tr:hover .rm-btn  {
     color: rgba(0,0,0,.3);
}
.obj-sigstrip  {
     display: grid;
     grid-template-columns: 1fr 1fr;
     border-top: 2px solid #162032;
}
.obj-sigcell  {
     padding: 14px 20px;
     background: #fff;
     border-right: 0.5px solid #e5e7eb;
}
.obj-sigcell:last-child  {
     border-right: none;
}
.obj-siglabel  {
     font-size: 10px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: .07em;
     color: #162032;
     margin-bottom: 8px;
}
.obj-sigline  {
     width: 100%;
     border: none;
     border-bottom: 1.5px solid #162032;
     background: transparent;
     font-size: 14px;
     padding: 4px 0;
     margin-bottom: 8px;
     font-family: inherit;
     outline: none;
}
.obj-sigline:focus  {
     border-bottom-color: #E07B2A;
}
.obj-sigsub  {
     font-size: 11px;
     color: #6b7280;
     display: flex;
     align-items: center;
     gap: 6px;
     margin-bottom: 4px;
}
.obj-sigsub input  {
     border: none;
     border-bottom: 1px solid #d1d5db;
     background: transparent;
     font-size: 12px;
     width: 180px;
     font-family: inherit;
     outline: none;
}
.obj-ftr  {
     padding: 8px 20px;
     font-size: 10px;
     color: #9ca3af;
     display: flex;
     justify-content: space-between;
     border-top: 1px solid #e5e7eb;
}

/*
 * ── ORGANISATIONS MODULE ──
 */

/* edit.php */
.org-edit  {
     width: 100%;
}
/* Logo drop area */
.logo-drop-area  {
    border: 2px dashed rgba(0,0,0,0.18);
    border-radius: 10px;
    padding: 24px;
    text-align: center;
    cursor: pointer;
    background: #fafaf8;
    transition: border-color 0.2s, background 0.2s;
    position: relative;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.logo-drop-area:hover,
.logo-drop-area.drag-over  {
    border-color: #E07B2A;
    background: #fdf4ec;
}
.logo-drop-placeholder  {
     pointer-events: none;
}
.logo-drop-placeholder svg  {
     display: block;
     margin: 0 auto 8px;
     color: #9a9a96;
}
.logo-drop-placeholder p   {
     font-size: 13px;
     color: #5a5a56;
     margin: 0 0 4px;
}
.logo-drop-placeholder small  {
     font-size: 11px;
     color: #9a9a96;
}
.logo-preview-wrap  {
     display: none;
}
.logo-preview-wrap img  {
     max-height: 80px;
     max-width: 240px;
     object-fit: contain;
     border-radius: 4px;
}
.logo-remove-btn  {
    position: absolute;
     top: 8px;
     right: 8px;
    background: rgba(0,0,0,0.08);
     border: none;
     border-radius: 50%;
    width: 22px;
     height: 22px;
     cursor: pointer;
     font-size: 12px;
     line-height: 22px;
    color: #444;
     display: none;
}
.logo-remove-btn.visible  {
     display: block;
}
/* Styled ISO standard checkboxes */
.std-checkboxes  {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}
.std-cb-label  {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    border-radius: 999px;
    border: 1.5px solid rgba(0,0,0,0.12);
    background: #f5f5f2;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.15s;
    user-select: none;
}
.std-cb-label input[type="checkbox"]  {
     display: none;
}
.std-cb-label.is-checked  {
     font-weight: 600;
}

/* scope.php */
@media print  {
    .no-print  {
     display: none !important;
}
    .print-document  {
     margin: 0;
}
    .print-table  {
     width: 100%;
     border-collapse: collapse;
}
    .print-table th, .print-table td  {
     border: 1px solid #999;
     padding: 6px 10px;
     text-align: left;
}
    .print-table th  {
     background: #f0f0f0;
     font-weight: bold;
}
    .print-footer  {
     margin-top: 40px;
     font-size: 11px;
     color: #666;
     border-top: 1px solid #ccc;
     padding-top: 8px;
}
}
.print-only  {
     display: none;
}
@media print  {
     .print-only  {
     display: block;
}
}

/*
 * ── PERSONALDATA MODULE ──
 */

/* index.php */
.ropa-wrap {
    max-width: 1400px;
    margin: 0 auto;
}
.ropa-stats {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
    margin-bottom: 12px;
}
.ropa-sc {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    border: 0.5px solid;
}
.ropa-sc-total {
    background: #f5f5f2;
    color: #4a4a46;
    border-color: rgba(0,0,0,.15);
}
.ropa-sc-spec {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.ropa-sc-emp {
    background: #EBF4FF;
    color: #1e3a8a;
    border-color: #B5D4F4;
}
.ropa-sc-cust {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.ropa-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.ropa-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ropa-hmeta {
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.ropa-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.ropa-hbadges {
    display: flex;
    gap: 6px;
    align-items: center;
}
.ropa-hbadge {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 999px;
    border: 0.5px solid;
}
.ropa-conf {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.ropa-gdpr {
    background: #EEEDFE;
    color: #3C3489;
    border-color: #CECBF6;
}
.ropa-meta {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.ropa-mc {
    border-right: 0.5px solid rgba(0,0,0,.09);
    padding: 0;
}
.ropa-mc:last-child {
    border-right: none;
}
.ropa-ml {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    padding: 7px 14px 2px;
    display: block;
}
.ropa-mi {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
}
.ropa-mi:focus {
    background: #FDF0E6;
}
.ropa-mi[readonly] {
    cursor: default;
    color: #4a4a46;
}
.ropa-info {
    background: #FEF2F2;
    border-left: 3px solid #DC2626;
    padding: 10px 16px;
    font-size: 12px;
    color: #7F1D1D;
    line-height: 1.7;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.ropa-info .material-icons {
    font-size: 15px;
    flex-shrink: 0;
    margin-top: 1px;
}
.ropa-basis-key {
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    padding: 8px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 11px;
    color: #4a4a46;
}
.bk {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    border: 0.5px solid;
    white-space: nowrap;
}
.bk-a {
    background: #EBF4FF;
    color: #0C447C;
    border-color: #B5D4F4;
}
.bk-b {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.bk-c {
    background: #FEF3C7;
    color: #78350F;
    border-color: #FDE68A;
}
.bk-d {
    background: #EEEDFE;
    color: #3C3489;
    border-color: #CECBF6;
}
.bk-e {
    background: #f5f5f2;
    color: #4a4a46;
    border-color: rgba(0,0,0,.2);
}
.bk-f {
    background: #FDF0E6;
    color: #a85a1e;
    border-color: rgba(224,123,42,.35);
}
.bk-sc {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
    font-weight: 800;
}
.ropa-tbl-wrap {
    overflow-x: auto;
}
.ropa-tbl {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    min-width: 1100px;
}
.ropa-tbl th {
    padding: 8px 10px;
    background: #f5f5f2;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
    word-wrap: break-word;
}
.ropa-tbl th:last-child {
    border-right: none;
}
.ropa-tbl td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: top;
}
.ropa-tbl td:last-child {
    border-right: none;
}
.ropa-tbl tr:last-child td {
    border-bottom: none;
}
.ropa-tbl tr:hover td {
    background: #fafaf8;
}
.ropa-tbl td.cat-td {
    padding: 10px;
    vertical-align: middle;
}
.cat-name {
    font-size: 12px;
    font-weight: 600;
    color: #1a1a18;
    margin-bottom: 2px;
    outline: none;
    min-width: 60px;
}
.spec-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700;
    background: #FEF2F2;
    color: #7F1D1D;
    border: 0.5px solid #FECACA;
    margin-top: 4px;
}
.spec-tag .material-icons {
    font-size: 10px;
}
.ropa-tc {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    color: #1a1a18;
    padding: 9px 10px;
    outline: none;
    resize: none;
    overflow: hidden;
    line-height: 1.6;
    min-height: 60px;
    box-sizing: border-box;
    word-wrap: break-word;
}
.ropa-tc:focus {
    background: #FDF0E6;
}
.ropa-tc::placeholder {
    color: #9ca3af;
}
.ropa-tc[readonly] {
    cursor: default;
}
.lb-cell {
    padding: 6px 8px;
    vertical-align: top;
}
.lb-badges {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.lb-sel {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 999px;
    border: 0.5px solid;
    cursor: pointer;
    font-family: inherit;
    background: #f5f5f2;
    color: #4a4a46;
    border-color: rgba(0,0,0,.2);
    appearance: none;
    outline: none;
}
.lb-add {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    color: #7a7a76;
    cursor: pointer;
    background: none;
    border: none;
    font-family: inherit;
    margin-top: 3px;
    padding: 0;
}
.lb-add:hover {
    color: #E07B2A;
}
.lb-add .material-icons {
    font-size: 12px;
}
.spec-toggle {
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 9px;
    font-weight: 700;
    cursor: pointer;
    background: #f5f5f2;
    color: #4a4a46;
    font-family: inherit;
    transition: all .12s;
}
.spec-toggle.on {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.spec-toggle:disabled {
    cursor: default;
    opacity: .7;
}
.rm-btn {
    border: none;
    background: none;
    cursor: pointer;
    color: rgba(0,0,0,.1);
    padding: 5px;
    display: block;
    margin: 3px auto;
    border-radius: 4px;
    width: 28px;
    text-align: center;
}
.rm-btn:hover {
    color: #7F1D1D;
    background: #FEF2F2;
}
tr:hover .rm-btn {
    color: rgba(0,0,0,.3);
}
.ropa-add-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 9px 16px;
    border: none;
    background: #f5f5f2;
    font-family: inherit;
    width: 100%;
    border-top: 0.5px solid rgba(0,0,0,.09);
}
.ropa-add-row:hover {
    color: #E07B2A;
    background: #FDF0E6;
}
.ropa-add-row .material-icons {
    font-size: 14px;
}
.ropa-sigstrip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 0.5px solid rgba(0,0,0,.09);
}
.ropa-sigcell {
    padding: 14px 18px;
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.ropa-sigcell:last-child {
    border-right: none;
}
.ropa-siglabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #7a7a76;
    margin-bottom: 8px;
}
.ropa-sigline {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 3px 0;
    width: 100%;
    outline: none;
    margin-bottom: 6px;
    display: block;
}
.ropa-sigline:focus {
    border-bottom-color: #E07B2A;
}
.ropa-sigline[readonly] {
    cursor: default;
    color: #4a4a46;
}
.ropa-sigsub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 3px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.ropa-sigsub input {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    padding: 1px 4px;
    outline: none;
    color: #1a1a18;
}
.ropa-sigsub input:focus {
    border-bottom-color: #E07B2A;
}
.ropa-sigsub input[readonly] {
    cursor: default;
}
.ropa-ftr {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
.ropa-save-bar {
    max-width: 1400px;
    margin: 14px auto 0;
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 10px;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ropa-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    font-family: inherit;
}
.ropa-btn-print {
    background: #fff;
    color: #4a4a46;
    border: 0.5px solid rgba(0,0,0,.15);
}
.ropa-btn-print:hover {
    background: #f5f5f2;
}
.ropa-btn-add {
    background: #EBF4FF;
    color: #0C447C;
    border: 0.5px solid #B5D4F4;
}
.ropa-btn-add:hover {
    background: #D6EBFF;
}
.ropa-btn-save {
    background: #E07B2A;
    color: #fff;
}
.ropa-btn-save:hover {
    opacity: .88;
}
.ropa-btn .material-icons {
    font-size: 14px;
}
@media print {
  body {
    background: #fff;
    padding: 0;
}
  .ropa-stats,.ropa-save-bar {
    display: none!important;
}
  .ropa-paper {
    box-shadow: none;
    border: none;
}
  .ropa-add-row,.rm-btn,.lb-add {
    display: none!important;
}
  .ropa-tc {
    min-height: auto;
}
  @page {
    margin: 1cm;
    size: A4 landscape;
}
}

/*
 * ── PREMISES MODULE ──
 */

/* checklist.php */
.fq26-sbar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 8px 14px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.fq26-prog-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 200px;
}
.fq26-prog-bar {
    flex: 1;
    height: 8px;
    background: rgba(0,0,0,.08);
    border-radius: 999px;
    overflow: hidden;
}
.fq26-prog-fill {
    height: 100%;
    background: #1D9E75;
    border-radius: 999px;
    transition: width .3s;
}
.fq26-prog-lbl {
    font-size: 11px;
    font-weight: 600;
    color: #1D9E75;
    min-width: 80px;
}
.fq26-chips {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}
.fq26-chip {
    font-size: 10px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 999px;
    border: 0.5px solid;
    cursor: default;
}
.fq26-chip-done {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.fq26-chip-pend {
    background: #f5f5f2;
    color: #9ca3af;
    border-color: rgba(0,0,0,.15);
}
.fq26-chip-iss {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.fq26-ss {
    margin-left: auto;
    font-size: 12px;
    color: #7a7a76;
}
.fq26-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.fq26-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fq26-hmeta {
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.fq26-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.fq26-metastrip {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.fq26-mc {
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.fq26-mc:last-child {
    border-right: none;
}
.fq26-mlabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    padding: 7px 16px 2px;
    display: block;
}
.fq26-minput {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 16px 10px;
    outline: none;
}
.fq26-minput:focus {
    background: #FDF0E6;
}
.fq26-infobar {
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    padding: 9px 18px;
    font-size: 12px;
    color: #7a7a76;
}
.fq26-infobar strong {
    color: #4a4a46;
}
.fq26-ct {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.fq26-ct th {
    padding: 6px 8px;
    background: #162032;
    color: rgba(255,255,255,.7);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 600;
    border-right: 0.5px solid rgba(255,255,255,.1);
    text-align: center;
    white-space: nowrap;
}
.fq26-ct th.area-hdr {
    text-align: left;
}
.fq26-ct th:last-child {
    border-right: none;
}
.fq26-ct td {
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: top;
    padding: 0;
}
.fq26-ct td:last-child {
    border-right: none;
}
.fq26-ct tr:last-child td {
    border-bottom: none;
}
.fq26-ct tr:hover td {
    background: #fafaf8;
}
.fq26-area-td {
    padding: 10px 12px !important;
    font-size: 12px;
    line-height: 1.5;
    vertical-align: middle;
}
.fq26-area-title {
    font-weight: 600;
    color: #1a1a18;
    margin-bottom: 2px;
}
.fq26-area-sub {
    font-size: 11px;
    color: #7a7a76;
    line-height: 1.5;
}
.fq26-month-td {
    padding: 4px;
    text-align: center;
    vertical-align: middle;
    width: 48px;
}
.fq26-init-inp {
    width: 38px;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 4px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    color: #1a1a18;
    padding: 3px 4px;
    text-align: center;
    background: #fff;
    outline: none;
    display: block;
    margin: 0 auto;
}
.fq26-init-inp:focus {
    border-color: #E07B2A;
    background: #FDF0E6;
}
.fq26-init-inp.done {
    background: #EAF7F2;
    border-color: #86EFAC;
    color: #0d5c42;
}
.fq26-notes-label {
    border-top: 0.5px solid rgba(0,0,0,.09);
    background: #f5f5f2;
    padding: 7px 16px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
}
.fq26-notes-ta {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 10px 16px;
    outline: none;
    resize: vertical;
    min-height: 64px;
    line-height: 1.6;
}
.fq26-notes-ta:focus {
    background: #FDF0E6;
}
.fq26-notes-ta::placeholder {
    color: #9ca3af;
}
.fq26-sec-hdr {
    background: #162032;
    padding: 8px 16px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #E07B2A;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fq26-sec-hdr .material-icons {
    font-size: 14px;
    vertical-align: -2px;
}
.fq26-sec-add-btn {
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 5px;
    border: 0.5px solid rgba(255,255,255,.25);
    background: transparent;
    color: rgba(255,255,255,.7);
    font-family: inherit;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
}
.fq26-sec-add-btn:hover {
    background: rgba(255,255,255,.1);
}
.fq26-ev-table {
    width: 100%;
    border-collapse: collapse;
}
.fq26-ev-table th {
    padding: 7px 12px;
    background: #f5f5f2;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.fq26-ev-table th:last-child {
    border-right: none;
}
.fq26-ev-table td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: middle;
}
.fq26-ev-table td:last-child {
    border-right: none;
}
.fq26-ev-table tr:last-child td {
    border-bottom: none;
}
.fq26-ev-inp {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 8px 12px;
    outline: none;
}
.fq26-ev-inp:focus {
    background: #FDF0E6;
}
.fq26-ev-inp::placeholder {
    color: #d1d5db;
}
.fq26-al {
    width: 100%;
    border-collapse: collapse;
}
.fq26-al th {
    padding: 7px 10px;
    background: #f5f5f2;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.fq26-al th:last-child {
    border-right: none;
}
.fq26-al td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: middle;
}
.fq26-al td:last-child {
    border-right: none;
}
.fq26-al tr:last-child td {
    border-bottom: none;
}
.fq26-al tr:hover td {
    background: #fafaf8;
}
.fq26-al-inp {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 8px 10px;
    outline: none;
}
.fq26-al-inp:focus {
    background: #FDF0E6;
}
.fq26-al-inp::placeholder {
    color: #d1d5db;
}
.fq26-al-ta {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 8px 10px;
    outline: none;
    resize: none;
    overflow: hidden;
    min-height: 34px;
    line-height: 1.6;
}
.fq26-al-ta:focus {
    background: #FDF0E6;
}
.fq26-al-ta::placeholder {
    color: #d1d5db;
}
.fq26-er1-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 9px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 999px;
    background: #FDF0E6;
    color: #a85a1e;
    border: 0.5px solid rgba(224,123,42,.35);
    cursor: pointer;
    vertical-align: middle;
    margin-bottom: 3px;
}
.fq26-er1-badge.raised {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
    cursor: default;
}
.fq26-rm-btn {
    border: none;
    background: none;
    cursor: pointer;
    color: rgba(0,0,0,.1);
    padding: 4px;
    border-radius: 3px;
    display: block;
    margin: auto;
}
.fq26-rm-btn:hover {
    color: #DC2626;
    background: #FEF2F2;
}
tr:hover .fq26-rm-btn {
    color: rgba(0,0,0,.25);
}
.fq26-add-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 9px 16px;
    border: none;
    background: #f5f5f2;
    font-family: inherit;
    width: 100%;
    border-top: 0.5px solid rgba(0,0,0,.09);
    transition: all .12s;
}
.fq26-add-btn:hover {
    color: #E07B2A;
    background: #FDF0E6;
}
.fq26-add-btn .material-icons {
    font-size: 14px;
}
.fq26-ftr {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
.fq26-save-bar {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 10px;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
}
.fq26-btn-save {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 22px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    font-family: inherit;
    background: #E07B2A;
    color: #fff;
}
.fq26-btn-save:hover {
    opacity: .88;
}
.fq26-btn-save .material-icons {
    font-size: 14px;
}
.fq26-btn-back {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 9px 16px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 0.5px solid rgba(0,0,0,.15);
    font-family: inherit;
    background: #fff;
    color: #4a4a46;
    text-decoration: none;
}
.fq26-btn-back:hover {
    background: #f5f5f2;
}

/* index.php */
.prem-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.prem-hdr h2 {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a18;
    margin: 0;
}
.prem-btn-new {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    font-family: inherit;
    background: #E07B2A;
    color: #fff;
    text-decoration: none;
}
.prem-btn-new:hover {
    opacity: .88;
}
.prem-btn-new .material-icons {
    font-size: 14px;
}
.prem-list {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 10px;
    overflow: hidden;
}
.prem-list-hdr {
    display: grid;
    grid-template-columns: 80px 1fr 200px 160px 80px;
    padding: 8px 16px;
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
}
.prem-row {
    display: grid;
    grid-template-columns: 80px 1fr 200px 160px 80px;
    padding: 12px 16px;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    align-items: center;
    text-decoration: none;
    color: inherit;
    transition: background .1s;
}
.prem-row:last-child {
    border-bottom: none;
}
.prem-row:hover {
    background: #fafaf8;
}
.prem-year {
    font-size: 20px;
    font-weight: 700;
    color: #E07B2A;
}
.prem-empty {
    padding: 48px 24px;
    text-align: center;
    color: #7a7a76;
    font-size: 13px;
}
.prem-empty .material-icons {
    font-size: 48px;
    color: #d1d5db;
    display: block;
    margin-bottom: 8px;
}
.prem-year-btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}
.prem-yr-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 16px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 500;
    border: 0.5px solid rgba(0,0,0,.15);
    background: #fff;
    color: #4a4a46;
    text-decoration: none;
    cursor: pointer;
    transition: all .12s;
}
.prem-yr-btn:hover {
    background: #f5f5f2;
}
.prem-yr-btn.current {
    background: #162032;
    color: #fff;
    border-color: #162032;
}

/*
 * ── RISKS MODULE ──
 */

/* index.php */
/* ── F-IMS23 scoped styles ── */
.fims  {
     --fims-green: #16A34A;
     --fims-red: #DC2626;
     --fims-blue: #2563EB;
     --fims-amber: #D97706;
        --fims-purple: #7C3AED;
     --fims-cyan: #0891B2;
     font-size: 13px;
}
.fims-paper {
    background: var(--surface, #fff);
    border: 0.5px solid var(--border-light, #e5e7eb);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0, 0, 0, .06);
    padding: 0 16px 16px;
}
.fims-paper--flush { padding: 0; }
.fims-paper tr:nth-child(odd) { background: transparent; }
.er1-paper  tr:nth-child(odd) { background: transparent; }
.er5-paper  tr:nth-child(odd) { background: transparent; }
.er11-paper tr:nth-child(odd) { background: transparent; }
.fq2-paper  tr:nth-child(odd) { background: transparent; }
.fq25-paper tr:nth-child(odd) { background: transparent; }
.fq26-paper tr:nth-child(odd) { background: transparent; }
.fq31-paper tr:nth-child(odd) { background: transparent; }
.fims-header  {
     display: flex;
     align-items: center;
     justify-content: space-between;
               margin-bottom: 16px;
     flex-wrap: wrap;
     gap: 10px;
}
.fims-title   {
     font-size: 18px;
     font-weight: 700;
     color: var(--navy,#162032);
}
.fims-meta    {
     display: flex;
     align-items: center;
     gap: 12px;
}
.fims-year    {
     font-size: 12px;
     color: #666;
}
.fims-tabs    {
     display: flex;
     gap: 4px;
     margin-bottom: 20px;
     border-bottom: 2px solid #e5e7eb;
}
.fims-tab     {
     padding: 8px 16px;
     font-size: 12px;
     font-weight: 600;
     color: #6b7280;
     cursor: pointer;
               border: none;
     background: none;
     border-bottom: 2px solid transparent;
     margin-bottom: -2px;
               transition: color .15s, border-color .15s;
     white-space: nowrap;
}
.fims-tab.active   {
     color: var(--orange,#E07B2A);
     border-bottom-color: var(--orange,#E07B2A);
}
.fims-tab:hover    {
     color: #374151;
}
.fims-panel        {
     display: none;
}
.fims-panel.active {
     display: block;
}
/* SWOT */
.swot-grid   {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 12px;
}
@media(max-width: 600px) {
     .swot-grid {
     grid-template-columns: 1fr;
}
}
.swot-card   {
     border: 1px solid #e5e7eb;
     border-radius: 8px;
     overflow: hidden;
}
.swot-head   {
     padding: 10px 14px;
     display: flex;
     align-items: center;
     gap: 8px;
}
.swot-letter {
     width: 28px;
     height: 28px;
     border-radius: 50%;
     display: flex;
     align-items: center;
              justify-content: center;
     font-weight: 700;
     font-size: 14px;
     color: #fff;
     flex-shrink: 0;
}
.swot-label  {
     font-weight: 600;
     font-size: 13px;
}
.swot-items  {
     padding: 6px 10px;
     min-height: 60px;
}
.swot-item   {
     display: flex;
     align-items: center;
     gap: 6px;
     margin: 4px 0;
}
.swot-dot    {
     width: 7px;
     height: 7px;
     border-radius: 50%;
     flex-shrink: 0;
}
.swot-item input {
     flex: 1;
     border: none;
     border-bottom: 1px solid #e5e7eb;
     background: transparent;
                  font-size: 12px;
     padding: 3px 4px;
     outline: none;
     color: #374151;
}
.swot-item input:focus {
     border-bottom-color: #9ca3af;
}
.swot-remove {
     border: none;
     background: none;
     cursor: pointer;
     color: #9ca3af;
     padding: 2px;
     font-size: 13px;
}
.swot-remove:hover {
     color: #ef4444;
}
.swot-add    {
     border: none;
     background: none;
     cursor: pointer;
     font-size: 11px;
     color: #9ca3af;
              padding: 4px 10px 8px;
     display: flex;
     align-items: center;
     gap: 4px;
}
.swot-add:hover {
     color: var(--orange,#E07B2A);
}
/* Risk Register */
.risk-toolbar  {
     display: flex;
     align-items: center;
     justify-content: space-between;
                margin-bottom: 12px;
     flex-wrap: wrap;
     gap: 8px;
}
.risk-summary  {
     display: flex;
     gap: 12px;
}
.risk-pill     {
     font-size: 11px;
     font-weight: 600;
     padding: 3px 10px;
     border-radius: 99px;
}
.pill-t        {
     background: #dcfce7;
     color: #166534;
}
.pill-m        {
     background: #fef9c3;
     color: #854d0e;
}
.pill-s        {
     background: #fee2e2;
     color: #991b1b;
}
.risk-table    {
     width: 100%;
     border-collapse: collapse;
     font-size: 12px;
}
.risk-table th {
     background: #f9fafb;
     text-align: left;
     padding: 7px 10px;
     font-weight: 600;
                color: #6b7280;
     border-bottom: 2px solid #e5e7eb;
     font-size: 11px;
     text-transform: uppercase;
}
.risk-table td {
     padding: 7px 8px;
     border-bottom: 1px solid #f3f4f6;
     vertical-align: top;
}
.risk-table tr:hover td {
     background: #fafafa;
}
.risk-num     {
     width: 32px;
     font-weight: 600;
     color: #9ca3af;
     font-size: 11px;
}
.risk-desc-input  {
     width: 100%;
     border: none;
     background: transparent;
     font-size: 12px;
     font-weight: 500;
                   color: #374151;
     padding: 0;
     outline: none;
}
.risk-conseq  {
     margin-top: 4px;
}
.risk-conseq input {
     width: 100%;
     border: none;
     background: transparent;
     font-size: 11px;
     color: #6b7280;
                    padding: 0;
     outline: none;
}
.rating-badge {
     display: inline-flex;
     flex-direction: column;
     align-items: center;
     padding: 4px 8px;
               border-radius: 6px;
     font-size: 11px;
     font-weight: 600;
     cursor: pointer;
     min-width: 80px;
               text-align: center;
     user-select: none;
     transition: opacity .1s;
}
.rating-badge:hover {
     opacity: .8;
}
.rating-code  {
     font-size: 9px;
     font-weight: 400;
     opacity: .7;
     margin-top: 1px;
}
.rt  {
     background: #dcfce7;
     color: #166534;
}
.rm  {
     background: #fef9c3;
     color: #854d0e;
}
.rs  {
     background: #fee2e2;
     color: #991b1b;
}
.controls-input {
     width: 100%;
     border: none;
     background: transparent;
     font-size: 11px;
     color: #374151;
                 resize: vertical;
     min-height: 44px;
     outline: none;
     padding: 0;
     line-height: 1.5;
}
.risk-remove {
     border: none;
     background: none;
     cursor: pointer;
     color: #d1d5db;
     padding: 2px;
     font-size: 13px;
}
.risk-remove:hover {
     color: #ef4444;
}
td.rating-cell {
     width: 96px;
     text-align: center;
}
td.risk-actions-cell {
     width: 28px;
}
/* PESTLE */
.pestle-grid  {
     display: grid;
     grid-template-columns: repeat(3,1fr);
     gap: 12px;
}
@media(max-width: 700px) {
     .pestle-grid {
     grid-template-columns: 1fr;
}
}
.pestle-card  {
     border: 1px solid #e5e7eb;
     border-radius: 8px;
     overflow: hidden;
}
.pestle-head  {
     padding: 10px 14px;
     display: flex;
     align-items: center;
     gap: 10px;
}
.pestle-letter {
     width: 30px;
     height: 30px;
     border-radius: 8px;
     display: flex;
     align-items: center;
                justify-content: center;
     font-weight: 700;
     font-size: 15px;
     color: #fff;
     flex-shrink: 0;
}
.pestle-label  {
     font-weight: 600;
     font-size: 13px;
}
.pestle-desc   {
     font-size: 11px;
     color: #6b7280;
     margin-top: 1px;
}
.pestle-items  {
     padding: 4px 10px;
     min-height: 40px;
}
.pestle-item   {
     display: flex;
     align-items: center;
     gap: 6px;
     margin: 4px 0;
}
.pestle-type   {
     font-size: 10px;
     font-weight: 700;
     padding: 2px 6px;
     border-radius: 4px;
                cursor: pointer;
     flex-shrink: 0;
     user-select: none;
}
.pt-r  {
     background: #fee2e2;
     color: #991b1b;
}
.pt-o  {
     background: #dcfce7;
     color: #166534;
}
.pt-b  {
     background: #dbeafe;
     color: #1e40af;
}
.pestle-item input {
     flex: 1;
     border: none;
     border-bottom: 1px solid #e5e7eb;
     background: transparent;
                    font-size: 12px;
     padding: 3px 4px;
     outline: none;
     color: #374151;
}
.pestle-item input:focus {
     border-bottom-color: #9ca3af;
}
.pestle-item-remove {
     border: none;
     background: none;
     cursor: pointer;
     color: #d1d5db;
     padding: 2px;
     font-size: 12px;
}
.pestle-item-remove:hover {
     color: #ef4444;
}
/* Review */
.review-grid  {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 16px;
}
@media(max-width: 600px) {
     .review-grid {
     grid-template-columns: 1fr;
}
}
.review-section  {
     border: 1px solid #e5e7eb;
     border-radius: 8px;
     overflow: hidden;
     margin-bottom: 16px;
}
.review-section-title {
     background: #f9fafb;
     padding: 10px 14px;
     font-size: 11px;
     font-weight: 700;
                        text-transform: uppercase;
     letter-spacing: .05em;
     color: #6b7280;
                        border-bottom: 1px solid #e5e7eb;
}
.review-section-body  {
     padding: 14px;
}
.fi  {
     width: 100%;
     border: 1px solid #e5e7eb;
     border-radius: 6px;
     font-size: 12px;
      padding: 8px 10px;
     color: #374151;
     font-family: inherit;
     background: #fff;
     box-sizing: border-box;
}
.fi:focus {
     outline: none;
     border-color: #9ca3af;
}
.fi.tall  {
     min-height: 80px;
     resize: vertical;
}
.fi-label  {
     font-size: 11px;
     font-weight: 600;
     color: #6b7280;
     margin-bottom: 4px;
     display: block;
     text-transform: uppercase;
}
.fi-row    {
     margin-bottom: 12px;
}
.sig-grid  {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 16px;
}

.sig-grid > div {
    display: grid;
    gap: 16px;
}

@media(max-width: 600px) {
     .sig-grid {
     grid-template-columns: 1fr;
}
}
.sig-label {
     font-size: 11px;
     font-weight: 700;
     color: #6b7280;
     text-transform: uppercase;
     margin-bottom: 6px;
}
.sig-name  {
     border: none;
     border-bottom: 1px solid #d1d5db;
     width: 100%;
     font-size: 12px;
            padding: 4px 2px;
     background: transparent;
     font-family: inherit;
     outline: none;
     margin-bottom: 8px;
}
.sig-date  {
     border: none;
     border-bottom: 1px solid #d1d5db;
     font-size: 12px;
     padding: 4px 2px;
            background: transparent;
     font-family: inherit;
     outline: none;
}
/* Status / progress bar */
.fims-status-bar  {
     display: flex;
     align-items: center;
     gap: 12px;
     background: #fff;
                   border: 1px solid #e5e7eb;
     border-radius: 6px;
     padding: 8px 14px;
                   margin-bottom: 16px;
     font-size: 12px;
     flex-wrap: wrap;
}
.fims-status-dot  {
     width: 8px;
     height: 8px;
     border-radius: 999px;
     background: #d1d5db;
     flex-shrink: 0;
}
.fims-progress-track  {
     flex: 1;
     min-width: 80px;
     height: 4px;
     background: #e5e7eb;
                        border-radius: 99px;
     overflow: hidden;
}
.fims-progress-fill  {
    height: 4px;
    background: var(--orange,#E07B2A);
    border-radius: 99px;
    transition: width .3s;
    width: 0%;
}
.fims-progress-label  {
     font-size: 11px;
     color: #9ca3af;
}
.fims-status-label  {
     font-size: 11px;
     font-weight: 600;
     color: #6b7280;
}
/* Save bar */
.fims-save-bar  {
     display: flex;
     align-items: center;
     gap: 12px;
     justify-content: flex-end;
                 padding: 14px 0 4px;
     border-top: 1px solid #e5e7eb;
     margin-top: 20px;
}
.fims-save-status {
     font-size: 12px;
     color: #9ca3af;
}
.btn-save  {
     background: var(--orange,#E07B2A);
     color: #fff;
     border: none;
     border-radius: 6px;
            padding: 9px 22px;
     font-size: 13px;
     font-weight: 600;
     cursor: pointer;
     transition: opacity .15s;
}
.btn-save:hover {
     opacity: .85;
}
.btn-save:disabled {
     opacity: .5;
     cursor: default;
}
.btn-add-row  {
     background: transparent;
     border: 1px dashed #d1d5db;
     color: #9ca3af;
     border-radius: 6px;
               padding: 6px 14px;
     font-size: 12px;
     cursor: pointer;
     display: inline-flex;
               align-items: center;
     gap: 5px;
     transition: color .15s, border-color .15s;
     margin-top: 8px;
}
.btn-add-row:hover  {
     color: var(--orange,#E07B2A);
     border-color: var(--orange,#E07B2A);
}

/*
 * ── SUPPLIERS MODULE ──
 */

/* register.php */
.er3-wrap {
    max-width: 1400px;
    margin: 0 auto;
}
.er3-stats {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 8px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
    margin-bottom: 12px;
}
.er3-sc {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    border: 0.5px solid;
    cursor: pointer;
}
.er3-sc:hover {
    opacity: .8;
}
.er3-sc-all {
    background: #f5f5f2;
    color: #4a4a46;
    border-color: rgba(0,0,0,.15);
}
.er3-sc-app {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.er3-sc-pro {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.er3-sc-sus {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.er3-search {
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 6px;
    padding: 5px 10px;
    font-size: 12px;
    font-family: inherit;
    outline: none;
    width: 220px;
    margin-left: auto;
}
.er3-search:focus {
    border-color: #E07B2A;
}
.er3-exp-warn {
    font-size: 11px;
    color: #D97706;
    font-weight: 600;
    display: none;
    align-items: center;
    gap: 4px;
}
.er3-exp-warn .material-icons {
    font-size: 13px;
}
.er3-paper {
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}
.er3-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.er3-hmeta {
    font-size: 11px;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
}
.er3-hmeta strong {
    color: rgba(255,255,255,.85);
    font-weight: 500;
}
.er3-metastrip {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
}
.er3-mc {
    border-right: 0.5px solid rgba(0,0,0,.09);
    padding: 0;
}
.er3-mc:last-child {
    border-right: none;
}
.er3-ml {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    padding: 7px 14px 2px;
    display: block;
}
.er3-mi {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
}
.er3-mi:focus {
    background: #FDF0E6;
}
.er3-mi[readonly] {
    cursor: default;
    color: #4a4a46;
}
.er3-tbl-wrap {
    overflow-x: auto;
}
.er3-tbl {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    min-width: 1000px;
}
.er3-tbl th {
    padding: 7px 10px;
    background: #f5f5f2;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    text-align: left;
}
.er3-tbl th:last-child {
    border-right: none;
}
.er3-tbl td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0,0,0,.09);
    border-right: 0.5px solid rgba(0,0,0,.09);
    vertical-align: top;
}
.er3-tbl td:last-child {
    border-right: none;
}
.er3-tbl tr:last-child td {
    border-bottom: none;
}
.er3-tbl tr:hover td {
    background: #fafaf8;
}
.er3-tbl tr.er3-hidden {
    display: none;
}
.er3-status-cell {
    padding: 6px 8px;
    text-align: center;
    vertical-align: middle;
}
.er3-sbadge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    border: 0.5px solid;
    width: 100%;
    text-align: center;
}
.er3-sbadge.s-app {
    background: #EAF7F2;
    color: #0d5c42;
    border-color: #86EFAC;
}
.er3-sbadge.s-pro {
    background: #FFFBEB;
    color: #78350F;
    border-color: #FDE68A;
}
.er3-sbadge.s-sus {
    background: #FEF2F2;
    color: #7F1D1D;
    border-color: #FECACA;
}
.er3-sbadge.clickable {
    cursor: pointer;
}
.er3-tc {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    color: #1a1a18;
    padding: 8px 10px;
    outline: none;
    resize: none;
    overflow: hidden;
    line-height: 1.55;
    min-height: 36px;
    box-sizing: border-box;
    word-wrap: break-word;
}
.er3-tc:focus {
    background: #FDF0E6;
}
.er3-tc::placeholder {
    color: #9ca3af;
}
.er3-tc[readonly] {
    cursor: default;
}
.er3-date {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 11px;
    color: #1a1a18;
    padding: 8px 8px;
    outline: none;
}
.er3-date:focus {
    background: #FDF0E6;
}
.er3-date[readonly] {
    cursor: default;
    color: #4a4a46;
}
.er3-date.exp-warn {
    color: #DC2626;
    font-weight: 600;
}
.er3-date.exp-soon {
    color: #D97706;
    font-weight: 600;
}
.er3-rm {
    border: none;
    background: none;
    cursor: pointer;
    color: rgba(0,0,0,.1);
    padding: 5px;
    display: block;
    margin: 2px auto;
    border-radius: 4px;
    width: 28px;
    text-align: center;
}
.er3-rm:hover {
    color: #7F1D1D;
    background: #FEF2F2;
}
tr:hover .er3-rm {
    color: rgba(0,0,0,.25);
}
.er3-add-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 9px 16px;
    border: none;
    background: #f5f5f2;
    font-family: inherit;
    width: 100%;
    border-top: 0.5px solid rgba(0,0,0,.09);
}
.er3-add-row:hover {
    color: #E07B2A;
    background: #FDF0E6;
}
.er3-add-row .material-icons {
    font-size: 14px;
}
.er3-sigstrip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 0.5px solid rgba(0,0,0,.09);
}
.er3-sigcell {
    padding: 12px 16px;
    border-right: 0.5px solid rgba(0,0,0,.09);
}
.er3-sigcell:last-child {
    border-right: none;
}
.er3-siglabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #7a7a76;
    margin-bottom: 8px;
}
.er3-sigline {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 3px 0;
    width: 100%;
    outline: none;
    margin-bottom: 5px;
    display: block;
}
.er3-sigline:focus {
    border-bottom-color: #E07B2A;
}
.er3-sigline[readonly] {
    cursor: default;
    color: #4a4a46;
}
.er3-sigsub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 3px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.er3-sigsub input {
    border: none;
    border-bottom: 0.5px solid rgba(0,0,0,.2);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    padding: 1px 4px;
    outline: none;
    color: #1a1a18;
}
.er3-sigsub input:focus {
    border-bottom-color: #E07B2A;
}
.er3-sigsub input[readonly] {
    cursor: default;
}
.er3-ftr {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0,0,0,.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
.er3-save-bar {
    max-width: 1400px;
    margin: 14px auto 0;
    background: #fff;
    border: 0.5px solid rgba(0,0,0,.12);
    border-radius: 10px;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.er3-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    font-family: inherit;
}
.er3-btn-add {
    background: #EBF4FF;
    color: #0C447C;
    border: 0.5px solid #B5D4F4;
}
.er3-btn-add:hover {
    background: #D6EBFF;
}
.er3-btn-save {
    background: #E07B2A;
    color: #fff;
}
.er3-btn-save:hover {
    opacity: .88;
}
.er3-btn .material-icons {
    font-size: 14px;
}
@media print {
  body {
    background: #fff;
    padding: 0;
}
  .er3-stats,.er3-save-bar {
    display: none!important;
}
  .er3-paper {
    box-shadow: none;
    border: none;
}
  .er3-add-row,.er3-rm {
    display: none!important;
}
  .er3-tc {
    min-height: auto;
}
  @page {
    margin: 1cm;
    size: A4 landscape;
}
}

/*
 * ── STAFFTRAINING MODULE ──
 */

/* index.php */
/* .right-column is flex: 1 but defaults to min-width: auto — pin it to 0 so it can't grow with the table */
.right-column {
    min-width: 0;
}
/* Themify Icons Fix */
[class^="ti-"], [class*=" ti-"] {
    font-family: 'themify' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* === workerread (F-Q24) === */
.fq24-toolbar {
    max-width: 900px;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.fq24-logo-pill {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #162032;
    color: #fff;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}
.fq24-logo-pill .material-icons {
    font-size: 14px;
    color: #e07b2a;
}
.fq24-badge {
    font-size: 10px;
    padding: 4px 10px;
    border-radius: 999px;
    font-weight: 600;
    background: #fef3c7;
    color: #92400e;
    border: 0.5px solid #fde68a;
}
.fq24-ml {
    margin-left: auto;
}
.fq24-brow {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.fq24-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    font-family: inherit;
    text-decoration: none;
}
.fq24-btn-g {
    background: #fff;
    color: #4a4a46;
    border: 0.5px solid rgba(0, 0, 0, 0.15);
}
.fq24-btn-g:hover {
    background: #f5f5f2;
}
.fq24-btn-gr {
    background: #1d9e75;
    color: #fff;
}
.fq24-btn-gr:hover {
    opacity: 0.88;
}
.fq24-btn-o {
    background: #e07b2a;
    color: #fff;
}
.fq24-btn-o:hover {
    opacity: 0.88;
}
.fq24-btn-danger {
    background: #fef2f2;
    color: #991b1b;
    border: 0.5px solid #fecaca;
}
.fq24-btn-danger:hover {
    background: #fee2e2;
}
.fq24-paper {
    max-width: 900px;
    margin: 0 auto;
    background: #fff;
    border: 0.5px solid rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07);
    margin-bottom: 30px;
}
.fq24-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fq24-hlogo {
    display: flex;
    align-items: center;
    gap: 10px;
}
.fq24-hmark {
    width: 34px;
    height: 34px;
    background: #e07b2a;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fq24-hmark .material-icons {
    font-size: 18px;
    color: #fff;
}
.fq24-hwm {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}
.fq24-hmeta {
    text-align: right;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.7;
}
.fq24-hmeta strong {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 500;
}
.fq24-cobanner {
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
    padding: 10px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.fq24-coinput {
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    color: #1a1a18;
    outline: none;
    flex: 1;
}
.fq24-coinput:focus {
    background: #fdf0e6;
    padding: 2px 6px;
    border-radius: 4px;
}
.fq24-coinput::placeholder {
    color: #9ca3af;
    font-weight: 400;
}
.fq24-meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
}
.fq24-mg-cell {
    border-right: 0.5px solid rgba(0, 0, 0, 0.09);
    padding: 0;
}
.fq24-mg-cell:last-child {
    border-right: none;
}
.fq24-mg-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #7a7a76;
    padding: 7px 14px 2px;
    display: block;
}
.fq24-mg-input {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
    box-sizing: border-box;
}
.fq24-mg-input:focus {
    background: #fdf0e6;
}
.fq24-policy-block {
    padding: 14px 18px;
    background: #ebf4ff;
    border-bottom: 0.5px solid #b5d4f4;
}
.fq24-policy-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #0c447c;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.fq24-policy-label .material-icons {
    font-size: 13px;
}
.fq24-policy-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}
.fq24-policy-tag {
    display: flex;
    align-items: center;
    gap: 5px;
    background: #fff;
    border: 0.5px solid #b5d4f4;
    border-radius: 6px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 500;
    color: #0c447c;
    cursor: pointer;
    transition: all 0.12s;
    font-family: inherit;
}
.fq24-policy-tag.active {
    background: #162032;
    color: #fff;
    border-color: #162032;
}
.fq24-policy-tag .material-icons {
    font-size: 12px;
}
.fq24-policy-custom {
    font-size: 12px;
    color: #4a4a46;
    margin-top: 6px;
}
.fq24-policy-custom input {
    border: 0.5px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    padding: 5px 10px;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    outline: none;
    width: 100%;
    box-sizing: border-box;
}
.fq24-policy-custom input:focus {
    border-color: #e07b2a;
}
.fq24-dec-strip {
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
    padding: 10px 18px;
    font-size: 12px;
    color: #4a4a46;
    font-style: italic;
}
.fq24-signed-count {
    font-size: 12px;
    font-weight: 600;
    color: #1d9e75;
    padding: 8px 18px;
    background: #eaf7f2;
    border-bottom: 0.5px solid #86efac;
    display: flex;
    align-items: center;
    gap: 7px;
}
.fq24-signed-count .material-icons {
    font-size: 15px;
}
.fq24-sec-hdr {
    background: #162032;
    padding: 8px 16px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #e07b2a;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fq24-sec-hdr .material-icons {
    font-size: 14px;
    vertical-align: -2px;
}
.fq24-att-table {
    width: 100%;
    border-collapse: collapse;
}
.fq24-att-table th {
    padding: 7px 12px;
    background: #f5f5f2;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #7a7a76;
    font-weight: 600;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
    border-right: 0.5px solid rgba(0, 0, 0, 0.09);
    text-align: left;
}
.fq24-att-table th:last-child {
    border-right: none;
}
.fq24-att-table td {
    padding: 0;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
    border-right: 0.5px solid rgba(0, 0, 0, 0.09);
    vertical-align: middle;
}
.fq24-att-table td:last-child {
    border-right: none;
}
.fq24-att-table tr:last-child td {
    border-bottom: none;
}
.fq24-att-table tr:hover td {
    background: #fafaf8;
}
.fq24-att-inp {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 8px 12px;
    outline: none;
}
.fq24-att-inp:focus {
    background: #fdf0e6;
}
.fq24-att-inp::placeholder {
    color: #d1d5db;
}
.fq24-sig-inp {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    color: #1a1a18;
    padding: 8px 12px;
    outline: none;
    font-style: italic;
}
.fq24-sig-inp:focus {
    background: #fdf0e6;
    font-style: normal;
}
.fq24-sig-inp::placeholder {
    color: #d1d5db;
    font-style: italic;
}
.fq24-rm-btn {
    border: none;
    background: none;
    cursor: pointer;
    color: rgba(0, 0, 0, 0.1);
    font-size: 13px;
    padding: 4px;
    border-radius: 3px;
    display: block;
    margin: auto;
}
.fq24-rm-btn:hover {
    color: #dc2626;
    background: #fef2f2;
}
tr:hover .fq24-rm-btn {
    color: rgba(0, 0, 0, 0.25);
}
.fq24-add-row-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #7a7a76;
    cursor: pointer;
    padding: 9px 16px;
    border: none;
    background: #f5f5f2;
    font-family: inherit;
    width: 100%;
    border-top: 0.5px solid rgba(0, 0, 0, 0.09);
    transition: all 0.12s;
}
.fq24-add-row-btn:hover {
    color: #e07b2a;
    background: #fdf0e6;
}
.fq24-add-row-btn .material-icons {
    font-size: 14px;
}
.fq24-field-block {
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
}
.fq24-field-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #7a7a76;
    background: #f5f5f2;
    padding: 7px 14px;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.07);
    display: flex;
    align-items: center;
    gap: 6px;
}
.fq24-field-label .material-icons {
    font-size: 13px;
}
.fq24-field-ta {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 12px 14px;
    outline: none;
    resize: none;
    overflow: hidden;
    line-height: 1.7;
    min-height: 72px;
    box-sizing: border-box;
}
.fq24-field-ta:focus {
    background: #fdf0e6;
}
.fq24-field-ta::placeholder {
    color: #9ca3af;
}
.fq24-ftr {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0, 0, 0, 0.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
.fq24-upload-band {
    background: #162032;
    padding: 8px 16px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #e07b2a;
    display: flex;
    align-items: center;
    gap: 7px;
}
.fq24-upload-band .material-icons {
    font-size: 14px;
}
.fq24-upload-body {
    padding: 14px 16px;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
    background: #fafaf8;
}
.fq24-drop-zone {
    border: 1.5px dashed rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    cursor: pointer;
    transition: all 0.15s;
    background: #fff;
}
.fq24-drop-zone:hover {
    border-color: #e07b2a;
    background: #fdf0e6;
}
.fq24-drop-zone .material-icons {
    font-size: 28px;
    color: #9ca3af;
    display: block;
    margin-bottom: 6px;
}
.fq24-info-note {
    margin-top: 10px;
    padding: 8px 12px;
    background: #ebf4ff;
    border-radius: 6px;
    border: 0.5px solid #b5d4f4;
    font-size: 11px;
    color: #0c447c;
}
.fq24-info-note .material-icons {
    font-size: 12px;
    vertical-align: -2px;
}
.fq24-file-list {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.fq24-file-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    background: #f5f5f2;
    border-radius: 6px;
    border: 0.5px solid rgba(0, 0, 0, 0.1);
}
.fq24-file-item .material-icons {
    font-size: 16px;
    color: #e07b2a;
    flex-shrink: 0;
}
/* Session list view */
.fq24-list-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.fq24-list-hdr h2 {
    font-size: 18px;
    font-weight: 600;
    color: #162032;
}
.fq24-session-card {
    background: #fff;
    border: 0.5px solid rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 14px;
    cursor: pointer;
    transition: box-shadow 0.12s;
}
.fq24-session-card:hover {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.fq24-sc-icon {
    width: 38px;
    height: 38px;
    background: #162032;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.fq24-sc-icon .material-icons {
    font-size: 18px;
    color: #e07b2a;
}
.fq24-sc-body {
    flex: 1;
    min-width: 0;
}
.fq24-sc-title {
    font-size: 13px;
    font-weight: 600;
    color: #1a1a18;
}
.fq24-sc-meta {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 1px;
}
.fq24-sc-pill {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 999px;
    flex-shrink: 0;
}
.fq24-sc-pill-draft {
    background: #f5f5f2;
    color: #4a4a46;
}
.fq24-sc-pill-final {
    background: #eaf7f2;
    color: #0d5c42;
}
.fq24-empty-state {
    text-align: center;
    padding: 40px 20px;
    color: #7a7a76;
    font-size: 13px;
}
.fq24-empty-state .material-icons {
    font-size: 40px;
    color: #d1d5db;
    display: block;
    margin-bottom: 10px;
}
@media print {
    .fq24-toolbar {
        display: none !important;
    }
    .fq24-paper {
        box-shadow: none;
        border: none;
        border-radius: 0;
        max-width: 100%;
    }
    .fq24-add-row-btn,
    .fq24-rm-btn,
    .fq24-policy-tags,
    .fq24-policy-custom {
        display: none !important;
    }
    @page {
        margin: 1.5cm;
        size: A4;
    }
}
/* === staffrecords (F-Q4 · F-Q6 · F-Q20) === */
.fsr-toolbar {
    max-width: 900px;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.fsr-doc-ref {
    font-size: 12px;
    color: #7a7a76;
    padding: 5px 10px;
    background: #fff;
    border: 0.5px solid rgba(0, 0, 0, 0.15);
    border-radius: 999px;
}
.fsr-badge {
    font-size: 10px;
    padding: 4px 10px;
    border-radius: 999px;
    font-weight: 600;
    background: #fef3c7;
    color: #92400e;
    border: 0.5px solid #fde68a;
}
.fsr-ml {
    margin-left: auto;
}
.fsr-brow {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.fsr-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    font-family: inherit;
    text-decoration: none;
}
.fsr-btn-g {
    background: #fff;
    color: #4a4a46;
    border: 0.5px solid rgba(0, 0, 0, 0.15);
}
.fsr-btn-g:hover {
    background: #f5f5f2;
}
.fsr-btn-gr {
    background: #1d9e75;
    color: #fff;
}
.fsr-btn-gr:hover {
    opacity: 0.88;
}
.fsr-btn-o {
    background: #e07b2a;
    color: #fff;
}
.fsr-btn-o:hover {
    opacity: 0.88;
}
.fsr-btn-danger {
    background: #fef2f2;
    color: #991b1b;
    border: 0.5px solid #fecaca;
}
.fsr-btn-danger:hover {
    background: #fee2e2;
}
.fsr-tab-bar {
    max-width: 900px;
    margin: 0 auto 0;
    display: flex;
    background: #fff;
    border: 0.5px solid rgba(0, 0, 0, 0.15);
    border-radius: 10px 10px 0 0;
    overflow: hidden;
}
.fsr-tab {
    padding: 11px 16px;
    font-size: 12px;
    font-weight: 500;
    color: #7a7a76;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: all 0.12s;
    display: flex;
    align-items: center;
    gap: 6px;
    user-select: none;
    flex: 1;
    justify-content: center;
    text-align: center;
}
.fsr-tab:hover {
    color: #1a1a18;
    background: #f5f5f2;
}
.fsr-tab.active {
    color: #a85a1e;
    border-bottom-color: #e07b2a;
    font-weight: 600;
    background: #fff;
}
.fsr-tab .material-icons {
    font-size: 14px;
}
.fsr-tab-ref {
    font-size: 9px;
    font-weight: 700;
    color: #e07b2a;
    display: block;
    letter-spacing: 0.04em;
}
.fsr-paper {
    max-width: 900px;
    margin: 0 auto;
    background: #fff;
    border: 0.5px solid rgba(0, 0, 0, 0.15);
    border-top: none;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07);
    margin-bottom: 30px;
}
.fsr-tab-panel {
    display: none;
}
.fsr-tab-panel.active {
    display: block;
}
.fsr-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fsr-hlogo {
    display: flex;
    align-items: center;
    gap: 10px;
}
.fsr-hmark {
    width: 34px;
    height: 34px;
    background: #e07b2a;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fsr-hmark .material-icons {
    font-size: 18px;
    color: #fff;
}
.fsr-hwm {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}
.fsr-hmeta {
    text-align: right;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.7;
}
.fsr-hmeta strong {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 500;
}
.fsr-cobanner {
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
    padding: 10px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.fsr-coinput {
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    color: #1a1a18;
    outline: none;
    flex: 1;
}
.fsr-coinput:focus {
    background: #fdf0e6;
    padding: 2px 6px;
    border-radius: 4px;
}
.fsr-coinput::placeholder {
    color: #9ca3af;
    font-weight: 400;
}
.fsr-meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
}
.fsr-mg-cell {
    border-right: 0.5px solid rgba(0, 0, 0, 0.09);
    padding: 0;
    border-top: 0.5px solid rgba(0, 0, 0, 0.09);
}
.fsr-mg-cell:first-child,
.fsr-mg-cell:nth-child(2) {
    border-top: none;
}
.fsr-mg-cell:nth-child(2n) {
    border-right: none;
}
.fsr-mg-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #7a7a76;
    padding: 7px 14px 2px;
    display: block;
}
.fsr-mg-input {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
    box-sizing: border-box;
}
.fsr-mg-input:focus {
    background: #fdf0e6;
}
.fsr-mg-input[readonly] {
    color: #7a7a76;
    cursor: default;
}
.fsr-sec-hdr {
    background: #162032;
    padding: 8px 16px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #e07b2a;
    display: flex;
    align-items: center;
    gap: 7px;
}
.fsr-sec-hdr .material-icons {
    font-size: 14px;
}
.fsr-checklist {
    padding: 8px 0;
}

.fsr-check-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 18px;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.07);
    transition: background 0.1s;
}
.fsr-check-item:last-child {
    border-bottom: none;
}
.fsr-check-item:hover {
    background: #fafaf8;
}
.fsr-check-btn {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    border: 1.5px solid rgba(0, 0, 0, 0.2);
    background: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.15s;
    margin-top: 1px;
}
.fsr-check-btn.checked {
    background: #eaf7f2;
    border-color: #1d9e75;
}
.fsr-check-btn .material-icons {
    font-size: 16px;
    color: #1d9e75;
    display: none;
}
.fsr-check-btn.checked .material-icons {
    display: block;
}
.fsr-check-text {
    flex: 1;
}
.fsr-check-label {
    font-size: 13px;
    font-weight: 500;
    color: #1a1a18;
    line-height: 1.5;
}
.fsr-check-sub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 2px;
}
.fsr-check-num {
    font-size: 11px;
    font-weight: 700;
    color: #e07b2a;
    flex-shrink: 0;
    width: 20px;
    margin-top: 3px;
}
.fsr-er2-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    background: #ebf4ff;
    color: #0c447c;
    border: 0.5px solid #b5d4f4;
    margin-left: 8px;
    vertical-align: middle;
}
.fsr-er2-badge .material-icons {
    font-size: 10px;
}
.fsr-progress-wrap {
    padding: 10px 18px;
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
    display: flex;
    align-items: center;
    gap: 12px;
}
.fsr-progress-wrap .material-icons {
    font-size: 15px;
    color: #7a7a76;
}
.fsr-progress-bar {
    flex: 1;
    height: 8px;
    background: rgba(0, 0, 0, 0.08);
    border-radius: 999px;
    overflow: hidden;
}
.fsr-progress-fill {
    height: 100%;
    background: #1d9e75;
    border-radius: 999px;
    transition: width 0.3s ease;
}
.fsr-progress-label {
    font-size: 11px;
    font-weight: 600;
    color: #1d9e75;
    min-width: 40px;
    text-align: right;
}
.fsr-field-block {
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
}
.fsr-field-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #7a7a76;
    background: #f5f5f2;
    padding: 7px 14px;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.07);
    display: flex;
    align-items: center;
    gap: 6px;
}
.fsr-field-label .material-icons {
    font-size: 13px;
}
.fsr-field-ta {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 12px 14px;
    outline: none;
    resize: none;
    overflow: hidden;
    line-height: 1.7;
    min-height: 72px;
    box-sizing: border-box;
}
.fsr-field-ta:focus {
    background: #fdf0e6;
}
.fsr-field-ta::placeholder {
    color: #9ca3af;
}
.fsr-field-ta[readonly] {
    color: #4a4a46;
    cursor: default;
}
.fsr-complete-banner {
    background: #eaf7f2;
    border-bottom: 0.5px solid #86efac;
    padding: 10px 18px;
    display: none;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 600;
    color: #0d5c42;
}
.fsr-complete-banner.show {
    display: flex;
}
.fsr-complete-banner .material-icons {
    font-size: 18px;
}
.fsr-declaration {
    margin: 14px 18px;
    padding: 12px 16px;
    background: #eaf7f2;
    border: 0.5px solid #86efac;
    border-radius: 8px;
    font-size: 12px;
    color: #0d5c42;
    line-height: 1.7;
}
.fsr-declaration-warn {
    background: #fef2f2;
    border-color: #fecaca;
    color: #7f1d1d;
}
.fsr-sigstrip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 0.5px solid rgba(0, 0, 0, 0.09);
}
.fsr-sigcell {
    padding: 12px 16px;
    border-right: 0.5px solid rgba(0, 0, 0, 0.09);
}
.fsr-sigcell:last-child {
    border-right: none;
}
.fsr-siglabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #7a7a76;
    margin-bottom: 8px;
}
.fsr-sigline {
    border: none;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.2);
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 3px 0;
    width: 100%;
    outline: none;
    margin-bottom: 5px;
}
.fsr-sigline:focus {
    border-bottom-color: #e07b2a;
}
.fsr-sigline[readonly] {
    color: #7a7a76;
    cursor: default;
}
.fsr-sigsub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 3px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.fsr-sigsub input {
    border: none;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.2);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    padding: 1px 4px;
    outline: none;
    color: #1a1a18;
    width: 180px;
}
.fsr-sigsub input:focus {
    border-bottom-color: #e07b2a;
}
.fsr-sigsub input[readonly] {
    color: #7a7a76;
    cursor: default;
}

.fsr-ftr {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0, 0, 0, 0.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
.fsr-upload-zone {
    margin: 16px;
    border: 1.5px dashed rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    padding: 24px;
    text-align: center;
    cursor: pointer;
    transition: all 0.15s;
    background: #fafaf8;
}
.fsr-upload-zone:hover,
.fsr-upload-zone.drag {
    border-color: #e07b2a;
    background: #fdf0e6;
}
.fsr-upload-zone .material-icons {
    font-size: 32px;
    color: #9ca3af;
    margin-bottom: 8px;
    display: block;
}
.fsr-cert-list {
    margin: 0 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.fsr-cert-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    background: #f5f5f2;
    border-radius: 6px;
    border: 0.5px solid rgba(0, 0, 0, 0.1);
}
.fsr-cert-item .material-icons {
    font-size: 16px;
    color: #e07b2a;
    flex-shrink: 0;
}
.fsr-cert-name {
    flex: 1;
    font-size: 12px;
    font-weight: 500;
    color: #1a1a18;
}
.fsr-cert-size {
    font-size: 11px;
    color: #7a7a76;
}
.fsr-cert-rm {
    border: none;
    background: none;
    cursor: pointer;
    color: #9ca3af;
    font-size: 14px;
    padding: 2px 4px;
    border-radius: 3px;
}
.fsr-cert-rm:hover {
    color: #dc2626;
    background: #fef2f2;
}
.fsr-cert-note {
    font-size: 11px;
    color: #7a7a76;
    margin: 0 16px 12px;
    padding: 8px 12px;
    background: #ebf4ff;
    border-radius: 6px;
    border: 0.5px solid #b5d4f4;
}
.fsr-cert-note .material-icons {
    font-size: 13px;
    vertical-align: -2px;
}
.fsr-review-card {
    border: 0.5px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    margin: 12px 16px;
    overflow: hidden;
}
.fsr-review-hdr {
    background: #f5f5f2;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
    cursor: pointer;
}
.fsr-review-hdr-title {
    font-size: 13px;
    font-weight: 600;
    color: #162032;
}
.fsr-review-hdr-meta {
    font-size: 11px;
    color: #7a7a76;
}
.fsr-review-body {
    padding: 0;
}
.fsr-review-add-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 12px 16px;
    font-size: 12px;
    cursor: pointer;
    padding: 9px 16px;
    border: 0.5px dashed rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    color: #7a7a76;
    background: #fafaf8;
    font-family: inherit;
    width: calc(100% - 32px);
    transition: all 0.12s;
}
.fsr-review-add-btn:hover {
    color: #e07b2a;
    border-color: #e07b2a;
    background: #fdf0e6;
}
.fsr-review-add-btn .material-icons {
    font-size: 15px;
}
/* List view */
.fsr-list-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.fsr-list-hdr h2 {
    font-size: 18px;
    font-weight: 600;
    color: #162032;
}
.fsr-emp-card {
    background: #fff;
    border: 0.5px solid rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 14px;
    cursor: pointer;
    transition: box-shadow 0.12s;
}
.fsr-emp-card:hover {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.fsr-ec-avatar {
    width: 38px;
    height: 38px;
    background: #162032;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 700;
    color: #e07b2a;
}
.fsr-ec-body {
    flex: 1;
    min-width: 0;
}
.fsr-ec-title {
    font-size: 13px;
    font-weight: 600;
    color: #1a1a18;
}
.fsr-ec-meta {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 1px;
}
.fsr-sc-pill {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 999px;
    flex-shrink: 0;
}
.fsr-sc-pill-active {
    background: #eaf7f2;
    color: #0d5c42;
}
.fsr-sc-pill-inactive {
    background: #fef2f2;
    color: #7f1d1d;
}
.fsr-sc-pill-archived {
    background: #f5f5f2;
    color: #4a4a46;
}
.fsr-empty-state {
    text-align: center;
    padding: 40px 20px;
    color: #7a7a76;
    font-size: 13px;
}
.fsr-empty-state .material-icons {
    font-size: 40px;
    color: #d1d5db;
    display: block;
    margin-bottom: 10px;
}
@media print {
    .fsr-toolbar,
    .fsr-tab-bar {
        display: none !important;
    }
    .fsr-paper {
        box-shadow: none;
        border: none;
        border-radius: 0;
        max-width: 100%;
    }
    .fsr-tab-panel {
        display: block !important;
        page-break-before: always;
    }
    .fsr-tab-panel:first-of-type {
        page-break-before: auto;
    }
    .fsr-upload-zone {
        display: none !important;
    }
    @page {
        margin: 1.5cm;
        size: A4;
    }
}

/* === changereview (F-Q23) === */
.fq23-toolbar {
    max-width: 900px;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.fq23-doc-ref {
    font-size: 12px;
    color: #7a7a76;
    padding: 5px 10px;
    background: #fff;
    border: 0.5px solid rgba(0, 0, 0, 0.15);
    border-radius: 999px;
}
.fq23-badge {
    font-size: 10px;
    padding: 4px 10px;
    border-radius: 999px;
    font-weight: 600;
    background: #fef3c7;
    color: #92400e;
    border: 0.5px solid #fde68a;
}
.fq23-ml {
    margin-left: auto;
}
.fq23-brow {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.fq23-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    font-family: inherit;
    text-decoration: none;
}
.fq23-btn-g {
    background: #fff;
    color: #4a4a46;
    border: 0.5px solid rgba(0, 0, 0, 0.15);
}
.fq23-btn-g:hover {
    background: #f5f5f2;
}
.fq23-btn-gr {
    background: #1d9e75;
    color: #fff;
}
.fq23-btn-gr:hover {
    opacity: 0.88;
}
.fq23-btn-o {
    background: #e07b2a;
    color: #fff;
}
.fq23-btn-o:hover {
    opacity: 0.88;
}
.fq23-btn-danger {
    background: #fef2f2;
    color: #991b1b;
    border: 0.5px solid #fecaca;
}
.fq23-btn-danger:hover {
    background: #fee2e2;
}
.fq23-paper {
    max-width: 900px;
    margin: 0 auto;
    background: #fff;
    border: 0.5px solid rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07);
    margin-bottom: 30px;
}
.fq23-hband {
    background: #162032;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fq23-hlogo {
    display: flex;
    align-items: center;
    gap: 10px;
}
.fq23-hmark {
    width: 34px;
    height: 34px;
    background: #e07b2a;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fq23-hmark .material-icons {
    font-size: 18px;
    color: #fff;
}
.fq23-hwm {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}
.fq23-hmeta {
    text-align: right;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.7;
}
.fq23-hmeta strong {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 500;
}
.fq23-rep-hdr {
    background: #ebf4ff;
    border-bottom: 0.5px solid #b5d4f4;
    padding: 10px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.fq23-rep-title {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a18;
}
.fq23-rep-sub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 2px;
}
.fq23-ref-pill {
    font-size: 11px;
    font-weight: 700;
    color: #0c447c;
    background: #fff;
    border: 0.5px solid #b5d4f4;
    border-radius: 999px;
    padding: 3px 12px;
    white-space: nowrap;
}
.fq23-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
    border: 0.5px solid;
}
.fq23-sb-draft {
    background: #f5f5f2;
    color: #7a7a76;
    border-color: rgba(0, 0, 0, 0.15);
}
.fq23-sb-review {
    background: #ebf4ff;
    color: #0c447c;
    border-color: #b5d4f4;
}
.fq23-sb-approved {
    background: #eaf7f2;
    color: #0d5c42;
    border-color: #86efac;
}
.fq23-sb-rejected {
    background: #fef2f2;
    color: #7f1d1d;
    border-color: #fecaca;
}
.fq23-meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
}
.fq23-meta-grid.three {
    grid-template-columns: 1fr 1fr 1fr;
}
.fq23-mg-cell {
    border-right: 0.5px solid rgba(0, 0, 0, 0.09);
    border-top: 0.5px solid rgba(0, 0, 0, 0.09);
    padding: 0;
}
.fq23-mg-cell.no-top {
    border-top: none;
}
.fq23-mg-cell:nth-child(2n) {
    border-right: none;
}
.fq23-meta-grid.three .fq23-mg-cell:nth-child(2n) {
    border-right: 0.5px solid rgba(0, 0, 0, 0.09);
}
.fq23-meta-grid.three .fq23-mg-cell:nth-child(3n) {
    border-right: none;
}
.fq23-mg-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #7a7a76;
    padding: 7px 14px 2px;
    display: block;
}
.fq23-mg-input {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
    box-sizing: border-box;
}
.fq23-mg-input:focus {
    background: #ebf4ff;
}
.fq23-mg-input[readonly] {
    color: #7a7a76;
    cursor: default;
}
.fq23-mg-select {
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 4px 14px 10px;
    outline: none;
    cursor: pointer;
    -webkit-appearance: none;
    box-sizing: border-box;
}
.fq23-mg-select:focus {
    background: #ebf4ff;
}
.fq23-sec-hdr {
    background: #162032;
    padding: 8px 16px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #e07b2a;
    display: flex;
    align-items: center;
    gap: 7px;
}
.fq23-sec-hdr .material-icons {
    font-size: 14px;
}

.fq23-field-block {
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
}
.fq23-field-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #7a7a76;
    background: #f5f5f2;
    padding: 7px 14px;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.07);
    display: flex;
    align-items: center;
    gap: 6px;
}
.fq23-field-label .material-icons {
    font-size: 13px;
}
.fq23-field-ta {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 12px 14px;
    outline: none;
    resize: none;
    line-height: 1.7;
    min-height: 80px;
    overflow: hidden;
    box-sizing: border-box;
}
.fq23-field-ta:focus {
    background: #ebf4ff;
}
.fq23-field-ta::placeholder {
    color: #9ca3af;
}
.fq23-field-ta.short {
    min-height: 60px;
}
.fq23-field-ta[readonly] {
    color: #4a4a46;
    cursor: default;
    background: #fafaf8;
}
.fq23-impact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 12px 16px;
    gap: 8px;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
    background: #fafaf8;
}
.fq23-impact-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 12px;
    color: #4a4a46;
    cursor: pointer;
    user-select: none;
}
.fq23-impact-item input[type="checkbox"] {
    width: 14px;
    height: 14px;
    accent-color: #162032;
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 2px;
}
.fq23-risk-row {
    display: flex;
    gap: 8px;
    padding: 12px 16px;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
    flex-wrap: wrap;
    align-items: center;
}
.fq23-risk-label {
    font-size: 12px;
    font-weight: 500;
    color: #4a4a46;
    margin-right: 4px;
}
.fq23-risk-btn {
    padding: 5px 14px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    border: 1.5px solid transparent;
    font-family: inherit;
    transition: all 0.12s;
}
.fq23-risk-btn.low {
    background: #eaf7f2;
    color: #0d5c42;
    border-color: #86efac;
}
.fq23-risk-btn.medium {
    background: #fffbeb;
    color: #78350f;
    border-color: #fde68a;
}
.fq23-risk-btn.high {
    background: #fef2f2;
    color: #7f1d1d;
    border-color: #fecaca;
}
.fq23-risk-btn.sel.low {
    background: #1d9e75;
    color: #fff;
    border-color: #1d9e75;
}
.fq23-risk-btn.sel.medium {
    background: #d97706;
    color: #fff;
    border-color: #d97706;
}
.fq23-risk-btn.sel.high {
    background: #dc2626;
    color: #fff;
    border-color: #dc2626;
}
.fq23-risk-btn:hover:not(.sel) {
    opacity: 0.8;
}
.fq23-risk-note {
    font-size: 11px;
    color: #7a7a76;
    margin-left: 4px;
}
.fq23-approval-strip {
    background: #f5f5f2;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.09);
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.fq23-approval-label {
    font-size: 11px;
    font-weight: 600;
    color: #4a4a46;
}
.fq23-approval-btn {
    padding: 5px 16px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    border: 1.5px solid transparent;
    font-family: inherit;
    transition: all 0.12s;
}
.fq23-approval-btn.approve {
    background: #eaf7f2;
    color: #0d5c42;
    border-color: #86efac;
}
.fq23-approval-btn.reject {
    background: #fef2f2;
    color: #7f1d1d;
    border-color: #fecaca;
}
.fq23-approval-btn.pending {
    background: #ebf4ff;
    color: #0c447c;
    border-color: #b5d4f4;
}
.fq23-approval-btn.sel.approve {
    background: #1d9e75;
    color: #fff;
    border-color: #1d9e75;
}
.fq23-approval-btn.sel.reject {
    background: #dc2626;
    color: #fff;
    border-color: #dc2626;
}
.fq23-approval-btn.sel.pending {
    background: #0c447c;
    color: #fff;
    border-color: #0c447c;
}
.fq23-er1-prompt {
    background: #ebf4ff;
    border: 0.5px solid #b5d4f4;
    border-radius: 8px;
    margin: 14px 18px;
    padding: 12px 14px;
    font-size: 12px;
    color: #0c447c;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.fq23-er1-prompt .material-icons {
    font-size: 16px;
    flex-shrink: 0;
    margin-top: 1px;
}
.fq23-sigstrip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 0.5px solid rgba(0, 0, 0, 0.09);
}
.fq23-sigcell {
    padding: 12px 16px;
    border-right: 0.5px solid rgba(0, 0, 0, 0.09);
}
.fq23-sigcell:last-child {
    border-right: none;
}
.fq23-siglabel {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #7a7a76;
    margin-bottom: 8px;
}
.fq23-sigline {
    border: none;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.2);
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    color: #1a1a18;
    padding: 3px 0;
    width: 100%;
    outline: none;
    margin-bottom: 5px;
}
.fq23-sigline:focus {
    border-bottom-color: #e07b2a;
}
.fq23-sigline[readonly] {
    color: #7a7a76;
    cursor: default;
}
.fq23-sigsub {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 3px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.fq23-sigsub input {
    border: none;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.2);
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    padding: 1px 4px;
    outline: none;
    color: #1a1a18;
    width: 180px;
}
.fq23-sigsub input:focus {
    border-bottom-color: #e07b2a;
}
.fq23-sigsub input[readonly] {
    color: #7a7a76;
    cursor: default;
}
.fq23-ftr {
    padding: 10px 22px;
    background: #f5f5f2;
    border-top: 0.5px solid rgba(0, 0, 0, 0.09);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    color: #7a7a76;
}
/* List view */
.fq23-list-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.fq23-list-hdr h2 {
    font-size: 18px;
    font-weight: 600;
    color: #162032;
}
.fq23-cr-card {
    background: #fff;
    border: 0.5px solid rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 14px;
    cursor: pointer;
    transition: box-shadow 0.12s;
}
.fq23-cr-card:hover {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.fq23-cr-icon {
    width: 36px;
    height: 36px;
    background: #162032;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.fq23-cr-icon .material-icons {
    font-size: 18px;
    color: #e07b2a;
}
.fq23-cr-body {
    flex: 1;
    min-width: 0;
}
.fq23-cr-ref {
    font-size: 12px;
    font-weight: 700;
    color: #162032;
    font-family: monospace;
}
.fq23-cr-title {
    font-size: 13px;
    color: #1a1a18;
    margin-top: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fq23-cr-meta {
    font-size: 11px;
    color: #7a7a76;
    margin-top: 2px;
}
.fq23-pill {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 999px;
    flex-shrink: 0;
}
.fq23-pill-draft {
    background: #f5f5f2;
    color: #4a4a46;
}
.fq23-pill-review {
    background: #ebf4ff;
    color: #0c447c;
}
.fq23-pill-approved {
    background: #eaf7f2;
    color: #0d5c42;
}
.fq23-pill-rejected {
    background: #fef2f2;
    color: #7f1d1d;
}
.fq23-risk-chip {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    margin-left: 6px;
}
.fq23-risk-chip-low {
    background: #eaf7f2;
    color: #0d5c42;
}
.fq23-risk-chip-medium {
    background: #fffbeb;
    color: #78350f;
}
.fq23-risk-chip-high {
    background: #fef2f2;
    color: #7f1d1d;
}
.fq23-empty-state {
    text-align: center;
    padding: 40px 20px;
    color: #7a7a76;
    font-size: 13px;
}
.fq23-empty-state .material-icons {
    font-size: 40px;
    color: #d1d5db;
    display: block;
    margin-bottom: 10px;
}
@media print {
    .fq23-toolbar {
        display: none !important;
    }
    .fq23-paper {
        box-shadow: none;
        border: none;
        border-radius: 0;
        max-width: 100%;
    }
    .fq23-er1-prompt,
    .fq23-approval-strip button,
    .fq23-risk-btn {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    @page {
        margin: 1.5cm;
        size: A4;
    }
}

/* === IMS Maintenance Dashboard (imd-) === */
.imd-page-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.imd-page-title{font-size:20px;font-weight:700;color:#1a1a18}
.imd-page-sub{font-size:12px;color:#7a7a76;margin-top:2px}
.imd-hdr-right{display:flex;gap:8px;flex-wrap:wrap}
.imd-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:.5px solid rgba(0,0,0,.15);background:#fff;color:#4a4a46;font-family:inherit;transition:all .12s;text-decoration:none}
.imd-btn:hover{background:#f5f5f2}
.imd-btn-o{background:#E07B2A;color:#fff;border-color:#E07B2A}.imd-btn-o:hover{opacity:.88}
.imd-cert-banner{background:#162032;border-radius:12px;padding:16px 22px;display:flex;align-items:center;gap:20px;margin-bottom:22px;flex-wrap:wrap}
.imd-cb-cert{display:flex;align-items:center;gap:12px}
.imd-cb-icon{width:40px;height:40px;background:#1D9E75;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.imd-cb-icon .material-icons{font-size:20px;color:#fff}
.imd-cb-name{font-size:14px;font-weight:700;color:#fff}
.imd-cb-meta{font-size:11px;color:rgba(255,255,255,.5);margin-top:1px}
.imd-cb-sep{width:.5px;height:40px;background:rgba(255,255,255,.1);flex-shrink:0}
.imd-cb-field{display:flex;flex-direction:column;gap:1px}
.imd-cb-flabel{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.4)}
.imd-cb-fval{font-size:13px;font-weight:600;color:#fff}
.imd-cb-fval-o{color:#E07B2A}
.imd-cb-surv{margin-left:auto;text-align:right}
.imd-cb-surv-num{font-size:32px;font-weight:700;color:#E07B2A;line-height:1}
.imd-cb-surv-lbl{font-size:11px;color:rgba(255,255,255,.4);margin-top:2px}
.imd-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:22px}
.imd-kpi{background:#fff;border:.5px solid rgba(0,0,0,.1);border-radius:10px;padding:14px 16px;position:relative;overflow:hidden;cursor:pointer;transition:box-shadow .15s}
.imd-kpi:hover{box-shadow:0 2px 12px rgba(0,0,0,.1)}
.imd-kpi-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.imd-kpi-icon .material-icons{font-size:16px;color:#fff}
.imd-kpi-num{font-size:26px;font-weight:700;color:#162032;line-height:1}
.imd-kpi-lbl{font-size:11px;color:#7a7a76;margin-top:3px}
.imd-kpi-badge{position:absolute;top:12px;right:12px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px}
.imd-b-ok{background:#EAF7F2;color:#065F46}
.imd-b-warn{background:#FFFBEB;color:#78350F}
.imd-b-red{background:#FEF2F2;color:#991B1B}
.imd-kpi-bar{height:3px;background:#f0efeb;border-radius:999px;margin-top:10px;overflow:hidden}
.imd-kpi-fill{height:100%;border-radius:999px}
.imd-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.imd-three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px}
.imd-panel{background:#fff;border:.5px solid rgba(0,0,0,.1);border-radius:10px;overflow:hidden}
.imd-panel-hdr{background:#162032;padding:10px 16px;display:flex;align-items:center;justify-content:space-between}
.imd-panel-hdr-l{display:flex;align-items:center;gap:8px}
.imd-ph-icon{font-size:15px;color:#E07B2A}
.imd-ph-title{font-size:12px;font-weight:700;color:#fff}
.imd-ph-link{font-size:11px;color:rgba(255,255,255,.45);text-decoration:none;display:flex;align-items:center;gap:4px;transition:color .12s}
.imd-ph-link:hover{color:#E07B2A}
.imd-ph-link .material-icons{font-size:11px}
.imd-action-item{border-bottom:.5px solid rgba(0,0,0,.07);padding:10px 16px;display:flex;align-items:flex-start;gap:10px}
.imd-action-item:last-child{border-bottom:none}
.imd-ai-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0;margin-top:4px}
.imd-dot-red{background:#DC2626}.imd-dot-amber{background:#D97706}.imd-dot-green{background:#1D9E75}.imd-dot-grey{background:#9ca3af}
.imd-ai-body{flex:1}
.imd-ai-title{font-size:12px;font-weight:600;color:#1a1a18;line-height:1.4}
.imd-ai-meta{font-size:11px;color:#7a7a76;margin-top:2px}
.imd-ai-right{flex-shrink:0;text-align:right}
.imd-due-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px}
.imd-due-red{background:#FEF2F2;color:#991B1B}
.imd-due-amber{background:#FFFBEB;color:#78350F}
.imd-due-ok{background:#EAF7F2;color:#065F46}
.imd-due-grey{background:#f5f5f2;color:#7a7a76}
.imd-cal-item{border-bottom:.5px solid rgba(0,0,0,.07);padding:10px 16px;display:flex;align-items:center;gap:12px}
.imd-cal-item:last-child{border-bottom:none}
.imd-cal-date{width:44px;height:44px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;border:.5px solid rgba(0,0,0,.1)}
.imd-cal-day{font-size:16px;font-weight:700;color:#162032;line-height:1}
.imd-cal-mon{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#7a7a76}
.imd-cal-body{flex:1}
.imd-cal-title{font-size:12px;font-weight:600;color:#1a1a18}
.imd-cal-meta{font-size:11px;color:#7a7a76;margin-top:1px}
.imd-cal-tag{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;flex-shrink:0}
.imd-tag-9001{background:#EBF4FF;color:#1D4ED8}
.imd-tag-27001{background:#EDE9FE;color:#6D28D9}
.imd-tag-14001{background:#EAF7F2;color:#065F46}
.imd-tag-45001{background:#FEF2F2;color:#991B1B}
.imd-tag-ims{background:#f5f5f2;color:#4a4a46}
.imd-doc-item{border-bottom:.5px solid rgba(0,0,0,.07);padding:8px 16px;display:flex;align-items:center;gap:10px}
.imd-doc-item:last-child{border-bottom:none}
.imd-doc-ref{font-size:10px;font-weight:700;color:#E07B2A;background:#FEF3C7;border:.5px solid rgba(224,123,42,.3);border-radius:4px;padding:1px 6px;flex-shrink:0;min-width:60px;text-align:center}
.imd-doc-name{flex:1;font-size:12px;font-weight:500;color:#1a1a18}
.imd-score-ring{position:relative;width:72px;height:72px;flex-shrink:0}
.imd-score-ring svg{width:72px;height:72px;transform:rotate(-90deg)}
.imd-score-ring-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#162032}
.imd-feedback-row{padding:10px 16px;display:flex;align-items:center;gap:16px;border-bottom:.5px solid rgba(0,0,0,.07)}
.imd-feedback-row:last-child{border-bottom:none}
.imd-fb-label{flex:1;font-size:12px;color:#1a1a18;font-weight:500}
.imd-fb-bar-wrap{width:80px;height:6px;background:#f0efeb;border-radius:999px;overflow:hidden;flex-shrink:0}
.imd-fb-bar{height:100%;background:#1D9E75;border-radius:999px}
.imd-fb-score{font-size:12px;font-weight:700;color:#162032;min-width:24px;text-align:right}
.imd-risk-row{border-bottom:.5px solid rgba(0,0,0,.07);padding:9px 16px;display:flex;align-items:center;gap:10px}
.imd-risk-row:last-child{border-bottom:none}
.imd-risk-lvl{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;flex-shrink:0;min-width:70px;text-align:center}
.imd-rl-critical{background:#991B1B;color:#fff}.imd-rl-high{background:#FEF2F2;color:#991B1B}.imd-rl-med{background:#FFFBEB;color:#78350F}.imd-rl-low{background:#EAF7F2;color:#065F46}
.imd-risk-name{flex:1;font-size:12px;color:#1a1a18}
.imd-risk-status{font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;flex-shrink:0}
.imd-rs-open{background:#FEF2F2;color:#991B1B}.imd-rs-treated{background:#EAF7F2;color:#065F46}
.imd-staff-row{border-bottom:.5px solid rgba(0,0,0,.07);padding:9px 16px;display:flex;align-items:center;gap:10px}
.imd-staff-row:last-child{border-bottom:none}
.imd-staff-avatar{width:28px;height:28px;border-radius:999px;background:#162032;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.imd-staff-name{font-size:12px;font-weight:600;color:#1a1a18}
.imd-staff-role{font-size:11px;color:#7a7a76}
.imd-inc-item{border-bottom:.5px solid rgba(0,0,0,.07);padding:10px 16px;display:flex;align-items:flex-start;gap:10px}
.imd-inc-item:last-child{border-bottom:none}
.imd-inc-sev{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;flex-shrink:0}
.imd-is-low{background:#EAF7F2;color:#065F46}.imd-is-med{background:#FFFBEB;color:#78350F}.imd-is-high{background:#FEF2F2;color:#991B1B}.imd-is-crit{background:#991B1B;color:#fff}
.imd-inc-body{flex:1;font-size:12px}
.imd-inc-title{font-weight:600;color:#1a1a18}
.imd-inc-meta{font-size:11px;color:#7a7a76;margin-top:1px}
.imd-inc-status{font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;flex-shrink:0}
.imd-inc-open{background:#FEF2F2;color:#991B1B}.imd-inc-closed{background:#EAF7F2;color:#065F46}
.imd-empty-state{padding:24px 16px;text-align:center;color:#9ca3af;font-size:11px}
.imd-empty-state .material-icons{font-size:24px;display:block;margin-bottom:6px;color:#d1d5db}
@media(max-width:900px){.imd-two-col,.imd-three-col{grid-template-columns:1fr}}
@media print{.imd-page-hdr .imd-hdr-right{display:none}@page{margin:1.5cm}}

/* === Certification Readiness Dashboard (crd-) === */
.crd-page-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.crd-page-title{font-size:20px;font-weight:700;color:#1a1a18}
.crd-page-sub{font-size:12px;color:#7a7a76;margin-top:2px}
.crd-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:.5px solid rgba(0,0,0,.15);background:#fff;color:#4a4a46;font-family:inherit;transition:all .12s}
.crd-btn:hover{background:#f5f5f2}
.crd-countdown{background:#162032;border-radius:12px;padding:18px 24px;display:flex;align-items:center;gap:28px;margin-bottom:22px;flex-wrap:wrap}
.crd-cd-field{display:flex;flex-direction:column;gap:2px}
.crd-cd-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.4)}
.crd-cd-input{background:transparent;border:none;border-bottom:.5px solid rgba(255,255,255,.2);font-family:inherit;font-size:13px;font-weight:600;color:#fff;outline:none;padding:2px 0;width:160px}
.crd-cd-input:focus{border-bottom-color:#E07B2A}
.crd-cd-sep{width:.5px;height:36px;background:rgba(255,255,255,.1);flex-shrink:0}
.crd-cd-days{margin-left:auto;text-align:right}
.crd-cd-days-num{font-size:38px;font-weight:700;line-height:1;color:#E07B2A}
.crd-cd-days-lbl{font-size:11px;color:rgba(255,255,255,.4);margin-top:2px}
.crd-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:22px}
.crd-sc{background:#fff;border:.5px solid rgba(0,0,0,.1);border-radius:10px;padding:16px 18px;position:relative;overflow:hidden}
.crd-sc::after{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.crd-sc-9001::after{background:#3B82F6}
.crd-sc-27001::after{background:#8B5CF6}
.crd-sc-14001::after{background:#10B981}
.crd-sc-45001::after{background:#EF4444}
.crd-sc-all::after{background:#E07B2A}
.crd-sc-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin-bottom:6px}
.crd-sc-pct{font-size:30px;font-weight:700;color:#162032;line-height:1}
.crd-sc-bar{height:4px;background:#f0efeb;border-radius:999px;margin-top:10px;overflow:hidden}
.crd-sc-fill{height:100%;border-radius:999px;transition:width .5s}
.crd-sc-chips{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}
.crd-chip{font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px}
.crd-chip-r{background:#EAF7F2;color:#065F46}
.crd-chip-p{background:#FFFBEB;color:#78350F}
.crd-chip-n{background:#FEF2F2;color:#991B1B}
.crd-chip-a{background:#f5f5f2;color:#7a7a76}
.crd-tabs{display:flex;gap:4px;margin-bottom:16px;flex-wrap:wrap}
.crd-tab{padding:7px 18px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:.5px solid rgba(0,0,0,.12);background:#fff;color:#4a4a46;font-family:inherit;transition:all .12s}
.crd-tab:hover{background:#f5f5f2}
.crd-tab-9001.active{background:#EBF4FF;color:#1D4ED8;border-color:#93C5FD}
.crd-tab-27001.active{background:#EDE9FE;color:#6D28D9;border-color:#C4B5FD}
.crd-tab-14001.active{background:#EAF7F2;color:#065F46;border-color:#6EE7B7}
.crd-tab-45001.active{background:#FEF2F2;color:#991B1B;border-color:#FCA5A5}
.crd-tab-actions.active{background:#FEF2F2;color:#991B1B;border-color:#FCA5A5}
.crd-panel{display:none}.crd-panel.show{display:block}
.crd-clause{background:#fff;border:.5px solid rgba(0,0,0,.09);border-radius:10px;overflow:hidden;margin-bottom:10px}
.crd-cl-hdr{background:#162032;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none}
.crd-cl-hdr-l{display:flex;align-items:center;gap:10px}
.crd-cl-num{font-size:11px;font-weight:700;color:#E07B2A;background:rgba(224,123,42,.15);padding:2px 8px;border-radius:4px}
.crd-cl-title{font-size:13px;font-weight:600;color:#fff}
.crd-cl-ref{font-size:10px;color:rgba(255,255,255,.3);margin-left:2px}
.crd-cl-prog{font-size:11px;font-weight:600;color:rgba(255,255,255,.45)}
.crd-cl-chev{font-size:18px;color:rgba(255,255,255,.3);transition:transform .2s;display:flex;align-items:center}
.crd-cl-hdr.open .crd-cl-chev{transform:rotate(180deg)}
.crd-cl-body{display:none}.crd-cl-body.open{display:block}
.crd-ci{border-bottom:.5px solid rgba(0,0,0,.07)}.crd-ci:last-child{border-bottom:none}
.crd-ci-row{display:flex;align-items:stretch}
.crd-ci-q{flex:1;padding:11px 18px;font-size:12px;line-height:1.5}
.crd-ci-q strong{font-weight:600;display:block;margin-bottom:2px;color:#1a1a18}
.crd-ci-q span{font-size:11px;color:#7a7a76}
.crd-ci-btns{display:flex;flex-shrink:0;border-left:.5px solid rgba(0,0,0,.07)}
.crd-rag{width:76px;font-size:10px;font-weight:700;text-align:center;cursor:pointer;border:none;border-right:.5px solid rgba(0,0,0,.07);background:#fff;font-family:inherit;color:#9ca3af;transition:all .12s;padding:0}
.crd-rag:last-child{border-right:none}
.crd-rag:hover{background:#f5f5f2;color:#4a4a46}
.crd-rag.s-r{background:#EAF7F2;color:#065F46}
.crd-rag.s-p{background:#FFFBEB;color:#78350F}
.crd-rag.s-n{background:#FEF2F2;color:#991B1B}
.crd-rag.s-a{background:#f5f5f2;color:#6b7280}
.crd-ci-note{display:none;border-top:.5px solid rgba(0,0,0,.06);background:#fafaf8}
.crd-ci-note.show{display:block}
.crd-ci-note textarea{display:block;width:100%;border:none;background:transparent;font-family:inherit;font-size:11px;color:#4a4a46;padding:8px 18px;outline:none;resize:none;overflow:hidden;line-height:1.6;min-height:36px}
.crd-ci-note textarea::placeholder{color:#d1d5db}
.crd-actions-wrap{background:#fff;border:.5px solid rgba(0,0,0,.09);border-radius:10px;overflow:hidden}
.crd-act-hdr{background:#DC2626;padding:10px 18px;display:flex;align-items:center;gap:8px}
.crd-act-hdr span{font-size:12px;font-weight:700;color:#fff}
.crd-act-row{border-bottom:.5px solid rgba(0,0,0,.07);padding:12px 18px;display:flex;gap:12px;align-items:flex-start}
.crd-act-row:last-child{border-bottom:none}
.crd-act-tag{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;flex-shrink:0;margin-top:1px}
.crd-t9001{background:#EBF4FF;color:#1D4ED8}
.crd-t27001{background:#EDE9FE;color:#6D28D9}
.crd-t14001{background:#EAF7F2;color:#065F46}
.crd-t45001{background:#FEF2F2;color:#991B1B}
.crd-act-body{flex:1;font-size:12px}
.crd-act-body strong{display:block;font-weight:600;color:#991B1B;margin-bottom:2px}
.crd-act-note{font-size:11px;color:#7a7a76;margin-top:3px;display:block}
.crd-empty{padding:40px;text-align:center;color:#9ca3af;font-size:12px}
.crd-empty .material-icons{font-size:36px;display:block;margin-bottom:8px;color:#d1d5db}
@media print{
  .crd-tabs,.crd-btn{display:none}
  .crd-panel{display:block!important}
  .crd-cl-body{display:block!important}
  @page{margin:1.5cm}
}
/* ── iar- (Information Assets Register F-IMS25) ── */
.iar-toolbar{margin-bottom:10px}
.iar-toolbar-inner{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.iar-doc-ref{font-size:12px;color:#7a7a76;padding:5px 10px;background:#fff;border:0.5px solid rgba(0,0,0,.15);border-radius:999px}
.iar-badge-bu{font-size:10px;padding:4px 10px;border-radius:999px;font-weight:600;background:#FEF3C7;color:#92400E;border:0.5px solid #FDE68A}
.iar-toolbar-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.iar-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none;font-family:inherit;text-decoration:none}
.iar-btn-g{background:#fff;color:#4a4a46;border:0.5px solid rgba(0,0,0,.15)}
.iar-btn-g:hover{background:#f5f5f2}
.iar-btn-gr{background:#1D9E75;color:#fff}
.iar-btn-gr:hover{opacity:.88}
.iar-btn-o{background:#E07B2A;color:#fff}
.iar-btn-o:hover{opacity:.88}
.iar-sbar{background:#fff;border:0.5px solid rgba(0,0,0,.15);border-radius:8px;padding:8px 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.iar-sc{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;border:0.5px solid;cursor:pointer}
.iar-sc:hover{opacity:.8}
.iar-sc-all{background:#f5f5f2;color:#4a4a46;border-color:rgba(0,0,0,.15)}
.iar-sc-co{background:#FEF2F2;color:#7F1D1D;border-color:#FECACA}
.iar-sc-bu{background:#FEF3C7;color:#92400E;border-color:#FDE68A}
.iar-sc-pu{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.iar-search{border:0.5px solid rgba(0,0,0,.15);border-radius:6px;padding:5px 10px;font-size:12px;font-family:inherit;outline:none;width:220px;margin-left:auto}
.iar-search:focus{border-color:#E07B2A}
.iar-save-status{font-size:12px;color:#7a7a76}
.iar-paper{background:#fff;border:0.5px solid rgba(0,0,0,.15);border-radius:10px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.07)}
.iar-hband{background:#162032;padding:14px 22px;display:flex;align-items:center;justify-content:space-between}
.iar-hlogo{display:flex;align-items:center;gap:10px}
.iar-hmark{width:34px;height:34px;background:#E07B2A;border-radius:8px;display:flex;align-items:center;justify-content:center}
.iar-hwm{font-size:14px;font-weight:600;color:#fff}
.iar-hmeta{text-align:right;font-size:11px;color:rgba(255,255,255,.5);line-height:1.7}
.iar-hmeta strong{color:rgba(255,255,255,.85);font-weight:500}
.iar-metastrip{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;border-bottom:0.5px solid rgba(0,0,0,.09)}
.iar-mc{border-right:0.5px solid rgba(0,0,0,.09)}
.iar-mc-last{border-right:none}
.iar-mlabel{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#7a7a76;padding:7px 14px 2px;display:block}
.iar-minput{width:100%;border:none;background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:4px 14px 10px;outline:none}
.iar-minput:focus{background:#FDF0E6}
.iar-key-bar{background:#f5f5f2;border-bottom:0.5px solid rgba(0,0,0,.09);padding:9px 18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px}
.iar-key-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#7a7a76}
.iar-kp{display:inline-flex;align-items:center;gap:5px;font-weight:600;padding:2px 9px;border-radius:999px;border:0.5px solid;font-size:10px}
.iar-kp-co{background:#FEF2F2;color:#7F1D1D;border-color:#FECACA}
.iar-kp-bu{background:#FEF3C7;color:#92400E;border-color:#FDE68A}
.iar-kp-pu{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.iar-rt{width:100%;border-collapse:collapse}
.iar-rt th{padding:7px 10px;background:#162032;color:rgba(255,255,255,.7);font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;border-right:0.5px solid rgba(255,255,255,.1);text-align:left}
.iar-rt th:last-child{border-right:none}
.iar-rt td{border-bottom:0.5px solid rgba(0,0,0,.09);border-right:0.5px solid rgba(0,0,0,.09);vertical-align:top;padding:0}
.iar-rt td:last-child{border-right:none}
.iar-rt tr:last-child td{border-bottom:none}
.iar-rt tr:hover td{background:#fafaf8}
.iar-rt tr.hidden{display:none}
.iar-fi{display:block;width:100%;border:none;background:transparent;font-family:inherit;font-size:12px;color:#1a1a18;padding:9px 10px;outline:none}
.iar-fi:focus{background:#FDF0E6}
.iar-fi::placeholder{color:#d1d5db}
.iar-ft-bold{font-weight:600}
.iar-ft{display:block;width:100%;border:none;background:transparent;font-family:inherit;font-size:12px;color:#1a1a18;padding:9px 10px;outline:none;line-height:1.6;box-sizing:border-box;min-height:40px;white-space:pre-wrap;word-break:break-word}
.iar-ft:focus{background:#FDF0E6}
.iar-ft:empty:before{content:attr(data-placeholder);color:#d1d5db}
.iar-class-cell{padding:5px 4px;text-align:center;vertical-align:middle}
.iar-class-sel{border:0.5px solid rgba(0,0,0,.12);border-radius:999px;font-family:inherit;font-size:10px;font-weight:700;padding:3px 6px;outline:none;cursor:pointer;width:100%;text-align:center}
.iar-cl-co{background:#FEF2F2;color:#7F1D1D;border-color:#FECACA}
.iar-cl-bu{background:#FEF3C7;color:#92400E;border-color:#FDE68A}
.iar-cl-pu{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.iar-add-row-btn{display:flex;align-items:center;gap:6px;font-size:12px;color:#7a7a76;cursor:pointer;padding:9px 16px;border:none;background:#f5f5f2;font-family:inherit;width:100%;border-top:0.5px solid rgba(0,0,0,.09);transition:all .12s}
.iar-add-row-btn:hover{color:#E07B2A;background:#FDF0E6}
.iar-rm-btn{border:none;background:none;cursor:pointer;color:rgba(0,0,0,.1);padding:4px;border-radius:3px;display:block;margin:3px auto}
.iar-rm-btn:hover{color:#DC2626;background:#FEF2F2}
.iar-rt tr:hover .iar-rm-btn{color:rgba(0,0,0,.25)}
.iar-sigstrip{display:grid;grid-template-columns:1fr 1fr;border-top:0.5px solid rgba(0,0,0,.09)}
.iar-sigcell{padding:12px 16px;border-right:0.5px solid rgba(0,0,0,.09)}
.iar-sigcell:last-child{border-right:none}
.iar-siglabel{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#7a7a76;margin-bottom:8px}
.iar-sigline{border:none;border-bottom:0.5px solid rgba(0,0,0,.2);background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:3px 0;width:100%;outline:none;margin-bottom:5px}
.iar-sigline:focus{border-bottom-color:#E07B2A}
.iar-sigsub{font-size:11px;color:#7a7a76;margin-top:3px;display:flex;align-items:center;gap:4px}
.iar-sigsub input{border:none;border-bottom:0.5px solid rgba(0,0,0,.2);background:transparent;font-family:inherit;font-size:12px;padding:1px 4px;outline:none;color:#1a1a18}
.iar-ftr{padding:10px 22px;background:#f5f5f2;border-top:0.5px solid rgba(0,0,0,.09);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7a7a76}
@media print{
  .iar-toolbar,.iar-sbar{display:none!important}
  .iar-paper{box-shadow:none;border:none}
  .iar-add-row-btn,.iar-rm-btn{display:none}
  @page{margin:1.5cm;size:A4 landscape}
}

/* ── fq27- (Home Working Checklist F-Q27) ── */
.fq27-toolbar{margin-bottom:10px}
.fq27-toolbar-inner{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fq27-doc-ref{font-size:12px;color:#7a7a76;padding:5px 10px;background:#fff;border:0.5px solid rgba(0,0,0,.15);border-radius:999px}
.fq27-badge{font-size:10px;padding:4px 10px;border-radius:999px;font-weight:600;background:#FEF3C7;color:#92400E;border:0.5px solid #FDE68A}
.fq27-toolbar-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.fq27-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none;font-family:inherit;text-decoration:none}
.fq27-btn-g{background:#fff;color:#4a4a46;border:0.5px solid rgba(0,0,0,.15)}
.fq27-btn-g:hover{background:#f5f5f2}
.fq27-btn-gr{background:#1D9E75;color:#fff}
.fq27-btn-gr:hover{opacity:.88}
.fq27-btn-o{background:#E07B2A;color:#fff}
.fq27-btn-o:hover{opacity:.88}
.fq27-btn-sm{padding:4px 10px;font-size:11px}
.fq27-sbar{background:#fff;border:0.5px solid rgba(0,0,0,.12);border-radius:8px;padding:8px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.fq27-prog-wrap{flex:1;display:flex;align-items:center;gap:10px;min-width:180px}
.fq27-prog-bar{flex:1;height:7px;background:rgba(0,0,0,.08);border-radius:999px;overflow:hidden}
.fq27-prog-fill{height:100%;background:#1D9E75;border-radius:999px;transition:width .3s}
.fq27-prog-label{font-size:11px;font-weight:600;color:#1D9E75;min-width:36px}
.fq27-sc{display:flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;border:0.5px solid}
.fq27-sc-ok{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.fq27-sc-no{background:#FEF2F2;color:#7F1D1D;border-color:#FECACA}
.fq27-sc-na{background:#f5f5f2;color:#7a7a76;border-color:rgba(0,0,0,.15)}
.fq27-save-status{font-size:12px;color:#7a7a76;margin-left:auto}
.fq27-paper{background:#fff;border:0.5px solid rgba(0,0,0,.15);border-radius:10px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.07)}
.fq27-hband{background:#162032;padding:14px 22px;display:flex;align-items:center;justify-content:space-between}
.fq27-hlogo{display:flex;align-items:center;gap:10px}
.fq27-hmark{width:34px;height:34px;background:#E07B2A;border-radius:8px;display:flex;align-items:center;justify-content:center}
.fq27-hwm{font-size:14px;font-weight:600;color:#fff}
.fq27-hmeta{text-align:right;font-size:11px;color:rgba(255,255,255,.5);line-height:1.7}
.fq27-hmeta strong{color:rgba(255,255,255,.85);font-weight:500}
.fq27-meta-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:0.5px solid rgba(0,0,0,.09)}
.fq27-mg-cell{border-right:0.5px solid rgba(0,0,0,.09);border-top:0.5px solid rgba(0,0,0,.09);padding:0}
.fq27-mg-cell:nth-child(2n){border-right:none}
.fq27-mg-cell:nth-child(1),.fq27-mg-cell:nth-child(2){border-top:none}
.fq27-mg-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#7a7a76;padding:7px 14px 2px;display:block}
.fq27-mg-input{width:100%;border:none;background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:4px 14px 10px;outline:none}
.fq27-mg-input:focus{background:#FDF0E6}
.fq27-col-hdr{display:flex;border-bottom:0.5px solid rgba(0,0,0,.09);background:#f5f5f2}
.fq27-col-hdr-q{flex:1;padding:6px 16px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#7a7a76}
.fq27-col-hdr-btns{display:flex;flex-shrink:0;border-left:0.5px solid rgba(0,0,0,.09)}
.fq27-col-hdr-btn{width:56px;text-align:center;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#7a7a76;padding:6px 0;border-right:0.5px solid rgba(0,0,0,.09)}
.fq27-col-hdr-btn:last-child{border-right:none}
.fq27-sec-hdr{background:#162032;padding:8px 18px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#E07B2A;display:flex;align-items:center;gap:7px}
.fq27-sec-hdr .material-icons{font-size:14px}
.fq27-check-item{border-bottom:0.5px solid rgba(0,0,0,.09)}
.fq27-check-item:last-of-type{border-bottom:none}
.fq27-check-row{display:flex;align-items:flex-start;min-height:44px}
.fq27-check-q{flex:1;padding:11px 16px;font-size:12px;font-weight:500;color:#1a1a18;line-height:1.5}
.fq27-check-q small{display:block;font-size:11px;color:#7a7a76;font-weight:400;margin-top:2px}
.fq27-check-btns{display:flex;flex-shrink:0;border-left:0.5px solid rgba(0,0,0,.09)}
.fq27-cb{width:56px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;cursor:pointer;border:none;border-right:0.5px solid rgba(0,0,0,.09);background:#fff;font-family:inherit;color:#4a4a46;transition:all .12s}
.fq27-cb:last-child{border-right:none}
.fq27-cb:hover{background:#f5f5f2}
.fq27-sel-yes{background:#EAF7F2;color:#0d5c42}
.fq27-sel-no{background:#FEF2F2;color:#7F1D1D}
.fq27-sel-na{background:#f5f5f2;color:#7a7a76}
.fq27-check-notes{border-top:0.5px solid rgba(0,0,0,.06);background:#fafaf8;display:none}
.fq27-check-notes textarea{display:block;width:100%;border:none;background:transparent;font-family:inherit;font-size:11px;color:#4a4a46;padding:8px 16px;outline:none;resize:none;overflow:hidden;line-height:1.6}
.fq27-check-notes textarea::placeholder{color:#d1d5db}
.fq27-show{display:block!important}
.fq27-action-block{background:#FEF2F2;border-top:0.5px solid #FECACA;padding:0;display:none}
.fq27-action-block.fq27-show{display:block}
.fq27-action-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#7F1D1D;padding:7px 16px;border-bottom:0.5px solid #FECACA;display:flex;align-items:center;gap:6px;background:#FEF2F2}
.fq27-action-ta{display:block;width:100%;border:none;background:#fff8f8;font-family:inherit;font-size:12px;color:#1a1a18;padding:10px 16px;outline:none;resize:none;overflow:hidden;min-height:52px;line-height:1.6}
.fq27-action-ta::placeholder{color:#fca5a5}
.fq27-er1-prompt{background:#EBF4FF;border:0.5px solid #B5D4F4;border-radius:8px;margin:14px 18px;padding:12px 14px;font-size:12px;color:#0C447C;display:flex;align-items:flex-start;gap:10px}
.fq27-declaration{padding:14px 18px;border-bottom:0.5px solid rgba(0,0,0,.09);font-size:12px;color:#4a4a46;line-height:1.7;background:#f5f5f2}
.fq27-sig-strip{display:grid;grid-template-columns:1fr 1fr;border-top:0.5px solid rgba(0,0,0,.09)}
.fq27-sig-cell{padding:14px 18px;border-right:0.5px solid rgba(0,0,0,.09)}
.fq27-sig-cell:last-child{border-right:none}
.fq27-sig-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#7a7a76;margin-bottom:8px}
.fq27-sig-line{border:none;border-bottom:0.5px solid rgba(0,0,0,.2);background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:3px 0;width:100%;outline:none;margin-bottom:5px}
.fq27-sig-line:focus{border-bottom-color:#E07B2A}
.fq27-sig-sub{font-size:11px;color:#7a7a76;margin-top:3px;display:flex;align-items:center;gap:4px}
.fq27-sig-sub input{border:none;border-bottom:0.5px solid rgba(0,0,0,.15);background:transparent;font-family:inherit;font-size:12px;padding:1px 4px;outline:none;color:#1a1a18}
.fq27-ftr{padding:10px 22px;background:#f5f5f2;border-top:0.5px solid rgba(0,0,0,.09);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7a7a76}
/* Index view */
.fq27-index-wrap{max-width:900px;margin:0 auto;padding-bottom:40px}
.fq27-index-hdr{margin-bottom:16px}
.fq27-index-title{font-size:20px;font-weight:700;color:#162032;margin-bottom:4px}
.fq27-index-sub{font-size:12px;color:#7a7a76}
.fq27-empty{text-align:center;padding:48px 0;color:#7a7a76}
.fq27-empty-icon{font-size:48px;color:#d1d5db;display:block;margin-bottom:12px}
.fq27-card-list{display:flex;flex-direction:column;gap:8px}
.fq27-card{background:#fff;border:0.5px solid rgba(0,0,0,.12);border-radius:10px;padding:14px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fq27-card-main{flex:1;min-width:180px}
.fq27-card-name{font-size:14px;font-weight:700;color:#162032}
.fq27-card-role{font-size:12px;color:#4a4a46;margin-top:1px}
.fq27-card-date{font-size:11px;color:#7a7a76;margin-top:2px}
.fq27-card-counts{display:flex;gap:8px;flex-wrap:wrap}
.fq27-cnt{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;border:0.5px solid}
.fq27-cnt-yes{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.fq27-cnt-no{background:#FEF2F2;color:#7F1D1D;border-color:#FECACA}
.fq27-cnt-na{background:#f5f5f2;color:#7a7a76;border-color:rgba(0,0,0,.15)}
.fq27-card-footer{display:flex;align-items:center;gap:10px;margin-left:auto}
.fq27-status{font-size:10px;font-weight:700;padding:4px 10px;border-radius:999px}
.fq27-status-ok{background:#EAF7F2;color:#0d5c42;border:0.5px solid #86EFAC}
.fq27-status-action{background:#FEF2F2;color:#7F1D1D;border:0.5px solid #FECACA}
.fq27-status-draft{background:#f5f5f2;color:#7a7a76;border:0.5px solid rgba(0,0,0,.12)}
@media print{
  .fq27-toolbar,.fq27-sbar{display:none!important}
  .fq27-paper{box-shadow:none;border:none}
  @page{margin:1.5cm;size:A4}
}

/* ── er10- (ER10 IT Equipment & Logins Register) ── */
.er10-toolbar{margin-bottom:10px}
.er10-toolbar-inner{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.er10-doc-ref{font-size:12px;color:#7a7a76;padding:5px 10px;background:#fff;border:0.5px solid rgba(0,0,0,.15);border-radius:999px}
.er10-badge-conf{font-size:10px;padding:4px 10px;border-radius:999px;font-weight:600;background:#FEF2F2;color:#7F1D1D;border:0.5px solid #FECACA;display:inline-flex;align-items:center;gap:4px}
.er10-toolbar-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.er10-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none;font-family:inherit}
.er10-btn-g{background:#fff;color:#4a4a46;border:0.5px solid rgba(0,0,0,.15)}
.er10-btn-g:hover{background:#f5f5f2}
.er10-btn-gr{background:#1D9E75;color:#fff}
.er10-btn-gr:hover{opacity:.88}
.er10-btn-o{background:#E07B2A;color:#fff}
.er10-btn-o:hover{opacity:.88}
.er10-sbar{background:#fff;border:0.5px solid rgba(0,0,0,.15);border-radius:8px;padding:8px 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:0}
.er10-sc{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;border:0.5px solid;cursor:pointer}
.er10-sc:hover{opacity:.8}
.er10-sc-all{background:#f5f5f2;color:#4a4a46;border-color:rgba(0,0,0,.15)}
.er10-sc-h{background:#FEF2F2;color:#7F1D1D;border-color:#FECACA}
.er10-sc-m{background:#FEF3C7;color:#92400E;border-color:#FDE68A}
.er10-sc-l{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.er10-sc-due{background:#FEF3C7;color:#92400E;border-color:#FDE68A}
.er10-search{border:0.5px solid rgba(0,0,0,.15);border-radius:6px;padding:5px 10px;font-size:12px;font-family:inherit;outline:none;width:200px;margin-left:auto}
.er10-search:focus{border-color:#E07B2A}
.er10-save-status{font-size:12px;color:#7a7a76}
.er10-tab-bar{display:flex;background:#fff;border:0.5px solid rgba(0,0,0,.15);border-radius:10px 10px 0 0;overflow:hidden;border-bottom:none;margin-top:8px}
.er10-tab{padding:11px 18px;font-size:13px;font-weight:500;color:#7a7a76;cursor:pointer;border-bottom:2px solid transparent;transition:all .12s;display:flex;align-items:center;gap:7px;user-select:none}
.er10-tab:hover{color:#1a1a18;background:#f5f5f2}
.er10-tab-active{color:#a85a1e;border-bottom-color:#E07B2A;font-weight:600}
.er10-paper{background:#fff;border:0.5px solid rgba(0,0,0,.15);border-top:none;border-radius:0 0 10px 10px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.07)}
.er10-tab-panel{display:none}
.er10-panel-active{display:block}
.er10-hband{background:#162032;padding:14px 22px;display:flex;align-items:center;justify-content:space-between}
.er10-hlogo{display:flex;align-items:center;gap:10px}
.er10-hmark{width:34px;height:34px;background:#E07B2A;border-radius:8px;display:flex;align-items:center;justify-content:center}
.er10-hwm{font-size:14px;font-weight:600;color:#fff}
.er10-hmeta{text-align:right;font-size:11px;color:rgba(255,255,255,.5);line-height:1.7}
.er10-hmeta strong{color:rgba(255,255,255,.85);font-weight:500}
.er10-metastrip{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;border-bottom:0.5px solid rgba(0,0,0,.09)}
.er10-mc{border-right:0.5px solid rgba(0,0,0,.09)}
.er10-mc-last{border-right:none}
.er10-mlabel{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#7a7a76;padding:7px 14px 2px;display:block}
.er10-minput{width:100%;border:none;background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:4px 14px 10px;outline:none}
.er10-minput:focus{background:#FDF0E6}
.er10-conf-warn{background:#FEF2F2;border-bottom:0.5px solid #FECACA;padding:9px 18px;font-size:12px;color:#7F1D1D;display:flex;align-items:center;gap:8px}
.er10-rt{width:100%;border-collapse:collapse}
.er10-rt th{padding:7px 10px;background:#162032;color:rgba(255,255,255,.7);font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;border-right:0.5px solid rgba(255,255,255,.1);text-align:left}
.er10-rt th:last-child{border-right:none}
.er10-rt td{border-bottom:0.5px solid rgba(0,0,0,.09);border-right:0.5px solid rgba(0,0,0,.09);vertical-align:middle;padding:0}
.er10-rt td:last-child{border-right:none}
.er10-rt tr:last-child td{border-bottom:none}
.er10-rt tr:hover td{background:#fafaf8}
.er10-rt tr.hidden{display:none}
.er10-fi{display:block;width:100%;border:none;background:transparent;font-family:inherit;font-size:12px;color:#1a1a18;padding:8px 10px;outline:none}
.er10-fi:focus{background:#FDF0E6}
.er10-fi::placeholder{color:#d1d5db}
.er10-ft{display:block;width:100%;border:none;background:transparent;font-family:inherit;font-size:12px;color:#1a1a18;padding:8px 10px;outline:none;resize:none;line-height:1.6;box-sizing:border-box;overflow:hidden;min-height:40px}
.er10-ft:focus{background:#FDF0E6}
.er10-ft::placeholder{color:#d1d5db}
.er10-sel-cell{padding:5px 4px;vertical-align:middle}
.er10-csel{border:0.5px solid rgba(0,0,0,.12);border-radius:4px;font-family:inherit;font-size:11px;color:#1a1a18;padding:4px;outline:none;cursor:pointer;background:#fff;width:100%}
.er10-csel:focus{border-color:#E07B2A}
.er10-risk-cell{padding:5px 4px;text-align:center;vertical-align:middle}
.er10-rb-h{background:#FEF2F2;color:#7F1D1D;border-color:#FECACA}
.er10-rb-m{background:#FEF3C7;color:#92400E;border-color:#FDE68A}
.er10-rb-l{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.er10-iu-cell{padding:5px 4px;text-align:center;vertical-align:middle}
.er10-iu-btn{border:0.5px solid;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .12s;min-width:36px;text-align:center}
.er10-iu-yes{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.er10-iu-no{background:#f5f5f2;color:#9ca3af;border-color:rgba(0,0,0,.15)}
.er10-date-cell{padding:5px 4px;vertical-align:middle}
.er10-date-inp{display:block;width:100%;border:none;background:transparent;font-family:inherit;font-size:11px;color:#1a1a18;padding:6px 6px;outline:none;text-align:center}
.er10-date-inp:focus{background:#FDF0E6}
.er10-overdue{color:#DC2626;font-weight:700}
.er10-due-soon{color:#D97706;font-weight:600}
.er10-add-row-btn{display:flex;align-items:center;gap:6px;font-size:12px;color:#7a7a76;cursor:pointer;padding:9px 16px;border:none;background:#f5f5f2;font-family:inherit;width:100%;border-top:0.5px solid rgba(0,0,0,.09);transition:all .12s}
.er10-add-row-btn:hover{color:#E07B2A;background:#FDF0E6}
.er10-rm-btn{border:none;background:none;cursor:pointer;color:rgba(0,0,0,.1);padding:4px;border-radius:3px;display:block;margin:auto}
.er10-rm-btn:hover{color:#DC2626;background:#FEF2F2}
.er10-rt tr:hover .er10-rm-btn{color:rgba(0,0,0,.25)}
.er10-sigstrip{display:grid;grid-template-columns:1fr 1fr;border-top:0.5px solid rgba(0,0,0,.09)}
.er10-sigcell{padding:12px 16px;border-right:0.5px solid rgba(0,0,0,.09)}
.er10-sigcell:last-child{border-right:none}
.er10-siglabel{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#7a7a76;margin-bottom:8px}
.er10-sigline{border:none;border-bottom:0.5px solid rgba(0,0,0,.2);background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:3px 0;width:100%;outline:none;margin-bottom:5px}
.er10-sigline:focus{border-bottom-color:#E07B2A}
.er10-sigsub{font-size:11px;color:#7a7a76;margin-top:3px;display:flex;align-items:center;gap:4px}
.er10-sigsub input{border:none;border-bottom:0.5px solid rgba(0,0,0,.2);background:transparent;font-family:inherit;font-size:12px;padding:1px 4px;outline:none;color:#1a1a18}
.er10-ftr{padding:10px 22px;background:#f5f5f2;border-top:0.5px solid rgba(0,0,0,.09);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7a7a76}
@media print{
  .er10-toolbar,.er10-sbar,.er10-tab-bar{display:none!important}
  .er10-tab-panel{display:block!important;page-break-before:always}
  .er10-tab-panel:first-of-type{page-break-before:auto}
  .er10-paper{box-shadow:none;border:none}
  .er10-add-row-btn,.er10-rm-btn{display:none}
  @page{margin:1cm;size:A4 landscape}
}

/* ── soa- (Statement of Applicability F-IMS26) ── */
.soa-toolbar{margin-bottom:10px}
.soa-toolbar-inner{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.soa-doc-ref{font-size:12px;color:#7a7a76;padding:5px 10px;background:#fff;border:0.5px solid rgba(0,0,0,.15);border-radius:999px}
.soa-badge{font-size:10px;padding:4px 10px;border-radius:999px;font-weight:600;background:#FEF3C7;color:#92400E;border:0.5px solid #FDE68A}
.soa-toolbar-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.soa-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none;font-family:inherit}
.soa-btn-g{background:#fff;color:#4a4a46;border:0.5px solid rgba(0,0,0,.15)}
.soa-btn-g:hover{background:#f5f5f2}
.soa-btn-gr{background:#1D9E75;color:#fff}
.soa-btn-gr:hover{opacity:.88}
.soa-sbar{background:#fff;border:0.5px solid rgba(0,0,0,.15);border-radius:8px;padding:8px 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.soa-sc{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;border:0.5px solid;cursor:pointer}
.soa-sc:hover{opacity:.8}
.soa-sc-all{background:#f5f5f2;color:#4a4a46;border-color:rgba(0,0,0,.15)}
.soa-sc-inc{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.soa-sc-na{background:#FEF2F2;color:#7F1D1D;border-color:#FECACA}
.soa-search{border:0.5px solid rgba(0,0,0,.15);border-radius:6px;padding:5px 10px;font-size:12px;font-family:inherit;outline:none;width:220px;margin-left:auto}
.soa-search:focus{border-color:#E07B2A}
.soa-save-status{font-size:12px;color:#7a7a76}
.soa-paper{background:#fff;border:0.5px solid rgba(0,0,0,.15);border-radius:10px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.07)}
.soa-hband{background:#162032;padding:14px 22px;display:flex;align-items:center;justify-content:space-between}
.soa-hlogo{display:flex;align-items:center;gap:10px}
.soa-hmark{width:34px;height:34px;background:#E07B2A;border-radius:8px;display:flex;align-items:center;justify-content:center}
.soa-hwm{font-size:14px;font-weight:600;color:#fff}
.soa-hmeta{text-align:right;font-size:11px;color:rgba(255,255,255,.5);line-height:1.7}
.soa-hmeta strong{color:rgba(255,255,255,.85);font-weight:500}
.soa-metastrip{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;border-bottom:0.5px solid rgba(0,0,0,.09)}
.soa-mc{border-right:0.5px solid rgba(0,0,0,.09)}
.soa-mc-last{border-right:none}
.soa-mlabel{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#7a7a76;padding:7px 14px 2px;display:block}
.soa-minput{width:100%;border:none;background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:4px 14px 10px;outline:none}
.soa-minput:focus{background:#FDF0E6}
.soa-scope-row{border-bottom:0.5px solid rgba(0,0,0,.09);padding:0 14px 10px}
.soa-scope-ta{display:block;width:100%;border:none;background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:6px 0;outline:none;resize:none;overflow:hidden;min-height:48px;line-height:1.6}
.soa-scope-ta:focus{background:#FDF0E6}
.soa-scope-ta::placeholder{color:#d1d5db}
.soa-key-bar{background:#f5f5f2;border-bottom:0.5px solid rgba(0,0,0,.09);padding:9px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:11px}
.soa-key-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#7a7a76}
.soa-key-pill{display:inline-flex;align-items:center;gap:5px;font-weight:600;padding:2px 9px;border-radius:999px;border:0.5px solid;font-size:10px}
.soa-kp-l{background:#EBF4FF;color:#0C447C;border-color:#B5D4F4}
.soa-kp-c{background:#F3E8FF;color:#6B21A8;border-color:#D8B4FE}
.soa-kp-b{background:#FDF0E6;color:#a85a1e;border-color:rgba(224,123,42,.35)}
.soa-kp-s{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.soa-group-hdr{background:#0d1b2a;padding:7px 16px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#E07B2A}
.soa-rt{width:100%;border-collapse:collapse}
.soa-rt th{padding:7px 10px;background:#162032;color:rgba(255,255,255,.7);font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;border-right:0.5px solid rgba(255,255,255,.1);text-align:left}
.soa-rt th:last-child{border-right:none}
.soa-rt td{border-bottom:0.5px solid rgba(0,0,0,.09);border-right:0.5px solid rgba(0,0,0,.09);vertical-align:top;padding:0}
.soa-rt td:last-child{border-right:none}
.soa-rt tr.hidden{display:none}
.soa-rt tr:hover td{background:#fafaf8}
.soa-ctrl-no{padding:9px 10px;font-size:12px;font-weight:700;color:#162032;white-space:nowrap;vertical-align:top;text-align:center}
.soa-ctrl-name{padding:9px 10px;font-size:12px;font-weight:500;color:#1a1a18;vertical-align:top;min-width:180px}
.soa-inc-cell{padding:6px 5px;text-align:center;vertical-align:middle}
.soa-inc-btn{border:0.5px solid;border-radius:999px;padding:3px 10px;font-size:10px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .12s;min-width:80px;text-align:center;display:block;width:100%}
.soa-inc-included{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.soa-inc-na{background:#FEF2F2;color:#7F1D1D;border-color:#FECACA}
.soa-reason-cell{padding:6px 5px;text-align:center;vertical-align:middle}
.soa-reason-chips{display:flex;gap:3px;justify-content:center;flex-wrap:wrap}
.soa-rchip{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;border:0.5px solid;cursor:pointer;transition:all .12s}
.soa-rc-l.soa-rc-on{background:#EBF4FF;color:#0C447C;border-color:#B5D4F4}
.soa-rc-c.soa-rc-on{background:#F3E8FF;color:#6B21A8;border-color:#D8B4FE}
.soa-rc-b.soa-rc-on{background:#FDF0E6;color:#a85a1e;border-color:rgba(224,123,42,.35)}
.soa-rc-s.soa-rc-on{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.soa-rc-l.soa-rc-off,.soa-rc-c.soa-rc-off,.soa-rc-b.soa-rc-off,.soa-rc-s.soa-rc-off{background:#f5f5f2;color:#d1d5db;border-color:rgba(0,0,0,.08)}
.soa-ft{width:100%;border:none;background:transparent;font-family:inherit;font-size:11px;color:#1a1a18;padding:8px 10px;outline:none;resize:none;line-height:1.6;display:block;box-sizing:border-box;overflow:hidden;min-height:36px}
.soa-ft:focus{background:#FDF0E6}
.soa-ft::placeholder{color:#d1d5db}
.soa-add-row-wrap{border-top:2px solid #E07B2A}
.soa-add-row-btn{display:flex;align-items:center;gap:6px;font-size:12px;color:#7a7a76;cursor:pointer;padding:9px 16px;border:none;background:#f5f5f2;font-family:inherit;width:100%;border-top:0.5px solid rgba(0,0,0,.09);transition:all .12s}
.soa-add-row-btn:hover{color:#E07B2A;background:#FDF0E6}
.soa-rm-btn{border:none;background:none;cursor:pointer;color:rgba(0,0,0,.1);padding:4px;border-radius:3px;flex-shrink:0;margin-top:6px}
.soa-rm-btn:hover{color:#DC2626;background:#FEF2F2}
.soa-sigstrip{display:grid;grid-template-columns:1fr 1fr;border-top:0.5px solid rgba(0,0,0,.09)}
.soa-sigcell{padding:12px 16px;border-right:0.5px solid rgba(0,0,0,.09)}
.soa-sigcell:last-child{border-right:none}
.soa-siglabel{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#7a7a76;margin-bottom:8px}
.soa-sigline{border:none;border-bottom:0.5px solid rgba(0,0,0,.2);background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:3px 0;width:100%;outline:none;margin-bottom:5px}
.soa-sigline:focus{border-bottom-color:#E07B2A}
.soa-sigsub{font-size:11px;color:#7a7a76;margin-top:3px;display:flex;align-items:center;gap:4px}
.soa-sigsub input{border:none;border-bottom:0.5px solid rgba(0,0,0,.2);background:transparent;font-family:inherit;font-size:12px;padding:1px 4px;outline:none;color:#1a1a18}
.soa-ftr{padding:10px 22px;background:#f5f5f2;border-top:0.5px solid rgba(0,0,0,.09);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7a7a76}
@media print{
  .soa-toolbar,.soa-sbar{display:none!important}
  .soa-paper{box-shadow:none;border:none}
  .soa-add-row-btn,.soa-rm-btn{display:none}
  @page{margin:1cm;size:A4 landscape}
}

/* ============================================================
   F-IMS28 — Information Security Incident Report (fims28-)
   ============================================================ */
.fims28-toolbar{background:#fff;border-bottom:.5px solid rgba(0,0,0,.1);padding:8px 24px;position:sticky;top:0;z-index:50;print-color-adjust:exact}
.fims28-toolbar-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fims28-doc-ref{font-size:12px;color:#7a7a76;padding:5px 10px;background:#f5f5f2;border:.5px solid rgba(0,0,0,.12);border-radius:999px}
.fims28-badge-conf{font-size:10px;padding:4px 10px;border-radius:999px;font-weight:600;background:#FEF2F2;color:#7F1D1D;border:.5px solid #FECACA}
.fims28-toolbar-actions{margin-left:auto;display:flex;gap:8px}

.fims28-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none;font-family:inherit;text-decoration:none;transition:opacity .15s}
.fims28-btn-g{background:#fff;color:#4a4a46;border:.5px solid rgba(0,0,0,.15)}
.fims28-btn-g:hover{background:#f5f5f2}
.fims28-btn-gr{background:#1D9E75;color:#fff}
.fims28-btn-gr:hover{opacity:.88}
.fims28-btn-o{background:#E07B2A;color:#fff}
.fims28-btn-o:hover{opacity:.88}
.fims28-btn-danger{background:#DC2626;color:#fff}
.fims28-btn-danger:hover{opacity:.88}
.fims28-btn-sm{padding:4px 10px;font-size:11px}

.fims28-paper{max-width:900px;margin:24px auto;background:#fff;border:.5px solid rgba(0,0,0,.12);border-radius:10px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.07)}

.fims28-hband{background:#162032;padding:14px 22px;display:flex;align-items:center;justify-content:space-between}
.fims28-hlogo{display:flex;align-items:center;gap:10px}
.fims28-hmark{width:34px;height:34px;background:#DC2626;border-radius:8px;display:flex;align-items:center;justify-content:center}
.fims28-hwm{font-size:14px;font-weight:600;color:#fff}
.fims28-hmeta{text-align:right;font-size:11px;color:rgba(255,255,255,.55);line-height:1.7}
.fims28-hmeta strong{color:rgba(255,255,255,.85);font-weight:500}

.fims28-rep-hdr{background:#FEF2F2;border-bottom:.5px solid #FECACA;padding:10px 22px;display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.fims28-rep-hdr-left{display:flex;align-items:center;gap:10px}
.fims28-rep-hdr-sev{display:flex;align-items:center;gap:8px}
.fims28-rep-hdr-review{display:flex;align-items:center;gap:8px}
.fims28-rep-hdr-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#7a7a76}
.fims28-ref-pill{font-size:11px;font-weight:700;color:#7F1D1D;background:#fff;border:.5px solid #FECACA;border-radius:999px;padding:3px 12px}
.fims28-date-inline{border:none;border-bottom:.5px solid rgba(0,0,0,.2);background:transparent;font-family:inherit;font-size:12px;font-weight:600;color:#1a1a18;outline:none;padding:2px 4px}

.fims28-sev-badge{font-size:11px;font-weight:700;padding:3px 12px;border-radius:999px;border:.5px solid}
.fims28-sev-low{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.fims28-sev-medium{background:#FFFBEB;color:#78350F;border-color:#FDE68A}
.fims28-sev-high{background:#FEF2F2;color:#7F1D1D;border-color:#FECACA}
.fims28-sev-critical{background:#7F1D1D;color:#fff;border-color:#7F1D1D}

.fims28-ico-clock{display:flex;align-items:center;gap:8px;margin-left:auto}
.fims28-ico-countdown{font-size:11px;font-weight:600;color:#7F1D1D;background:#fff;border:.5px solid #FECACA;border-radius:999px;padding:3px 12px}
.fims28-ico-expired{background:#DC2626;color:#fff;border-color:#DC2626}

.fims28-meta-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:.5px solid rgba(0,0,0,.09)}
.fims28-meta-grid-notop{border-top:none}
.fims28-mg-cell{border-right:.5px solid rgba(0,0,0,.09);border-top:.5px solid rgba(0,0,0,.09);padding:0}
.fims28-mg-cell:nth-child(2n){border-right:none}
.fims28-mg-notop{border-top:none}
.fims28-mg-full{grid-column:1/-1;border-right:none}
.fims28-mg-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#7a7a76;padding:7px 14px 2px;display:block}
.fims28-mg-input{width:100%;border:none;background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:4px 14px 10px;outline:none}
.fims28-mg-input:focus{background:#FDF0E6}
.fims28-mg-select{width:100%;border:none;background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:4px 14px 10px;outline:none;cursor:pointer}
.fims28-mg-select:focus{background:#FDF0E6}

.fims28-sec-hdr{background:#162032;padding:8px 16px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#E07B2A;display:flex;align-items:center;gap:7px}
.fims28-sec-icon{font-size:14px}

.fims28-field-block{border-bottom:.5px solid rgba(0,0,0,.09)}
.fims28-field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#7a7a76;background:#f5f5f2;padding:7px 14px;border-bottom:.5px solid rgba(0,0,0,.07);display:flex;align-items:center;gap:6px}
.fims28-field-icon{font-size:13px}
.fims28-ta{display:block;width:100%;border:none;background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:12px 14px;outline:none;resize:none;line-height:1.7;min-height:68px;box-sizing:border-box}
.fims28-ta:focus{background:#FDF0E6}
.fims28-ta::placeholder{color:#9ca3af}
.fims28-ta[readonly]{cursor:default}

.fims28-sev-sel{display:flex;gap:8px;padding:12px 14px;flex-wrap:wrap;border-bottom:.5px solid rgba(0,0,0,.09)}
.fims28-sev-opt{border:.5px solid rgba(0,0,0,.15);border-radius:6px;padding:6px 16px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;background:#f5f5f2;color:#4a4a46;transition:all .12s}
.fims28-sev-opt:hover{background:#e5e5e2}
.fims28-sev-opt.fims28-sev-low{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.fims28-sev-opt.fims28-sev-medium{background:#FFFBEB;color:#78350F;border-color:#FDE68A}
.fims28-sev-opt.fims28-sev-high{background:#FEF2F2;color:#7F1D1D;border-color:#FECACA}
.fims28-sev-opt.fims28-sev-critical{background:#7F1D1D;color:#fff;border-color:#7F1D1D}

.fims28-cia-row{border-bottom:.5px solid rgba(0,0,0,.09);padding:10px 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fims28-cia-label{font-size:12px;font-weight:500;color:#1a1a18;flex:1}
.fims28-cia-btns{display:flex;gap:6px;flex-wrap:wrap}
.fims28-cia-btn{border:.5px solid rgba(0,0,0,.15);border-radius:999px;padding:3px 14px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;background:#f5f5f2;color:#7a7a76;transition:all .12s}
.fims28-cia-btn.fims28-cia-c{background:#7F1D1D;color:#fff;border-color:#7F1D1D}
.fims28-cia-btn.fims28-cia-i{background:#78350F;color:#fff;border-color:#78350F}
.fims28-cia-btn.fims28-cia-a{background:#1e3a5f;color:#fff;border-color:#1e3a5f}

.fims28-yn-field{border-bottom:.5px solid rgba(0,0,0,.09);padding:10px 14px;display:flex;align-items:flex-start;gap:12px}
.fims28-yn-label{font-size:12px;font-weight:500;color:#1a1a18;flex:1;line-height:1.5;padding-top:3px}
.fims28-yn-label small{display:block;font-size:11px;color:#7a7a76;font-weight:400;margin-top:2px}
.fims28-yn-group{display:flex;gap:6px;flex-shrink:0}
.fims28-yn-btn{border:.5px solid;border-radius:999px;padding:3px 12px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .12s}
.fims28-yn-yes{background:#FEF2F2;color:#7F1D1D;border-color:#FECACA}
.fims28-yn-no{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.fims28-yn-active-yes{background:#DC2626;color:#fff;border-color:#DC2626}
.fims28-yn-active-no{background:#1D9E75;color:#fff;border-color:#1D9E75}

.fims28-ico-alert{background:#FEF2F2;border:.5px solid #FECACA;border-radius:8px;margin:14px 18px;padding:12px 14px;font-size:12px;color:#7F1D1D;display:flex;align-items:flex-start;gap:10px}
.fims28-er1-prompt{background:#EBF4FF;border:.5px solid #B5D4F4;border-radius:8px;margin:14px 18px;padding:12px 14px;font-size:12px;color:#0C447C;display:flex;align-items:flex-start;gap:10px}

.fims28-sigstrip{display:grid;grid-template-columns:1fr 1fr;border-top:.5px solid rgba(0,0,0,.09)}
.fims28-sigcell{padding:12px 16px;border-right:.5px solid rgba(0,0,0,.09)}
.fims28-sigcell:last-child{border-right:none}
.fims28-siglabel{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#7a7a76;margin-bottom:8px}
.fims28-sigline{border:none;border-bottom:.5px solid rgba(0,0,0,.2);background:transparent;font-family:inherit;font-size:13px;color:#1a1a18;padding:3px 0;width:100%;outline:none;margin-bottom:5px;display:block}
.fims28-sigline:focus{border-bottom-color:#E07B2A}
.fims28-sigsub{font-size:11px;color:#7a7a76;margin-top:3px}
.fims28-sigsub input{border:none;border-bottom:.5px solid rgba(0,0,0,.2);background:transparent;font-family:inherit;font-size:12px;padding:1px 4px;outline:none;color:#1a1a18}
.fims28-ftr{padding:10px 22px;background:#f5f5f2;border-top:.5px solid rgba(0,0,0,.09);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7a7a76}

.fims28-index-wrap{max-width:900px;margin:24px auto;padding:0 16px}
.fims28-index-hdr{margin-bottom:20px}
.fims28-index-title{font-size:18px;font-weight:600;color:#162032;margin-bottom:4px}
.fims28-index-sub{font-size:12px;color:#7a7a76}
.fims28-empty{text-align:center;padding:60px 24px;color:#7a7a76}
.fims28-empty-icon{font-size:48px;display:block;margin-bottom:12px;color:#d1d1cc}
.fims28-register-wrap{overflow-x:auto}
.fims28-table{width:100%;border-collapse:collapse;font-size:13px}
.fims28-table th{background:#162032;color:rgba(255,255,255,.8);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:10px 14px;text-align:left;white-space:nowrap}
.fims28-table td{padding:10px 14px;border-bottom:.5px solid rgba(0,0,0,.08);color:#1a1a18;vertical-align:middle}
.fims28-table tr:hover td{background:#fafaf8}
.fims28-ref-cell{font-family:monospace;font-size:12px;font-weight:600;color:#162032}
.fims28-status{display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;border:.5px solid}
.fims28-status-open{background:#FFFBEB;color:#78350F;border-color:#FDE68A}
.fims28-status-closed{background:#EAF7F2;color:#0d5c42;border-color:#86EFAC}
.fims28-pd-yes{color:#DC2626;font-weight:600}
.fims28-pd-no{color:#1D9E75;font-weight:600}

@media print {
  .fims28-toolbar{display:none!important}
  .fims28-paper{box-shadow:none;border:none;margin:0}
  .fims28-ta{resize:none}
}

/* ── RISKS MODULE — rating matrix ── */
.risk-matrix-table { border-collapse:collapse; font-size:11px; }
.risk-matrix-table td, .risk-matrix-table th { width:80px; height:36px; text-align:center; border:0.5px solid rgba(0,0,0,.14); font-size:10px; font-weight:600; vertical-align:middle; }
.rmt-axis { background:#162032; color:#fff; font-size:10px; font-weight:600; letter-spacing:.05em; }
.rmt-t    { background:#DCFCE7; color:#14532D; }
.rmt-m    { background:#FEF9C3; color:#713F12; }
.rmt-s    { background:#FEE2E2; color:#7F1D1D; }
.risk-rs-chip { display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px; font-size:12px; font-weight:600; border:0.5px solid; }
.rs-total { background:#f5f5f2; color:#4a4a46; border-color:rgba(0,0,0,.14); }
.rs-t     { background:#DCFCE7; color:#14532D; border-color:#86EFAC; }
.rs-m     { background:#FEF9C3; color:#713F12; border-color:#FDE047; }
.rs-s     { background:#FEE2E2; color:#7F1D1D; border-color:#FCA5A5; }

/* ============================================================
   DOCUMENT STORE  (module: docstore — top-level file store)
   Blueprint: "SimpliSO — Document Store". All selectors scoped
   under .ds so nothing leaks into the rest of the app.
   Palette: orange #E07B2A, navy #162032, surfaces #fff/#f5f5f2.
   ============================================================ */
.ds { font-size:13px; color:#1a1a18; line-height:1.6; }
.ds .material-icons { font-size:16px; line-height:1; vertical-align:middle; }

/* Layout: category rail + main */
.ds-layout { display:grid; grid-template-columns:208px 1fr; gap:18px; align-items:start; }

/* CATEGORY RAIL */
.ds-rail { background:#fff; border:0.5px solid rgba(0,0,0,.1); border-radius:10px; padding:12px 0; position:sticky; top:12px; }
.ds-rail-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#9ca3af; padding:8px 16px 4px; display:block; }
.ds-rail-item { display:flex; align-items:center; gap:9px; padding:8px 16px; font-size:12px; font-weight:500; color:#4a4a46; cursor:pointer; text-decoration:none; border-left:2px solid transparent; transition:all .12s; }
.ds-rail-item:hover { background:#f5f5f2; color:#1a1a18; }
.ds-rail-item.active { background:#FDF0E6; color:#a85a1e; border-left-color:#E07B2A; font-weight:600; }
.ds-rail-item .material-icons { font-size:15px; flex-shrink:0; }
.ds-cnt { margin-left:auto; font-size:10px; font-weight:700; background:#f5f5f2; color:#7a7a76; padding:1px 7px; border-radius:999px; }
.ds-rail-item.active .ds-cnt { background:#fff; color:#a85a1e; }
.ds-rail-divider { height:0.5px; background:rgba(0,0,0,.07); margin:8px 16px; }
.ds-storage-bar { margin:8px 16px 0; background:#f5f5f2; border-radius:999px; height:6px; overflow:hidden; }
.ds-storage-fill { height:100%; background:#E07B2A; border-radius:999px; }
.ds-storage-label { font-size:10px; color:#9ca3af; padding:4px 16px 0; display:block; }

/* MAIN COLUMN */
.ds-main { min-width:0; }

/* Buttons */
.ds-btn { display:inline-flex; align-items:center; gap:5px; padding:7px 14px; border-radius:6px; font-size:12px; font-weight:500; cursor:pointer; border:none; font-family:inherit; text-decoration:none; transition:all .12s; }
.ds-btn .material-icons { font-size:15px; }
.ds-btn-g { background:#fff; color:#4a4a46; border:0.5px solid rgba(0,0,0,.15); }
.ds-btn-g:hover { background:#f5f5f2; }
.ds-btn-o { background:#E07B2A; color:#fff; }
.ds-btn-o:hover { opacity:.88; }

/* Toolbar */
.ds-toolbar { display:flex; align-items:flex-start; gap:10px; margin-bottom:16px; flex-wrap:wrap; }
.ds-page-title { font-size:18px; font-weight:600; color:#1a1a18; }
.ds-page-sub { font-size:12px; color:#7a7a76; margin-top:1px; }
.ds-toolbar-right { margin-left:auto; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.ds-view-toggle { display:flex; border:0.5px solid rgba(0,0,0,.15); border-radius:6px; overflow:hidden; }
.ds-vt { padding:6px 10px; background:#fff; border:none; cursor:pointer; color:#7a7a76; display:flex; align-items:center; transition:all .12s; }
.ds-vt .material-icons { font-size:16px; }
.ds-vt.active { background:#162032; color:#fff; }

/* Link-filter banner */
.ds-link-banner { display:flex; align-items:center; gap:8px; background:#EBF4FF; border:0.5px solid #B5D4F4; color:#0C447C; border-radius:8px; padding:8px 14px; font-size:12px; margin-bottom:14px; }
.ds-link-clear { margin-left:auto; color:#0C447C; font-weight:600; text-decoration:underline; }

/* Stats */
.ds-stats { display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap; }
.ds-stat { background:#fff; border:0.5px solid rgba(0,0,0,.1); border-radius:8px; padding:12px 16px; flex:1; min-width:120px; }
.ds-stat-num { font-size:22px; font-weight:700; color:#162032; line-height:1; }
.ds-stat-label { font-size:11px; color:#7a7a76; margin-top:3px; }

/* Upload zone */
.ds-upload-zone { background:#fff; border:1.5px dashed rgba(0,0,0,.2); border-radius:10px; padding:24px; text-align:center; cursor:pointer; transition:all .15s; margin-bottom:16px; }
.ds-upload-zone:hover, .ds-upload-zone.drag { border-color:#E07B2A; background:#FDF0E6; }
.ds-upload-zone.busy { opacity:.7; pointer-events:none; }
.ds-upload-zone .material-icons { font-size:36px; color:#9ca3af; display:block; margin:0 auto 8px; }
.ds-upload-zone.drag .material-icons { color:#E07B2A; }
.ds-upload-zone h3 { font-size:14px; font-weight:600; color:#1a1a18; margin-bottom:4px; }
.ds-upload-zone p { font-size:12px; color:#7a7a76; }
.ds-upload-zone small { font-size:11px; color:#9ca3af; display:block; margin-top:6px; }

/* Filter bar */
.ds-filter-bar { display:flex; align-items:center; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.ds-search { flex:1; min-width:200px; position:relative; }
.ds-search .material-icons { position:absolute; left:10px; top:50%; transform:translateY(-50%); font-size:16px; color:#9ca3af; }
.ds-search input { width:100%; border:0.5px solid rgba(0,0,0,.15); border-radius:6px; padding:7px 10px 7px 34px; font-size:12px; font-family:inherit; outline:none; background:#fff; }
.ds-search input:focus { border-color:#E07B2A; }
.ds-chip { display:inline-flex; align-items:center; gap:4px; padding:4px 10px; border-radius:999px; font-size:11px; font-weight:600; border:0.5px solid rgba(0,0,0,.15); cursor:pointer; background:#fff; color:#4a4a46; }
.ds-chip .material-icons { font-size:13px; }
.ds-chip.active { background:#162032; color:#fff; border-color:#162032; }
.ds-sort { border:0.5px solid rgba(0,0,0,.15); border-radius:6px; padding:6px 10px; font-size:12px; font-family:inherit; outline:none; background:#fff; color:#4a4a46; cursor:pointer; }

/* File grid */
.ds-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; margin-bottom:24px; }
.ds-card { background:#fff; border:0.5px solid rgba(0,0,0,.1); border-radius:8px; overflow:hidden; transition:all .15s; position:relative; }
.ds-card:hover { border-color:#E07B2A; box-shadow:0 4px 16px rgba(0,0,0,.08); transform:translateY(-1px); }
.ds-card-preview { height:100px; display:flex; align-items:center; justify-content:center; background:#f5f5f2; position:relative; }
.ds-card-preview .material-icons { font-size:40px; }
.fc-pdf { background:#FEF2F2; } .fc-pdf .material-icons, .fc-pdf-ico { color:#DC2626; }
.fc-word { background:#EBF4FF; } .fc-word .material-icons, .fc-word-ico { color:#1e3a8a; }
.fc-img { background:#EAF7F2; } .fc-img .material-icons, .fc-img-ico { color:#0d5c42; }
.fc-excel { background:#ECFDF5; } .fc-excel .material-icons, .fc-excel-ico { color:#14532d; }
.fc-file { background:#f5f5f2; } .fc-file .material-icons, .fc-file-ico { color:#7a7a76; }
.ds-ver-badge { position:absolute; bottom:6px; left:6px; font-size:9px; font-weight:700; background:#162032; color:#fff; padding:1px 6px; border-radius:999px; }
.ds-confid-badge { position:absolute; bottom:6px; right:6px; width:20px; height:20px; border-radius:999px; background:#7F1D1D; color:#fff; display:flex; align-items:center; justify-content:center; }
.ds-confid-badge .material-icons { font-size:12px; color:#fff; }
.ds-card-body { padding:10px 12px; }
.ds-card-name { font-size:12px; font-weight:600; color:#1a1a18; margin-bottom:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ds-card-meta { font-size:10px; color:#7a7a76; line-height:1.6; }
.ds-card-tag { display:inline-flex; align-items:center; gap:3px; font-size:9px; font-weight:600; padding:1px 6px; border-radius:999px; background:#EBF4FF; color:#0C447C; border:0.5px solid #B5D4F4; margin-top:4px; }
.ds-card-tag .material-icons { font-size:10px; }
.ds-card-tag.ds-tag-confid { background:#FEF2F2; color:#7F1D1D; border-color:#FECACA; }
.ds-card-actions { position:absolute; top:6px; right:6px; display:none; gap:4px; z-index:2; }
.ds-card:hover .ds-card-actions { display:flex; }
.ds-fc-action { width:24px; height:24px; border-radius:4px; background:rgba(255,255,255,.92); border:0.5px solid rgba(0,0,0,.1); display:flex; align-items:center; justify-content:center; cursor:pointer; color:#4a4a46; padding:0; }
.ds-fc-action .material-icons { font-size:13px; }
.ds-fc-action:hover { background:#162032; color:#fff; border-color:#162032; }
.ds-fc-action:hover .material-icons { color:#fff; }

/* File list */
.ds-list { background:#fff; border:0.5px solid rgba(0,0,0,.1); border-radius:8px; overflow:hidden; margin-bottom:24px; }
.ds-list-head, .ds-row { display:grid; grid-template-columns:2fr 1fr 1.2fr 0.9fr 70px 90px; align-items:center; }
.ds-list-head { padding:8px 16px; background:#f5f5f2; border-bottom:0.5px solid rgba(0,0,0,.09); font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:#7a7a76; }
.ds-row { padding:10px 16px; border-bottom:0.5px solid rgba(0,0,0,.06); }
.ds-row:last-child { border-bottom:none; }
.ds-row:hover { background:#fafaf8; }
.ds-row-name { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:500; color:#1a1a18; min-width:0; }
.ds-row-name .material-icons { font-size:18px; flex-shrink:0; }
.ds-row-cell { font-size:11px; color:#7a7a76; }
.ds-row-tag { display:inline-flex; align-items:center; gap:3px; font-size:9px; font-weight:600; padding:1px 6px; border-radius:999px; background:#EBF4FF; color:#0C447C; border:0.5px solid #B5D4F4; }
.ds-row-tag .material-icons { font-size:10px; }
.ds-row-actions { display:flex; gap:4px; justify-content:flex-end; }
.ds-list-btn { width:24px; height:24px; border-radius:4px; border:0.5px solid rgba(0,0,0,.12); background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; color:#7a7a76; padding:0; }
.ds-list-btn .material-icons { font-size:13px; }
.ds-list-btn:hover { background:#162032; color:#fff; border-color:#162032; }
.ds-list-btn:hover .material-icons { color:#fff; }
.ds-ver-pill, .ds-row .ds-ver-pill { font-size:9px; font-weight:700; background:#162032; color:#fff; padding:1px 6px; border-radius:999px; }

/* Empty states */
.ds-empty-state { background:#fff; border:0.5px solid rgba(0,0,0,.1); border-radius:10px; padding:48px 24px; text-align:center; }
.ds-empty-state.ds-empty-inline { padding:36px 24px; }
.ds-empty-state .material-icons { font-size:44px; color:#cbd5e1; display:block; margin:0 auto 10px; }
.ds-empty-state h3 { font-size:15px; font-weight:600; color:#1a1a18; margin-bottom:4px; }
.ds-empty-state p { font-size:12px; color:#7a7a76; margin-bottom:14px; }

/* Edit modal */
.ds-modal-backdrop { position:fixed; inset:0; background:rgba(22,32,50,.45); display:flex; align-items:center; justify-content:center; z-index:1000; padding:20px; }
/* The `hidden` attribute must win over our explicit display rules
   (modal backdrop = flex, grid = grid) — covers the edit modal and the
   grid/list view toggle. */
.ds [hidden] { display:none !important; }
.ds-modal { background:#fff; border-radius:12px; width:100%; max-width:460px; box-shadow:0 20px 60px rgba(0,0,0,.25); overflow:hidden; }
.ds-modal-head { display:flex; align-items:center; padding:16px 20px; border-bottom:0.5px solid rgba(0,0,0,.08); }
.ds-modal-head h3 { font-size:15px; font-weight:600; color:#1a1a18; }
.ds-modal-x { margin-left:auto; background:none; border:none; cursor:pointer; color:#9ca3af; display:flex; padding:2px; }
.ds-modal-x:hover { color:#1a1a18; }
.ds-modal-body { padding:18px 20px; display:flex; flex-direction:column; gap:12px; }
.ds-field { display:flex; flex-direction:column; gap:4px; }
.ds-field > span { font-size:11px; font-weight:600; color:#4a4a46; }
.ds-field input, .ds-field select { border:0.5px solid rgba(0,0,0,.15); border-radius:6px; padding:7px 10px; font-size:12px; font-family:inherit; outline:none; background:#fff; }
.ds-field input:focus, .ds-field select:focus { border-color:#E07B2A; }
.ds-field-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ds-check { display:flex; align-items:center; gap:8px; font-size:12px; color:#4a4a46; cursor:pointer; }
/* Override the theme's global `input{width:100%;padding:1em}` for the checkbox,
   which otherwise stretches it full-width and pushes the label off-screen. */
.ds-check input[type="checkbox"] { width:auto; flex:0 0 auto; padding:0; margin:0; }
.ds-check span { flex:1 1 auto; min-width:0; }
.ds-modal-foot { display:flex; justify-content:flex-end; gap:8px; padding:14px 20px; border-top:0.5px solid rgba(0,0,0,.08); background:#fafaf8; }

@media (max-width:900px) {
  .ds-layout { grid-template-columns:1fr; }
  .ds-rail { position:static; }
  .ds-grid { grid-template-columns:1fr 1fr; }
  .ds-list-head, .ds-row { grid-template-columns:2fr 1fr 70px 80px; }
  .ds-list-head span:nth-child(3), .ds-list-head span:nth-child(4),
  .ds-row .ds-row-cell:nth-child(3), .ds-row .ds-row-cell:nth-child(4) { display:none; }
}
