/**
 * Action: core.user/list
 **/
.user-list-enabled-tooltip{ padding: 1px; }
.user-list-enabled-row{ display: block; padding: .75em; cursor: pointer; border-bottom: 1px dotted #dcdcdc; color: #000; }
.user-list-enabled-row:last-child{ border-bottom: none; }
.user-list-enabled-row:before{ content: ""; display: block; height: 1em; width: 1em; float: left; margin-right: .5em; }
.user-list-enabled-row:before{ outline: 1px solid #fff; }
.user-list-enabled-all:before{ background: #000; }
.user-list-enabled-true:before{ background: var(--success-color); }
.user-list-enabled-false:before{ background: var(--error-color); }
.user-list-enabled-null:before{ background: var(--info-color); }
.user-list-enabled-row[checked]{ background: var(--success-background); font-weight: bold; }

.user-list-role-tooltip{ padding: 1px; max-height: min(100%, 15em); overflow-y: auto; }
.user-list-role-row{ display: block; padding: .75em; border-bottom: 1px dashed #dcdcdc; }
.user-list-role-row:last-child{ border-bottom: none; }
.user-list-role-row[checked]{ background: var(--success-background); font-weight: bold; }

.user-list-col-check{ flex: 0 0 3em; }
.user-list-td-check{ text-align: center; }
.user-list-td-data{ justify-content: flex-start; flex-direction: row; }
.user-list-td-data>*{ margin-left: .5em; }
.user-list-td-data>*:first-child{ margin-left: 0em; }
.user-list-row-texts{ flex-grow: 1; }
.user-list-name-value{ font-weight: bold; margin-bottom: .125em; }
.user-list-name-value{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-list-email-value{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-list-info{ position: absolute; height: 1.5em; width: 1.5em; top: .25em; right: .5em; }
.user-list-info-tooltip{ padding: .5em .75em; }
.user-list-info-tooltip .user-list-values{ display: flex; align-items: center; padding: .5em; border-bottom: var(--row-vertical); }
.user-list-info-tooltip .user-list-values:last-child{ border-bottom: none; }
.user-list-info-tooltip .user-list-label{ margin-right: .5em; }
.user-list-info-tooltip .user-list-value{ font-weight: bold; }
.user-list-col-roles{ flex: 0 0 6em; }
.user-list-td-roles{ text-align: center; }
.user-list-col-enabled{ flex: 0 0 5.5em; }
.user-list-td-enabled{ padding: 1px; }
.user-list-enabled, .user-list-disabled{ 
	height: 100%; width: 100%; display: flex; align-items: center; 
	justify-content: center; font-weight: bold; cursor: pointer;
}
.user-list-enabled{ background: var(--success-background); color: var(--success-color); }
.user-list-disabled{ background: var(--error-background); color: var(--error-color); }

.user-list-roles-tooltip{ padding: 0em; display: none; padding-right: 2.5em; }
.user-list-grant-icon{ position: absolute; right: .375em; top: .375em; height: 1.75em; width: 1.75em; }
.user-list-roles-none{ padding: .75em; }
.user-list-roles-rows{ max-height: 15em; overflow-y: auto; border-right: var(--input-border); }
.user-list-roles-row{ max-width: 20em; padding: .75em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-list-roles-row{ border-bottom: var(--row-vertical); }
.user-list-roles-row:last-child{ border-bottom: none; }
.user-list-roles-row-label{ font-weight: bold; }
.user-list-roles-row-name{ padding-left: .5em; color: #aaa; }

.user-list-cell-row{ padding: 0; }
.user-list-cell-data{ flex-direction: row; align-items: normal; width: 100%; }
.user-list-cell-enabled{ width: 6em; }
.user-list-cell-alive-value, .user-list-cell-dead-value{ position: absolute; top: var(--row-padding); right: var(--row-padding); }
.user-list-cell-texts{ flex-grow: 1; text-align: left; padding: var(--row-padding); background: var(--rows-background); }
.user-list-cell-actions{ padding: var(--row-padding); }
.user-list-cell-actions .user-list-info{ position: static; height: var(--icon-size); width: var(--icon-size); flex: 0 0 var(--icon-size); }

.user-list-item-row{ padding: 0; }
.user-list-item-data{ flex-direction: row; width: 100%; }
.user-list-item-enabled{ width: 6em; }
.user-list-item-texts{ flex-grow: 1; }
.user-list-item-actions .user-list-info{ position: static; height: var(--icon-size); width: var(--icon-size); flex: 0 0 var(--icon-size); }

@media (max-width: 1100px){
	.user-list-col-roles{ flex: 0 0 3.75em; }
	.user-list-col-enabled{ display: none; }
}

/**
 * Action: core.user/edit
 **/

.user-edit-view{ height: 100%; width: 100%; }
.user-edit-view{ display: flex; flex-direction: column; overflow: hidden; }
.user-edit-title{ padding: .375em; font-weight: bold; position: relative; z-index: 2; }
.user-edit-title{ line-height: 1em; font-weight: bold; text-align: center; }
.user-edit-title{ display: flex; align-items: center; justify-content: center; background: #fff; box-shadow: 0px 0px 3px #aaa; }
.user-edit-form{ flex-grow: 1; overflow: hidden; overflow-y: auto; display: flex; flex-direction: column; align-items: center; }
.user-edit-form{ background: var(--rows-background); }
.user-edit-rows{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: min(100%, 40em); }
.user-edit-rows{ flex-grow: 1; padding: 1.5em; }
.user-edit-rows>*{ width: 100%; }
.user-edit-row{ display: block; margin-bottom: 1em; }
.user-edit-row:last-child{ margin-bottom: 0em; }
.user-edit-cols{ display: flex; align-items: center; margin-bottom: 1em; }
.user-edit-cols:last-child{ margin-bottom: 0em; }
.user-edit-col{ margin: 0em .25em; }
.user-edit-col:first-child{ margin-left: 0em; }
.user-edit-col:last-child{ margin-right: 0em; }
.user-edit-label{ display: flex; align-items: center; font-weight: bold; }
.user-edit-label>*{ margin-right: .5em; }
.user-edit-input{ margin-top: .5em; width: 100%; }
.user-edit-email-input{ text-transform: lowercase; }
.user-edit-enabled{ display: flex; align-items: center; padding: .75em; }
.user-edit-enabled{ background: var(--unchecked-background); border: 1px dashed var(--unchecked-color); }
.user-edit-enabled[checked]{ background: var(--checked-background); border: 1px dashed var(--checked-color); }
.user-edit-fullname{ flex-grow: 1; }
.user-edit-firstname-input{ text-transform: capitalize; }
.user-edit-firstname{ flex-grow: 1; }
.user-edit-lastname-input{ text-transform: uppercase; }
.user-edit-lastname{ flex-grow: 1; }
.user-edit-address-input{ text-transform: capitalize; }
.user-edit-postalcode{ flex-grow: 1; }
.user-edit-city-input{ text-transform: uppercase; }
.user-edit-city{ flex-grow: 1; }
.user-edit-country-input{ text-transform: uppercase; }
.user-edit-phone{ flex-grow: 1; }
.user-edit-mobile{ flex-grow: 1; }
.user-edit-change{ padding: .75em; border: 1px dashed #dcdcdc; }
.user-edit-change-checkbox{ margin-right: .5em; }
.user-edit-change-label{ cursor: pointer; }
.user-edit-if{ margin-top: .5em; }
.user-edit-passwords{ margin-top: .5em; }
.user-edit-passwords-col{ flex-grow: 1; }
.user-edit-password-input{ width: 100%; margin-top: 0em; }
.user-edit-notify{ padding: .75em; border: 1px dashed #dcdcdc; }
.user-edit-notify-checkbox{ margin-right: .5em; }
.user-edit-mention{ margin-bottom: 1em; }
.user-edit-mention:last-child{ margin-bottom: 0em; }
.user-edit-mention-label{ display: flex; align-items: center; }
.user-edit-mention-label{ padding: 1em; outline: 1px dashed #dcdcdc; }
.user-edit-mention-check{ margin-right: 1em; }
.user-edit-mention-text{ flex-grow: 1; text-align: justify; }
.user-edit-submit{ display: flex; align-items: center; justify-content: center; padding: .5em; position: relative; z-index: 1; }
.user-edit-submit{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.user-edit-submit>*{ margin-right: .5em; }
.user-edit-submit>*:last-child{ margin-right: 0em; }

.user-me-view .user-edit-email{ display: block; width: 100%; }

.user-edit-dialog-window{ width: min(calc(100% - 2em), 40em); }
.user-edit-dialog .user-edit-title{ display: none; }
.user-edit-dialog .user-edit-form{ width: 100%; }
.user-edit-dialog .user-edit-rows{ width: 100%; justify-content: flex-start; height: 100%; overflow-y: auto; }
.user-edit-side .user-edit-form{ width: 100%; }
.user-edit-side .user-edit-rows{ width: 100%; justify-content: flex-start; height: 100%; overflow-y: auto; }

.user-me-dialog-window{ width: min(calc(100% - 2em), 40em); }
.user-me-dialog .user-edit-title{ display: none; }
.user-me-dialog .user-edit-form{ width: 100%; }
.user-me-dialog .user-edit-rows{ width: 100%; justify-content: flex-start; height: 100%; overflow-y: auto; }
.user-me-side .user-edit-form{ width: 100%; }
.user-me-side .user-edit-rows{ width: 100%; justify-content: flex-start; height: 100%; overflow-y: auto; }

/**
 * Action: core.user/admin
 **/
 
.user-admin-view{ width: 100%; height: 100%; display: flex; flex-direction: column; overflow: hidden; position: relative; }

.user-admin-title{ padding: .375em; text-align: center; position: relative; z-index: 2; }
.user-admin-title{ line-height: 1em; font-weight: bold; }
.user-admin-title{ background: #fff; box-shadow: 0px 0px 3px #aaa; }

.user-admin-center{ display: flex; padding: 1em; flex-grow: 1; overflow: hidden; background: #dcdcdc; }
.user-admin-center>*{ height: 100%; overflow: hidden; }
.user-admin-list{ margin-right: 1em; flex-grow: 1; box-shadow: 0px 0px 3px #aaa; }
.user-admin-list-title{ font-size: 1.5em; height: 2em; flex: 0 0 2em; }
.user-admin-list-center{ padding: 0em; }
.user-admin-form{ flex: 0 0 30em; background: #fff; box-shadow: 0px 0px 3px #aaa; }
.user-admin-form-title{ font-size: 1.5em; height: 2em; flex: 0 0 2em; }
.user-admin-form-form{ width: 100%; }

@media (max-width: 1100px){
	.user-admin-center{ flex-direction: column-reverse; padding: 1em; overflow-y: auto; }
	.user-admin-list{ margin-right: 0em; margin-top: 1em; flex: 0 0 100%; }
}

/**
 * Action: core.user/connect
 **/

.user-connect-view{ 
	display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; 
	background: var(--auth-background); padding: var(--auth-padding);
}
.user-connect-center{ 
	display: flex; align-items: center; justify-content: center; flex-direction: column; 
	width: min(100%, var(--auth-width));
	padding: var(--auth-center-padding); border: var(--auth-center-border); border-radius: var(--auth-center-radius); 
	background: var(--auth-center-background); box-shadow: var(--auth-center-shadow); 
}
.user-connect-logo{ 
	width: 100%; height: var(--auth-logo-height); display: var(--auth-logo-display); margin-bottom: var(--auth-logo-margin); 
	background-repeat: no-repeat; background-size: contain; background-position: center center; 
	background-image: var(--auth-logo-image); filter: var(--auth-logo-filter);
}
.user-connect-form{ 
	display: block; width: 100%;
	padding: var(--auth-form-padding); border: var(--auth-form-border); border-radius: var(--auth-form-radius); 
	background: var(--auth-form-background); box-shadow: var(--auth-form-shadow); 
}
.user-connect-row{ 
	display: flex; align-items: center; position: relative; width: 100%; 
	margin-bottom: var(--auth-form-margin); border-radius: var(--input-radius);
	background: var(--auth-input-background); border: var(--auth-input-border); border-bottom: var(--auth-input-bottom); 
	font-size: 1.125em;
}
.user-connect-title{ text-align: center; }
.user-connect-label{ display: none; margin-bottom: .5em; }
.user-connect-icon{ 
	position: absolute; cursor: default; 
	height: var(--button-icon-size); width: var(--button-icon-size); flex: 0 0 var(--button-icon-size);
	top: calc(50% - var(--button-icon-size) / 2); left: var(--input-padding);
}
.user-connect-toggle{ 
	height: var(--button-icon-size); width: var(--button-icon-size); flex: 0 0 var(--button-icon-size); 
	position: absolute; top: calc(50% - var(--button-icon-size) / 2); right: var(--input-padding);
}
.user-connect-input{ 
	width: 100%; flex-grow: 1;
	padding-left: calc(var(--button-icon-size) + 2 * var(--input-padding));
}
.user-connect-input, .user-connect-input:hover, .user-connect-input:focus{
	background: none !important; border: none !important; box-shadow: none !important; 
}
.user-connect-password-input{ padding-right: calc(var(--button-icon-size) + 2 * var(--input-padding)); }
.user-connect-send{ text-align: center; padding-top: var(--auth-form-margin); }
.user-connect-send-button{ font-size: 1.125em; padding: .5em 2em; }
.user-connect-recover{ text-align: center; cursor: pointer; }
.user-connect-subscribe{ text-align: center; cursor: pointer; }
.user-connect-links>*{ margin-top: .25em; line-height: 1em; }
.user-connect-links>*:first-child{ margin-top: 0em; }

@media (max-width: 1100px){
	.user-connect-center{ padding: var(--auth-center-padding12); }
	.user-connect-form{ padding: var(--auth-form-padding12); }
}

/**
 * Action: core.user/renew
 **/

.user-renew-view{ 
	display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; 
	background: var(--auth-background); padding: var(--auth-padding);
}
.user-renew-center{ 
	display: flex; align-items: center; justify-content: center; flex-direction: column; 
	width: min(100%, var(--auth-width));
	padding: var(--auth-center-padding); border: var(--auth-center-border); border-radius: var(--auth-center-radius); 
	background: var(--auth-center-background); box-shadow: var(--auth-center-shadow); 
}
.user-renew-logo{ 
	width: 100%; height: var(--auth-logo-height); display: var(--auth-logo-display); margin-bottom: var(--auth-logo-margin); 
	background-repeat: no-repeat; background-size: contain; background-position: center center; 
	background-image: var(--auth-logo-image); filter: var(--auth-logo-filter);
}
.user-renew-form{ 
	display: block; width: 100%;
	padding: var(--auth-form-padding); border: var(--auth-form-border); border-radius: var(--auth-form-radius); 
	background: var(--auth-form-background); box-shadow: var(--auth-form-shadow); 
}
.user-renew-row{ 
	display: flex; align-items: center; position: relative; width: 100%; 
	margin-bottom: var(--auth-form-margin); border-radius: var(--input-radius);
	background: var(--auth-input-background); border: var(--auth-input-border); border-bottom: var(--auth-input-bottom); 
	font-size: 1.125em;
}
.user-renew-title{ text-align: center; }
.user-renew-label{ display: none; margin-bottom: .5em; }
.user-renew-icon{ 
	position: absolute; cursor: default; 
	height: var(--button-icon-size); width: var(--button-icon-size); flex: 0 0 var(--button-icon-size);
	top: calc(50% - var(--button-icon-size) / 2); left: var(--input-padding);
}
.user-renew-input{ 
	width: 100%; flex-grow: 1;
	padding-left: calc(var(--button-icon-size) + 2 * var(--input-padding));
}
.user-renew-input, .user-connect-input:hover, .user-connect-input:focus{
	background: none !important; border: none !important; box-shadow: none !important; 
}
.user-renew-send{ text-align: center; padding-top: 1em; }
.user-renew-send-button{ font-size: 1.125em; padding: .5em 4em; }
.user-renew-connect{ padding-top: 1.5em; text-align: center; cursor: pointer; white-space: nowrap; }

@media (max-width: 1100px){
	.user-renew-center{ padding: var(--auth-center-padding12); }
	.user-renew-form{ padding: var(--auth-form-padding12); }
}

/**
 * Action: core.user/renew
 **/
 
.user-reset-view{ 
	display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; 
	background: var(--auth-background); padding: var(--auth-padding); 
}
.user-reset-center{ 
	display: flex; align-items: center; justify-content: center; flex-direction: column;
	width: min(100%, var(--auth-width));
	padding: var(--auth-center-padding); border: var(--auth-center-border); border-radius: var(--auth-center-radius); 
	background: var(--auth-center-background); box-shadow: var(--auth-center-shadow); 
}
.user-reset-logo{ 
	width: 100%; height: var(--auth-logo-height); display: var(--auth-logo-display); margin-bottom: var(--auth-logo-margin); 
	background-repeat: no-repeat; background-size: contain; background-position: center center; 
	background-image: var(--auth-logo-image); filter: var(--auth-logo-filter);
}
.user-reset-form{ 
	display: block; width: 100%;
	padding: var(--auth-form-padding); border: var(--auth-form-border); border-radius: var(--auth-form-radius); 
	background: var(--auth-form-background); box-shadow: var(--auth-form-shadow); 
}
.user-reset-row{ 
	display: flex; align-items: center; position: relative; width: 100%; 
	margin-bottom: var(--auth-form-margin); border-radius: var(--input-radius);
	background: var(--auth-input-background); border: var(--auth-input-border); border-bottom: var(--auth-input-bottom); 
	font-size: 1.125em;
}
.user-reset-title{ text-align: center; }
.user-reset-label{ display: none; margin-bottom: .5em; }
.user-reset-icon{ 
	position: absolute; cursor: default; 
	height: var(--button-icon-size); width: var(--button-icon-size); flex: 0 0 var(--button-icon-size);
	top: calc(50% - var(--button-icon-size) / 2); left: var(--input-padding);
}
.user-reset-toggle{ 
	height: var(--button-icon-size); width: var(--button-icon-size); flex: 0 0 var(--button-icon-size); 
	position: absolute; top: calc(50% - var(--button-icon-size) / 2); right: var(--input-padding);
}
.user-reset-input{ 
	width: 100%; flex-grow: 1;
	padding-left: calc(var(--button-icon-size) + 2 * var(--input-padding));
}
.user-reset-input, .user-reset-input:hover, .user-reset-input:focus{
	background: none !important; border: none !important; box-shadow: none !important; 
}
.user-reset-password-input{ padding-right: calc(var(--button-icon-size) + 2 * var(--input-padding)); }
.user-reset-email{ background: #ececec; }
.user-reset-email-input{ font-weight: bold; }
.user-reset-send{ text-align: center; margin-top: 1.5em; }
.user-reset-send-button{ font-size: 1.125em; padding: .5em 4em; }

@media (max-width: 1200px){
	.user-reset-center{ padding: var(--auth-center-padding12); }
	.user-reset-form{ padding: var(--auth-form-padding12); }
}

/**
 * Action: core.user/notify
 **/
 
.user-mail-bc-rows{ width: 100%; }
.user-mail-bc-title{ text-align: center; font-size: 1.25em; font-weight: bold; }
.user-mail-bc-text{ padding-top: 2em; }
.user-mail-bc-rows a{ color: #15c; text-decoration: underline; }

/**
 * Action: core.role/list
 **/
	
.role-list-td-data{ align-items: flex-start; }
.role-list-td-data>*{ margin-bottom: 1pt; }
.role-list-td-data>*:last-child{ margin-bottom: 0pt; }
.role-list-label-value{ font-weight: bold; font-size: 1.125em; }
.role-list-texts{ display: flex; align-items: center; white-space: nowrap; color: #aaa; }
.role-list-texts>*{ padding: 0em .25em; border-right: var(--input-border); display: flex; align-items: center; }
.role-list-texts>*:first-child{ padding-left: 0em; }
.role-list-texts>*:last-child{ padding-right: 0em; border-right: none; }
.role-list-texts .role-list-label{ display: flex; align-items: center; margin-right: .25em; }
.role-list-texts .role-list-label:after{ content: ":"; display: inline-flex; vertical-align: middle; margin-left: .25em; }
.role-list-description{ font-size: .875em; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.role-list-col-credentials{ flex: 0 0 5em; }

/**
 * Action: core.role/edit
 **/

.role-edit-name-col{ flex-grow: 1; }
.role-edit-level-input{ width: 6em; }
.role-edit-description-input{ height: 4.125em; }
.role-edit-dialog-window{ width: min(30em, 100%); height: fit-content; }

/**
 * Action: core.credential/list
 **/

.credential-list-col-id{ flex: 0 0 5em; }
.credential-list-td-data{ align-items: flex-start; }
.credential-list-not-input{ width: 10em; }
.credential-list-name{ font-weight: bold; }
.credential-list-description{ margin-top: .25em; font-size: .875em; }