
    html {
        font-size: 16px; /* 1rem = 16px */
        height: 100%;
        display: flex;
    }

    body {
      margin: 0;
      font-family: Arial, sans-serif;
	  background-color: white;
      height: 100vh;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }

    .grid-layout-base {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: auto auto 1fr;
      height: 100%;
      width: 100vw;
    }

    .grid-layout-base-main {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: auto 1fr auto;
      height: 100%;
      width: 100vw;
    }


    .header {
      background-color: White;
      top: 0;
      left: 0;
      right: 0;
      display: flex;
      align-items: center;
	  border-bottom: solid 1px silver;
	  max-height: 3rem;
	  min-height: 2.2rem;
      flex-shrink: 0;
    }

    .tab-content {
      min-height: 0;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }

    #screen-title {
      font-size: 1.4rem;
      font-weight: bold;
      font-style: italic;
      margin-left: 10px;
      text-align: left;
      display: flex;
      align-items: center;
      transition: text-shadow 0.3s ease;
    }

    #screen-title:hover {
      cursor: pointer;
      text-shadow: 0 0 4px rgba(255, 200, 0, 0.6), 0 0 8px rgba(255, 165, 0, 0.4);
    }

	.HEADER_FIELD_LABEL {
		font-size: 1.2rem;
		font-weight: bold;
		color: black;
		margin-left: 25px;
	}
	
	.HEADER_LOCATE_INPUT {
		font-size: 1.2rem;
		font-weight: bold;
		color: red;
		background-color: #c3d1ff;
		width: 6.25rem;
		border: 1px solid #000000;
	}

    /* Main Menu css */
    .topnav {
      background-color: #333;
      width: 100%;
      z-index: 1000;
      height: 30px;
    }

    .topnav a {
      float: left;
      display: block;
      color: white;
      text-align: center;
      padding: 7px 10px;
      text-decoration: none;
      font-size: 0.75rem;
      line-height: 16px;
    }

    .topnav .active {
        background-color: #000000;
        color: white;
        font-style: italic;
        font-weight: bold;
        font-size: 0.875rem;
    }

    .dropdown {
      float: left;
      overflow: hidden;
    }

    .dropdown .dropbtn {
      font-size: 0.75rem;
      color: white;
      padding: 8px 12px;
      background-color: inherit;
      border: none;
      outline: none;
      font-family: inherit;
      margin: 0;
      cursor: pointer;
    }

    .dropdown-content {
      display: none;
      position: absolute;
      background-color: #333;
      min-width: 160px;
      z-index: 1;
      flex-direction: column;
    }

    /* Click-to-open: show dropdown only when .open class is set (no hover) */
    .dropdown.open .dropdown-content {
      display: flex;
    }

    .dropdown-content a {
      color: white;
      padding: 7px 10px;
      text-decoration: none;
      display: block;
      text-align: left;
      font-size: 0.75rem;
    }

    .topnav a:hover,
    .dropdown:hover .dropbtn {
      background-color: #555;
      color: white;
    }

    .dropdown-content a:hover {
      background-color: #ddd;
      color: black;
    }

    /* Hover no longer opens dropdown - use click only (see mainMenu.js) */

    /* Version label left-aligned, trailing menu options */
    .version-label {
      float: right;
      display: block;
      color: #999999;
      text-align: left;
      padding: 7px 10px;
      text-decoration: none;
      font-size: 0.7rem;
      line-height: 16px;
    }


    /* Submenu container - full-width row so whole row highlights */
    .submenu {
      position: relative;
      display: block;
      width: 100%;
    }

    /* Submenu toggle link fills the row so hover/active highlights the whole row */
    .dropdown-content .submenu .submenu-toggle {
      display: block;
      width: 100%;
      box-sizing: border-box;
      color: white;
      padding: 7px 10px;
      text-decoration: none;
      text-align: left;
      font-size: 0.75rem;
    }

    .dropdown-content .submenu:hover .submenu-toggle,
    .dropdown-content .submenu.open .submenu-toggle {
      background-color: #ddd;
      color: black;
    }

    /* Arrow using Unicode escape so it renders correctly in all encodings */
    .submenu > .submenu-toggle::after {
      content: " \25B8";
      float: right;
    }

    /* Submenu content */
    .submenu-content {
      display: none;
      position: absolute;
      top: 0;
      left: 100%;
      background-color: #333;
      min-width: 160px;
      z-index: 1;
      flex-direction: column;
      white-space: nowrap;
    }

    /* Click-to-open: show submenu only when .open class is set (no hover) */
    .submenu.open .submenu-content {
      display: flex;
    }

    /* Optional styling */
    .submenu-content a:hover {
      background-color: #ddd;
      color: black;
    }


    /* Main Menu css */


	.QA-link {
		margin-left: auto;	
		margin-right: 8px;	
		margin-top: auto;	
		margin-bottom: auto;	
		line-height: 0.7rem;
	    text-align: center;
		max-width: 10rem;
	}



    /*Selection drop down Speed Button*/
    .speed-button-right {
      background-color: #cecece;
      border: 1px solid #000000;
      width: auto;
      height: auto;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1px 5px;
      place-self: flex-end;
      cursor: pointer;
      transition: background-color 0.2s ease;
    }

    .speed-button-right:hover {
      background-color: #ddd;
    }

    .speed-button-right i {
      font-size: 0.875rem;
    }




    /*DEFAULT ALIGNED PANELS*/
    .alClientPnl {
      display: flex;
      align-items: stretch;
      height: auto;
    }

    .alLeftPnl {
      display: flex;
      flex-direction: column;
    }



    /*GRID DEFAULT SETTINGS*/

    .grid-container {
      display: grid;
      gap: 2px 4px;
      background-color: #f0f0f0;
      padding: 2px;
      border: 1px solid #000000;
      margin: 2px;
    }


    .grid-container > div {
      /*background-color: #f0f0f0;*/
      font-family: arial;
    }
    .grid-header {
      border: 1px solid #000000;
      line-height: 18px;
      height: 18px;
      text-align: center;
      background-color: silver !important;
      font-weight: bold;
      font-size: 0.6875rem;
    }
    .grid-textpanel {
      border: 1px solid #000000;
      line-height: 18px;
      height: 18px;
      text-align: center;
      font-weight: bold;
      font-size: 0.6875rem;
    }
	
    .grid-label {
        display: flex;
        justify-content: right;
        align-items: center;
        font-size: 0.6875rem;
        font-weight: bold;
		height: 100%;
    }
	
    .grid-static-label {
      font-size: 0.6875rem;
      font-weight: bold;
      text-align: right;
      align-self: center;
      padding-right: 4px;
      color: #333;
    }

    .vertbox {
      width: auto;
      writing-mode: vertical-rl;
      transform: rotate(-180deg);
      color: white;
      font-weight: bold;
      font-style: italic;
      display: flex;
      justify-content: center;
      align-items: center;
    }



    /* SMALL RIGHT FLOAT NESTED BUTTON */
    .small-right-button {
        position: relative;
        display: inline-block;
        float: right;
        margin-left: auto;
        border: none;
        background-color: silver;
        height: 100%;
    }


    /* HEADER ICON BUTTON GROUP (print / folder / phone) */
    .header-icon-button-group {
        margin-left: auto;
        margin-right: 0.25rem;
        display: inline-grid;
        grid-auto-flow: column;
        grid-auto-columns: min-content;
        align-items: center;
        justify-content: center;
        gap: 0.15rem;
        position: relative;
    }

    .header-icon-button-group button {
        border: 1px solid #c4c4c4;
        border-radius: 4px;
        cursor: pointer;
        font-size: 0.9rem; /* smaller icons */
        padding: 4px 4px;  /* slightly larger but still tight */
        line-height: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    }

    .header-icon-button-group button i {
        font-size: 0.9rem;
    }

    /* FOLDER BUTTON */
    .folder-open-button {
        color: #e9b80f;
    }

    .folder-open-button:hover {
        color: #b88e00;
        border-color: #a0a0a0;
        background-color: #f5f5f5;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    }

    .folder-open-button:active {
        color: #715700;
        background-color: #e6e6e6;
        box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
    }


    /* EMAIL DISTRIBUTION BUTTON */
    .email-dist-button {
        color: #1E1E54;
    }

    .email-dist-button:hover {
        color: #2D2D7D;
        border-color: #a0a0a0;
        background-color: #f5f5f5;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    }

    .email-dist-button:active {
        color: #45457A;
        background-color: #e6e6e6;
        box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
    }


    /* CONTACT LIST BUTTON */
    .contact-list-button {
        color: #1E1E54; /* dark navy, similar to print */
    }

    .contact-list-button:hover {
        color: #2D2D7D;
        border-color: #a0a0a0;
        background-color: #f5f5f5;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    }

    .contact-list-button:active {
        color: #45457A;
        background-color: #e6e6e6;
        box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
    }


    /* PRINT BUTTON */
    .print-button {
        color: #1E1E54;
    }

    .print-button:hover {
        color: #2D2D7D;
        border-color: #a0a0a0;
        background-color: #f5f5f5;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    }

    .print-button:active {
        color: #45457A;
        background-color: #e6e6e6;
        box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
    }


    /* CALCULATOR BUTTON */
    .calculator-button {
        color: #1E1E54;
    }

    .calculator-button:hover {
        color: #2D2D7D;
        border-color: #a0a0a0;
        background-color: #f5f5f5;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    }

    .calculator-button:active {
        color: #45457A;
        background-color: #e6e6e6;
        box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
    }



    /* BUTTONS */

    .button-65 {
        background-color: #d7d8d8;
        border-radius: 1px;
        border: 1px solid black;
        box-shadow: none;
        box-sizing: border-box;
        color: #000000;
        cursor: pointer;
        display: inline-block;
        font-family: Arial, sans-serif;
        font-size: 0.6875rem;
        font-weight: bold;
        height: auto;
        width: 100%;
        outline: none;
        overflow: hidden;
        padding: 3px;
        position: relative;
        text-align: center;
        text-decoration: none;
        transform: translate3d(0, 0, 0);
        transition: all .1s;
        user-select: none;
        -webkit-user-select: none;
        touch-action: manipulation;
        vertical-align: top;
        white-space: nowrap;
    }

    .button-65:hover {
      background-color: #c0c0c0;
      box-shadow: rgba(0, 0, 0, .05) 0 5px 30px, rgba(0, 0, 0, .05) 0 1px 4px;
      opacity: 1;
      transform: translateY(0);
      transition-duration: .15s;
    }

    .button-65:active {
      box-shadow: rgba(0, 0, 0, .1) 0 3px 6px 0, rgba(0, 0, 0, .1) 0 0 10px 0, rgba(0, 0, 0, .1) 0 1px 4px -1px;
      transform: translateY(2px);
      transition-duration: .15s;
    }
