.core-credentials-button:before{ display: inline-block; background-image: url(/core/img/user/credentials.png); }
.core-roles-button:before{ display: inline-block; background-image: url(/core/img/user/roles.png); }
.core-users-button:before{ display: inline-block; background-image: url(/core/img/user/users.png); }

.core-credentials-icon{ background-image: url(/core/img/user/credentials.png); }
.core-roles-icon{ background-image: url(/core/img/user/roles.png); }
.core-users-icon{ background-image: url(/core/img/user/users.png); }
.core-config-icon{ background-image: url(/core/img/actions/config.png); }

/**
 * Action: core.user/admin
 **/
 
.user-admin-view{ width: 100%; height: 100%; display: flex; flex-direction: column; overflow: hidden; position: relative; }
.user-admin-top{ padding: .5em; position: relative; }
.user-admin-top{  background: #fff; box-shadow: 0px 0px 3px #aaa; }
.user-admin-title{ line-height: 1.125em; text-align: center; position: relative; }
.user-admin-title{ line-height: 1em; font-size: 2em; font-weight: bold; }
.user-admin-body{ padding: 2em; flex-grow: 1; display: flex; flex-direction: row; overflow: hidden; height: 0; }
.user-admin-body{ background: #ececec; }

.user-admin-config{ position: absolute; right: .5em; top: .5em; }
.user-admin-buttons{ margin-top: .5em; display: flex; flex-direction: column; }
.user-admin-button{ width: 12em; margin-bottom: .5em; }
.user-admin-button:last-child{ margin-bottom: 0em; }
.user-admin-list{ height: 100%; flex-grow: 1; display: flex; flex-direction: column; overflow: hidden; }
.user-admin-list{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.user-admin-filters{ padding: 1em; }
.user-admin-strict{ display: block; margin-bottom: .5em; text-align: center; }
.user-admin-strict-checkbox{ margin-right: 1em; }
.user-admin-strict-input{ display: flex; flex-direction: row; align-items: center; justify-content: center; padding: .5em; }
.user-admin-strict-input:focus{ background: #000; color: #fff; }
.user-admin-strict-help{ display: block; margin-top: .5em; font-size: .75em; font-style: italic; }
.user-admin-tools{ white-space: nowrap; text-align: center; }
.user-admin-tools{ display: flex; flex-direction: row; align-items: center; justify-content: center; }
.user-admin-tools>*{ margin-right: 1em; }
.user-admin-tools>*:last-child{ margin-right: 0em; }
.user-admin-table{ flex-grow: 1; display: flex; flex-direction: column; overflow: hidden; }
.user-admin-tbody{ flex-grow: 1; width: 100%; overflow-y: scroll; background: #dcdcdc; padding: .5em; }
.user-admin-row{ display: table; width: 100%; table-layout: fixed; background: #fff; margin-bottom: .5em; }
.user-admin-row:last-child{ margin-bottom: 0em; }
.user-admin-row>*{ padding: .5em .75em; display: table-cell; border-left: 1px dotted #dcdcdc; vertical-align: middle; line-height: 1em; }
.user-admin-row>*:first-child{ border-left: none; }
.user-admin-row-email{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-admin-row-role{ width: 13em; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-admin-row-actions{ width: 6em; text-align: center; }
.user-admin-row-action{ display: inline-block; vertical-align: middle; margin-right: .5em; height: 1.75em; width: 1.75em; }
.user-admin-row-action:last-child{ margin-right: 0em; }
.user-admin-row-edit{ background-image: url(/core/img/actions/edit.png); }
.user-admin-row-remove{ background-image: url(/core/img/actions/remove.png); }
.user-admin-thead{ display: table; width: 100%; table-layout: fixed; font-weight: bold; }
.user-admin-thead{ padding: 0em calc(8px + .5em) 0em .5em; }
.user-admin-thead{ background: #ececec; border-bottom: solid 1px #dcdcdc; }
.user-admin-thead>*{ padding: .5em; display: table-cell; text-align: center; }

.user-admin-value-name{ font-weight: bold; margin-bottom: .125em; }

.user-admin-search{ display: flex; position: relative; align-items: center; }
.user-admin-search-icon{ height: 1.5em; width: 1.5em; position: absolute; top: .375em; right: .375em; }
.user-admin-search-icon{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.user-admin-search-icon{ background-image: url(/core/img/actions/search.png); }
.user-admin-search-input{ width: 14em; padding-right: 2.25em; }

.user-admin-form{ width: 40em; flex: 1 0 35em; margin-left: 2em; padding: 2em; }
.user-admin-form{ overflow-y: scroll; border: dashed 1px #dcdcdc; background: #fff; }
.user-admin-form-title{ font-weight: bold; font-size: 1.5em; margin-bottom: 1.33em; }
.user-admin-form-row{ margin-bottom: 1em; }
.user-admin-form-label{ display: block; white-space: nowrap; }
.user-admin-form-label>*{ display: inline-block; vertical-align: middle; margin-right: .5em; }
.user-admin-form-input{ margin-top: .5em; width: 100%; }
.user-admin-form-submit{ text-align: right; }

.user-admin-firstname-input{ text-transform: capitalize; }
.user-admin-lastname-input{ text-transform: uppercase; }
.user-admin-email-input{ text-transform: lowercase; }
.user-admin-roles-row{ display: block; }
.user-admin-role-row{ display: block; display: flex; flex-direction: row; align-items: center; margin-bottom: .25em; }
.user-admin-role-row:last-child{ margin-bottom: 0em; }
.user-admin-role-checkbox{ margin-right: .5em; }
.user-admin-role-label{ display: block; font-weight: bold; }
.user-admin-role-name{ display: block; font-size: .75em; color: #666; }
.user-admin-password-row{ background: #fff; margin: 1.5em 0em; box-shadow: 0px 0px 3px #aaa; }
.user-admin-password-title{ padding: 1em; }
.user-admin-password-title:focus{ background: #000; color: #fff; }
.user-admin-password-checkbox{ margin-top: -.5em; }
.user-admin-password-inputs{ padding: 1em; border-top: 1px dashed #dcdcdc; }
.user-admin-password-input{ width: calc(50% - .25em); margin-top: .5em; }
.user-admin-password-input:last-child{ margin-left: .5em; }

@media (max-width: 1100px){
	.user-admin-view{ display: block; height: auto; }
	.user-admin-body{ display: block; height: auto; }
	.user-admin-list{ height: 60vh; }
	.user-admin-form{ width: 100%; margin-left: 0em; margin-top: 2em; }
}

/**
 * Action: core.user/list
 **/

.user-list-view{ height: 100%; width: 100%; display: flex; flex-direction: column; }
.user-list-view .off{ display: none; }

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

.user-list-top{ position: relative; z-index: 1; width: 100%; padding: 1em; white-space: nowrap; text-align: center; }
.user-list-top{ overflow-y: hidden; overflow-x: auto; flex: 0 0 4.25em; background: #ececec; box-shadow: 0px 0px 3px #aaa; }
	
.user-list-buttons{ display: inline-flex; vertical-align: middle; }
.user-list-buttons{ align-items: center; justify-content: center; }
.user-list-buttons>*{ margin-left: .5em; }
.user-list-buttons>*:first-child{ margin-left: 0em; }

.user-list-filters{ display: inline-flex; vertical-align: middle; }
.user-list-filters{ align-items: center; justify-content: center; }
.user-list-filters>*{ margin-right: .5em; position: relative; }
.user-list-filter>*:last-child{ margin-right: 0em; }

.user-list-center{ flex-grow: 1; padding: 1em; overflow: hidden; background: #fff; }
.user-list-body{ overflow: hidden; height: 100%; width: 100%; display: flex; flex-direction: column; position: relative; }
.user-list-head{ padding: 0em calc(.5em + 8px) 0em .5em; border: 1px solid #dcdcdc; background: #fff; }
.user-list-rows{ flex-grow: 1; overflow-y: scroll; padding: .5em .5em 4em .5em; }
.user-list-rows{ background: #ececec; border: 1px solid #dcdcdc; border-top: none; }
.user-list-row{ display: table; table-layout: fixed; width: 100%; }
.user-list-brow{ background: #fff; box-shadow: 0px 0px 3px #aaa; margin-bottom: .5em; }
.user-list-brow:focus{ outline: 3px solid #aaa; }
.user-list-brow[checked]{ background: #f0ffe3; }
.user-list-brow:last-child{ margin-bottom: 0em; }
.user-list-td{ display: table-cell; vertical-align: middle; text-align: left; position: relative; }
.user-list-td{ padding: .5em; border-right: 1px dotted #dcdcdc; }
.user-list-td{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-list-td:last-child{ border-right: none; }
.user-list-th{ display: table-cell; vertical-align: middle; text-align: center; font-weight: bold; }
.user-list-th{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-list-th{ line-height: 1em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.user-list-paging{ position: absolute; padding: .5em; width: 16em; bottom: 0em; left: calc(50% - 8em); }
.user-list-paging{ background: #fff; box-shadow: 0px 0px 3px #aaa; }

.user-list-icon{ display: inline-block; vertical-align: middle; margin-left: .25em; }
.user-list-icon:first-child{ margin-left: 0em; }

.user-list-search-input{ display: inline-block; vertical-align: middle; padding-right: 2.5em; width: 14em; }
.user-list-search-icon{ height: 1.5em; width: 1.5em; position: absolute; top: .375em; right: .5em; }

.user-list-enabled{ background: #080; color: #fff; }
.user-list-disabled{ background: #a00; color: #fff; }

.user-list-enabled-tooltip{ padding: 0em; display: none; overflow: hidden; }
.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-enabled:before{ background: #080; }
.user-list-enabled-disabled:before{ background: #a00; }
.user-list-enabled-todo:before{ background: #009; }
.user-list-enabled-row[checked]{ background: #f0ffe3; font-weight: bold; }

.user-list-role-tooltip{ padding: 0em; max-height: 50vh; overflow-y: auto; }
.user-list-role-row{ display: block; padding: .5em; border-bottom: 1px dashed #dcdcdc; }
.user-list-role-row:last-child{ border-bottom: none; }
.user-list-role-row[checked]{ background: #f0ffe3; font-weight: bold; }

.user-list-col-check{ width: 3em; }
.user-list-td-check{ text-align: center; }
.user-list-td-email>*{ margin-top: .125em; }
.user-list-td-email>*:first-child{ margin-top: 0em; }
.user-list-col-roles{ width: 4.5em; }
.user-list-td-roles{ text-align: center; }
.user-list-col-enabled{ width: 5.5em; }
.user-list-col-icons{ width: 6em; }
.user-list-td-enabled{ text-align: center; cursor: pointer; }
.user-list-td-disabled{ cursor: pointer;  text-align: center; }
.user-list-td-icons{ text-align: center; }

.user-list-name{ font-weight: bold; margin-bottom: .125em; }
.user-list-name{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-list-email{ 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-row{ display: block; margin-bottom: .25em; }
.user-list-info-row:last-child{ display: block; margin-bottom: 0em; }
.user-list-info-value{ font-weight: bold; }

.user-list-roles-tooltip{ padding: 0em; display: none; border-right: 2.5em solid #ececec; }
.user-list-roles-edit{ position: absolute; right: -2.125em; top: .375em; }
.user-list-roles-edit{ height: 1.75em; width: 1.75em; }
.user-list-roles-none{ padding: 1em; }
.user-list-roles-rows{ padding: 1em; max-height: 15em; overflow-y: auto; }
.user-list-roles-row{ max-width: 20em; padding: .25em; margin-bottom: .25em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-list-roles-row{ border-bottom: 1px dashed #dcdcdc; }
.user-list-roles-row:last-child{ margin-bottom: 0em; border-bottom: none; }
.user-list-roles-row-label{ font-weight: bold; padding-right: .5em; }
.user-list-roles-row-name{ font-style: italic; color: #aaa; float: right; }

@media (max-width: 1100px){
	.user-list-top{ flex: 0 0 5em; justify-content: flex-start; }
	.user-list-center{ padding: 0em; }
	.user-list-others{ display: none; }
	.user-list-col-roles{ width: 3.875em; }
	.user-list-col-enabled{ display: none; }
}

/**
 * Action: core.user/list (dialog)
 **/

.user-list-dialog-window{ max-width: 40em; }
.user-list-dialog-body{ height: 75vh; }
.user-list-dialog .user-list-title{ display: none; }
.user-list-dialog .user-list-center{ padding: 0em; }
.user-list-dialog .user-list-roles-button{ display: none; }
.user-list-dialog .user-list-credentials-button{ 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: .25em; font-size: 2em; font-weight: bold; position: relative; z-index: 2; }
.user-edit-title{ line-height: 1em; font-size: 2em; font-weight: bold; text-align: center; }
.user-edit-title{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.user-edit-form{ flex-grow: 1; overflow: hidden; overflow-y: auto; padding: 1.5em; }
.user-edit-form{ display: flex; flex-direction: column; align-items: center; justify-content: center; }
.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; }
.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; }
.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{ background: #fff; padding: .75em; border: 1px dashed #dcdcdc; }
.user-edit-change-checkbox{ margin-right: .5em; }
.user-edit-if{ margin-top: .5em; }
.user-edit-passwords{ margin-top: .5em; }
.user-edit-password-input{ width: 100%; }
.user-edit-notify{ padding: .75em; background: #ececec; }
.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{ text-align: center; padding: .5em; position: relative; z-index: 1; }
.user-edit-submit{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.user-edit-save{ width: 10em; }

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

/**
 * Action: core.user/edit (dialog)
 **/

.user-edit-dialog-window{ max-width: 50em; }
.user-edit-dialog .user-edit-title{ display: none; }
.user-edit-dialog .user-edit-form{ width: 100%; }

/**
 * Action: core.user/connect
 **/
 
.core-user-login-icon{ background-image: url(/core/img/user/email.png); }
.core-user-email-icon{ background-image: url(/core/img/user/email.png); }
.core-user-password-icon{ background-image: url(/core/img/user/password.png); }
 
.user-connect-view{ display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.user-connect-view{ background-repeat: no-repeat; background-size: cover; background-position: center center; }
.user-connect-view{ background-image: url(/core/img/user/background.jpg); }
.user-connect-center{ display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 3em 4em; }
.user-connect-title{ text-align: center; }
.user-connect-logo{ display: block; height: 10em; width: 10em; margin-bottom: 2em; }
.user-connect-logo{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.user-connect-logo{ background-image: url(/core/img/user/mirage.png); }
.user-connect-form{ display: block; padding: 3em 4em; }
.user-connect-form{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.user-connect-row{ display: flex; align-items: center; position: relative; width: 24em; margin-bottom: 1em; border-bottom: 1px solid #dcdcdc; }
.user-connect-row>*{ margin-right: .5em; }
.user-connect-row>*:last-child{ margin-right: 0em; }
.user-connect-label{ display: none; margin-bottom: .5em; }
.user-connect-icon{ height: 1.5em; width: 1.5em; flex: 0 0 1.5em; }
.user-connect-toggle{ height: 1.5em; width: 1.5em; flex: 0 0 1.5em; cursor: pointer; position: absolute; top: .375em; right: .375em; }
.user-connect-toggle{ background-repeat: no-repeat; background-position: center center; background-size: contain; }
.user-connect-input{ width: 100%; flex-grow: 1; font-size: 1.125em; border: none !important; box-shadow: none !important; }
.user-connect-password-input{ margin-right: 0em; }
.user-connect-send{ text-align: center; padding-top: 1em; }
.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; }
.user-connect-links>*:first-child{ margin-top: 0em; }
.user-connect-link{ display: inline; text-decoration: underline; color: #e13500; }
.user-connect-link:focus{ color: #000; font-weight: bold; }

@media (max-width: 1100px){
	.user-connect-form{ padding: 2em 3em; }
	.user-connect-row{ width: 20em; }
	.user-connect-center{ height: 100%; width: 100%; padding: 1em; }
}

/**
 * Action: core.user/renew
 **/
 
.user-renew-view{ display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.user-renew-view{ background-repeat: no-repeat; background-size: cover; background-position: center center; }
.user-renew-view{ background-image: url(/core/img/user/background.jpg); }
.user-renew-center{ display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 3em 4em; }
.user-renew-title{ text-align: center; }
.user-renew-logo{ display: block; margin: auto; height: 10em; width: 10em; margin-bottom: 2em; }
.user-renew-logo{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.user-renew-logo{ background-image: url(/core/img/user/mirage.png); }
.user-renew-form{ display: block; padding: 3em 4em; margin: auto; }
.user-renew-form{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.user-renew-row{ display: flex; align-items: center; position: relative; width: 24em; margin-bottom: 1em; border-bottom: 1px solid #dcdcdc; }
.user-renew-row>*{ margin-right: .5em; }
.user-renew-row>*:last-child{ margin-right: 0em; }
.user-renew-label{ display: none; margin-bottom: .5em; }
.user-renew-icon{ height: 1.5em; width: 1.5em; flex: 0 0 1.5em; }
.user-renew-input{ width: 100%; flex-grow: 1; font-size: 1.125em; 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; }
.user-renew-link{ display: inline; text-decoration: underline; color: #e13500; }
.user-renew-link:focus{ color: #000; font-weight: bold; }

@media (max-width: 1100px){
	.user-renew-form{ padding: 2em 3em; }
	.user-renew-center{ height: 100%; width: 100%; padding: 1em; }
}

/**
 * Action: core.user/renew
 **/
 
.user-reset-view{ display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.user-reset-view{ background-repeat: no-repeat; background-size: cover; background-position: center center; }
.user-reset-view{ background-image: url(/core/img/user/background.jpg); }
.user-reset-center{ display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 3em 4em; }
.user-reset-title{ text-align: center; font-size: 1.75em; margin-bottom: 1.5em; }
.user-reset-logo{ display: block; margin: auto; height: 10em; width: 10em; margin-bottom: .5em; }
.user-reset-logo{ background-repeat: no-repeat; background-size: contain; background-position: center center; }
.user-reset-logo{ background-image: url(/core/img/user/mirage.png); }
.user-reset-form{ display: block; padding: 3em 4em; margin: auto; }
.user-reset-form{ background: #fff; box-shadow: 0px 0px 3px #aaa; }
.user-reset-row{ display: flex; align-items: center; position: relative; width: 24em; margin-bottom: 1em; border-bottom: 1px solid #dcdcdc; }
.user-reset-row>*{ margin-right: .5em; }
.user-reset-row>*:last-child{ margin-right: 0em; }
.user-reset-label{ display: none; margin-bottom: .5em; }
.user-reset-icon{ height: 1.5em; width: 1.5em; flex: 0 0 1.5em; }
.user-reset-toggle{ height: 1.5em; width: 1.5em; flex: 0 0 1.5em; cursor: pointer; position: absolute; top: .375em; right: .375em; }
.user-reset-toggle{ background-repeat: no-repeat; background-position: center center; background-size: contain; }
.user-reset-input{ width: 100%; flex-grow: 1; font-size: 1.125em; border: none !important; box-shadow: none !important; }
.user-reset-email{ font-weight: bold; background: #ececec; }
.user-reset-email-input{ font-weight: bold; padding: .5em; }
.user-reset-password-input{ margin-right: 0em; }
.user-reset-send{ text-align: center; margin-top: 1.5em; }
.user-reset-send-button{ font-size: 1.125em; padding: .5em 4em; }

@media (max-width: 1100px){
	.user-reset-form{ padding: 2em 3em; }
	.user-reset-center{ height: 100%; width: 100%; padding: 1em; }
}

/**
 * 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-view{ height: 100%; width: 100%; display: flex; flex-direction: column; }
.role-list-view .off{ display: none; }

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

.role-list-filters{ padding: 1em; flex: 0 0 4.25em; text-align: center; position: relative; z-index: 1; }
.role-list-filters{ overflow-y: hidden; overflow-x: auto; display: flex; align-items: center; justify-content: center; }
.role-list-filters{ background: #ececec; box-shadow: 0px 0px 3px #aaa; }
.role-list-filters>*{ margin-right: 1em; position: relative; }
.role-list-filters>*:last-child{ margin-right: 0em; }

.role-list-center{ flex-grow: 1; width: 100%; overflow: hidden; padding: 1em; background: #fff; }
.role-list-body{ display: flex; flex-direction: column; height: 100%; width: 100%; position: relative; }
.role-list-head{ padding: 0em calc(.5em + 8px) 0em .5em; border: 1px solid #dcdcdc; background: #fff; }
.role-list-rows{ flex-grow: 1; overflow-y: scroll; padding: .5em .5em 4em .5em; }
.role-list-rows{ background: #ececec; border: 1px solid #dcdcdc; border-top: none; }
.role-list-row{ display: table; table-layout: fixed; width: 100%; }
.role-list-brow{ background: #fff; box-shadow: 0px 0px 3px #aaa; margin-bottom: .5em; }
.role-list-brow:focus{ outline: 3px solid #aaa; }
.role-list-brow[checked]{ background: #f0ffe3; }
.role-list-brow:last-child{ margin-bottom: 0em; }
.role-list-td{ display: table-cell; vertical-align: middle; text-align: left; position: relative; }
.role-list-td{ line-height: 1em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.role-list-td{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.role-list-td:last-child{ border-right: none; }
.role-list-th{ display: table-cell; vertical-align: middle; text-align: center; font-weight: bold; }
.role-list-th{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.role-list-th{ line-height: 1em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.role-list-paging{ position: absolute; padding: .5em; width: 16em; bottom: 0em; left: calc(50% - 8em); }
.role-list-paging{ background: #fff; box-shadow: 0px 0px 3px #aaa; }

.role-list-icon{ display: inline-block; vertical-align: middle; margin-right: .5em; }
.role-list-icon:last-child{ margin-right: 0em; }

.role-list-search-input{ display: inline-block; vertical-align: middle; padding-right: 2.5em; width: 14em; }
.role-list-search-icon{ height: 1.5em; width: 1.5em; position: absolute; top: .375em; right: .5em; }
	
.role-list-col-check{ width: 3em; }
.role-list-td-check{ text-align: center; }
.role-list-td-label-value{ font-weight: bold; font-size: 1.125em; }
.role-list-td-id{ color: #aaa; display: flex; align-items: center; font-size: .875em; margin-top: .375em; }
.role-list-td-id>*{ padding-right: .5em; margin-right: .5em; border-right: 1px solid #dcdcdc; }
.role-list-td-id>*:last-child{ padding-right: 0em; margin-right: 0em; border-right: none; }
.role-list-td-id-value{ font-weight: bold; }
.role-list-td-lvl-value{ font-style: italic; margin-right: .5em; }
.role-list-td-description-value{ margin-top: .25em; font-style: italic; font-size: .875em; }
.role-list-td-description-value{ white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.role-list-col-credentials{ width: 5em; }
.role-list-td-credentials{ text-align: center; }
.role-list-col-icons{ width: 7em; }
.role-list-td-icons{ text-align: center; }

@media (max-width: 1100px){
	.role-list-filters{ flex: 0 0 5em; justify-content: flex-start; }
	.role-list-center{ padding: 0em; }
	.role-list-col-credentials{ width: 3.875em; }
}

/**
 * Action: core.role/list (dialog)
 **/

.role-list-dialog-window{ max-width: 40em; }
.role-list-dialog-body{ height: 35em; }
.role-list-dialog .role-list-title{ display: none; }
.role-list-dialog .role-list-center{ padding: 0em; }
.role-list-dialog .role-list-users-button{ display: none; }

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

.role-edit-view{ height: 100%; width: 100%; padding: 2em; }
.role-edit-title{ line-height: 1em; font-weight: bold; font-size: 1.5em; margin-bottom: .75em; }
.role-edit-cols{ display: flex; align-items: flex-start; margin-bottom: .75em; }
.role-edit-cols:last-child{ margin-bottom: 0em; }
.role-edit-cols>*{ margin-right: .75em; }
.role-edit-cols>*:last-child{ margin-right: 0em; }
.role-edit-row{ margin-bottom: 1em; }
.role-edit-row:last-child{ margin-bottom: 0em; }
.role-edit-label{ display: block; white-space: nowrap; font-weight: bold; }
.role-edit-label>*{ display: inline-block; vertical-align: middle; margin-right: .5em; }
.role-edit-input{ margin-top: .5em; width: 100%; }
.role-edit-help{ display: block; margin-top: .5em; font-size: .875em; }
.role-edit-name-row{ flex-grow: 1; }
.role-edit-level-input{ width: 6em; }
.role-edit-description-input{ line-height: 1em; height: 4.125em; }
.role-edit-submit{ text-align: right; }

/**
 * Action: core.role/edit (dialog)
 **/

.role-edit-dialog .role-edit-title{ display: none; }
.role-edit-dialog-window{ max-width: 35em; }
.role-edit-dialog-window .role-edit-view{ padding: 1em; }

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

.credential-list-view{ height: 100%; width: 100%; display: flex; flex-direction: column; }
.credential-list-view .off{ display: none; }

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

.credential-list-filters{ padding: 1em; flex: 0 0 4.25em; position: relative; z-index: 1; text-align: center; }
.credential-list-filters{ overflow-y: hidden; overflow-x: auto; display: flex; align-items: center; justify-content: center; }
.credential-list-filters{ background: #ececec; box-shadow: 0px 0px 3px #aaa; }
.credential-list-filters>*{ margin-right: 1em; position: relative; }
.credential-list-filters>*:last-child{ margin-right: 0em; }

.credential-list-center{ flex-grow: 1; width: 100%; overflow: hidden; padding: 1em; background: #fff; }
.credential-list-body{ width: 100%; height: 100%; overflow: hidden; }
.credential-list-body{ display: flex; flex-direction: column; position: relative; }
.credential-list-head{ padding: 0em calc(.5em + 8px) 0em .5em; border: 1px solid #dcdcdc; background: #fff; }
.credential-list-rows{ flex-grow: 1; overflow-y: scroll; padding: .5em .5em 4em .5em; }
.credential-list-rows{ background: #ececec; border: 1px solid #dcdcdc; border-top: none; }
.credential-list-row{ display: table; table-layout: fixed; width: 100%; }
.credential-list-brow{ background: #fff; box-shadow: 0px 0px 3px #aaa; margin-bottom: .5em; }
.credential-list-brow:focus{ outline: 3px solid #aaa; }
.credential-list-brow[checked]{ background: #f0ffe3; }
.credential-list-brow:last-child{ margin-bottom: 0em; }
.credential-list-td{ display: table-cell; vertical-align: middle; text-align: left; }
.credential-list-td{ line-height: 1em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.credential-list-td{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.credential-list-td:last-child{ border-right: none; }
.credential-list-th{ display: table-cell; vertical-align: middle; text-align: center; font-weight: bold; }
.credential-list-th{ line-height: 1em; padding: .5em; border-right: 1px dotted #dcdcdc; }
.credential-list-icon{ display: inline-block; vertical-align: middle; margin-right: .5em; }
.credential-list-icon{ height: 1.5em; width: 1.5em; }
.credential-list-icon:last-child{ margin-right: 0em; }
.credential-list-paging{ position: absolute; padding: .5em; width: 16em; bottom: 0em; left: calc(50% - 8em); }
.credential-list-paging{ background: #fff; box-shadow: 0px 0px 3px #aaa; }

.credential-list-search-input{ display: inline-block; vertical-align: middle; padding-right: 2.5em; width: 15em; }
.credential-list-search-icon{ height: 1.5em; width: 1.5em; position: absolute; top: .375em; right: .5em; }

.credential-list-count{ white-space: nowrap; }

.credential-list-not-input{ width: 10em; }

.credential-list-col-check{ width: 3em; }
.credential-list-td-check{ text-align: center; }
.credential-list-td-name-value{ font-weight: bold; }
.credential-list-td-description-value{ margin-top: .25em; font-style: italic; font-size: .875em; }

@media (max-width: 1100px){
	.credential-list-filters{ flex: 0 0 5em; justify-content: flex-start; }
	.credential-list-center{ padding: 0em; }
}

/**
 * Action: core.credential/list (dialog)
 **/

.credential-list-dialog-window{ max-width: 50em; height: calc(100vh - 2em); }
.credential-list-dialog-body{ height: 30em; }
.credential-list-dialog .credential-list-title{ display: none; }
.credential-list-dialog .credential-list-center{ padding: 0em; }
.credential-list-dialog .credential-list-users-button{ display: none; }