@font-face {
    font-family: Figtree;
    src: url(../static/fonts/Figtree-VariableFont_wght.ttf);
    font-display: swap;  
}

body {
    font-family: Figtree;
    font-size: 18px !important;
    color: #043A5D;
    background: #ffffff;
    padding: 8px;
    -webkit-overflow-scrolling: touch;  
    overflow-y: auto;                   
}
.header {
    display: none;
}
.center-content {
    background: #ffffff;
    border-radius: 30px;
    -webkit-overflow-scrolling: touch;  
    overflow-y: auto;                   
}
.content {
    max-width: 700px !important;
    -webkit-overflow-scrolling: touch;  
    overflow-y: auto;                   
}
p, ol, ul, li {
    font-size: 18px !important;
    line-height: 24px;
    font-weight: 400;
    color: #043A5D;
}
.main-title {
    display: none;
    font-family: Figtree;
    font-size: 40px !important;
    line-height: 55px;
    font-weight: 500;
    color: #043A5D
}
label {
    font-size: 18px !important;
    line-height: 24px;
    color: #043A5D;
    font-weight: 500;
}
textarea, select, input[type='text'], input[type='date'], input[type='time'],  input[type='email'], input[type='number'], input[type='password'] {
    border-radius: 6px;
    border: 1px solid #B4C4CE;
    background-color: #F2F5F7;
    color: #043A5D;
    height: 60px;
    width: 100% !important;

    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    font-family: Figtree;
    padding: 18px 10px;
}
textarea:focus, select:focus, input[type='text']:focus, input[type='date']:focus, input[type='time']:focus, input[type='email']:focus, input[type='number']:focus, input[type='password']:focus {
    outline: none;
    color: #043A5D;
}
select {
    appearance: none;
    background: url(../static/datainput-formular/projects/user-rights/arrow-down.svg) no-repeat #F6F4F7;
    background-position: right 10px bottom 50%;
}
textarea {
    height: 180px;
}
table {
  width: 100%;
  max-width: 100%;
  margin: 20px 0;
  padding: 20px;
  background: #ffffff;
  border: 2.5px solid #00aaff; /* Thicker border */
  border-collapse: separate;
  border-radius: 16px; /* Slightly more rounded corners */
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.1); /* More depth */
  font-family: Figtree, sans-serif;
  font-size: 16px;
  color: #333;
  overflow: visible;        
  height: auto;             
}



/* Table cell styling */
table td,
table th {
  padding: 14px 18px; /* Slightly more padding */
  border: none;
}

/* Header styling for added emphasis */
table th {
  font-weight: 600;
  color: #444;
  border-bottom: 2px solid #00aaff; /* Thicker bottom border */
  background-color: #f0faff; /* Light tint to distinguish header */
}

/* Remove bottom border for the last row */
table tr:last-child td {
  border-bottom: none;
}

/* Hover effect on rows */
table tr:hover {
  background-color: #f3faff; /* Slightly more visible hover */
  transition: background-color 0.2s ease-in-out;
}
.cancel-button, .clear-button, .info-button {
    min-width: 120px;
    height: 46px !important;
    background: #ffffff !important;
    border-radius: 25px !important;
    color: #0AF !important;
    border: 1px solid #0AF !important;
    font-weight: 700;
    font-size: 18px !important;
    line-height: 24px;
}
.cancel-button:hover, .clear-button:hover, .info-button:hover {
    height: 46px !important;
    background: #ffffff !important;
    border-radius: 25px !important;
    color: #0AF !important;
    border: 1px solid #66CCFF !important;
    font-weight: 700;
    font-size: 18px !important;
    line-height: 24px;
}
button:not(.tox-mbtn):not(.cancel-button) {
    height: 46px !important;
    min-width: 120px;
    border-radius: 25px !important;
    background: #0AF !important;
    border: 1px solid #0AF !important;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0px 32px !important;
    color: #ffffff;
    cursor: pointer;
    border-style: none;
    font-weight: 700;
    font-size: 18px !important;
    line-height: 24px;
    font-family: Figtree;
}
button.submit:hover, button.save-button:hover {
    background: #66CCFF !important;
    border: 1px solid #66CCFF !important;
}
button.submit::after {
    content: url(../static/datainput-formular/projects/user-rights/arrow-right.svg);
}
button.cancel-submit::after {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMiAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0yOS45Mjg5IDE1SDIuMDcxNzVNMi4wNzE3NSAxNUwxMi43ODYgMy4yMTQyOU0yLjA3MTc1IDE1TDEyLjc4NiAyNi43ODU3IiBzdHJva2U9IiMwMEFBRkYiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4NCjwvc3ZnPg0K');
}
button.cancel-submit:hover::after {
    content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMiAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0yOS45Mjg5IDE1SDIuMDcxNzVNMi4wNzE3NSAxNUwxMi43ODYgMy4yMTQyOU0yLjA3MTc1IDE1TDEyLjc4NiAyNi43ODU3IiBzdHJva2U9IiM2NkNDRkYiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4NCjwvc3ZnPg0K')  !important;
}
.buttonarea {
    display: flex;
    margin-top: 100px !important;
}
.info-button img {
    height: 28px !important;
}
.tiny-div {
    background: none !important;
}
.reset-icon {
    height: 50px;
    width: 35px;
    border-radius: unset;
    background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzUiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzNSAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0zMi45Mjg5IDE1SDUuMDcxNzVNNS4wNzE3NSAxNUwxNS43ODYgMy4yMTQyOU01LjA3MTc1IDE1TDE1Ljc4NiAyNi43ODU3IiBzdHJva2U9IiMwMEFBRkYiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4NCjxwYXRoIGQ9Ik0xLjIgNC4yMDAwMVYyNS44IiBzdHJva2U9IiMwMEFBRkYiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4NCjwvc3ZnPg0K');
    background-repeat: no-repeat !important;
    background-position:center;    
}
.reset-icon:hover {
    background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzUiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzNSAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0zMi45Mjg5IDE1SDUuMDcxNzVNNS4wNzE3NSAxNUwxNS43ODYgMy4yMTQyOU01LjA3MTc1IDE1TDE1Ljc4NiAyNi43ODU3IiBzdHJva2U9IiM2NkNDRkYiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4NCjxwYXRoIGQ9Ik0xLjIgNC4yMDAwMVYyNS44IiBzdHJva2U9IiM2NkNDRkYiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4NCjwvc3ZnPg0K') !important;
    background-repeat: no-repeat !important;
    background-position:center !important;  
}
.round-icon:hover {
    background: none;
}
.signature {
    height: 164px !important;
    width: 729px !important;
    border-radius: 8px !important;
    border: none !important;
    color: #043A5D;
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    font-family: Figtree;
    background: #FFFFFF;
}
.signature canvas {
    color: #043A5D;
}
a.tooltip img {
    content: url(../static/datainput-formular/projects/user-rights/info-circle.svg) !important;
    width: 24px !important;
    vertical-align: text-top !important;
}
a.tooltip .tooltiptext {
    visibility: hidden;
    display: inline-block;
    position: absolute;
    background: #ffffff;
    padding: 5px 15px;
    border-radius: 8px !important;
    width: 200px !important;
    overflow-wrap: anywhere;
    z-index: 100;
    padding: 16px 32px !important;
    line-height: 24px;
    font-size: 18px !important;
}
[type="checkbox"], [type="radio"] {
  position: relative;
  left: 15px;
  top: -4px;
  z-index: 0;
  -webkit-appearance: none;
  visibility: hidden;
  margin-bottom: 60px !important;
}
[type="checkbox"] + label, [type="radio"] + label {
    position: relative;
    vertical-align: 45px;
}
[type="checkbox"] + label::before, [type="radio"] + label::before {
  width: 24px;
  height: 24px;
  border: 1px solid #C7BED1;
  background-color: #F6F4F7;
  display: block;
  content: "";
  float: left;
  z-index: 5;
  position: relative;
}
[type="checkbox"] + label::before {
  border-radius: 4px;
}
[type="radio"] + label::before {
  border-radius: 24px;
}
[type="checkbox"]:checked+label::before {
    background-color: #043A5D;
    background-image:  url(../static/datainput-formular/projects/user-rights/check.svg);
    background-repeat: no-repeat;
    background-position:center;
}
[type="radio"]:checked+label::before {
    width: 12px;
    height: 12px;
    border: 6px solid #043A5D;
    background-color: #ffffff;
}
.multiselect-area {
    border-spacing: 0 32px;
}
.multiselect-box {
    width: 24px;
    height: 24px;
    border-radius: 4px;
    background-color: #F6F4F7;
    border: 1px solid #C7BED1;
    cursor: pointer;
    margin-right: 16px;
}
.multiselect-box[checked] {
    background-color: #043A5D;
    background-image:  url(../static/datainput-formular/projects/user-rights/check.svg);
    background-repeat: no-repeat;
    background-position:center;
}
.multiselect-label {
    vertical-align:top;
}
.multiselect-label label {
    cursor: pointer;
    font-size: 18px !important;
    line-height: 24px;
}
.dropzone {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 220px;
    border: 1px solid #C7BED1;
    background: #F6F4F7;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    color: #A192B2;
}
.upload-image {
    width: 100%;
    height: 40px;
    margin-bottom: 10px;
    background-image:  url(../static/datainput-formular/projects/user-rights/add-file.svg);
    background-repeat: no-repeat;
    background-position:center;
}
.upload-button {
    cursor: pointer;
    text-decoration: underline;
    color: #0AF;
}
.fileshow {
    visibility: hidden;
}
.fileadd {
    display: block !important;
    width: 56px;
    min-width: 56px;
    height: 56px;
    background-image: url(../static/datainput-formular/projects/user-rights/add.svg);
}
.fileselect {
    background-color: transparent !important;
    font-size: 18px !important;
    line-height: 24px !important;
    font-family: Figtree !important;
    font-weight: 500;
    color: #A192B2 !important;
    margin-bottom: 16px;
}
.requiredp {
  border-radius: 6px;
  border: 1px solid #EC6745 !important;
  background: #FEF7F6 !important;
  color: #EC6745 !important;
}
.filedownload {
    width: 29px;
    height: 29px;
    background-image: url(../static/datainput-formular/projects/user-rights/download.svg);
}
.finish-message {
    font-weight: 500 !important;
}


@media screen and (max-width: 767.98px) {
    /* Fix content box-sizing */
    .content {
        width: 100% !important;           
        max-width: 100% !important;       
        box-sizing: border-box !important;
        padding: 0 16px !important;
    }
    
    /* Prevent body overflow */
    body {
        overflow-x: hidden !important;
        width: 100% !important;
        padding: 8px !important;
    }
    
    html {
        overflow-x: hidden !important;
        width: 100% !important;
        overflow-y: auto !important;              
        -webkit-overflow-scrolling: touch !important; 
    }
    
    /* Fix form width */
    form {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* CRITICAL: Override the 258px fixed width from HTML */
    textarea, select, input[type='text'], input[type='date'], 
    input[type='time'], input[type='email'], input[type='number'], 
    input[type='password'] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding: 18px 10px !important;
    }
    
    /* Fix tables */
    table, thead, tbody, th, td, tr {
        height: auto !important;
        display: table !important;
    }
    
    table {
        width: 100% !important;
        max-width: 100% !important;
        padding: 10px !important;         
        margin: 10px 0 !important;        
        overflow: visible !important;
        display: table !important;
        box-sizing: border-box !important;
    }
    
    tbody {
        display: table-row-group !important;
    }
    
    tr {
        display: table-row !important;
    }
    
    td, th {
        display: table-cell !important;
        padding: 8px !important;          
    }
    
    /* Fix signature */
    .signature {
        width: 100% !important;
        max-width: 100% !important;       
        height: 164px !important;
        box-sizing: border-box !important;
    }
    
    /* Fix file upload container */
    .file-upload-area {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Fix file name and buttons container */
    .file-name-buttons {
        flex-wrap: wrap !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Fix file select display */
    .fileselect {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    
    /* Fix file buttons container */
    .filebuttons {
        width: auto !important;
        max-width: 100% !important;
        flex-shrink: 0 !important;
    }
    
    /* Fix dropzone */
    .dropzone {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Fix file upload progress elements */
    .uploadprogress {
        width: 90% !important;
        max-width: 280px !important;
        box-sizing: border-box !important;
    }
    
    .progressroot {
        width: 100% !important;
        max-width: 258px !important;
        box-sizing: border-box !important;
    }
    
    /* ========================================
       TOOLTIP FIXES - OVERRIDE dms.css
       ======================================== */
    
    /* CRITICAL: Override dms.css display rules */
    .tooltipcontainer .tooltip,
    a.tooltip .tooltiptext {
        display: block !important;  /* Override display: none from dms.css */
        visibility: hidden !important;
        opacity: 0 !important;
        transition: opacity 0.2s ease !important;
    }
    
    .tooltipcontainer:hover .tooltip,
    .tooltipcontainer:active .tooltip,
    .tooltipcontainer:focus .tooltip,
    a.tooltip:hover .tooltiptext,
    a.tooltip:active .tooltiptext,
    a.tooltip:focus .tooltiptext {
        display: block !important;  /* Keep display: block */
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Fix tooltip positioning */
    a.tooltip {
        position: relative !important;
        display: inline-block !important;
        vertical-align: middle !important;
        left: 0 !important;  
        margin-left: 8px !important;
    }
    
    a.tooltip img {
        width: 20px !important;  
        height: 20px !important;
        display: inline-block !important;
        vertical-align: middle !important;
    }

    /* Tooltip box - ensure it stays within viewport */
    a.tooltip .tooltiptext {
        /* Critical positioning */
        position: fixed !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        bottom: auto !important;
        right: auto !important;
        
        /* Sizing - constrained to viewport */
        width: calc(100vw - 32px) !important;
        max-width: 280px !important;
        min-width: 150px !important;
        
        /* Styling */
        padding: 10px 14px !important;
        font-size: 13px !important;
        line-height: 18px !important;
        background: #043A5D !important;
        color: #ffffff !important;
        border-radius: 6px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
        
        /* Display */
        z-index: 99999 !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    /* Remove arrow on mobile for simplicity */
    a.tooltip .tooltiptext::after {
        display: none !important;
    }
    
    /* Ensure all input fields respect boundaries */
    .input-fields {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        margin: 10px 0 !important;
        padding: 0 !important;  
    }
    
    /* Fix subcontent containers - NO side margins */
    .subcontent {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        margin: 16px 0 !important;  
        padding: 0 !important;  
    }
}

@media screen and (min-width: 768px) {
    .content {
        width: 700px !important;
        max-width: 700px !important;
        margin: 0 auto !important;
        display: block !important;
    }
}