/* ==========================================================================
   Grapevine Platform Font
   Switzer font-face definitions from Fontshare switzer.css.
   Font files should live relative to this CSS at fonts/.
   ========================================================================== */
/**
* @license
*
* Font Family: Switzer
* Designed by: Jérémie Hornus
* URL: https://www.fontshare.com/fonts/switzer
* © 2026 Indian Type Foundry
*
* Switzer Thin 
* Switzer ThinItalic 
* Switzer Extralight 
* Switzer ExtralightItalic 
* Switzer Light 
* Switzer LightItalic 
* Switzer Regular 
* Switzer Italic 
* Switzer Medium 
* Switzer MediumItalic 
* Switzer Semibold 
* Switzer SemiboldItalic 
* Switzer Bold 
* Switzer BoldItalic 
* Switzer Extrabold 
* Switzer ExtraboldItalic 
* Switzer Black 
* Switzer BlackItalic 
* Switzer Variable (Variable font)
* Switzer VariableItalic (Variable font)

*
*/
@font-face {
  font-family: 'Switzer-Thin';
  src: url('fonts/Switzer-Thin.woff2') format('woff2'),
       url('fonts/Switzer-Thin.woff') format('woff'),
       url('fonts/Switzer-Thin.ttf') format('truetype');
  font-weight: 100;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Switzer-ThinItalic';
  src: url('fonts/Switzer-ThinItalic.woff2') format('woff2'),
       url('fonts/Switzer-ThinItalic.woff') format('woff'),
       url('fonts/Switzer-ThinItalic.ttf') format('truetype');
  font-weight: 100;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'Switzer-Extralight';
  src: url('fonts/Switzer-Extralight.woff2') format('woff2'),
       url('fonts/Switzer-Extralight.woff') format('woff'),
       url('fonts/Switzer-Extralight.ttf') format('truetype');
  font-weight: 200;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Switzer-ExtralightItalic';
  src: url('fonts/Switzer-ExtralightItalic.woff2') format('woff2'),
       url('fonts/Switzer-ExtralightItalic.woff') format('woff'),
       url('fonts/Switzer-ExtralightItalic.ttf') format('truetype');
  font-weight: 200;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'Switzer-Light';
  src: url('fonts/Switzer-Light.woff2') format('woff2'),
       url('fonts/Switzer-Light.woff') format('woff'),
       url('fonts/Switzer-Light.ttf') format('truetype');
  font-weight: 300;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Switzer-LightItalic';
  src: url('fonts/Switzer-LightItalic.woff2') format('woff2'),
       url('fonts/Switzer-LightItalic.woff') format('woff'),
       url('fonts/Switzer-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'Switzer-Regular';
  src: url('fonts/Switzer-Regular.woff2') format('woff2'),
       url('fonts/Switzer-Regular.woff') format('woff'),
       url('fonts/Switzer-Regular.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Switzer-Italic';
  src: url('fonts/Switzer-Italic.woff2') format('woff2'),
       url('fonts/Switzer-Italic.woff') format('woff'),
       url('fonts/Switzer-Italic.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'Switzer-Medium';
  src: url('fonts/Switzer-Medium.woff2') format('woff2'),
       url('fonts/Switzer-Medium.woff') format('woff'),
       url('fonts/Switzer-Medium.ttf') format('truetype');
  font-weight: 500;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Switzer-MediumItalic';
  src: url('fonts/Switzer-MediumItalic.woff2') format('woff2'),
       url('fonts/Switzer-MediumItalic.woff') format('woff'),
       url('fonts/Switzer-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'Switzer-Semibold';
  src: url('fonts/Switzer-Semibold.woff2') format('woff2'),
       url('fonts/Switzer-Semibold.woff') format('woff'),
       url('fonts/Switzer-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Switzer-SemiboldItalic';
  src: url('fonts/Switzer-SemiboldItalic.woff2') format('woff2'),
       url('fonts/Switzer-SemiboldItalic.woff') format('woff'),
       url('fonts/Switzer-SemiboldItalic.ttf') format('truetype');
  font-weight: 600;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'Switzer-Bold';
  src: url('fonts/Switzer-Bold.woff2') format('woff2'),
       url('fonts/Switzer-Bold.woff') format('woff'),
       url('fonts/Switzer-Bold.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Switzer-BoldItalic';
  src: url('fonts/Switzer-BoldItalic.woff2') format('woff2'),
       url('fonts/Switzer-BoldItalic.woff') format('woff'),
       url('fonts/Switzer-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'Switzer-Extrabold';
  src: url('fonts/Switzer-Extrabold.woff2') format('woff2'),
       url('fonts/Switzer-Extrabold.woff') format('woff'),
       url('fonts/Switzer-Extrabold.ttf') format('truetype');
  font-weight: 800;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Switzer-ExtraboldItalic';
  src: url('fonts/Switzer-ExtraboldItalic.woff2') format('woff2'),
       url('fonts/Switzer-ExtraboldItalic.woff') format('woff'),
       url('fonts/Switzer-ExtraboldItalic.ttf') format('truetype');
  font-weight: 800;
  font-display: swap;
  font-style: italic;
}
@font-face {
  font-family: 'Switzer-Black';
  src: url('fonts/Switzer-Black.woff2') format('woff2'),
       url('fonts/Switzer-Black.woff') format('woff'),
       url('fonts/Switzer-Black.ttf') format('truetype');
  font-weight: 900;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: 'Switzer-BlackItalic';
  src: url('fonts/Switzer-BlackItalic.woff2') format('woff2'),
       url('fonts/Switzer-BlackItalic.woff') format('woff'),
       url('fonts/Switzer-BlackItalic.ttf') format('truetype');
  font-weight: 900;
  font-display: swap;
  font-style: italic;
}
/**
* This is a variable font
* You can control variable axes as shown below:
* font-variation-settings: wght 400.0;
*
* available axes:
'wght' (range from 100.0 to 900.0
*/
@font-face {
  font-family: 'Switzer-Variable';
  src: url('fonts/Switzer-Variable.woff2') format('woff2'),
       url('fonts/Switzer-Variable.woff') format('woff'),
       url('fonts/Switzer-Variable.ttf') format('truetype');
  font-weight: 100 900;
  font-display: swap;
  font-style: normal;
}
/**
* This is a variable font
* You can control variable axes as shown below:
* font-variation-settings: wght 400.0;
*
* available axes:
'wght' (range from 100.0 to 900.0
*/
@font-face {
  font-family: 'Switzer-VariableItalic';
  src: url('fonts/Switzer-VariableItalic.woff2') format('woff2'),
       url('fonts/Switzer-VariableItalic.woff') format('woff'),
       url('fonts/Switzer-VariableItalic.ttf') format('truetype');
  font-weight: 100 900;
  font-display: swap;
  font-style: italic;
}


/* ==========================================================================
   Grapevine Font System
   ========================================================================== */
:root{
    --gv-font-family: 'Switzer-Variable', 'Switzer-Regular', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

html{
    font-family: var(--gv-font-family) !important;
}

body{
    font-family: var(--gv-font-family) !important;
    font-weight: 400;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

button,
input,
optgroup,
select,
textarea,
.form-control,
.custom-select,
.btn,
.dropdown-menu,
.popover,
.tooltip,
.modal,
.bootstrap-dialog,
.navbar,
.card,
.alert{
    font-family: var(--gv-font-family) !important;
}

strong,
b,
.text-bold,
.font-weight-bold{
    font-weight: 700 !important;
}

label,
.btn,
.dropdown-item,
.gv-eyebrow,
.gv-app-brand-bozzutos,
.gv-app-brand-grapevine{
    font-weight: 700;
}

@media print { @page {size: auto !important} }
.card-header.bg-success{
	background-color: #28a745 !important;
	border-bottom: #28a745 !important;
}
.card-header.bg-danger{
	background-color: #dc3545 !important;
	border-bottom: #dc3545 !important;
}
html {
  font-family: var(--gv-font-family) !important;
  -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
}
body {
	/*padding-top: 60px;*/
	font-family: var(--gv-font-family) !important; 
	font-size: 14px !important;
	line-height: 1.25 !important;
  	background-color: #efefef;
}
.modal-header{
	display:none;
}
.modal.show {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.modal.show .modal-dialog {
    margin: 40px auto;
}
.modal.bootstrap-dialog.size-wide{
	padding-left: 0px;
	padding-right: 0px;
}
.modal-dialog.modal-lg{
	max-width:98%;
}
p{
	margin-bottom: 0px !important;
}
.text-underline{
	text-decoration: underline !important;
}
.text-bold{
	font-weight:bold !important;
}
.text-italics{
	font-style: italic;
}
.text-positive{
	color: #090 !important;
}
.text-negative{
	color: #900 !important;
}
.text-warning2{
	color: #c19100 !important;
}
.text-disabled{
	color: #aaa !important;
}
.text-blue{
	color: #00f !important;
}
.text-grapevine{
	color: #7b2c8c !important;
}
.text-white{
	color: #fff !important;
}
.text-automatic-dark-mode{
	color: #555 !important;
}
.btn-primary-button-group:not(.active){
	color: #555 !important;
}
.text-nowrap{
	white-space:nowrap !important;
}
.text-nowrap-ellipsis{
	white-space:nowrap !important;
	overflow: hidden;
	text-overflow: ellipsis;
}
.labelColor {
	 color:#4092b2;
	 font-weight:bold;
}
.disabledLabelColor {
	 color:#aaa;
	 font-weight:bold;
}
.labelColorNoBold{
	 color:#4092b2;
}
.form-control, .custom-select {
	font-size:14px !important;
}
.form-control-xs, .custom-select-xs{
	padding: 0.1rem 0.5rem !important;
}
.file-caption.form-control{
	font-size: 1rem !important;
}
.font-size-06em{
	font-size: 0.6em !important;
}
.font-size-065em{
	font-size: 0.65em !important;
}
.font-size-07em{
	font-size: 0.7em !important;
}
.font-size-08em{
	font-size: 0.8em !important;
}
.font-size-09em{
	font-size: 0.9em !important;
}
.font-size-11em{
	font-size: 1.1em !important;
}
.font-size-12em{
	font-size: 1.2em !important;
}
.font-size-13em{
	font-size: 1.3em !important;
}
.font-size-14em{
	font-size: 1.4em !important;
}
.input-group-text {
	font-size:14px;
}
.dropdown-menu {
	font-size:14px !important;
}
.caret-off::before {
    display: none;
}
.caret-off::after {
    display: none;
}
.whiteContentBody {
	max-width: 95%;
	width: 95%;
  	padding: 15px;
  	margin: 0 auto;
  	background-color: #fff;
}
.whiteContentBodyNoWidth {
  	padding: 15px;
  	margin: 0 auto;
  	background-color: #fff;
}
.maxWidth95p {
	max-width: 95%;
	width: 95%;
	margin: 0 auto;
	margin-bottom: 15px !important;
}
.maxWidth100p {
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 15px !important;
}
.box-shadow { 
	/*
	box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .10);
	*/
}
.m-05{
	margin: 0.125rem !important;
}
.mt-05{
	margin-top: 0.125rem !important;
}
.mr-05{
	margin-right: 0.125rem !important;
}
.mb-05{
	margin-bottom: 0.125rem !important;
}
.ml-05{
	margin-left: 0.125rem !important;
}
.mt-1px{
	margin-top:1px;
}
.mt-2px{
	margin-top:2px;
}
.mt-3px{
	margin-top:3px;
}
.mt-4px{
	margin-top:4px;
}
.mt-5px{
	margin-top:5px;
}
.mt-6px{
	margin-top:6px;
}
.mt-7px{
	margin-top:7px;
}
.mt-8px{
	margin-top:8px;
}
.mt-9px{
	margin-top:9px;
}
.mt-10px{
	margin-top:10px;
}
.httpErrorTitle {
	font-size:24px;
	font-weight:bold;
	color: #000;
}
.httpErrorSubtitle {
	font-size:16px;
	color: #666;
}
.rowColor th {
  	background-color: #ddd !important;
}
.rowColor tr:nth-child(even) {
  	background-color: #efefef;
}
.rowColor tr:nth-child(odd) {
  	background-color: #fff;
}
.table-hover>tbody>tr:hover>td, .table-hover>tbody>tr:hover>th {
  background-color: #99ccff;
  color:#333;
}
::-webkit-input-placeholder { /* WebKit browsers */
    color:    #ddd !important;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:    #ddd !important;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:    #ddd !important;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:    #ddd !important;
}
.navbar{
	background-color: #FFF !important;
	margin-bottom: 15px;
}
.card{
	margin-bottom: 0.5rem;
}
.card-body{
	padding: 1.0rem;
	border-bottom-left-radius: 0.25rem;
	border-bottom-right-radius: 0.25rem;
}
.bg-primary {
    border-color: #337ab7 !important;
    background-color: #337ab7 !important;
}
.bg-primary > .card-header {
    color: #fff !important;
    background-color: #337ab7 !important;
    border-color: #337ab7 !important;
}
.bg-warning{
	border-color: #ffe597 !important;
	background-color: #ffe597 !important;
}
.bg-warning2{
	border-color: #ffc107 !important;
	background-color: #ffc107 !important;
}
.bg-danger{
	border-color: #dc3545 !important;
	background-color: #dc3545 !important;
}
.badge-primary{
 	background-color: #193170 !important;
}
.btn-primary {
    color: #fff;
    background-color: #193170 !important;
    border-color: #193170 !important;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
	background-color: #6187c7 !important;
}
.btn-grapevine, .btn-grapevine:focus {
    color: #fff;
    background-color: #651c75 !important;
    border-color: #653071 !important;
}
.btn-grapevine:not(:disabled):not(.disabled):active, .btn-grapevine:not(:disabled):not(.disabled).active, .show > .btn-grapevine.dropdown-toggle, .btn-grapevine:hover {
	color: #fff;
	background-color: #7b2c8c !important;
}
.btn-outline-grapevine {
	color: #7b2c8c !important;
    border-color: #7b2c8c !important;
}
.btn-outline-grapevine:hover {
	color: #fff !important;
	background-color: #7b2c8c !important;
}
.btn-outline-grapevine:not(:disabled):not(.disabled):active, .btn-outline-grapevine:not(:disabled):not(.disabled).active, .show > .btn-outline-grapevine.dropdown-toggle {
	color: #fff !important;
	background-color: #7b2c8c !important;
}
.bozz-btn-transparent, .bozz-btn-transparent:hover{
	background-color:transparent !important;
	color: #651c75 !important;
}
.bozz-btn-transparent.active{
	color: #fff !important;
}
.btn-outline-primary {
	color: #193170 !important;
    border-color: #193170 !important;
}
.btn-outline-primary:hover {
	color: #fff !important;
	background-color: #193170 !important;
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle {
	color: #fff !important;
	background-color: #6187c7 !important;
}
.btn-outline-danger {
	color: #dc3545 !important;
    border-color: #912c36;
}
.btn-outline-danger:hover {
	color: #fff !important;
	background-color: #dc3545 !important;
}
.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle {
	color: #fff !important;
	background-color: #dc3545 !important;
}
.btn:focus {
  	outline: none !important;
  	box-shadow: none !important;
}
.btn:active {
  	outline: none !important;
  	box-shadow: none !important;
}
.btn-transparent{
	background-color:transparent !important;
	color: #aaa !important;
	border:transparent !important;
}
.btn-transparent:hover{
	background-color: #eee !important;
	color: #777 !important;
	border:transparent !important;
}
.btn-outline-primary-selected{
	background-color:#e4e9f2 !important;
}
.btn-outline-primary-notselected{
	border-color:#DDDDDD !important;
}
.card-header:not(.text-white){
	background-color: transparent !important;
	border-bottom: 1px solid #7b2c8c !important;
	color: #7b2c8c !important;
}
.progress{
	background-color: #cfcfcf;
}
.nav-tabs {
    border-bottom: 1px solid #193170 !important;
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
    border-top-color: #193170 !important;
    border-right-color: #193170 !important;
    border-bottom-color: transparent !important;
    border-left-color: #193170 !important;
}
.nav-tabs .nav-link:hover {
	border-top-color: inherit !important;
	border-right-color: inherit !important;
	border-bottom-color: transparent !important;
	border-left-color: inherit !important;
}
.nav-tabs .nav-link:focus {
    border-top-color: #193170 !important;
    border-right-color: #193170 !important;
    border-bottom-color: transparent !important;
    border-left-color: #193170 !important;
}
.nav-tabs .nav-link {
	border-top: 1px solid #eee !important;
	border-right: 1px solid #eee !important;
	border-bottom: 1px solid transparent !important;
    border-left: 1px solid #eee !important;
}
.breadcrumb{
	margin-bottom: 0.5rem !important;
	background-color: #fff;
	padding: 0.5rem 1rem;
}
.modal-header .close {
	font-size: 21px !important;	
}
.bootstrap-dialog-header{
	flex: 0 0 100%;
    max-width: 100%;
}
.modal-header{
	padding: 10px;
}
.close {
	opacity: 0.2;	
}
.close:hover,
.close:focus {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.dt-ellipsis{
    white-space:nowrap;
    /*max-width:12em;*/
    overflow:hidden;
}
.navbar .brand { 
    /*max-height: 40px;*/
    max-width: 30%; 
    overflow: visible;
    /*padding-top: 5px;
    padding-bottom: 5px;*/ 
}
.btn-padBottom{
	margin-bottom: 10px;	
}
@media (max-width: 480px) {
    .dt-ellipsis{
	    white-space:nowrap;
	    max-width:12em;
	    overflow:hidden;
	}
}
.card-body .row{
	 padding-left:15px;
	 padding-right:15px;
}
.form-horizontal .control-label{
	text-align:left;
}
@media (min-width: 768px) {
    .padRight5px {
        padding-right: 5px;
    }
    .mobile-only {
        display:none !important;
    }
}
@media (max-width: 767px) {
    .desktop-only {
        display:none !important;
    }
    .form-control, .custom-select {
	    padding: 0.175rem 0.35rem;
	}
}
@media (max-width: 991px) {
	.sideBySidePad-md{
		padding: 5px !important;
	}
	.defaultPad-md{
		padding: 5px !important;
	}
	.breadcrumb-desktop-only{
		display:none !important;
	}
	.breadcrumb-mobile-only{
		
	}
}
@media (min-width: 992px) {
	.sideBySidePad-md{
		padding-right: 0px !important;
	}
	.defaultPad-md{
		padding-right: 0px !important;
		padding-left: 0px !important;
	}
	.breadcrumb-desktop-only{
	
	}
	.breadcrumb-mobile-only{
		display:none !important;
	}
}
@media (max-width: 767px){
	.container {
	    max-width:none !important;
	}
}
.ui-datepicker-month{
	color: #000 !important;
}
.ui-datepicker-year{
	color: #000 !important;
}
.ui-autocomplete{
	list-style-type: none;
	padding-left: 10px;
	padding-top: 2px;
	border: 1px #e7e7ef solid;
	z-index: 100;
	background-color: #f9f9f9;
	border-radius: 4px;
}
.ui-menu-item-wrapper{
	border: 1px solid #f9f9f9;
}
.ui-menu-item-wrapper.ui-state-active{
	border: 1px solid #ffac45;
	color: #ffac45;
}
.ui-helper-hidden-accessible{
	display:none;
}
.jqte_tool.jqte_tool_1 .jqte_tool_label {
	height: 24px !important;
}
.with-nav-tabs{
	padding-left: 5px !important; 
	padding-right: 5px !important; 
	padding-top: 5px !important;
	padding-bottom: 0px !important;
	border-color: transparent !important;
}
table.dataTable thead th, table.dataTable thead td{
	padding: 5px 13px;
}
.glyphicon-none:before {
    /*content: "\2122";*/
    color: transparent !important;
}
.read-only-textarea{
	border: 1px solid #ced4da !important;
	margin-bottom: 5px;
	padding:10px;
	min-height:50px;
	border-radius: 0.25rem;
	background-color: #fafafa !important;
	color: #495057;
}


textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {   
	/*border-color: #00aeef !important;*/
	outline:0px !important;
    -webkit-appearance:none;
    box-shadow: none !important;
}
.form-control:focus, .custom-select:focus {
	outline:0px !important;
    -webkit-appearance:none;
    box-shadow: none !important;
}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #fff;
    background-color: #193170;
}
a:hover {
    color: #0e639d;
}
a:focus{
	color: #193170;
}
a{
	color: #193170;
}
.bootstrap-switch-handle-on.bootstrap-switch-success{
	background:#8ed16a !important;
}
.bootstrap-dialog.type-primary .modal-header {
    background-color: #7b2c8c !important;
}
.modal-header .close {
	color: #fff !important;	
}
@media (max-width: 555px) {
    .form-group.dropdown-group {
        margin-left: 0px !important;
        margin-right: 0px !important;
    }
}
.nav > li > a {
    padding: 10px 10px;
    color: #777;
}
.flip-glyphicon {
    transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
}

table.dataTable.dtr-inline.collapsed>tbody>tr>td:first-child:before, table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child:before{
	font-family: 'Font Awesome 5 Pro' !important;
	content: '\f078' !important;
	font-weight: 900 !important;
	border:0px solid black !important;
	border-radius:0px !important;
	background-color:inherit !important;
	box-shadow:0 0 0 white !important;
	color: #333 !important;
}
table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before, table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{
	font-family: 'Font Awesome 5 Pro' !important;
	content: '\f077' !important;
	font-weight: 900 !important;
	color: #333 !important;
}
.ui-datepicker{
	z-index: 1000 !important;
}
.btn-sm{
	font-size:0.75rem
}
.btn-md{
	font-size:1.0rem
}
.btn-lg{
	font-size:1.25rem
}
.btn-xl{
	font-size:1.5rem
}
.alert-success {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}
.alert-danger {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}
.alert-danger-stripe {
    color: #a94442;
    background-image: linear-gradient(135deg, #f2dede 25%, #ebd3d3 25%, #ebd3d3 50%, #f2dede 50%, #f2dede 75%, #ebd3d3 75%, #ebd3d3 100%);
	background-size: 56.57px 56.57px;
    border-color: #ebccd1;
}
.alert-info {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
}
.alert-warning {
    color: #8a6d3b;
    background-color: #ffff99;
    border-color: #faebcc;
}
div.note-editor.note-frame.card{
	margin-bottom: 0px !important;
}
div.dropdown.bootstrap-select.form-control{
	border: 1px solid #ced4da;
}
button.btn.dropdown-toggle.btn-light{
	background-color: #fff;
}
div.filter-option-inner-inner{
	font-size: 14px !important;
}
.input-group input[type="checkbox"] {
    display: none;
}
.input-group input[type="checkbox"] + .btn-group > label span {
    width: 20px;
    padding-top:7px;
}
.input-group input[type="checkbox"] + .btn-group > label span:first-child {
    display: none;
}
.input-group input[type="checkbox"] + .btn-group > label span:last-child {
    display: inline-block;   
}
.input-group input[type="checkbox"]:checked + .btn-group > label span:first-child {
    display: inline-block;
}
.input-group input[type="checkbox"]:checked + .btn-group > label span:last-child {
    display: none;   
}
.input-group input[type="radio"] {
    display: none;
}
.input-group input[type="radio"] + .btn-group > label span {
    width: 20px;
    padding-top:7px;
}
.input-group input[type="radio"] + .btn-group > label span:first-child {
    display: none;
}
.input-group input[type="radio"] + .btn-group > label span:last-child {
    display: inline-block;   
}
.input-group input[type="radio"]:checked + .btn-group > label span:first-child {
    display: inline-block;
}
.input-group input[type="radio"]:checked + .btn-group > label span:last-child {
    display: none;   
}
.bootstrap-select>.dropdown-toggle.bs-placeholder, .bootstrap-select>.dropdown-toggle.bs-placeholder:active, .bootstrap-select>.dropdown-toggle.bs-placeholder:focus, .bootstrap-select>.dropdown-toggle.bs-placeholder:hover {
	color: #495057 !important;	
}
.bootstrap-select .dropdown-toggle .filter-option-inner-inner {
	color: #495057 !important;	
}
.btn-success {
    color: #fff !important;
    background-color: #5CB85B !important;
    border-color: #4cae4c !important;
}
.btn-success:hover {
    color: #fff !important;
    background-color: #449d44 !important;
    border-color: #398439 !important;
}
.btn-success:active:hover, .btn-success.active:hover, .open > .dropdown-toggle.btn-success:hover, .btn-success:active:focus, .btn-success.active:focus, .open > .dropdown-toggle.btn-success:focus, .btn-success:active.focus, .btn-success.active.focus, .open > .dropdown-toggle.btn-success.focus {
    color: #fff !important;
    background-color: #398439 !important;
    border-color: #255625 !important;
}
.btn-danger {
    color: #fff !important;
    background-color: #d9534f !important;
    border-color: #d43f3a !important;
}
.btn-danger:hover {
    color: #fff !important;
    background-color: #c9302c !important;
    border-color: #ac2925 !important;
}
.btn-danger:active:hover, .btn-danger.active:hover, .open > .dropdown-toggle.btn-danger:hover, .btn-danger:active:focus, .btn-danger.active:focus, .open > .dropdown-toggle.btn-danger:focus, .btn-danger:active.focus, .btn-danger.active.focus, .open > .dropdown-toggle.btn-danger.focus {
    color: #fff !important;
    background-color: #ac2925 !important;
    border-color: #761c19 !important;
}
.btn-orange {
    color: #fff !important;
    background-color: #d9934f !important;
    border-color: #d48a3a !important;
}
.btn-orange:hover {
    color: #fff !important;
     background-color: #c97a2c !important;
    border-color: #ac6825 !important;
}
.btn-orange:active:hover, .btn-orange.active:hover, .open > .dropdown-toggle.btn-orange:hover, .btn-orange:active:focus, .btn-orange.active:focus, .open > .dropdown-toggle.btn-orange:focus, .btn-orange:active.focus, .btn-orange.active.focus, .open > .dropdown-toggle.btn-orange.focus {
    color: #fff !important;
    background-color: #ac6825 !important;
    border-color: #764719 !important;
}
.ui-sortable-placeholder {
	margin-left: 0px !important; 
	margin-right: 0px !important; 
	border: 2px dashed #7e7e7e; 
	visibility: visible !important; /*height: 100px !important;*/ 
}
.note-status-output{
	display: none !important;
}
@media (max-width: 345px) {
    .formDate{font-size: 10px !important;}
}
.btn-group-xs > .btn, .btn-xs {
  padding  : .25rem .4rem;
  font-size  : .65rem;
  line-height  : .5;
  border-radius : .2rem;
}
.btn-group-xxs > .btn, .btn-xxs {
  padding  : .1rem .2rem;
  font-size  : .65rem;
  line-height  : .5;
  border-radius : .2rem;
}
.btn-xs-tight{
	font-size: 1.0rem !important;
    padding: 0.15rem 0.2rem !important;
}
.dropdown-item.active, .dropdown-item:active {
	color: #16181b;	
	border: 2px solid #00aeef !important;
}
.modal-footer {
	justify-content:center !important;	
}
.tab-content-container-border{
	border-left: 1px solid #dee2e6;
	border-bottom: 1px solid #dee2e6;
	border-right: 1px solid #dee2e6;
}
.table-nostriped tbody tr:nth-of-type(odd) {
  background-color:transparent;
}
#styled-accordion .card-header:after {
    font-family: 'Font Awesome 5 Pro';  
    content: "\f068";
    float: right; 
}
#styled-accordion .card-header.collapsed:after {
    /* symbol for "collapsed" panels */
    content: "\f067"; 
}
#styled-accordion .card-header[aria-expanded="true"]{
	background-color: #007bff !important;
}
#styled-accordion .card-header[aria-expanded="false"]{
	background-color: rgba(0, 0, 0, 0.03);
}
.no-modal-body-padding{
	padding-left:0px !important;
	padding-right:0px !important;
	padding-top: 0px !important;
	padding-bottom: 10px !important;
}
/*Button systemDefault */
.btn-systemDefault {
	background-color: #fafafa;
    border-color: #dbdbdb;
    color: #333333;
}
.btn-systemDefault:hover, .btn-systemDefault:focus, .btn-systemDefault:active, .btn-systemDefault.active, .open > .dropdown-toggle.btn-systemDefault {
    background-color: #e0e0e0;
    background-position: 0 -15px;
    color: #333333;
}
.btn-systemDefault:active, .btn-systemDefault.active {
    background-color: #e0e0e0;
  	border-color: #dbdbdb;
  	color: #333333;
    box-shadow: none;
}
.btn-group.display-only label.btn {
    pointer-events: none;
    cursor: not-allowed;
}
.btn-group.display-only label.btn.active {
    opacity: 1;
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad;webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
    box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
}
/* Data Tables - Make Column Headers More Narrow */
table.dataTable.compact thead th, 
table.dataTable thead th {
  /*text-align: left;*/
  vertical-align: bottom;
}
table.dataTable.compact thead th, 
table.dataTable thead th {
  padding: 10px 18px 10px 5px;
  border-right: 1px solid #dddddd;
}
table.dataTable.compact tbody th,
table.dataTable tbody th {
  padding: 10px 18px 10px 5px;
  border-right: 1px solid #dddddd;
}
/* Bootstrap Carousel */
.carousel-control-prev-icon, .carousel-control-next-icon {
  color: black !important;
}
.btn-circle{
	border-radius:1.0rem !important;
	height:28px !important;
	width:28px !important;
}
.btn-square{
	border-radius:3.2px !important;
	height:28px !important;
	width:28px !important;
}
.back-to-top {
    position: fixed;
    bottom: 2em;
    right: 0px;
    text-decoration: none;
    color: #000000;
    background-color: rgba(195, 195, 195, 0.80);
    font-size: 12px;
    padding: 1em;
    display: none;
}
.back-to-top:hover {    
    background-color: rgba(135, 135, 135, 0.50);
}
/* Disable Boostrap selectpicker select all */
.bs-select-all{
	display: none;
}

/* input range styling */
input[type=range] {
  	height: 25px;
  	-webkit-appearance: none;
  	margin: 10px 0;
}
input[type=range]:focus {
  	outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
  	height: 5px;
  	cursor: pointer;
  	animate: 0.2s;
  	box-shadow: 0px 0px 0px #000000;
  	background: #E3E3E3;
  	border-radius: 1px;
  	border: 0px solid #000000;
}
input[type=range]::-webkit-slider-thumb {
  	box-shadow: 0px 0px 0px #000000;
  	border: 1px solid #193170;
  	height: 18px;
  	width: 18px;
  	border-radius: 25px;
  	background: #193170;
  	cursor: pointer;
  	-webkit-appearance: none;
  	margin-top: -7px;
}
input[type=range]:focus::-webkit-slider-runnable-track {
  	background: #E3E3E3;
}
input[type=range]::-moz-range-track {
  	height: 5px;
  	cursor: pointer;
  	animate: 0.2s;
  	box-shadow: 0px 0px 0px #000000;
  	background: #E3E3E3;
  	border-radius: 1px;
  	border: 0px solid #000000;
}
input[type=range]::-moz-range-thumb {
  	box-shadow: 0px 0px 0px #000000;
  	border: 1px solid #193170;
  	height: 18px;
  	width: 18px;
  	border-radius: 25px;
  	background: #193170;
  	cursor: pointer;
}
input[type=range]::-ms-track {
  	height: 5px;
  	cursor: pointer;
  	animate: 0.2s;
  	background: transparent;
  	border-color: transparent;
  	color: transparent;
}
input[type=range]::-ms-fill-lower {
  	background: #E3E3E3;
  	border: 0px solid #000000;
  	border-radius: 2px;
  	box-shadow: 0px 0px 0px #000000;
}
input[type=range]::-ms-fill-upper {
  	background: #E3E3E3;
  	border: 0px solid #000000;
  	border-radius: 2px;
  	box-shadow: 0px 0px 0px #000000;
}
input[type=range]::-ms-thumb {
  	margin-top: 1px;
  	box-shadow: 0px 0px 0px #000000;
  	border: 1px solid #193170;
  	height: 18px;
  	width: 18px;
  	border-radius: 25px;
  	background: #193170;
  	cursor: pointer;
}
input[type=range]:focus::-ms-fill-lower {
  	background: #E3E3E3;
}
input[type=range]:focus::-ms-fill-upper {
  	background: #E3E3E3;
}
.bozz-center-card {
	max-width: 352px;
	padding: 15px;
	margin: 0 auto;
	background-color: #fff;
}
.bozz-center-card .bozz-center-card-heading, .bozz-center-card .checkbox {
	margin-bottom: 10px;
}
.bozz-center-card .checkbox {
	font-weight: normal;
}
.bozz-center-card .form-control {
	position: relative;
	height: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px;
	font-size: 16px;
}
.bozz-center-card .form-control:focus {
	z-index: 2;
}
.bozz-mw-750{
	max-width:750px;
	margin: 0 auto;
}
.bozz-mw-350{
	max-width:350px;
	margin: 0 auto;
}
.bozz-mw-450{
	max-width:450px;
	margin: 0 auto;
}
.btn:focus, .btn.focus{
	outline: none !important;
	box-shadow: 0 0 0 0 rgb(255,255,255) !important;
}
/* Grapevine Login Retheme - add near the bottom of common.css */
:root{
  --gv-navy:#16355f;
  --gv-navy-2:#02112b;
  --gv-purple:#7b1fa2;
  --gv-purple-2:#9c27d6;
  --gv-lavender:#8c489a;
  --gv-text:#07183a;
  --gv-muted:#64728a;
  --gv-border:#dfe5ee;
  --gv-card:#ffffff;
}

body.gv-login-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 20% 12%, rgba(156,39,214,.20), transparent 28%),
    linear-gradient(135deg, #f8faff 0%, #eef2f8 100%);
  color:var(--gv-text);
}

.gv-login-shell{
  min-height:calc(90vh - 44px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 12px;
}

.gv-login-card{
  width:100%;
  max-width:980px;
  min-height:560px;
  display:flex;
  overflow:hidden;
  border-radius:18px;
  background:var(--gv-card);
  box-shadow:0 18px 45px rgba(6,27,61,.18);
  border:1px solid rgba(6,27,61,.08);
}

.gv-brand-panel{
  flex:0 0 46%;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:44px 36px;
  text-align:center;
  color:#fff;
  background:
    radial-gradient(circle at 80% 22%, rgba(192,132,216,.22), transparent 24%),
    linear-gradient(145deg, var(--gv-navy) 0%, var(--gv-navy-2) 100%);
}

.gv-brand-panel:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, transparent 0 55%, rgba(255,255,255,.035) 55% 56%, transparent 56%),
    radial-gradient(circle at 12% 88%, rgba(192,132,216,.16), transparent 34%);
  pointer-events:none;
}

.gv-brand-content{position:relative; z-index:1; width:100%;}
.gv-brand-logo{filter:drop-shadow(0 14px 22px rgba(0,0,0,.22));}
.gv-brand-title{font-size:1.05rem; letter-spacing:.18rem; font-weight:700; text-transform:uppercase; margin-bottom:10px;}
.gv-brand-tagline{font-size:1.6rem; line-height:1.25; font-weight:700; margin-bottom:14px;}
.gv-brand-subtitle{color:rgba(255,255,255,.76); font-size:.95rem; line-height:1.45; max-width:310px; margin:0 auto;}
.gv-brand-divider{width:54px; height:3px; border-radius:99px; background:linear-gradient(90deg, var(--gv-purple-2), var(--gv-lavender)); margin:22px auto;}
.gv-brand-mini{display:flex; justify-content:center; gap:22px; margin-top:34px; color:rgba(255,255,255,.86);}
.gv-brand-mini div{min-width:72px;}
.gv-brand-mini i{display:block; color:var(--gv-lavender); font-size:1.35rem; margin-bottom:8px;}
.gv-brand-mini span{display:block; font-size:.72rem; letter-spacing:.05rem; text-transform:uppercase;}

.gv-form-panel{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:42px 48px;
}
.gv-login-form{width:100%; max-width:380px;}
.gv-form-title{font-size:2rem; font-weight:800; letter-spacing:-.04rem; color:var(--gv-text); margin-bottom:6px;}
.gv-form-subtitle{color:var(--gv-muted); margin-bottom:24px;}
.gv-accent-line{
	width: 68px;
    height: 1px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--gv-purple), var(--gv-lavender));
    margin-bottom: 20px;
    opacity: 0.2;
    margin-top: -20px;
}

.gv-input-group{border:1px solid var(--gv-border); border-radius:10px; overflow:hidden; background:#fff; transition:border-color .15s ease, box-shadow .15s ease;}
.gv-input-group:focus-within{border-color:rgba(123,31,162,.65); box-shadow:0 0 0 .18rem rgba(123,31,162,.10);}
.gv-input-group .input-group-text{min-width:48px; justify-content:center; border:0; background:#f5f7fb; color:var(--gv-text);}
.gv-input-group .form-control{height:46px; border:0 !important; font-size:15px !important; padding:10px 12px !important;}
.gv-input-group .form-control:focus{box-shadow:none !important;}

.gv-captcha-box{margin-top:12px;}
.gv-cloudflare-message{font-size:.92rem; border-radius:10px; padding:10px 12px; text-align:center; margin-top:10px;}
.gv-cloudflare-checking{color:#34415a; background:#f5f7fb; border:1px solid var(--gv-border);}
.gv-cloudflare-error{color:#9b1c1c; background:#fff0f0; border:1px solid #f0b8b8; display:none;}
.gv-primary-btn{height:46px; border-radius:10px !important; font-weight:700; background:linear-gradient(135deg,var(--gv-purple),var(--gv-lavender)) !important; border:0 !important; box-shadow:0 10px 20px rgba(123,31,162,.22);}
.gv-primary-btn:hover{background:linear-gradient(135deg,#8c25b7,#66158a) !important; transform:translateY(-1px);}
.gv-score-btn{height:42px; border-radius:10px !important; border:1px solid var(--gv-border) !important; background:#fff !important; color:var(--gv-text) !important; font-weight:700;}
.gv-score-btn:hover{background:#f8faff !important;}
.gv-separator{display:flex; align-items:center; color:var(--gv-muted); font-size:.86rem; margin:22px 0 16px;}
.gv-separator:before,.gv-separator:after{content:""; flex:1; height:1px; background:var(--gv-border);}
.gv-separator span{padding:0 14px;}
.gv-login-links{display:flex; justify-content:center; gap:24px; margin-top:20px; font-weight:600; font-size:.9rem;}
.gv-login-links a{color:var(--gv-purple) !important;}
.gv-alert-wrap{max-width:980px; margin:16px auto 0; padding:0 12px;}
.gv-login-footer{text-align:center; color:#5c6980; font-size:.84rem; padding:0 12px 18px;}

@media (max-width: 767px){
  body.gv-login-body{background:linear-gradient(145deg,var(--gv-navy),var(--gv-navy-2));}
  .gv-login-shell{min-height:auto; display:block; padding:0;}
  .gv-login-card{min-height:100vh; display:block; border-radius:0; box-shadow:none; border:0; background:transparent;}
  .gv-brand-panel{display:block; padding:18px 24px 18px; background:transparent;}
  /*.gv-brand-logo{max-width:220px; margin-bottom:14px;}*/
  .gv-brand-title,.gv-brand-subtitle,.gv-brand-mini{display:none;}
  .gv-brand-tagline{font-size:.82rem; letter-spacing:.15rem; text-transform:uppercase; margin-bottom:0;}
  .gv-brand-divider{margin:16px auto 0;}
  .gv-form-panel{display:block; padding:10px 22px 24px;}
  .gv-login-form{max-width:none;}
  .gv-form-title,.gv-form-subtitle,.gv-accent-line{display:none;}
  .gv-login-links a{color:var(--gv-lavender) !important;}
  .gv-separator{color:rgba(255,255,255,.78);}
  .gv-separator:before,.gv-separator:after{background:rgba(255,255,255,.22);}
  .gv-login-footer{color:rgba(255,255,255,.82); padding-bottom:24px;}
}


/* Clean BootstrapDialog content used by modal_cantLogin.jsp */
.gv-cant-login-modal{
  color:var(--gv-text, #07183a);
  padding:6px 2px 2px;
}
.gv-cant-login-intro{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:18px;
}
.gv-cant-login-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#7b1fa2;
  background:#f5e9fb;
  font-size:1.2rem;
}
.gv-cant-login-title{
  font-weight:800;
  font-size:1.05rem;
  margin-bottom:2px;
}
.gv-cant-login-text{
  color:#64728a;
  line-height:1.4;
}
.gv-cant-login-actions .btn{
  height:44px;
  border-radius:10px !important;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gv-cant-login-actions .btn i{
  margin-right:8px;
}
.gv-cant-login-secondary{
  background:#fff !important;
  color:#7b1fa2 !important;
  border:1px solid #dfe5ee !important;
}
.gv-cant-login-secondary:hover{
  background:#f8faff !important;
  color:#651c75 !important;
}
.bootstrap-dialog .modal-content{
  border:0;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(6,27,61,.22);
}
.bootstrap-dialog.type-primary .modal-header{
  background:linear-gradient(135deg,#7b1fa2,var(--gv-lavender)) !important;
  border-bottom:0 !important;
}
.bootstrap-dialog .modal-title{
  font-weight:700;
}
.bootstrap-dialog .modal-body{
  padding:22px 24px 24px;
}

@media (max-width: 767px){
  .gv-brand-logo{max-width:205px; width:70%; margin-bottom:14px;}
  .bootstrap-dialog .modal-dialog{margin:14px;}
  .bootstrap-dialog .modal-body{padding:20px 18px 22px;}
}
/* Grapevine Create Account retheme - additive CSS */
.gv-auth-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(138, 43, 170, 0.16), transparent 34rem),
        linear-gradient(135deg, #f6f8fb 0%, #eef2f7 100%);
    color: #071d49;
}
.gv-auth-shell {
    max-width: 980px;
    margin: 0 auto;
    padding: 1.5rem 1rem 0;
}
.gv-create-card {
    max-width: 760px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    border: 0;
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1rem 2.5rem rgba(7, 29, 73, 0.14);
}
.gv-create-header {
    background:
        linear-gradient(135deg, #061b42 0%, #071d49 58%, #25204d 100%);
    color: #fff;
    padding: 2rem 2rem 1.75rem;
    position: relative;
}
.gv-create-header:after {
    content: "";
    position: absolute;
    right: -4rem;
    top: -6rem;
    width: 16rem;
    height: 16rem;
    border: 2px solid rgba(188, 104, 232, 0.28);
    border-radius: 50%;
}
.gv-brand-kicker {
    display: inline-flex;
    align-items: center;
    letter-spacing: 0.18em;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.88);
}
.gv-brand-kicker:before {
    content: "";
    width: 2.4rem;
    height: 0.18rem;
    margin-right: 0.75rem;
    border-radius: 999px;
    background: #b866e1;
}
.gv-create-title {
    margin: 1rem 0 0.35rem;
    font-size: 2rem;
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -0.03em;
}
.gv-create-subtitle {
    max-width: 590px;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.98rem;
    line-height: 1.55;
}
.gv-create-body {
    padding: 1.75rem 2rem 2rem;
}
.gv-info-box {
    border: 1px solid #e5d8ef;
    background: #fbf7ff;
    border-radius: 0.85rem;
    padding: 1rem 1.1rem;
    margin-bottom: 1.35rem;
    color: #273b63;
    line-height: 1.5;
}
.gv-info-box .fas,
.gv-info-box .far {
    color: #7b1fa2;
}
.gv-form-label {
    display: block;
    margin-bottom: 0.35rem;
    color: #071d49;
    font-weight: 700;
    font-size: 0.84rem;
}
.gv-create-card .form-control {
    min-height: 44px;
    border-radius: 0.65rem;
    border: 1px solid #d9e0ea;
    padding: 0.55rem 0.8rem;
    color: #071d49;
    background-color: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.gv-create-card .form-control:focus {
    border-color: #9b3fd0 !important;
    box-shadow: 0 0 0 0.18rem rgba(123, 31, 162, 0.12) !important;
}
.gv-create-card .form-control::placeholder {
    color: #a7b1c2 !important;
}
.gv-section-label {
    color: #6b7280;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0.25rem 0 0.9rem;
}
.gv-captcha-status {
    border-radius: 0.75rem !important;
    padding: 0.75rem !important;
    margin-top: 0.5rem !important;
}
.gv-submit-btn {
    min-height: 46px;
    border-radius: 0.65rem !important;
    font-weight: 800;
    letter-spacing: -0.01em;
    background: linear-gradient(135deg, #8b1db2 0%, #651c75 100%) !important;
    border: 0 !important;
    box-shadow: 0 0.75rem 1.45rem rgba(123, 31, 162, 0.22) !important;
}
.gv-submit-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 0.9rem 1.65rem rgba(123, 31, 162, 0.26) !important;
}
.gv-login-link {
    font-weight: 800;
    color: #651c75 !important;
}
.gv-form-divider {
    height: 1px;
    background: #e8edf4;
    margin: 1rem 0 1.35rem;
}
.gv-response-message {
    max-width: 760px;
    margin: 1rem auto 0;
    border-radius: 0.75rem;
    overflow: hidden;
}
@media (max-width: 767px) {
    .gv-auth-shell {
        padding: 0;
    }
    .gv-create-card {
        min-height: 100vh;
        border-radius: 0;
        box-shadow: none;
    }
    .gv-create-header {
        padding: 1.6rem 1.25rem 1.45rem;
    }
    .gv-create-title {
        font-size: 1.65rem;
    }
    .gv-create-body {
        padding: 1.35rem 1.25rem 1.75rem;
    }
    .gv-info-box {
        font-size: 0.88rem;
    }
}
/* Grapevine Success page retheme - additive CSS */
.gv-success-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(138, 43, 170, 0.16), transparent 34rem),
        linear-gradient(135deg, #f6f8fb 0%, #eef2f7 100%);
    color: #071d49;
}
.gv-success-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 540px;
    margin: 0 auto;
    padding: 1.5rem 1rem;
}
.gv-success-card {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
    padding: 2.2rem 2rem 2rem;
    border: 0;
    border-radius: 1rem;
    background: #fff;
    text-align: center;
    box-shadow: 0 1rem 2.5rem rgba(7, 29, 73, 0.14);
}
.gv-success-accent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.35rem;
    background: linear-gradient(90deg, #071d49 0%, #7b1fa2 52%, #b866e1 100%);
}
.gv-success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.3rem;
    height: 4.3rem;
    margin-bottom: 1rem;
    border-radius: 999px;
    background: #edf9f0;
    color: #209653;
    font-size: 1.7rem;
    box-shadow: 0 0.55rem 1.25rem rgba(32, 150, 83, 0.16);
}
.gv-success-title {
    margin: 0 0 0.65rem;
    color: #071d49;
    font-size: 2rem;
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.03em;
}
.gv-success-message {
    color: #344564;
    font-size: 1rem;
    line-height: 1.55;
}
.gv-success-btn {
    min-width:230px;
	min-height:48px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.55rem;
	border-radius:12px;
	font-weight:700;
	box-shadow:0 12px 26px rgba(101,28,117,.20);
}
.gv-success-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 0.9rem 1.65rem rgba(123, 31, 162, 0.26) !important;
}
.gv-success-shell footer,
.gv-success-shell .footer {
    margin-top: 1.35rem;
}
@media (max-width: 767px) {
    .gv-success-shell {
        justify-content: flex-start;
        padding: 1rem;
    }
    .gv-success-card {
        margin-top: 4rem;
        padding: 2rem 1.35rem 1.5rem;
        border-radius: 0.9rem;
    }
    .gv-success-title {
        font-size: 1.75rem;
    }
}
/* Terms of Use Retheme */

.gv-terms-card{
    max-width: 900px;
    margin: 20px auto;
    border: 0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.gv-terms-body{
    padding: 40px;
}

.gv-terms-header{
    display:flex;
    align-items:flex-start;
    gap:20px;
    margin-bottom:30px;
}

.gv-terms-icon{
    width:64px;
    height:64px;
    color:#8f2db7;
    flex-shrink:0;
}

.gv-terms-title{
    font-size:2rem;
    font-weight:700;
    color:#00205B;
    margin-bottom:8px;
}

.gv-terms-subtitle{
    color:#5d6778;
    font-size:1rem;
    line-height:1.6;
}

.gv-guideline{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:14px;
}

.gv-guideline i{
    color:#8f2db7;
    margin-top:4px;
}

.gv-guideline-text{
    color:#333;
}

.gv-agree-area{
    text-align:center;
    margin-top:35px;
}

.gv-agree-btn{
    min-width:220px;
    height:52px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    font-size:1.05rem;
    font-weight:600;
}
/* Grapevine Terms of Use + shared topbar additive retheme */

.gv-app-body{
    background: #f4f6fb !important;
    color: #071b46;
}

.gv-page-shell{
    padding-left: 0;
    padding-right: 0;
}

.gv-topbar{
    background: linear-gradient(135deg, #001b44 0%, #06245a 55%, #1b0f45 100%);
    border-bottom: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 10px 30px rgba(0, 32, 91, .18);
    margin-bottom: 18px;
}

.gv-topbar-inner{
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
}

.gv-brand{
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none !important;
}

.gv-brand-mark{
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.gv-brand-text{
    display: inline-flex;
    flex-direction: column;
    line-height: 1.05;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-weight: 700;
}

.gv-brand-bozzutos{
    color: #ffffff;
    font-size: .78rem;
}

.gv-brand-grapevine{
    color: #c36be7;
    font-size: .78rem;
}

.gv-topbar-actions{
    display: inline-flex;
    align-items: center;
    gap: 14px;
}

.gv-topbar-icon,
.gv-logout-link{
    color: #ffffff !important;
    text-decoration: none !important;
}

.gv-topbar-icon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    font-size: 1.2rem;
    transition: background-color .15s ease, transform .15s ease;
}

.gv-topbar-icon:hover{
    background: rgba(255,255,255,.12);
    transform: translateY(-1px);
}

.gv-logout-link{
    font-weight: 600;
    font-size: .95rem;
}

.gv-logout-link:hover{
    color: #dca5f1 !important;
}

.gv-terms-page{
    padding: 16px 16px 0 16px;
}

.gv-terms-card{
    max-width: 920px;
    margin: 0 auto 18px auto;
    border: 1px solid rgba(0, 32, 91, .08) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 44px rgba(0, 32, 91, .10) !important;
    overflow: hidden;
}

.gv-terms-body{
    padding: 42px !important;
}

.gv-terms-hero{
    display: flex;
    align-items: flex-start;
    gap: 22px;
    margin-bottom: 28px;
}

.gv-terms-icon-wrap{
    width: 76px;
    height: 76px;
    border-radius: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #8726a8;
    background: linear-gradient(135deg, rgba(142, 45, 183, .12), rgba(0, 32, 91, .05));
    border: 1px solid rgba(142, 45, 183, .18);
    font-size: 2.4rem;
    flex: 0 0 auto;
}
.gv-terms-title{
    color: #00205B;
    font-size: 2.15rem;
    line-height: 1.05;
    font-weight: 800;
    margin: 0 0 10px 0;
}

.gv-terms-lead{
    color: #53627a;
    line-height: 1.65;
    font-size: 1rem;
    max-width: 690px;
    margin: 0 !important;
}

.gv-guidelines-card{
    border: 1px solid rgba(0, 32, 91, .08);
    border-radius: 16px;
    background: #ffffff;
    overflow: hidden;
}

.gv-guideline-row{
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px 18px;
    color: #15264b;
    border-bottom: 1px solid #eef1f7;
}

.gv-guideline-row:last-child{
    border-bottom: 0;
}

.gv-guideline-check{
    width: 22px;
    height: 22px;
    min-width: 22px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #8726a8;
    color: #ffffff;
    font-size: .72rem;
    margin-top: 1px;
}

.gv-terms-callout{
    margin-top: 22px;
    padding: 16px 18px;
    border-radius: 14px;
    text-align: center;
    background: #f7f0fb;
    color: #34134b;
    border: 1px solid rgba(142, 45, 183, .15);
}

.gv-terms-callout i{
    color: #8726a8;
    margin-top: 2px;
}

.gv-terms-actions{
    text-align: center;
    margin-top: 30px;
}

.gv-primary-cta{
    min-width: 220px;
    min-height: 52px;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    box-shadow: 0 12px 26px rgba(123, 44, 140, .22);
}

@media (max-width: 767px){
    .gv-topbar-inner{
        min-height: 58px;
        padding: 0 14px;
    }

    .gv-brand-mark{
        width: 36px;
        height: 36px;
    }

    .gv-brand-text{
        letter-spacing: .1em;
    }

    .gv-topbar-actions{
        gap: 8px;
    }

    .gv-topbar-icon{
        width: 30px;
        height: 30px;
        font-size: 1.05rem;
    }

    .gv-logout-link{
        font-size: .85rem;
    }

    .gv-terms-page{
        padding: 10px 10px 0 10px;
    }

    .gv-terms-body{
        padding: 26px 20px !important;
    }

    .gv-terms-hero{
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 14px;
    }

    .gv-terms-icon-wrap{
        width: 68px;
        height: 68px;
        border-radius: 20px;
        font-size: 2.1rem;
    }

    .gv-terms-title{
        font-size: 1.8rem;
    }

    .gv-terms-lead{
        font-size: .95rem;
    }

    .gv-guideline-row{
        padding: 14px;
    }

    .gv-primary-cta{
        width: 100%;
    }
}
/* Grapevine Header + Footer Retheme - additive CSS */

.gv-app-header{
    width:100%;
    background:linear-gradient(100deg, #00205B 0%, #071c4d 62%, #21104d 100%);
    border-bottom:1px solid rgba(255,255,255,.12);
    box-shadow:0 10px 26px rgba(0,32,91,.18);
    position:relative;
    z-index:10;
}

.gv-app-header-inner{
    width:100%;
    min-height:64px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 24px;
}

.gv-app-brand,
.gv-app-brand:hover,
.gv-app-brand:focus{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
    color:#fff;
    min-width:0;
}

.gv-app-brand-mark-wrap{
    width: 151px;
    height: 60px;
    display: inline-flex;
    /* align-items: center; */
    /* justify-content: center; */
    /* overflow: hidden; */
    /* flex: 0 0 151px; */
    margin-right: 10px;
}

.gv-app-brand-mark{
    display:block;
    width:50px;
    height:auto;
}

.gv-app-brand-copy{
    display:flex;
    flex-direction:column;
    line-height:1;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.gv-app-brand-line{
    display:block;
    white-space:nowrap;
}

.gv-app-brand-bozzutos{
    color:#fff;
    font-size:.82rem;
    font-weight:800;
    margin-bottom:4px;
}

.gv-app-brand-grapevine{
    color:#C26BFF;
    font-size:.82rem;
    font-weight:800;
}

.gv-app-nav{
    display:flex;
    align-items:center;
    gap:10px;
}

.gv-app-nav-icon,
.gv-app-nav-icon:hover,
.gv-app-nav-icon:focus{
    width:38px;
    height:38px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-decoration:none;
    font-size:1.25rem;
    transition:background-color .15s ease, transform .15s ease;
}

.gv-app-nav-icon:hover{
    background-color:rgba(255,255,255,.12);
    transform:translateY(-1px);
}

.gv-app-logout,
.gv-app-logout:hover,
.gv-app-logout:focus{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    min-height:38px;
    padding:0 14px;
    border-radius:999px;
    color:#fff;
    text-decoration:none;
    font-weight:700;
    letter-spacing:.01em;
    transition:background-color .15s ease, transform .15s ease;
}

.gv-app-logout:hover{
    background-color:rgba(255,255,255,.12);
    transform:translateY(-1px);
}

.gv-hr-admin-warning{
    max-width:1100px;
    margin:14px auto 0 auto;
    padding:10px 16px;
    border-radius:12px;
    background:#fff8db;
    border:1px solid #f1d26a;
    color:#6b4a00;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.gv-app-footer{
    width:100%;
    padding:18px 12px 20px 12px;
    color:#4e5b75;
    font-size:.9rem;
    position:relative;
    z-index:1;
}

.gv-app-footer-inner{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
    text-align:center;
}

.gv-footer-version,
.gv-footer-copy{
    white-space:nowrap;
}

.gv-footer-dot{
    color:#8d2bb2;
    font-weight:800;
}

.gv-app-footer-compact{
    padding-top:10px;
}

@media (max-width: 575px){
    .gv-app-header-inner{
        min-height:58px;
        padding:0 14px;
    }

    .gv-app-brand-mark-wrap{
        width:38px;
        height:38px;
        flex-basis:38px;
        margin-right:8px;
    }

    .gv-app-brand-mark{
        width:42px;
    }

    .gv-app-brand-copy{
        letter-spacing:.12em;
    }

    .gv-app-brand-bozzutos,
    .gv-app-brand-grapevine{
        font-size:.68rem;
    }

    .gv-app-nav{
        gap:2px;
    }

    .gv-app-nav-icon{
        width:34px;
        height:34px;
        font-size:1.12rem;
    }

    .gv-app-logout{
        width:34px;
        height:34px;
        min-height:34px;
        padding:0;
        border-radius:999px;
        font-size:1.05rem;
    }

    .gv-app-logout span{
        display:none;
    }

    .gv-hr-admin-warning{
        margin:10px 12px 0 12px;
        font-size:.75rem;
        text-align:center;
    }

    .gv-app-footer{
        padding:14px 12px 18px 12px;
        font-size:.78rem;
    }
}

/* Grapevine Dashboard Retheme - additive CSS */
.gv-page-shell{
    margin: 0 auto;
}
.gv-dashboard-page{
	padding: 16px 16px 0 16px;
}
.gv-dashboard-card{
    background:#fff;
    border:0;
    border-radius:18px;
    box-shadow:0 14px 36px rgba(0,32,91,.10);
    overflow:hidden;
}
.gv-dashboard-head{
    padding:1.6rem 1.8rem 1.2rem;
    border-bottom:1px solid #e8edf5;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
}
.gv-title-wrap{
    display:flex;
    align-items:center;
    gap:1rem;
    min-width:0;
}
.gv-title-icon{
    width:54px;
    height:54px;
    border-radius:18px;
    background:linear-gradient(135deg, rgba(143,45,183,.14), rgba(143,45,183,.05));
    color:#8f2db7;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.55rem;
    flex:0 0 auto;
}
.gv-page-title{
    color:#00205B;
    font-size:1.8rem;
    font-weight:800;
    line-height:1.1;
    margin:0;
}
.gv-page-subtitle{
    color:#5d6778;
    font-size:.95rem;
    margin-top:.25rem;
}
.gv-actions{
    display:flex;
    align-items:center;
    gap:.7rem;
    flex:0 0 auto;
}
.gv-icon-btn{
    width:46px;
    height:46px;
    border-radius:12px !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    background:#fff !important;
    border:1px solid #dce3ee !important;
    color:#00205B !important;
    box-shadow:0 8px 18px rgba(0,32,91,.06);
}
.gv-icon-btn:hover{
    background:#f6f8fb !important;
    color:#8f2db7 !important;
}
.gv-primary-btn{
    min-height:46px;
    border-radius:12px !important;
    padding:0 1.15rem !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    font-weight:700;
    box-shadow:0 12px 24px rgba(123,44,140,.20);
}
.gv-thread-list{
    padding:1.25rem;
}
.gv-thread-table-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) 130px 210px 56px;
    gap:1rem;
    padding:.75rem 1rem;
    color:#00205B;
    font-weight:800;
    font-size:.9rem;
    border-bottom:1px solid #e8edf5;
}
.gv-thread-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 130px 210px 56px;
    gap:1rem;
    align-items:center;
    padding:1rem;
    border-bottom:1px solid #eef2f7;
    transition:background-color .15s ease, transform .15s ease;
}
.gv-thread-row:last-child{border-bottom:0;}
.gv-thread-row:hover{background:#faf7fd;}
.gv-thread-subject-wrap{
    display:flex;
    align-items:center;
    gap:.85rem;
    min-width:0;
}
.gv-thread-icon{
    width:38px;
    height:38px;
    border-radius:999px;
    background:linear-gradient(135deg, #b56ce3, #74168f);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    font-size:.95rem;
}
.gv-thread-subject{
    color:#00205B;
    font-weight:800;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.gv-thread-meta-mobile{
    display:none;
    color:#647084;
    font-size:.82rem;
    margin-top:.25rem;
}
.gv-thread-count,
.gv-thread-date{
    color:#263957;
    font-size:.95rem;
}
.gv-view-link{
    width:38px;
    height:38px;
    border-radius:10px !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    background:#fff !important;
    color:#00205B !important;
    border:1px solid #dce3ee !important;
}
.gv-view-link:hover{
    background:#8f2db7 !important;
    color:#fff !important;
    border-color:#8f2db7 !important;
}
.gv-empty-state{
    padding:3rem 1rem;
    text-align:center;
    color:#5d6778;
}
.gv-empty-icon{
    width:62px;
    height:62px;
    border-radius:22px;
    margin:0 auto 1rem;
    background:rgba(143,45,183,.10);
    color:#8f2db7;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.8rem;
}
.gv-alert-wrap{
    max-width:1180px;
    margin:.75rem auto 0;
}
@media (max-width: 767px){
    .gv-dashboard-card{border-radius:0; box-shadow:none; margin-left:-15px; margin-right:-15px;}
    .gv-dashboard-head{padding:1.25rem 1rem; align-items:flex-start;}
    .gv-title-icon{width:48px; height:48px; border-radius:16px; font-size:1.35rem;}
    .gv-page-title{font-size:1.45rem;}
    .gv-page-subtitle{font-size:.9rem;}
    .gv-actions{gap:.5rem;}
    .gv-icon-btn{width:44px; height:44px;}
    .gv-primary-btn{min-width:44px;height:44px; min-height:44px; padding:0 !important;}
    .gv-primary-btn .gv-btn-text{display:none;}
    .gv-thread-list{padding:.75rem;}
    .gv-thread-table-head{display:none;}
    .gv-thread-row{
        grid-template-columns:minmax(0,1fr) 34px;
        gap:0.5rem;
        margin-bottom:.75rem;
        border:1px solid #e4eaf3;
        border-radius:16px;
        box-shadow:0 8px 20px rgba(0,32,91,.06);
    }
    .gv-thread-row:hover{transform:none;}
    .gv-thread-count,.gv-thread-date{display:none;}
    .gv-thread-meta-mobile{display:block;}
    .gv-view-link{border:0 !important; background:transparent !important; width:34px; height:34px;}
}
/* Grapevine Error Page Retheme - additive */

.gv-page-shell{
	min-height:100vh;
	padding-left:0 !important;
	padding-right:0 !important;
	background:
		radial-gradient(circle at top left, rgba(143,45,183,.10), transparent 32rem),
		#f4f6fa;
}

.gv-error-wrap{
	width:100%;
	padding:34px 16px 22px;
}

.gv-error-card{
	width:100%;
	max-width:620px;
	margin:0 auto;
	padding:42px 38px;
	background:#fff;
	border:1px solid rgba(0,32,91,.08);
	border-radius:18px;
	box-shadow:0 18px 45px rgba(0,32,91,.10);
	text-align:center;
}

.gv-error-icon{
	width:78px;
	height:78px;
	margin:0 auto 20px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:24px;
	color:#8f2db7;
	background:linear-gradient(135deg, rgba(143,45,183,.12), rgba(143,45,183,.04));
	border:1px solid rgba(143,45,183,.18);
	font-size:2.25rem;
}

.gv-error-eyebrow{
	margin-bottom:6px;
	color:#8f2db7;
	font-size:.82rem;
	font-weight:800;
	letter-spacing:.22em;
	text-transform:uppercase;
}

.gv-error-title{
	margin:0 0 14px;
	color:#00205B;
	font-size:2rem;
	line-height:1.1;
	font-weight:800;
}

.gv-error-message{
	max-width:480px;
	margin:0 auto;
	color:#33415c;
	font-size:1rem;
	line-height:1.6;
}

.gv-error-actions{
	margin-top:30px;
}

.gv-error-btn{
	min-width:230px;
	min-height:48px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.55rem;
	border-radius:12px;
	font-weight:700;
	box-shadow:0 12px 26px rgba(101,28,117,.20);
}

.gv-error-btn i{
	font-size:.9rem;
}

@media (max-width:575.98px){
	.gv-error-wrap{
		padding:20px 12px 14px;
	}
	.gv-error-card{
		padding:32px 22px;
		border-radius:16px;
	}
	.gv-error-title{
		font-size:1.65rem;
	}
	.gv-error-btn{
		width:100%;
	}
}
/* Dashboard Search Modal Retheme - additive */
.gv-search-modal-form {
    padding: 1.75rem;
    color: #00205B;
}

.gv-modal-intro {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.gv-modal-icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #F4E8FA;
    color: #8D24B3;
    font-size: 1.35rem;
    flex: 0 0 auto;
}

.gv-modal-eyebrow {
    color: #8D24B3;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: .2rem;
}

.gv-modal-title {
    color: #00205B;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.1;
}

.gv-modal-subtitle {
    margin-top: .25rem;
    color: #526079;
    line-height: 1.45;
}

.gv-form-group {
    margin-bottom: 1.15rem;
}

.gv-field-label {
    color: #00205B;
    font-weight: 700;
    margin-bottom: .45rem;
}

.gv-input-group .input-group-text,
.gv-date-range-group .input-group-text {
    background: #F6F8FB;
    border-color: #DDE5F0;
    color: #00205B;
    min-width: 46px;
    justify-content: center;
}

.gv-search-modal-form .form-control {
    height: 46px;
    border-color: #DDE5F0;
    color: #00205B;
    font-size: .95rem !important;
}

.gv-search-modal-form .form-control:focus {
    border-color: #8D24B3 !important;
}

.gv-date-to {
    min-width: 46px;
    font-weight: 700;
    color: #526079 !important;
}

.gv-modal-actions {
    margin-top: 1.75rem;
    padding-top: 1.25rem;
    border-top: 1px solid #E6ECF4;
    display: flex;
    justify-content: center;
    gap: .75rem;
}

.gv-modal-cancel,
.gv-modal-submit {
    height: 44px;
    min-width: 120px;
    border-radius: 10px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    font-weight: 700;
}

.gv-modal-submit {
    box-shadow: 0 12px 24px rgba(125, 29, 146, .18);
}

@media (max-width: 575px) {
    .gv-search-modal-form {
        padding: 0.0rem;
    }

    .gv-modal-intro {
        align-items: flex-start;
    }

    .gv-date-range-group {
        display: block;
    }

    .gv-date-range-group .input-group-prepend,
    .gv-date-range-group .input-group-append,
    .gv-date-range-group .form-control,
    .gv-date-range-group .input-group-text {
        width: 100%;
        display: flex;
        border-radius: 10px !important;
        margin-bottom: .5rem;
    }

    .gv-modal-actions {
        flex-direction: column-reverse;
    }

    .gv-modal-cancel,
    .gv-modal-submit {
        width: 100%;
    }
}
/* Grapevine Dashboard clickable row refinement - append after existing dashboard styles in common.css */
.gv-thread-row-clickable{
    position:relative;
    cursor:pointer;
    border-radius:14px;
    outline:0;
    margin-bottom:2px;
}
.gv-thread-row-clickable:before{
    content:"";
    position:absolute;
    left:0;
    top:14px;
    bottom:14px;
    width:3px;
    border-radius:999px;
    background:#8f2db7;
    opacity:0;
    transition:opacity .15s ease;
}
.gv-thread-row-clickable:hover,
.gv-thread-row-clickable:focus{
    background:#faf7fd;
}
.gv-thread-row-clickable:hover:before,
.gv-thread-row-clickable:focus:before{
    opacity:1;
}
.gv-thread-row-clickable:focus{
    box-shadow:0 0 0 .18rem rgba(143,45,183,.12);
}
.gv-thread-chevron{
    width:38px;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    justify-self:end;
    color:#00205B;
    border:0;
    background:transparent;
    transition:color .15s ease, transform .15s ease;
}
.gv-thread-row-clickable:hover .gv-thread-chevron,
.gv-thread-row-clickable:focus .gv-thread-chevron{
    color:#8f2db7;
    transform:translateX(2px);
}
.gv-thread-main{
    min-width:0;
}
.gv-thread-table-head-modern{
    color:#4a5871;
    font-size:.78rem;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.gv-view-link{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
@media (max-width: 767px){
    .gv-thread-row-clickable{
        border-radius:16px;
    }
    .gv-thread-row-clickable:before{
        display:none;
    }
    .gv-thread-chevron{
        width:34px;
        height:34px;
    }
}
/* Grapevine New Thread page retheme - additive CSS */

.gv-thread-start-page{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:18px 16px 0;
}

.gv-mobile-breadcrumb{
    display:flex;
    align-items:center;
    gap:.65rem;
    max-width:980px;
    margin:0 auto 10px;
    color:#61708a;
    font-size:.9rem;
}

.gv-mobile-breadcrumb a{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    color:#00205B !important;
    text-decoration:none !important;
    font-weight:700;
}

.gv-mobile-breadcrumb a:hover{
    color:#8f2db7 !important;
}

.gv-mobile-breadcrumb span{
    color:#61708a;
}

.gv-mobile-breadcrumb span:before{
    content:"/";
    margin-right:.65rem;
    color:#a4aec0;
}

.gv-thread-start-card{
    max-width:980px;
    margin:0 auto;
    background:#fff;
    border:1px solid rgba(0,32,91,.08);
    border-radius:18px;
    box-shadow:0 16px 40px rgba(0,32,91,.10);
    padding:30px 32px 26px;
}

.gv-thread-start-hero{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:24px;
}

.gv-thread-start-icon{
    width:72px;
    height:72px;
    border-radius:24px;
    background:linear-gradient(135deg, rgba(143,45,183,.14), rgba(143,45,183,.05));
    color:#8f2db7;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:2rem;
    flex:0 0 auto;
    border:1px solid rgba(143,45,183,.14);
}

.gv-required-note{
    display:flex;
    align-items:center;
    gap:.55rem;
    background:#f7f0fb;
    border:1px solid rgba(143,45,183,.15);
    color:#35134a;
    border-radius:14px;
    padding:13px 15px;
    margin-bottom:22px;
    font-weight:600;
}

.gv-required-note i{
    color:#8f2db7;
}

.gv-form-field{
    margin-bottom:20px;
}

.gv-field-label{
    display:block;
    color:#00205B;
    font-weight:800;
    margin-bottom:8px;
}

.gv-form-control{
    border:1px solid #dce3ee !important;
    border-radius:12px !important;
    color:#00205B !important;
    background:#fff !important;
    transition:border-color .15s ease, box-shadow .15s ease;
}

.gv-form-control:focus{
    border-color:#8f2db7 !important;
    box-shadow:0 0 0 .18rem rgba(143,45,183,.11) !important;
}

.gv-form-control::placeholder{
    color:#a7b1c2 !important;
}

input.gv-form-control{
    min-height:46px;
    padding:.65rem .8rem !important;
}

.gv-message-box{
    min-height:132px;
    padding:.75rem .8rem !important;
    resize:vertical;
}

.gv-name-toggle-row{
    margin-top:6px;
    padding:16px 0 24px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.7rem;
}

.gv-toggle-label{
    color:#35134a;
    font-weight:700;
    margin:0;
}

.gv-name-toggle{
    border:1px solid #dce3ee;
    border-radius:10px;
    overflow:hidden;
}

.gv-name-toggle .btn{
    min-width:46px;
    min-height:36px;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#00205B !important;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:none !important;
}

.gv-name-toggle .btn.active{
    background:#7b1fa2 !important;
    color:#fff !important;
}

.gv-thread-start-actions{
    border-top:1px solid #e8edf5;
    padding-top:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
}

.gv-secondary-action,
.gv-secondary-action:hover,
.gv-secondary-action:focus{
    min-height:46px;
    border-radius:12px !important;
    background:#fff !important;
    color:#00205B !important;
    border:1px solid #dce3ee !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    font-weight:700;
}

.gv-secondary-action:hover{
    background:#f6f8fb !important;
}

.gv-submit-action{
    min-width:180px;
    min-height:46px;
    border-radius:12px !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    font-weight:800 !important;
    box-shadow:0 12px 24px rgba(123,44,140,.22);
}

.gv-submit-action:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 28px rgba(123,44,140,.26);
}

@media (max-width:767px){
    .gv-thread-start-page{
        padding:12px 10px 0;
    }

    .gv-thread-start-card{
        padding:24px 18px 20px;
        border-radius:16px;
        box-shadow:0 10px 28px rgba(0,32,91,.08);
    }

    .gv-thread-start-hero{
        flex-direction:column;
        align-items:center;
        text-align:center;
        gap:14px;
        margin-bottom:20px;
    }

    .gv-thread-start-icon{
        width:70px;
        height:70px;
        border-radius:22px;
    }

    .gv-required-note{
        align-items:flex-start;
        font-size:.92rem;
    }

    .gv-name-toggle-row{
        flex-wrap:wrap;
        padding-bottom:22px;
    }

    .gv-thread-start-actions{
        display:grid;
        grid-template-columns:1fr 1.5fr;
        gap:10px;
    }

    .gv-secondary-action,
    .gv-submit-action{
        width:100%;
        min-width:0;
    }
}

/* Grapevine Thread View Retheme - additive CSS */

.gv-thread-page{
    max-width:1120px;
    margin:0 auto;
    padding:16px 16px 0;
}

.gv-secondary-breadcrumb-wrap{
    margin-bottom:12px;
}

.gv-secondary-breadcrumb{
    background:transparent !important;
    padding:0 !important;
    margin:0 !important;
    font-size:.9rem;
}

.gv-secondary-breadcrumb .breadcrumb-item a{
    color:#6f228d !important;
    font-weight:700;
}

.gv-secondary-breadcrumb .breadcrumb-item.active{
    color:#657189;
}

.gv-thread-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:16px;
    padding:24px 26px;
    border-radius:18px;
    background:#fff;
    border:1px solid rgba(0,32,91,.08);
    box-shadow:0 14px 34px rgba(0,32,91,.08);
}

.gv-thread-hero-main{
    display:flex;
    align-items:center;
    gap:1rem;
    min-width:0;
}

.gv-thread-hero-icon{
    width:58px;
    height:58px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    color:#8f2db7;
    background:linear-gradient(135deg, rgba(143,45,183,.14), rgba(0,32,91,.05));
    border:1px solid rgba(143,45,183,.18);
    font-size:1.6rem;
}

.gv-thread-title{
    margin:0;
    color:#00205B;
    font-size:1.8rem;
    font-weight:800;
    line-height:1.12;
    letter-spacing:-.02em;
}

.gv-thread-subtitle{
    margin-top:4px;
    color:#647084;
    font-size:.95rem;
}

.gv-close-thread-btn{
    min-height:42px;
    border-radius:12px !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    font-weight:700;
    background:#fff !important;
}

.gv-conversation-card,
.gv-reply-card{
    background:#fff;
    border:1px solid rgba(0,32,91,.08);
    border-radius:18px;
    box-shadow:0 14px 34px rgba(0,32,91,.08);
    overflow:hidden;
    margin-bottom:16px;
}

.gv-conversation-body{
    padding:22px;
    background:
        radial-gradient(circle at top left, rgba(143,45,183,.045), transparent 26rem),
        #fbfcff;
}

.gv-message-row{
    display:flex;
    margin-bottom:14px;
}

.gv-message-row:last-child{
    margin-bottom:0;
}

.gv-message-row-left{
    justify-content:flex-start;
}

.gv-message-row-right{
    justify-content:flex-end;
}

.gv-message-bubble{
    max-width:78%;
    padding:14px 16px 15px;
    border-radius:18px;
    box-shadow:0 8px 20px rgba(0,32,91,.07);
    border:1px solid rgba(0,32,91,.06);
}

.gv-message-other{
    background:#fff;
    color:#172947;
    border-top-left-radius:6px;
}

.gv-message-mine{
    background:#e8f1ff;
    color:#102a52;
    border-top-right-radius:6px;
}

.gv-message-official{
    background:linear-gradient(135deg, #f5e8fb 0%, #ffffff 100%);
    color:#27133d;
    border-color:rgba(143,45,183,.20);
    border-top-left-radius:6px;
}
.gv-message-michaelbozzuto{
    background:linear-gradient(135deg, #d1d6e2, #ffffff 100%);
    color:#27133d;
    border-color:#16355f;
    border-top-left-radius:6px;
}

.gv-message-meta{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:9px;
}

.gv-message-author-wrap{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.45rem;
    min-width:0;
}

.gv-message-author{
    color:#00205B;
    font-weight:800;
    font-size:.88rem;
}

.gv-message-date{
    color:#6d778b;
    font-size:.78rem;
    font-weight:700;
    white-space:nowrap;
    line-height:1.35;
}

.gv-message-text{
    color:inherit;
    font-size:.98rem;
    line-height:1.55;
    word-break:break-word;
}

.gv-official-badge{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.25rem .5rem;
    border-radius:999px;
    color:#fff;
    background:#8f2db7;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.02em;
    text-transform:uppercase;
}
.gv-michaelbozzuto-badge{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.25rem .5rem;
    border-radius:999px;
    color:#fff;
    background:#16355f;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.02em;
    text-transform:uppercase;
}

.gv-thread-closed{
    margin-top:18px;
    padding:15px 18px;
    border-radius:14px;
    background:#f2f4f8;
    color:#647084;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    font-weight:700;
}

.gv-reply-header{
    padding:20px 24px 14px;
    border-bottom:1px solid #e8edf5;
}

.gv-reply-title{
    color:#00205B;
    font-size:1.35rem;
    font-weight:800;
    margin:0;
}

.gv-reply-body{
    padding:22px 24px 24px;
}

.gv-field-label{
    display:block;
    color:#00205B;
    font-weight:800;
    margin-bottom:.45rem;
}

.gv-message-input{
    min-height:120px;
    border-radius:14px !important;
    border-color:#dce3ee !important;
    padding:14px !important;
    line-height:1.45 !important;
    resize:vertical;
}

.gv-message-input:focus{
    border-color:#8f2db7 !important;
    box-shadow:0 0 0 .18rem rgba(143,45,183,.10) !important;
}

.gv-reply-options{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1rem;
    padding:14px 16px;
    border-radius:14px;
    background:#f7f9fc;
    border:1px solid #e8edf5;
    margin:16px 0;
}

.gv-reply-option-label{
    color:#00205B;
    font-weight:800;
}

.gv-name-toggle .btn{
    min-width:54px;
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
}

.gv-official-warning{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    padding:13px 16px;
    border-radius:14px;
    background:#fff7db;
    border:1px solid #efd271;
    color:#6b4a00;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.02em;
    text-align:center;
    margin-bottom:18px;
}

.gv-reply-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.75rem;
    margin-top:18px;
    border-top: 1px solid #e8edf5;
    padding-top: 20px;
}


.gv-primary-action{
    min-height: 46px;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    font-weight: 700;
}

.gv-confirm-close{
    display:flex;
    align-items:flex-start;
    gap:14px;
    color:#00205B;
}

.gv-confirm-icon{
    width:44px;
    height:44px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    background:#fff4d8;
    color:#a66b00;
    font-size:1.2rem;
}

.gv-confirm-title{
    font-weight:800;
    font-size:1.05rem;
    margin-bottom:2px;
}

.gv-confirm-text{
    color:#5d6778;
    line-height:1.45;
}

@media (max-width:767px){
    .gv-thread-page{
        padding:10px 10px 0;
    }

    .gv-thread-hero{
        align-items:flex-start;
        padding:18px;
        border-radius:16px;
    }

    .gv-thread-hero-main{
        align-items:flex-start;
    }

    .gv-thread-hero-icon{
        width:48px;
        height:48px;
        border-radius:16px;
        font-size:1.35rem;
    }

    .gv-thread-title{
        font-size:1.4rem;
    }

    .gv-close-thread-btn span{
        display:none;
    }

    .gv-close-thread-btn{
        min-width:42px;
        width:42px;
        padding:0 !important;
    }

    .gv-conversation-body{
        padding:14px;
    }

    .gv-message-bubble{
        max-width:92%;
        padding:13px 14px;
    }

    .gv-message-meta{
        display:block;
        margin-bottom:8px;
    }

    .gv-message-date{
        margin-top:3px;
        white-space:normal;
    }

    .gv-reply-header{
        padding:18px 18px 12px;
    }

    .gv-reply-body{
        padding:18px;
    }

    .gv-reply-options{
        display:block;
        text-align:center;
    }

    .gv-reply-option-label{
        margin-bottom:.6rem;
    }

    .gv-primary-action,
    .gv-secondary-action{
        width:100%;
    }
}
/* HTTP Status Page */

.gv-http-wrap{
    padding:32px 16px;
}

.gv-http-card{
    max-width:620px;
    margin:0 auto;
    background:#fff;
    border-radius:18px;
    padding:42px 38px;
    text-align:center;
    border:1px solid rgba(0,32,91,.08);
    box-shadow:0 18px 45px rgba(0,32,91,.10);
}

.gv-http-icon{
    width:78px;
    height:78px;
    margin:0 auto 18px;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(
        135deg,
        rgba(143,45,183,.12),
        rgba(143,45,183,.04)
    );
    color:#8f2db7;
    font-size:2rem;
}

.gv-http-code{
    font-size:3.25rem;
    line-height:1;
    font-weight:800;
    color:#00205B;
    margin-bottom:10px;
}

.gv-http-title{
    font-size:1.6rem;
    font-weight:800;
    color:#00205B;
    margin-bottom:14px;
}

.gv-http-message{
    color:#4f5e78;
    line-height:1.6;
    max-width:460px;
    margin:0 auto;
}

.gv-http-actions{
    margin-top:28px;
}

.gv-http-btn{
    min-width:220px;
    min-height:48px;
    border-radius:12px !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    font-weight:700;
    box-shadow:0 12px 26px rgba(101,28,117,.20);
}
/* Grapevine Change Password Retheme - additive CSS */
.gv-password-page{
    padding:16px 16px 0 16px;
}

.gv-password-card{
    max-width:620px;
    margin:0 auto 18px auto;
    background:#fff;
    border:1px solid rgba(0,32,91,.08);
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 18px 44px rgba(0,32,91,.10);
}

.gv-password-hero{
    padding:34px 34px 24px 34px;
    border-bottom:1px solid #e8edf5;
    display:flex;
    align-items:flex-start;
    gap:18px;
}

.gv-password-icon{
    width:68px;
    height:68px;
    border-radius:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#8f2db7;
    background:linear-gradient(135deg, rgba(143,45,183,.13), rgba(143,45,183,.05));
    border:1px solid rgba(143,45,183,.18);
    font-size:1.9rem;
    flex:0 0 auto;
}

.gv-password-eyebrow{
    color:#8f2db7;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    margin-bottom:.25rem;
}

.gv-password-title{
    color:#00205B;
    font-size:2rem;
    line-height:1.08;
    font-weight:800;
    margin:0 0 .45rem 0;
}

.gv-password-subtitle{
    color:#5d6778;
    font-size:.96rem;
    line-height:1.55;
    margin:0 !important;
}

.gv-password-body{
    padding:28px 34px 34px 34px;
}

.gv-password-field{
    margin-bottom:18px;
}

.gv-password-label{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:7px;
    color:#00205B;
    font-weight:800;
    font-size:.88rem;
}

.gv-password-input-group{
    border:1px solid #dfe5ee;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    transition:border-color .15s ease, box-shadow .15s ease;
}

.gv-password-input-group:focus-within{
    border-color:rgba(143,45,183,.68);
    box-shadow:0 0 0 .18rem rgba(143,45,183,.10);
}

.gv-password-input-group .input-group-text{
    min-width:48px;
    justify-content:center;
    border:0;
    background:#f6f8fb;
    color:#00205B;
}

.gv-password-input-group .form-control{
    height:46px;
    border:0 !important;
    padding:10px 12px !important;
    color:#00205B;
    font-size:15px !important;
}

.gv-password-input-group .form-control:focus{
    box-shadow:none !important;
}

.gv-password-input-group .form-control::placeholder{
    color:#a9b3c2 !important;
}

.gv-password-hint{
    margin-top:12px;
    padding:13px 15px;
    border-radius:14px;
    display:flex;
    align-items:flex-start;
    gap:10px;
    background:#f7f0fb;
    color:#34134b;
    border:1px solid rgba(143,45,183,.15);
    font-size:.9rem;
    line-height:1.45;
}

.gv-password-hint i{
    color:#8f2db7;
    margin-top:2px;
}

.gv-password-actions{
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid #e8edf5;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
}

.gv-password-btn{
    min-width:220px;
    min-height:48px;
    border-radius:12px !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    font-weight:800 !important;
    box-shadow:0 12px 26px rgba(101,28,117,.20);
}

.gv-password-secondary{
    min-height:48px;
    border-radius:12px !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    font-weight:700 !important;
    color:#00205B !important;
    background:#fff !important;
    border:1px solid #dfe5ee !important;
}

.gv-password-secondary:hover{
    color:#8f2db7 !important;
    background:#f8faff !important;
}

.gv-password-alert-wrap{
    max-width:620px;
    margin:0 auto 14px auto;
}

.gv-password-alert-wrap .alert,
.gv-password-alert-wrap .alert-success,
.gv-password-alert-wrap .alert-danger,
.gv-password-alert-wrap .alert-info,
.gv-password-alert-wrap .alert-warning{
    border-radius:14px !important;
    padding:14px 18px !important;
    box-shadow:0 8px 20px rgba(0,32,91,.06);
}

@media (max-width:575.98px){
    .gv-password-page{
        padding:10px 10px 0 10px;
    }

    .gv-password-card{
        border-radius:16px;
    }

    .gv-password-hero{
        padding:26px 20px 20px 20px;
        flex-direction:column;
        align-items:center;
        text-align:center;
        gap:14px;
    }

    .gv-password-icon{
        width:62px;
        height:62px;
        border-radius:20px;
        font-size:1.65rem;
    }

    .gv-password-title{
        font-size:1.65rem;
    }

    .gv-password-body{
        padding:22px 20px 26px 20px;
    }

    .gv-password-btn,
    .gv-password-secondary{
        width:100%;
    }
}
/* Password Tips Modal Retheme - additive CSS */
.gv-password-tips-modal{
    color:#00205B;
}

.gv-password-tip-list{
    border:1px solid #E6ECF4;
    border-radius:16px;
    overflow:hidden;
    background:#fff;
}

.gv-password-tip-row{
    display:flex;
    align-items:flex-start;
    gap:.85rem;
    padding: 15px 18px;
    border-bottom:1px solid #EEF2F7;
}

.gv-password-tip-row:last-child{
    border-bottom:0;
}

.gv-password-tip-icon{
    width:24px;
    height:24px;
    min-width:24px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#8D24B3;
    color:#fff;
    font-size:.72rem;
    margin-top:.1rem;
}

.gv-password-tip-title{
    color:#00205B;
    font-weight:800;
    margin-bottom:.2rem;
}

.gv-password-tip-text{
    color:#526079;
    line-height:1.45;
    font-size:.92rem;
}

.gv-password-tip-callout{
    margin-top:1.15rem;
    padding:1rem 1.1rem;
    border-radius:14px;
    display:flex;
    align-items:flex-start;
    gap:.75rem;
    background:#F7F0FB;
    color:#34134B;
    border:1px solid rgba(143,45,183,.15);
    line-height:1.45;
}

.gv-password-tip-callout i{
    color:#8D24B3;
    margin-top:.15rem;
}

@media (max-width:575px){
    .gv-password-tips-modal{
        padding:1.25rem;
    }

    .gv-password-tip-row{
        padding:.9rem;
    }
}
.gv-modal-scrollable .modal-dialog{
    margin: 2vh auto !important;
    max-height: 96vh;
}

.gv-modal-scrollable .modal-content{
    max-height: 96vh;
    display:flex;
    flex-direction:column;
}

.gv-modal-scrollable .modal-body{
    overflow-y:auto;
}
/* Grapevine My Profile Retheme - additive CSS */

.gv-profile-page{
    padding:18px 16px 0;
}

.gv-profile-card{
    max-width:720px;
    margin:0 auto;
    background:#fff;
    border:1px solid rgba(0,32,91,.08);
    border-radius:18px;
    box-shadow:0 18px 44px rgba(0,32,91,.10);
    overflow:hidden;
}

.gv-profile-hero{
    display:flex;
    align-items:center;
    gap:18px;
    padding:30px 34px 24px;
    border-bottom:1px solid #e8edf5;
}

.gv-profile-avatar{
    width:74px;
    height:74px;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#8f2db7;
    background:linear-gradient(135deg, rgba(143,45,183,.14), rgba(143,45,183,.05));
    border:1px solid rgba(143,45,183,.16);
    font-size:2.4rem;
    flex:0 0 auto;
}

.gv-profile-title-wrap{
    min-width:0;
}

.gv-profile-title{
    margin:0;
    color:#00205B;
    font-size:2rem;
    line-height:1.08;
    font-weight:800;
    letter-spacing:-.03em;
}

.gv-profile-subtitle{
    margin-top:6px;
    color:#5d6778;
    line-height:1.5;
}

.gv-score-banner{
    margin:22px 34px 0;
    padding:12px 14px;
    border-radius:14px;
    background:#f7f0fb;
    border:1px solid rgba(143,45,183,.15);
    color:#34134b;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-weight:700;
}

.gv-score-logo{
    width:18px;
    height:auto;
}

.gv-profile-fields{
    padding:24px 34px 34px;
}

.gv-profile-field{
    border:1px solid #e1e8f2;
    border-radius:16px;
    background:#fff;
    overflow:hidden;
    margin-bottom:14px;
}

.gv-profile-field:last-child{
    margin-bottom:0;
}

.gv-profile-label{
    display:flex;
    align-items:center;
    gap:9px;
    padding:13px 16px 0;
    color:#8f2db7;
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.gv-profile-label i{
    font-size:.9rem;
}

.gv-profile-value-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 12px 14px 16px;
}

.gv-profile-value{
    min-width:0;
    color:#00205B;
    font-size:1.05rem;
    font-weight:700;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.gv-profile-email{
    font-size:1rem;
}

.gv-profile-action,
.gv-profile-action:hover,
.gv-profile-action:focus{
    min-height:38px;
    padding:0 13px;
    border:1px solid #dce3ee;
    border-radius:999px;
    background:#fff;
    color:#00205B;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    text-decoration:none;
    font-weight:800;
    font-size:.86rem;
    white-space:nowrap;
    cursor:pointer;
    transition:background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

.gv-profile-action:hover{
    background:#faf7fd;
    border-color:rgba(143,45,183,.35);
    color:#8f2db7;
    transform:translateY(-1px);
}

.gv-alert-wrap{
    max-width:720px;
    margin:5px auto 5px;
}

@media (max-width:575.98px){
    .gv-profile-page{
        padding:12px 10px 0;
    }

    .gv-profile-card{
        border-radius:16px;
    }

    .gv-profile-hero{
        padding:24px 20px 20px;
        align-items:flex-start;
    }

    .gv-profile-avatar{
        width:58px;
        height:58px;
        border-radius:20px;
        font-size:1.9rem;
    }

    .gv-profile-title{
        font-size:1.65rem;
    }

    .gv-profile-subtitle{
        font-size:.92rem;
    }

    .gv-score-banner{
        margin:18px 20px 0;
        font-size:.9rem;
    }

    .gv-profile-fields{
        padding:20px;
    }

    .gv-profile-value-row{
        align-items:flex-start;
    }

    .gv-profile-action{
        width:38px;
        height:38px;
        min-height:38px;
        padding:0;
        flex:0 0 38px;
    }

    .gv-profile-action span{
        display:none;
    }
}
/* My Profile informational modals - additive CSS */
.gv-profile-info-modal{
    color:#071b46;
    padding:6px 2px 2px;
}

.gv-profile-info-hero{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-bottom:18px;
}

.gv-profile-info-icon{
    width:48px;
    height:48px;
    flex:0 0 48px;
    border-radius:16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#8f2db7;
    background:linear-gradient(135deg, rgba(143,45,183,.14), rgba(143,45,183,.05));
    border:1px solid rgba(143,45,183,.14);
    font-size:1.35rem;
}

.gv-profile-info-kicker{
    color:#8f2db7;
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    margin-bottom:3px;
}

.gv-profile-info-title{
    color:#00205B;
    font-size:1.25rem;
    line-height:1.15;
    font-weight:800;
    margin-bottom:4px;
}

.gv-profile-info-text{
    color:#526079;
    line-height:1.55;
    font-size:.95rem;
}

.gv-profile-info-callout{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:16px;
    padding:13px 14px;
    border-radius:14px;
    background:#f7f0fb;
    border:1px solid rgba(143,45,183,.16);
    color:#34134b;
    line-height:1.45;
}

.gv-profile-info-callout i{
    color:#8f2db7;
    margin-top:2px;
}

.gv-profile-info-actions{
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid #e8edf5;
    text-align:center;
}

.gv-profile-info-btn{
    min-width:150px;
    min-height:42px;
    border-radius:10px !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    font-weight:700;
    box-shadow:0 10px 22px rgba(123,44,140,.18);
}

@media (max-width:575px){
    .gv-profile-info-hero{
        gap:12px;
    }
    .gv-profile-info-icon{
        width:44px;
        height:44px;
        flex-basis:44px;
        border-radius:14px;
    }
    .gv-profile-info-title{
        font-size:1.12rem;
    }
    .gv-profile-info-btn{
        width:100%;
    }
}
/* My Profile Change Email Modal Retheme - additive CSS */
.gv-profile-modal-form{
    color:#00205B;
}

.gv-profile-modal-intro{
    display:flex;
    align-items:flex-start;
    gap:1rem;
    margin-bottom:1.35rem;
}

.gv-profile-modal-icon{
    width:56px;
    height:56px;
    border-radius:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    color:#8D24B3;
    background:#F4E8FA;
    font-size:1.35rem;
}

.gv-profile-modal-eyebrow{
    color:#8D24B3;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    margin-bottom:.2rem;
}

.gv-profile-modal-title{
    color:#00205B;
    font-size:1.45rem;
    font-weight:800;
    line-height:1.1;
    margin-bottom:.35rem;
}

.gv-profile-modal-subtitle{
    color:#526079;
    line-height:1.5;
    font-size:.94rem;
}

.gv-profile-current-card{
    border:1px solid #E1E7F0;
    background:#F8FAFD;
    border-radius:14px;
    padding:1rem;
}

.gv-profile-current-label{
    color:#647084;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:.45rem;
}

.gv-profile-current-value{
    display:flex;
    align-items:center;
    gap:.55rem;
    color:#00205B;
    font-weight:700;
    word-break:break-word;
}

.gv-profile-current-value i{
    color:#8D24B3;
}

.gv-profile-modal-group{
    margin-bottom:1rem;
}

.gv-profile-modal-label{
    color:#00205B;
    font-weight:800;
    margin-bottom:.45rem;
}

.gv-profile-input-group .input-group-text{
    min-width:46px;
    justify-content:center;
    color:#00205B;
    background:#F6F8FB;
    border-color:#DDE5F0;
}

.gv-profile-input-group .form-control{
    height:46px;
    border-color:#DDE5F0;
    color:#00205B;
    font-size:.95rem !important;
}

.gv-profile-input-group .form-control:focus{
    border-color:#8D24B3 !important;
}

.gv-profile-modal-callout{
    display:flex;
    align-items:flex-start;
    gap:.65rem;
    margin-top:1.15rem;
    padding:.9rem 1rem;
    border-radius:14px;
    color:#34134B;
    background:#F8F0FC;
    border:1px solid rgba(141,36,179,.14);
    line-height:1.45;
}

.gv-profile-modal-callout i{
    color:#8D24B3;
    margin-top:.15rem;
}

.gv-profile-modal-actions{
    margin-top:1.45rem;
    padding-top:1.15rem;
    border-top:1px solid #E6ECF4;
    display:flex;
    justify-content:center;
    gap:.75rem;
}

.gv-profile-modal-cancel,
.gv-profile-modal-submit{
    min-height:44px;
    border-radius:10px !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    font-weight:700;
}

.gv-profile-modal-submit{
    min-width:210px;
    box-shadow:0 12px 24px rgba(125,29,146,.18);
}

.gv-profile-modal-cancel{
    min-width:105px;
}

@media (max-width:575px){
    .gv-profile-modal-form{
        padding:1.2rem;
    }

    .gv-profile-modal-intro{
        gap:.85rem;
    }

    .gv-profile-modal-icon{
        width:48px;
        height:48px;
        border-radius:16px;
        font-size:1.15rem;
    }

    .gv-profile-modal-title{
        font-size:1.25rem;
    }

    .gv-profile-modal-actions{
        flex-direction:column-reverse;
    }

    .gv-profile-modal-cancel,
    .gv-profile-modal-submit{
        width:100%;
    }
}
/* Grapevine SCORE Login Retheme - additive CSS */

.gv-score-login-page{
    background:
        radial-gradient(circle at top left, rgba(143,45,183,.10), transparent 34rem),
        #f4f6fb !important;
}

.gv-score-login-wrap{
    width:100%;
    min-height:calc(100vh - 150px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:34px 16px 18px;
}

.gv-score-login-card{
    width:100%;
    max-width:460px;
    background:#fff;
    border:1px solid rgba(0,32,91,.08);
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 18px 45px rgba(0,32,91,.12);
}

.gv-score-login-hero{
    position:relative;
    overflow:hidden;
    padding:34px 30px 28px;
    text-align:center;
    color:#fff;
    background:linear-gradient(135deg, #00205B 0%, #061b48 62%, #25104f 100%);
}

.gv-score-login-hero:after{
    content:"";
    position:absolute;
    right:-58px;
    top:-76px;
    width:190px;
    height:190px;
    border-radius:50%;
    border:2px solid rgba(194,107,255,.24);
}

.gv-score-login-icon{
    position:relative;
    z-index:1;
    width:72px;
    height:72px;
    margin:0 auto 16px;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.16);
}

.gv-score-login-icon img{
    width:42px;
    height:auto;
    display:block;
}

.gv-score-login-eyebrow{
    position:relative;
    z-index:1;
    color:#dba6ef;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-bottom:7px;
}

.gv-score-login-title{
    position:relative;
    z-index:1;
    margin:0 0 9px;
    font-size:1.85rem;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-.03em;
}

.gv-score-login-subtitle{
    position:relative;
    z-index:1;
    max-width:330px;
    margin:0 auto !important;
    color:rgba(255,255,255,.78);
    line-height:1.55;
}

.gv-score-login-body{
    padding:28px 30px 30px;
}

.gv-score-login-body .form-group{
    margin-bottom:1rem;
}

.gv-field-label{
    display:block;
    margin-bottom:.42rem;
    color:#00205B;
    font-weight:800;
    font-size:.86rem;
}

.gv-score-login-card .gv-input-group{
    border:1px solid #dfe5ee;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    transition:border-color .15s ease, box-shadow .15s ease;
}

.gv-score-login-card .gv-input-group:focus-within{
    border-color:rgba(143,45,183,.65);
    box-shadow:0 0 0 .18rem rgba(143,45,183,.10);
}

.gv-score-login-card .gv-input-group .input-group-text{
    min-width:48px;
    justify-content:center;
    border:0;
    background:#f6f8fb;
    color:#00205B;
}

.gv-score-login-card .gv-input-group .form-control{
    height:46px;
    border:0 !important;
    padding:10px 12px !important;
    font-size:15px !important;
    color:#071b46;
}

.gv-score-login-card .gv-input-group .form-control:focus{
    box-shadow:none !important;
}

.gv-score-login-card .gv-input-group .form-control::placeholder{
    color:#9aa6b9 !important;
}

.gv-score-login-card .gv-captcha-box{
    margin:16px 0 18px;
}

.gv-score-login-card .gv-cloudflare-message{
    font-size:.92rem;
    border-radius:12px;
    padding:10px 12px;
    text-align:center;
    margin-bottom:10px;
}

.gv-score-login-card .gv-cloudflare-checking{
    color:#34415a;
    background:#f6f8fb;
    border:1px solid #dfe5ee;
}

.gv-score-login-card .gv-cloudflare-error{
    color:#9b1c1c;
    background:#fff0f0;
    border:1px solid #f0b8b8;
    display:none;
}

.gv-score-login-btn{
    min-height:48px;
    border-radius:12px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    font-size:1rem !important;
    font-weight:800 !important;
    box-shadow:0 12px 26px rgba(101,28,117,.22);
}

.gv-score-login-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 15px 30px rgba(101,28,117,.26);
}

.gv-score-login-return{
    margin-top:20px;
    text-align:center;
}

.gv-score-login-return a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    color:#651c75 !important;
    font-weight:800;
    text-decoration:none !important;
}

.gv-score-login-return a:hover{
    color:#8f2db7 !important;
}

@media (max-width:575px){
    .gv-score-login-wrap{
        min-height:calc(100vh - 120px);
        padding:18px 12px 12px;
        align-items:flex-start;
    }

    .gv-score-login-card{
        border-radius:16px;
    }

    .gv-score-login-hero{
        padding:28px 22px 24px;
    }

    .gv-score-login-title{
        font-size:1.55rem;
    }

    .gv-score-login-body{
        padding:24px 20px 24px;
    }
}


/* SCORE Login Simplification Overrides */
.gv-score-login-card{
    max-width:430px;
}

.gv-score-login-hero-simple{
    padding:28px 30px 24px;
}

.gv-score-login-hero-simple:after{
    width:150px;
    height:150px;
    right:-58px;
    top:-70px;
}

.gv-score-login-icon-simple{
    width:58px;
    height:58px;
    border-radius:18px;
    margin-bottom:14px;
}

.gv-score-login-icon-simple img{
    width:34px;
}

.gv-score-login-title{
    font-size:1.65rem;
    margin-bottom:8px;
}

.gv-score-login-subtitle{
    max-width:300px;
    color:rgba(255,255,255,.84);
}

.gv-score-login-body{
    padding:26px 30px 28px;
}

.gv-score-login-btn{
    font-size:1rem !important;
}

@media (max-width:575px){
    .gv-score-login-hero-simple{
        padding:26px 22px 22px;
    }

    .gv-score-login-title{
        font-size:1.45rem;
    }
}
.gv-app-brand-custom{
    display:inline-flex;
    align-items:center;
}

.gv-app-brand-custom .gv-app-brand-mark-wrap{
    margin-right:10px;
    margin-bottom:0;
}

.gv-app-brand-custom .gv-app-brand-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    line-height:1;
}
/* Forgotten Password Create Recovery Link Retheme - additive CSS */

.gv-forgot-page{
    width:100%;
    min-height:calc(100vh - 64px);
    padding:28px 16px 0;
    background:
        radial-gradient(circle at top left, rgba(143,45,183,.10), transparent 32rem),
        #f4f6fb;
}

.gv-forgot-alert-wrap{
    max-width:520px;
    margin:0 auto 14px;
}

.gv-forgot-alert-wrap .alert,
.gv-forgot-alert-wrap .alert-success,
.gv-forgot-alert-wrap .alert-danger,
.gv-forgot-alert-wrap .alert-info,
.gv-forgot-alert-wrap .alert-warning{
    border-radius:14px !important;
    padding:14px 18px !important;
    box-shadow:0 8px 20px rgba(0,32,91,.06);
}

.gv-forgot-card{
    width:100%;
    max-width:500px;
    margin:0 auto;
    border:1px solid rgba(0,32,91,.08);
    border-radius:18px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 18px 45px rgba(0,32,91,.12);
}

.gv-forgot-hero{
    position:relative;
    overflow:hidden;
    padding:28px 30px 26px;
    text-align:center;
    color:#fff;
    background:linear-gradient(135deg, #00205B 0%, #061b48 62%, #25104f 100%);
}

.gv-forgot-hero:after{
    content:"";
    position:absolute;
    right:-58px;
    top:-76px;
    width:190px;
    height:190px;
    border-radius:50%;
    border:2px solid rgba(194,107,255,.24);
}

.gv-forgot-brand{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px;
}

.gv-forgot-brand .gv-app-brand-mark-wrap{
    width:48px;
    height:48px;
    flex:0 0 48px;
    margin-right:10px;
}

.gv-forgot-brand .gv-app-brand-mark{
    width:48px;
    height:auto;
}

.gv-forgot-brand .gv-app-brand-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    line-height:1;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.gv-forgot-icon{
    position:relative;
    z-index:1;
    width:64px;
    height:64px;
    margin:0 auto 16px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#dca5f1;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.16);
    font-size:1.6rem;
}

.gv-forgot-eyebrow{
    position:relative;
    z-index:1;
    color:#dba6ef;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-bottom:7px;
}

.gv-forgot-title{
    position:relative;
    z-index:1;
    margin:0 0 9px;
    color:#fff;
    font-size:1.85rem;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-.03em;
}

.gv-forgot-subtitle{
    position:relative;
    z-index:1;
    max-width:360px;
    margin:0 auto !important;
    color:rgba(255,255,255,.82);
    line-height:1.55;
}

.gv-forgot-body{
    padding:28px 30px 30px;
}

.gv-forgot-body .form-group{
    margin-bottom:1rem;
}

.gv-forgot-body .gv-field-label{
    display:block;
    margin-bottom:.42rem;
    color:#00205B;
    font-weight:800;
    font-size:.86rem;
}

.gv-forgot-body .gv-input-group{
    border:1px solid #dfe5ee;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    transition:border-color .15s ease, box-shadow .15s ease;
}

.gv-forgot-body .gv-input-group:focus-within{
    border-color:rgba(143,45,183,.65);
    box-shadow:0 0 0 .18rem rgba(143,45,183,.10);
}

.gv-forgot-body .gv-input-group .input-group-text{
    min-width:48px;
    justify-content:center;
    border:0;
    background:#f6f8fb;
    color:#00205B;
}

.gv-forgot-body .gv-input-group .form-control{
    height:46px;
    border:0 !important;
    padding:10px 12px !important;
    font-size:15px !important;
    color:#071b46;
}

.gv-forgot-body .gv-input-group .form-control:focus{
    box-shadow:none !important;
}

.gv-forgot-body .gv-input-group .form-control::placeholder{
    color:#9aa6b9 !important;
}

.gv-forgot-body .gv-captcha-box{
    margin:16px 0 18px;
}

.gv-forgot-body .gv-cloudflare-message{
    font-size:.92rem;
    border-radius:12px;
    padding:10px 12px;
    text-align:center;
    margin-bottom:10px;
}

.gv-forgot-body .gv-cloudflare-checking{
    color:#34415a;
    background:#f6f8fb;
    border:1px solid #dfe5ee;
}

.gv-forgot-body .gv-cloudflare-error{
    color:#9b1c1c;
    background:#fff0f0;
    border:1px solid #f0b8b8;
    display:none;
}

.gv-forgot-submit{
    min-height:48px;
    border-radius:12px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    font-size:1rem !important;
    font-weight:800 !important;
    box-shadow:0 12px 26px rgba(101,28,117,.22);
}

.gv-forgot-submit:hover{
    transform:translateY(-1px);
    box-shadow:0 15px 30px rgba(101,28,117,.26);
}

.gv-forgot-return{
    margin-top:20px;
    text-align:center;
}

.gv-forgot-return a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    color:#651c75 !important;
    font-weight:800;
    text-decoration:none !important;
}

.gv-forgot-return a:hover{
    color:#8f2db7 !important;
}

@media (max-width:575px){
    .gv-forgot-page{
        min-height:calc(100vh - 58px);
        padding:16px 12px 0;
    }

    .gv-forgot-card{
        border-radius:16px;
    }

    .gv-forgot-hero{
        padding:24px 22px 22px;
    }

    .gv-forgot-brand .gv-app-brand-mark-wrap{
        width:42px;
        height:42px;
        flex-basis:42px;
        margin-right:8px;
    }

    .gv-forgot-brand .gv-app-brand-mark{
        width:42px;
    }

    .gv-forgot-brand .gv-app-brand-copy{
        letter-spacing:.12em;
    }

    .gv-forgot-title{
        font-size:1.55rem;
    }

    .gv-forgot-body{
        padding:24px 20px 24px;
    }
}


/* Forgotten Password Simplified Overrides */
.gv-forgot-hero{
    padding:32px 40px 30px;
}

.gv-forgot-brand{
    margin-bottom:24px;
}

.gv-forgot-eyebrow{
    color:#dba6ef;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.20em;
    text-transform:uppercase;
    margin-bottom:10px;
}

.gv-forgot-title{
    font-size:2rem;
    margin-bottom:10px;
}

.gv-forgot-subtitle{
    max-width:390px;
    color:rgba(255,255,255,.88);
}

.gv-forgot-submit{
    gap:.55rem;
}

@media (max-width:575px){
    .gv-forgot-hero{
        padding:26px 22px 24px;
    }

    .gv-forgot-brand{
        margin-bottom:20px;
    }

    .gv-forgot-title{
        font-size:1.6rem;
    }
}
/* Forgotten Password Consume / Create New Password Retheme - additive CSS */
.gv-reset-page{
    background:
        radial-gradient(circle at top left, rgba(143,45,183,.10), transparent 34rem),
        #f4f6fb !important;
}

.gv-reset-wrap{
    width:100%;
    min-height:calc(100vh - 150px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:34px 16px 18px;
}

.gv-reset-card{
    width:100%;
    max-width:500px;
    background:#fff;
    border:1px solid rgba(0,32,91,.08);
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 18px 45px rgba(0,32,91,.12);
}

.gv-reset-hero{
    position:relative;
    overflow:hidden;
    padding:30px 34px 28px;
    text-align:center;
    color:#fff;
    background:linear-gradient(135deg, #00205B 0%, #061b48 62%, #25104f 100%);
}

.gv-reset-hero:after{
    content:"";
    position:absolute;
    right:-58px;
    top:-76px;
    width:170px;
    height:170px;
    border-radius:50%;
    border:2px solid rgba(194,107,255,.24);
}

.gv-reset-brand{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    margin-bottom:22px;
}

.gv-reset-brand-mark-wrap{
    width:46px;
    height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    flex:0 0 46px;
    margin-right:10px;
}

.gv-reset-brand-mark{
    display:block;
    width:48px;
    height:auto;
}

.gv-reset-brand-copy{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    line-height:1;
    text-transform:uppercase;
}

.gv-reset-brand-bozzutos,
.gv-reset-brand-grapevine{
    font-size:.86rem;
    font-weight:800;
    letter-spacing:.18em;
}

.gv-reset-brand-bozzutos{
    color:#fff;
    margin-bottom:4px;
}

.gv-reset-brand-grapevine{
    color:#C26BFF;
}

.gv-reset-eyebrow{
    position:relative;
    z-index:1;
    color:#dba6ef;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.20em;
    text-transform:uppercase;
    margin-bottom:8px;
}

.gv-reset-title{
    position:relative;
    z-index:1;
    margin:0 0 8px;
    color:#fff;
    font-size:1.9rem;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-.03em;
}

.gv-reset-subtitle{
    position:relative;
    z-index:1;
    max-width:330px;
    margin:0 auto !important;
    color:rgba(255,255,255,.84);
    line-height:1.5;
}

.gv-reset-body{
    padding:28px 30px 30px;
}

.gv-reset-tip-link-row{
    display:flex;
    justify-content:flex-end;
    margin-bottom:14px;
}

.gv-reset-tip-link,
.gv-reset-tip-link:hover,
.gv-reset-tip-link:focus{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    color:#651c75 !important;
    font-weight:800;
    text-decoration:none !important;
    font-size:.9rem;
}

.gv-reset-tip-link:hover{
    color:#8f2db7 !important;
}

.gv-reset-field{
    margin-bottom:1rem;
}

.gv-reset-card .gv-field-label{
    display:block;
    margin-bottom:.42rem;
    color:#00205B;
    font-weight:800;
    font-size:.86rem;
}

.gv-reset-card .gv-input-group{
    border:1px solid #dfe5ee;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    transition:border-color .15s ease, box-shadow .15s ease;
}

.gv-reset-card .gv-input-group:focus-within{
    border-color:rgba(143,45,183,.65);
    box-shadow:0 0 0 .18rem rgba(143,45,183,.10);
}

.gv-reset-card .gv-input-group .input-group-text{
    min-width:48px;
    justify-content:center;
    border:0;
    background:#f6f8fb;
    color:#00205B;
}

.gv-reset-card .gv-input-group .form-control{
    height:46px;
    border:0 !important;
    padding:10px 12px !important;
    font-size:15px !important;
    color:#071b46;
}

.gv-reset-card .gv-input-group .form-control:focus{
    box-shadow:none !important;
}

.gv-reset-card .gv-input-group .form-control::placeholder{
    color:#9aa6b9 !important;
}

.gv-reset-btn{
    margin-top:20px;
    min-height:48px;
    border-radius:12px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    font-size:1rem !important;
    font-weight:800 !important;
    box-shadow:0 12px 26px rgba(101,28,117,.22);
}

.gv-reset-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 15px 30px rgba(101,28,117,.26);
}

.gv-reset-alert-wrap{
    max-width:500px;
    margin:16px auto 0;
    padding:0 16px;
}

.gv-reset-alert-wrap .alert,
.gv-reset-alert-wrap .alert-success,
.gv-reset-alert-wrap .alert-danger,
.gv-reset-alert-wrap .alert-info,
.gv-reset-alert-wrap .alert-warning{
    border-radius:14px !important;
    padding:14px 18px !important;
    box-shadow:0 8px 20px rgba(0,32,91,.06);
}

@media (max-width:575px){
    .gv-reset-wrap{
        min-height:calc(100vh - 120px);
        padding:18px 12px 12px;
        align-items:flex-start;
    }

    .gv-reset-card{
        border-radius:16px;
    }

    .gv-reset-hero{
        padding:26px 22px 24px;
    }

    .gv-reset-brand{
        margin-bottom:20px;
    }

    .gv-reset-title{
        font-size:1.55rem;
    }

    .gv-reset-body{
        padding:24px 20px 24px;
    }
}
.gv-terms-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 18px;
	margin-bottom: 22px;
}

.gv-terms-intro-card,
.gv-terms-date-card,
.gv-terms-note-card {
	border: 1px solid rgba(91, 45, 121, 0.12);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.86);
}

.gv-terms-intro-card {
	padding: 22px 24px;
}

.gv-terms-date-card {
	padding: 20px 22px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	text-align: center;
}

.gv-terms-date-label {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #6e5f78;
}

.gv-terms-date-value {
	font-size: 1.45rem;
	font-weight: 800;
	color: #3b244a;
}

.gv-terms-copy {
	margin: 0;
	color: #3d3345;
	font-size: 0.98rem;
	line-height: 1.72;
}

.gv-terms-sections {
	display: grid;
	gap: 16px;
}

.gv-term-section {
	border: 1px solid rgba(91, 45, 121, 0.11);
	border-radius: 20px;
	background: #ffffff;
	overflow: hidden;
}

.gv-term-section-header {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 22px;
	background: linear-gradient(90deg, rgba(91, 45, 121, 0.08), rgba(91, 45, 121, 0));
	border-bottom: 1px solid rgba(91, 45, 121, 0.09);
}

.gv-term-number {
	width: 38px;
	height: 38px;
	min-width: 38px;
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #5b2d79;
	color: #ffffff;
	font-weight: 800;
	box-shadow: 0 8px 18px rgba(91, 45, 121, 0.22);
}

.gv-term-section h2 {
	margin: 0;
	font-size: 1.18rem;
	font-weight: 800;
	color: #2d2234;
	letter-spacing: -0.01em;
}

.gv-term-section-content {
	padding: 20px 24px 22px;
}

.gv-term-section-content h3 {
	margin: 18px 0 8px;
	font-size: 1rem;
	font-weight: 800;
	color: #3b244a;
}

.gv-term-section-content h3:first-child {
	margin-top: 0;
}

.gv-term-section-content p {
	margin: 0 0 13px;
	color: #3d3345;
	line-height: 1.68;
}

.gv-term-section-content p:last-child {
	margin-bottom: 0;
}

.gv-term-list {
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 9px;
}

.gv-term-list li {
	position: relative;
	padding-left: 29px;
	color: #3d3345;
	line-height: 1.55;
}

.gv-term-list li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #7b3fa0;
	box-shadow: 0 0 0 5px rgba(123, 63, 160, 0.12);
}

.gv-protected-note,
.gv-terms-note-card {
	padding: 17px 19px;
	background: #fbf9fd;
	border-left: 5px solid #7b3fa0;
}

.gv-protected-note {
	margin-top: 18px;
	border-radius: 16px;
}

.gv-protected-note p,
.gv-terms-note-card p {
	margin: 0;
}

.gv-note-title {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 8px;
	font-weight: 800;
	color: #3b244a;
}

.gv-terms-bottom-note {
	margin-top: 18px;
}

.gv-primary-cta {
	border-radius: 999px;
	padding: 12px 24px;
	font-weight: 800;
	box-shadow: 0 10px 22px rgba(91, 45, 121, 0.20);
}

.gv-primary-cta i {
	margin-right: 8px;
}

@media (max-width: 767.98px) {
	.gv-terms-page {
		padding: 14px 0 28px;
	}

	.gv-terms-card {
		border-radius: 20px;
	}

	.gv-terms-hero,
	.gv-terms-body {
		padding-left: 20px;
		padding-right: 20px;
	}

	.gv-terms-hero-content {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}

	.gv-terms-intro-grid {
		grid-template-columns: 1fr;
	}

	.gv-term-section-header {
		align-items: flex-start;
		padding: 16px 17px;
	}

	.gv-term-section-content {
		padding: 17px;
	}

	.gv-terms-actions {
		margin-left: -20px;
		margin-right: -20px;
		margin-bottom: -36px;
		padding: 14px 20px;
	}

	.gv-primary-cta {
		width: 100%;
	}
}
/* Terms of Use Last Updated eyebrow refinement */
.gv-terms-eyebrow {
	display: inline-flex;
	align-items: center;
	margin-bottom: 8px;
	color: #8f2db7;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.gv-terms-intro-grid {
	grid-template-columns: 1fr;
}

.gv-terms-intro-card {
	width: 100%;
}

.gv-terms-date-card {
	display: none;
}

@media (max-width: 767.98px) {
	.gv-terms-eyebrow {
		justify-content: center;
		font-size: 0.72rem;
		letter-spacing: 0.14em;
	}
}
.gv-redacted-profanity {
	display: inline-block;
	width: var(--gv-redacted-width, 4ch);
	height: 0.9em;
	background: #111;
	border-radius: 3px;
	vertical-align: -0.08em;
	margin: 0 0.08em;
}
/* Thread post delete / undelete controls */
.gv-message-meta {
  gap: 0.75rem;
}

.gv-message-actions-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  flex-shrink: 0;
}

.gv-post-delete-toggle {
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid rgba(185, 28, 28, 0.22);
  border-radius: 999px;
  background: rgba(185, 28, 28, 0.08);
  color: #b91c1c;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  line-height: 1;
  transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.gv-post-delete-toggle:hover,
.gv-post-delete-toggle:focus {
  background: rgba(185, 28, 28, 0.14);
  border-color: rgba(185, 28, 28, 0.45);
  color: #991b1b;
  transform: translateY(-1px);
  outline: none;
}

.gv-post-undelete-toggle {
  border-color: rgba(22, 101, 52, 0.25);
  background: rgba(22, 101, 52, 0.08);
  color: #166534;
}

.gv-post-undelete-toggle:hover,
.gv-post-undelete-toggle:focus {
  border-color: rgba(22, 101, 52, 0.45);
  background: rgba(22, 101, 52, 0.14);
  color: #14532d;
}

.gv-message-bubble-deleted {
  border: 1px solid rgba(185, 28, 28, 0.55) !important;
  box-shadow: 0 12px 28px rgba(185, 28, 28, 0.12);
}

.gv-post-deleted-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  width: fit-content;
  margin: 0rem 0 0.55rem;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: rgba(185, 28, 28, 0.10);
  color: #991b1b;
  border: 1px solid rgba(185, 28, 28, 0.22);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.gv-message-bubble-removed {
  /*border: 1px dashed rgba(107, 114, 128, 0.45) !important;*/
  border: 1px dashed rgb(161,44,44, 0.45) !important;
  background: #f9fafb !important;
  color: #4b5563;
  box-shadow: none; 
  opacity: 0.3;
}

.gv-message-removed {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #4b5563;
  font-weight: 700;
  font-style: italic;
}

@media (max-width: 575.98px) {
  .gv-message-meta {
    align-items: flex-start;
  }

  .gv-message-actions-wrap {
    margin-left: auto;
  }

  .gv-post-delete-toggle {
    width: 2rem;
    height: 2rem;
  }
}