From 9bd8f21ac6f0d2367b3ffa97853b4f12a3714804 Mon Sep 17 00:00:00 2001 From: liuhong Date: Tue, 3 Jan 2023 02:22:37 +0000 Subject: [PATCH 01/61] * Fix bug #30537. --- lib/phpmailer/language/phpmailer.lang-de.php | 4 ++-- lib/phpmailer/language/phpmailer.lang-fr.php | 4 ++-- lib/phpmailer/language/phpmailer.lang-zh-cn.php | 2 +- lib/phpmailer/language/phpmailer.lang-zh-tw.php | 2 +- module/mail/view/browse.html.php | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/phpmailer/language/phpmailer.lang-de.php b/lib/phpmailer/language/phpmailer.lang-de.php index b2a76ce1b5..bbbc08e7dc 100644 --- a/lib/phpmailer/language/phpmailer.lang-de.php +++ b/lib/phpmailer/language/phpmailer.lang-de.php @@ -16,10 +16,10 @@ $PHPMAILER_LANG['from_failed'] = 'Die folgende Absenderadresse ist nich $PHPMAILER_LANG['instantiate'] = 'Mail Funktion konnte nicht initialisiert werden.'; $PHPMAILER_LANG['invalid_email'] = 'E-Mail wird nicht gesendet, die Adresse ist ungültig.'; $PHPMAILER_LANG['mailer_not_supported'] = ' mailer wird nicht unterstützt.'; -$PHPMAILER_LANG['provide_address'] = 'Bitte geben Sie mindestens eine Empfänger E-Mailadresse an.'; +$PHPMAILER_LANG['provide_address'] = 'The recipient has not set up an email address, please go to the background-personnel-user edit to add an email address.'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP Fehler: Die folgenden Empfänger sind nicht korrekt: '; $PHPMAILER_LANG['signing'] = 'Fehler beim Signieren: '; $PHPMAILER_LANG['smtp_connect_failed'] = 'Verbindung zu SMTP Server fehlgeschlagen.'; $PHPMAILER_LANG['smtp_error'] = 'Fehler vom SMTP Server: '; $PHPMAILER_LANG['variable_set'] = 'Kann Variable nicht setzen oder zurücksetzen: '; -?> \ No newline at end of file +?> diff --git a/lib/phpmailer/language/phpmailer.lang-fr.php b/lib/phpmailer/language/phpmailer.lang-fr.php index c99ac3caf9..e2497c60c4 100644 --- a/lib/phpmailer/language/phpmailer.lang-fr.php +++ b/lib/phpmailer/language/phpmailer.lang-fr.php @@ -16,10 +16,10 @@ $PHPMAILER_LANG['from_failed'] = 'L\'adresse d\'expéditeur suivante a $PHPMAILER_LANG['instantiate'] = 'Impossible d\'instancier la fonction mail.'; //$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: '; $PHPMAILER_LANG['mailer_not_supported'] = ' client de messagerie non supporté.'; -$PHPMAILER_LANG['provide_address'] = 'Vous devez fournir au moins une adresse de destinataire.'; +$PHPMAILER_LANG['provide_address'] = 'The recipient has not set up an email address, please go to the background-personnel-user edit to add an email address.'; $PHPMAILER_LANG['recipients_failed'] = 'Erreur SMTP : Les destinataires suivants sont en erreur : '; //$PHPMAILER_LANG['signing'] = 'Signing Error: '; //$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; //$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: '; //$PHPMAILER_LANG['variable_set'] = 'Cannot set or reset variable: '; -?> \ No newline at end of file +?> diff --git a/lib/phpmailer/language/phpmailer.lang-zh-cn.php b/lib/phpmailer/language/phpmailer.lang-zh-cn.php index 36db92c7af..fa587e0031 100644 --- a/lib/phpmailer/language/phpmailer.lang-zh-cn.php +++ b/lib/phpmailer/language/phpmailer.lang-zh-cn.php @@ -17,7 +17,7 @@ $PHPMAILER_LANG['from_failed'] = '发送地址错误:'; $PHPMAILER_LANG['instantiate'] = '未知函数调用。'; //$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: '; $PHPMAILER_LANG['mailer_not_supported'] = '发信客户端不被支持。'; -$PHPMAILER_LANG['provide_address'] = '收件人没有设置邮箱,请到组织视图中检查下相应用户的email设置。'; +$PHPMAILER_LANG['provide_address'] = '收件人没有设置邮箱,请到后台-人员-用户编辑中添加上邮箱地址。'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误:收件人地址错误,或检查SMTP服务设置,是否允许发送该邮件地址:'; //$PHPMAILER_LANG['signing'] = 'Signing Error: '; //$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; diff --git a/lib/phpmailer/language/phpmailer.lang-zh-tw.php b/lib/phpmailer/language/phpmailer.lang-zh-tw.php index 9dbfef7824..bd2e7fd38d 100644 --- a/lib/phpmailer/language/phpmailer.lang-zh-tw.php +++ b/lib/phpmailer/language/phpmailer.lang-zh-tw.php @@ -17,7 +17,7 @@ $PHPMAILER_LANG['from_failed'] = '發送地址錯誤:'; $PHPMAILER_LANG['instantiate'] = '未知函數調用。'; //$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: '; $PHPMAILER_LANG['mailer_not_supported'] = '發信客戶端不被支持。'; -$PHPMAILER_LANG['provide_address'] = '收件人沒有設置郵箱,請到組織視圖中檢查下相應用戶的email設置。'; +$PHPMAILER_LANG['provide_address'] = '收件人没有设置邮箱,请到后台-人员-用户编辑中添加上邮箱地址。'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP 錯誤:收件人地址錯誤,或檢查SMTP服務設置,是否允許發送該郵件地址:'; //$PHPMAILER_LANG['signing'] = 'Signing Error: '; //$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; diff --git a/module/mail/view/browse.html.php b/module/mail/view/browse.html.php index c21bc04d06..0f7ce1b109 100644 --- a/module/mail/view/browse.html.php +++ b/module/mail/view/browse.html.php @@ -54,7 +54,7 @@ createdDate?> sendTime?> mail->statusList, $queue->status)?> - failReason?> + failReason?> id"), $lang->delete, 'hiddenwin'); From da18b4b7f0527844f5022417d4977a728fdf0a7f Mon Sep 17 00:00:00 2001 From: liuhong Date: Tue, 3 Jan 2023 02:33:48 +0000 Subject: [PATCH 02/61] * Adjust code for bug #30537. --- lib/phpmailer/language/phpmailer.lang-zh-tw.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/phpmailer/language/phpmailer.lang-zh-tw.php b/lib/phpmailer/language/phpmailer.lang-zh-tw.php index bd2e7fd38d..41af4ab3c6 100644 --- a/lib/phpmailer/language/phpmailer.lang-zh-tw.php +++ b/lib/phpmailer/language/phpmailer.lang-zh-tw.php @@ -17,7 +17,7 @@ $PHPMAILER_LANG['from_failed'] = '發送地址錯誤:'; $PHPMAILER_LANG['instantiate'] = '未知函數調用。'; //$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: '; $PHPMAILER_LANG['mailer_not_supported'] = '發信客戶端不被支持。'; -$PHPMAILER_LANG['provide_address'] = '收件人没有设置邮箱,请到后台-人员-用户编辑中添加上邮箱地址。'; +$PHPMAILER_LANG['provide_address'] = '收件人沒有設置郵箱,請到後台-人員-用戶編輯中添加上郵箱地址。'; $PHPMAILER_LANG['recipients_failed'] = 'SMTP 錯誤:收件人地址錯誤,或檢查SMTP服務設置,是否允許發送該郵件地址:'; //$PHPMAILER_LANG['signing'] = 'Signing Error: '; //$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; From 5a2b75d24fbb0acb3726d78656fdbe3a4a1e0693 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Tue, 3 Jan 2023 10:59:35 +0800 Subject: [PATCH 03/61] * Finish task#81780. --- module/product/model.php | 8 ++++++++ module/program/model.php | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/module/product/model.php b/module/product/model.php index f5191622e1..81a341464f 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -1300,14 +1300,22 @@ class productModel extends model { $projectList = $this->dao->select('t2.*')->from(TABLE_PROJECTPRODUCT)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id') + ->leftJoin(TABLE_TEAM)->alias('t3')->on('t2.id=t3.root') + ->leftJoin(TABLE_STAKEHOLDER)->alias('t4')->on('t2.id=t4.objectID') ->where('t1.product')->eq($productID) ->andWhere('t2.type')->eq('project') + ->beginIF($this->cookie->involved or $involved)->andWhere('t3.type')->eq('project')->fi() ->beginIF($browseType == 'undone')->andWhere('t2.status')->in('wait,doing')->fi() ->beginIF(strpos(",all,undone,", ",$browseType,") === false)->andWhere('t2.status')->eq($browseType)->fi() ->beginIF(!$this->app->user->admin)->andWhere('t2.id')->in($this->app->user->view->projects)->fi() ->beginIF($this->cookie->involved or $involved) ->andWhere('t2.openedBy', true)->eq($this->app->user->account) ->orWhere('t2.PM')->eq($this->app->user->account) + ->orWhere('t3.account')->eq($this->app->user->account) + ->orWhere('(t4.user')->eq($this->app->user->account) + ->andWhere('t4.deleted')->eq(0) + ->markRight(1) + ->orWhere("CONCAT(',', t2.whitelist, ',')")->like("%,{$this->app->user->account},%") ->markRight(1) ->fi() ->beginIF($branch !== '' and $branch !== 'all')->andWhere('t1.branch')->in($branch)->fi() diff --git a/module/program/model.php b/module/program/model.php index bbb4068e16..0fd073c6ca 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -615,7 +615,9 @@ class programModel extends model ->andWhere('t1.openedBy', true)->eq($this->app->user->account) ->orWhere('t1.PM')->eq($this->app->user->account) ->orWhere('t2.account')->eq($this->app->user->account) - ->orWhere('t3.user')->eq($this->app->user->account) + ->orWhere('(t3.user')->eq($this->app->user->account) + ->andWhere('t3.deleted')->eq(0) + ->markRight(1) ->orWhere("CONCAT(',', t1.whitelist, ',')")->like("%,{$this->app->user->account},%") ->markRight(1) ->fi() From b922f85ecd29550c522150cd21e0f79f2a78c162 Mon Sep 17 00:00:00 2001 From: liuhong Date: Tue, 3 Jan 2023 04:50:20 +0000 Subject: [PATCH 04/61] * Finish task #81781. --- module/productplan/control.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/productplan/control.php b/module/productplan/control.php index ab589b4eae..f7baffdeae 100644 --- a/module/productplan/control.php +++ b/module/productplan/control.php @@ -758,7 +758,7 @@ class productplan extends control $this->productplan->unlinkStory($storyID, $planID); $this->loadModel('action')->create('productplan', $planID, 'unlinkstory', '', $storyID); - return print(js::locate($this->createLink('productplan', 'view', "planID=$planID&type=story"), 'parent')); + return print(js::reload('parent')); } } From 62070301f403eebea2eb5e981cdeb47554c92533 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Tue, 3 Jan 2023 17:04:09 +0800 Subject: [PATCH 05/61] * Code for task#81779. --- module/bug/control.php | 1 + module/bug/model.php | 23 +++++++++++++++++++++-- module/bug/view/create.html.php | 11 ++++++++++- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/module/bug/control.php b/module/bug/control.php index eb6b86c45f..b49a67aedd 100755 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -665,6 +665,7 @@ class bug extends control $this->view->storyID = $storyID; $this->view->buildID = $buildID; $this->view->caseID = $caseID; + $this->view->caseFiles = isset($caseFiles) ? $caseFiles : array(); $this->view->runID = $runID; $this->view->version = $version; $this->view->testtask = $testtask; diff --git a/module/bug/model.php b/module/bug/model.php index 64fb3747d1..748057d086 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -78,7 +78,7 @@ class bugModel extends model ->join('mailto', ',') ->join('os', ',') ->join('browser', ',') - ->remove('files,labels,uid,oldTaskID,contactListMenu,region,lane,ticket') + ->remove('files,labels,uid,oldTaskID,contactListMenu,region,lane,ticket,deleteFiles,caseFiles') ->get(); /* Check repeat bug. */ @@ -98,6 +98,23 @@ class bugModel extends model { $bugID = $this->dao->lastInsertID(); + if(isset($_POST['caseFiles'])) + { + $caseFiles = $_POST['caseFiles']; + if(isset($_POST['deleteFiles'])) + { + foreach($_POST['deleteFiles'] as $deletedCaseFileID) $caseFiles = trim(str_replace(",$deletedCaseFileID,", ',', ",$caseFiles,"), ','); + } + $files = $this->dao->select('*')->from(TABLE_FILE)->where('id')->in($caseFiles)->fetchAll('id'); + foreach($files as $file) + { + unset($file->id); + $file->objectType = 'bug'; + $file->objectID = $bugID; + $this->dao->insert(TABLE_FILE)->data($file)->exec(); + } + } + $this->file->updateObjectID($this->post->uid, $bugID, 'bug'); $this->file->saveUpload('bug', $bugID); empty($bug->case) ? $this->loadModel('score')->create('bug', 'create', $bugID) : $this->loadModel('score')->create('bug', 'createFormCase', $bug->case); @@ -2279,7 +2296,9 @@ class bugModel extends model if(!$executionID and $caseID > 0) $executionID = isset($run->case->execution) ? $run->case->execution : 0; // Fix feedback #1043. if(!$executionID and $this->app->tab == 'execution') $executionID = $this->session->execution; - return array('title' => $title, 'steps' => $bugSteps, 'storyID' => $run->case->story, 'moduleID' => $run->case->module, 'version' => $run->case->version, 'executionID' => $executionID); + $caseFiles = $caseID ? $this->loadModel('file')->getByObject('testcase', $caseID) : array(); + + return array('title' => $title, 'steps' => $bugSteps, 'storyID' => $run->case->story, 'moduleID' => $run->case->module, 'version' => $run->case->version, 'executionID' => $executionID, 'caseFiles' => $caseFiles); } /** diff --git a/module/bug/view/create.html.php b/module/bug/view/create.html.php index 825a86fb40..732402cf5e 100644 --- a/module/bug/view/create.html.php +++ b/module/bug/view/create.html.php @@ -365,7 +365,16 @@ if($this->app->tab == 'project') js::set('objectID', $projectID); printExtendFields('', 'table');?> bug->files;?> - fetch('file', 'buildform', 'fileCount=1&percent=0.85');?> + + fetch('file', 'printFiles', array('files' => $caseFiles, 'fieldset' => 'false', 'object' => null, 'method' => 'edit')); + echo html::hidden('caseFiles', implode(',', array_keys($caseFiles))); + } + ?> + fetch('file', 'buildform', 'fileCount=1&percent=0.85');?> + From 2996d56fa0e4c7e903c42e9391a40df4dc8a9420 Mon Sep 17 00:00:00 2001 From: liuhong Date: Tue, 3 Jan 2023 09:14:04 +0000 Subject: [PATCH 06/61] * Finish task #81778. --- module/testcase/config.php | 2 ++ module/testtask/control.php | 6 ++++++ module/testtask/lang/de.php | 1 + module/testtask/lang/en.php | 1 + module/testtask/lang/fr.php | 1 + module/testtask/lang/zh-cn.php | 1 + module/testtask/model.php | 26 +++++++++++++++----------- module/testtask/view/linkcase.html.php | 2 ++ 8 files changed, 29 insertions(+), 11 deletions(-) diff --git a/module/testcase/config.php b/module/testcase/config.php index 26acbca266..c5cadcf6f0 100644 --- a/module/testcase/config.php +++ b/module/testcase/config.php @@ -37,6 +37,7 @@ $config->testcase->excludeCheckFileds = ',pri,type,stage,needReview,story,branch global $lang; $config->testcase->search['module'] = 'testcase'; $config->testcase->search['fields']['title'] = $lang->testcase->title; +$config->testcase->search['fields']['storyTitle'] = $lang->testcase->linkStory; $config->testcase->search['fields']['id'] = $lang->testcase->id; $config->testcase->search['fields']['keywords'] = $lang->testcase->keywords; $config->testcase->search['fields']['lastEditedBy'] = $lang->testcase->lastEditedByAB; @@ -58,6 +59,7 @@ $config->testcase->search['fields']['openedDate'] = $lang->testcase->openedD $config->testcase->search['fields']['lastEditedDate'] = $lang->testcase->lastEditedDateAB; $config->testcase->search['params']['title'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); +$config->testcase->search['params']['storyTitle'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); $config->testcase->search['params']['module'] = array('operator' => 'belong', 'control' => 'select', 'values' => 'modules'); $config->testcase->search['params']['keywords'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); $config->testcase->search['params']['lastEditedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users'); diff --git a/module/testtask/control.php b/module/testtask/control.php index d12e5cae63..8eb9073e49 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -1059,6 +1059,11 @@ class testtask extends control * Link cases to a test task. * * @param int $taskID + * @param string $type + * @param int $param + * @param int $recTotal + * @param int $recPerPage + * @param int $pageID * @access public * @return void */ @@ -1108,6 +1113,7 @@ class testtask extends control $this->config->testcase->search['style'] = 'simple'; if($product->shadow) unset($this->config->testcase->search['fields']['product']); + if($type != 'bystory') unset($this->config->testcase->search['fields']['storyTitle']); if($task->productType == 'normal') { unset($this->config->testcase->search['fields']['branch']); diff --git a/module/testtask/lang/de.php b/module/testtask/lang/de.php index 481fabdaa5..fa6ab7c3ad 100644 --- a/module/testtask/lang/de.php +++ b/module/testtask/lang/de.php @@ -131,6 +131,7 @@ $lang->testtask->priList[2] = '2'; $lang->testtask->priList[3] = '3'; $lang->testtask->priList[4] = '4'; +$lang->testcase->linkStory = 'linkStory'; $lang->testtask->unlinkedCases = 'Unverknüpfte Fälle'; $lang->testtask->linkByBuild = 'Mit Build verknüpfen'; $lang->testtask->linkByStory = 'Mit Story verknüpfen'; diff --git a/module/testtask/lang/en.php b/module/testtask/lang/en.php index 28a1f09374..08f54f1403 100644 --- a/module/testtask/lang/en.php +++ b/module/testtask/lang/en.php @@ -131,6 +131,7 @@ $lang->testtask->priList[2] = '2'; $lang->testtask->priList[3] = '3'; $lang->testtask->priList[4] = '4'; +$lang->testcase->linkStory = 'linkStory'; $lang->testtask->unlinkedCases = 'Unlinked Case'; $lang->testtask->linkByBuild = 'Copy from build'; $lang->testtask->linkByStory = 'Link by Story'; diff --git a/module/testtask/lang/fr.php b/module/testtask/lang/fr.php index 40eaf40f0f..36b9f0f3f5 100644 --- a/module/testtask/lang/fr.php +++ b/module/testtask/lang/fr.php @@ -131,6 +131,7 @@ $lang->testtask->priList[2] = '2'; $lang->testtask->priList[3] = '3'; $lang->testtask->priList[4] = '4'; +$lang->testcase->linkStory = 'linkStory'; $lang->testtask->unlinkedCases = 'CasTests Non rattachés'; $lang->testtask->linkByBuild = 'Copier depuis build'; $lang->testtask->linkByStory = 'Lier par Story'; diff --git a/module/testtask/lang/zh-cn.php b/module/testtask/lang/zh-cn.php index 74c93f4342..33759d1927 100644 --- a/module/testtask/lang/zh-cn.php +++ b/module/testtask/lang/zh-cn.php @@ -131,6 +131,7 @@ $lang->testtask->priList[2] = '2'; $lang->testtask->priList[3] = '3'; $lang->testtask->priList[4] = '4'; +$lang->testcase->linkStory = '关联需求'; $lang->testtask->unlinkedCases = '未关联'; $lang->testtask->linkByBuild = '复制测试单'; $lang->testtask->linkByStory = "按{$lang->SRCommon}关联"; diff --git a/module/testtask/model.php b/module/testtask/model.php index 11c07e5f8e..ab98d62ac7 100755 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -346,6 +346,7 @@ class testtaskModel extends model { if($this->session->testcaseQuery == false) $this->session->set('testcaseQuery', ' 1 = 1'); $query = $this->session->testcaseQuery; + if(strpos($query, 'storyTitle') !== false and $type != 'bystory') $query = '1 = 1'; $allProduct = "`product` = 'all'"; if(strpos($query, '`product` =') === false && $type != 'bysuite') $query .= " AND `product` = $productID"; if(strpos($query, $allProduct) !== false) $query = str_replace($allProduct, '1', $query); @@ -399,18 +400,21 @@ class testtaskModel extends model { $stories = $this->dao->select('stories')->from(TABLE_BUILD)->where('id')->eq($task->build)->fetch('stories'); $cases = array(); + $query = preg_replace('/`(\w+)`/', 't1.`$1`', $query); + if(strpos($query, '`storyTitle`') !== false) $query = str_replace('t1.`storyTitle`', 't2.`title`', $query); if($stories) { - $cases = $this->dao->select('*')->from(TABLE_CASE) + $cases = $this->dao->select('t1.*,t2.title as storyTitle')->from(TABLE_CASE)->alias('t1') + ->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id') ->where($query) ->beginIF($this->lang->navGroup->testtask != 'qa')->andWhere('project')->eq($this->session->project)->fi() - ->andWhere('product')->eq($productID) - ->andWhere('status')->ne('wait') - ->beginIF($linkedCases)->andWhere('id')->notIN($linkedCases)->fi() - ->beginIF($task->branch !== '')->andWhere('branch')->in("0,$task->branch")->fi() - ->andWhere('story')->in(trim($stories, ',')) - ->andWhere('deleted')->eq(0) - ->orderBy('id desc') + ->andWhere('t1.product')->eq($productID) + ->andWhere('t1.status')->ne('wait') + ->beginIF($linkedCases)->andWhere('t1.id')->notIN($linkedCases)->fi() + ->beginIF($task->branch !== '')->andWhere('t1.branch')->in("0,$task->branch")->fi() + ->andWhere('t1.story')->in(trim($stories, ',')) + ->andWhere('t1.deleted')->eq(0) + ->orderBy('t1.id desc') ->page($pager) ->fetchAll(); } @@ -1500,7 +1504,7 @@ class testtaskModel extends model $failHtml = ': ' . $this->lang->testtask->fail . ''; $passHtml = ': ' . $this->lang->testtask->pass . ''; - + $log = preg_replace(array("/:\x20失败/", "/:\x20fail/", "/:\x20成功/", "/:\x20pass/"), array($failHtml, $failHtml, $passHtml, $passHtml), $log); $logHtml .= "
  • " . $log . "
  • "; @@ -1524,11 +1528,11 @@ class testtaskModel extends model } $caseResult = $passCount ? 'pass':'fail'; - $logHtml .= "
  • " + $logHtml .= "
  • " . sprintf($this->lang->testtask->stepSummary, $total, $passCount, $failCount) . "
  • "; } - + return $logHtml; } diff --git a/module/testtask/view/linkcase.html.php b/module/testtask/view/linkcase.html.php index e052cb5e1b..c79a193708 100644 --- a/module/testtask/view/linkcase.html.php +++ b/module/testtask/view/linkcase.html.php @@ -86,6 +86,7 @@ testtask->linkVersion;?> priAB;?> testcase->title;?> + testcase->linkStory;?> testcase->type;?> openedByAB;?> testtask->lastRunAccount;?> @@ -112,6 +113,7 @@ echo ')'; ?> + story and $case->storyTitle) echo html::a(helper ::createLink('story', 'view', "storyID=$case->story"), $case->storyTitle);?> testcase->typeList[$case->type];?> openedBy);?> lastRunner);?> From 204b52f0b56bbabb1817dd98db267bf1024eaec6 Mon Sep 17 00:00:00 2001 From: liuhong Date: Tue, 3 Jan 2023 09:17:55 +0000 Subject: [PATCH 07/61] * Adjust code for task. --- module/testtask/model.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/testtask/model.php b/module/testtask/model.php index ab98d62ac7..8f0961644e 100755 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -407,7 +407,7 @@ class testtaskModel extends model $cases = $this->dao->select('t1.*,t2.title as storyTitle')->from(TABLE_CASE)->alias('t1') ->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id') ->where($query) - ->beginIF($this->lang->navGroup->testtask != 'qa')->andWhere('project')->eq($this->session->project)->fi() + ->beginIF($this->lang->navGroup->testtask != 'qa')->andWhere('t1.project')->eq($this->session->project)->fi() ->andWhere('t1.product')->eq($productID) ->andWhere('t1.status')->ne('wait') ->beginIF($linkedCases)->andWhere('t1.id')->notIN($linkedCases)->fi() From bc620ef34d23ebb9c2105caa52240dfa15e1b60e Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Tue, 3 Jan 2023 17:36:33 +0800 Subject: [PATCH 08/61] * Code for task#81779. --- module/bug/view/create.html.php | 2 +- module/file/control.php | 4 +++- module/file/view/viewfiles.html.php | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/module/bug/view/create.html.php b/module/bug/view/create.html.php index 732402cf5e..3a3b919865 100644 --- a/module/bug/view/create.html.php +++ b/module/bug/view/create.html.php @@ -369,7 +369,7 @@ if($this->app->tab == 'project') js::set('objectID', $projectID); fetch('file', 'printFiles', array('files' => $caseFiles, 'fieldset' => 'false', 'object' => null, 'method' => 'edit')); + echo $this->fetch('file', 'printFiles', array('files' => $caseFiles, 'fieldset' => 'false', 'object' => null, 'method' => 'edit', 'showDelete' => true, 'showEdit' => false)); echo html::hidden('caseFiles', implode(',', array_keys($caseFiles))); } ?> diff --git a/module/file/control.php b/module/file/control.php index 7bf6ae7588..7f2a80b4f3 100755 --- a/module/file/control.php +++ b/module/file/control.php @@ -293,16 +293,18 @@ class file extends control * @param object $object * @param string $method * @param bool $showDelete + * @param bool $showEdit * @access public * @return void */ - public function printFiles($files, $fieldset, $object = null, $method = 'view', $showDelete = true) + public function printFiles($files, $fieldset, $object = null, $method = 'view', $showDelete = true, $showEdit = true) { $this->view->files = $files; $this->view->fieldset = $fieldset; $this->view->object = $object; $this->view->method = $method; $this->view->showDelete = $showDelete; + $this->view->showEdit = $showEdit; if(strpos('view,edit', $method) !== false and $this->app->clientDevice != 'mobile') return $this->display('file', 'viewfiles'); $this->display(); diff --git a/module/file/view/viewfiles.html.php b/module/file/view/viewfiles.html.php index 2668b72ede..4ebd743da8 100644 --- a/module/file/view/viewfiles.html.php +++ b/module/file/view/viewfiles.html.php @@ -220,7 +220,7 @@ function setFileName(fileID) common::printLink('file', 'download', "fileID=$file->id", "", '_blank', "class='fileAction btn btn-link text-primary' title='{$lang->file->downloadFile}'"); if(common::hasPriv($objectType, 'edit', $object)) { - if(common::hasPriv('file', 'edit')) echo html::a('###', "", '', "id='renameFile$file->id' class='fileAction btn btn-link edit text-primary' onclick='showRenameBox($file->id)' title='{$lang->file->edit}'"); + if($showEdit and common::hasPriv('file', 'edit')) echo html::a('###', "", '', "id='renameFile$file->id' class='fileAction btn btn-link edit text-primary' onclick='showRenameBox($file->id)' title='{$lang->file->edit}'"); if($showDelete and common::hasPriv('file', 'delete')) echo html::a('###', "", '', "class='fileAction btn btn-link text-primary' onclick='deleteFile($file->id, this)' title='$lang->delete'"); } echo ''; From 43db2ac8533d2c212f379a0a9d577a768f523490 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 4 Jan 2023 08:28:55 +0800 Subject: [PATCH 09/61] * Adjust code style. --- module/bug/view/create.html.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/module/bug/view/create.html.php b/module/bug/view/create.html.php index 3a3b919865..f90c76b33f 100644 --- a/module/bug/view/create.html.php +++ b/module/bug/view/create.html.php @@ -366,14 +366,14 @@ if($this->app->tab == 'project') js::set('objectID', $projectID); bug->files;?> - fetch('file', 'printFiles', array('files' => $caseFiles, 'fieldset' => 'false', 'object' => null, 'method' => 'edit', 'showDelete' => true, 'showEdit' => false)); - echo html::hidden('caseFiles', implode(',', array_keys($caseFiles))); - } - ?> - fetch('file', 'buildform', 'fileCount=1&percent=0.85');?> + fetch('file', 'printFiles', array('files' => $caseFiles, 'fieldset' => 'false', 'object' => null, 'method' => 'edit', 'showDelete' => true, 'showEdit' => false)); + echo html::hidden('caseFiles', implode(',', array_keys($caseFiles))); + } + echo $this->fetch('file', 'buildform', 'fileCount=1&percent=0.85'); + ?> From e91bc365a45898dba3e51edc13b8226738ffdb13 Mon Sep 17 00:00:00 2001 From: liuhong Date: Wed, 4 Jan 2023 01:06:36 +0000 Subject: [PATCH 10/61] * Adjust code for task #81778. --- module/testcase/config.php | 4 ++-- module/testcase/lang/de.php | 1 + module/testcase/lang/en.php | 1 + module/testcase/lang/fr.php | 1 + module/testcase/lang/zh-cn.php | 1 + module/testtask/control.php | 11 ++++++++++- module/testtask/lang/de.php | 1 - module/testtask/lang/en.php | 1 - module/testtask/lang/fr.php | 1 - module/testtask/lang/zh-cn.php | 1 - 10 files changed, 16 insertions(+), 7 deletions(-) diff --git a/module/testcase/config.php b/module/testcase/config.php index c5cadcf6f0..283c36ac00 100644 --- a/module/testcase/config.php +++ b/module/testcase/config.php @@ -37,7 +37,7 @@ $config->testcase->excludeCheckFileds = ',pri,type,stage,needReview,story,branch global $lang; $config->testcase->search['module'] = 'testcase'; $config->testcase->search['fields']['title'] = $lang->testcase->title; -$config->testcase->search['fields']['storyTitle'] = $lang->testcase->linkStory; +$config->testcase->search['fields']['story'] = $lang->testcase->linkStory; $config->testcase->search['fields']['id'] = $lang->testcase->id; $config->testcase->search['fields']['keywords'] = $lang->testcase->keywords; $config->testcase->search['fields']['lastEditedBy'] = $lang->testcase->lastEditedByAB; @@ -59,7 +59,7 @@ $config->testcase->search['fields']['openedDate'] = $lang->testcase->openedD $config->testcase->search['fields']['lastEditedDate'] = $lang->testcase->lastEditedDateAB; $config->testcase->search['params']['title'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); -$config->testcase->search['params']['storyTitle'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); +$config->testcase->search['params']['story'] = array('operator' => 'include', 'control' => 'select', 'values' => ''); $config->testcase->search['params']['module'] = array('operator' => 'belong', 'control' => 'select', 'values' => 'modules'); $config->testcase->search['params']['keywords'] = array('operator' => 'include', 'control' => 'input', 'values' => ''); $config->testcase->search['params']['lastEditedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users'); diff --git a/module/testcase/lang/de.php b/module/testcase/lang/de.php index 1c865a72e3..ad64811882 100644 --- a/module/testcase/lang/de.php +++ b/module/testcase/lang/de.php @@ -13,6 +13,7 @@ $lang->testcase->id = 'ID'; $lang->testcase->product = $lang->productCommon; $lang->testcase->project = 'Project'; $lang->testcase->execution = 'Execution'; +$lang->testcase->linkStory = 'linkStory'; $lang->testcase->module = 'Module'; $lang->testcase->auto = 'Test Automation Cases'; $lang->testcase->frame = 'Test Automation Cramework'; diff --git a/module/testcase/lang/en.php b/module/testcase/lang/en.php index b50993b46c..72e5991595 100644 --- a/module/testcase/lang/en.php +++ b/module/testcase/lang/en.php @@ -13,6 +13,7 @@ $lang->testcase->id = 'ID'; $lang->testcase->product = $lang->productCommon; $lang->testcase->project = 'Project'; $lang->testcase->execution = 'Execution'; +$lang->testcase->linkStory = 'linkStory'; $lang->testcase->module = 'Module'; $lang->testcase->auto = 'Test Automation Cases'; $lang->testcase->frame = 'Test Automation Cramework'; diff --git a/module/testcase/lang/fr.php b/module/testcase/lang/fr.php index da07973081..670943aee9 100644 --- a/module/testcase/lang/fr.php +++ b/module/testcase/lang/fr.php @@ -13,6 +13,7 @@ $lang->testcase->id = 'ID'; $lang->testcase->product = $lang->productCommon; $lang->testcase->project = 'Project'; $lang->testcase->execution = 'Execution'; +$lang->testcase->linkStory = 'linkStory'; $lang->testcase->module = 'Module'; $lang->testcase->auto = 'Test Automation Cases'; $lang->testcase->frame = 'Test Automation Cramework'; diff --git a/module/testcase/lang/zh-cn.php b/module/testcase/lang/zh-cn.php index 835cedb468..956d9281f3 100644 --- a/module/testcase/lang/zh-cn.php +++ b/module/testcase/lang/zh-cn.php @@ -13,6 +13,7 @@ $lang->testcase->id = '用例编号'; $lang->testcase->product = "所属{$lang->productCommon}"; $lang->testcase->project = '所属项目'; $lang->testcase->execution = '所属执行'; +$lang->testcase->linkStory = '关联需求'; $lang->testcase->module = '所属模块'; $lang->testcase->auto = '自动化测试用例'; $lang->testcase->frame = '自动化测试框架'; diff --git a/module/testtask/control.php b/module/testtask/control.php index 8eb9073e49..7995699047 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -1112,8 +1112,17 @@ class testtask extends control $this->config->testcase->search['actionURL'] = inlink('linkcase', "taskID=$taskID&type=$type¶m=$param"); $this->config->testcase->search['style'] = 'simple'; + $build = $this->loadModel('build')->getByID($task->build); + $stories = array(); + if($build) + { + $stories = $this->dao->select('id,title')->from(TABLE_STORY)->where('id')->in($build->stories)->fetchPairs(); + $this->config->testcase->search['params']['story']['values'] = $stories; + $this->loadModel('common')->saveQueryCondition($this->dao->get(), 'story'); + } + if($product->shadow) unset($this->config->testcase->search['fields']['product']); - if($type != 'bystory') unset($this->config->testcase->search['fields']['storyTitle']); + if($type != 'bystory') unset($this->config->testcase->search['fields']['story']); if($task->productType == 'normal') { unset($this->config->testcase->search['fields']['branch']); diff --git a/module/testtask/lang/de.php b/module/testtask/lang/de.php index fa6ab7c3ad..481fabdaa5 100644 --- a/module/testtask/lang/de.php +++ b/module/testtask/lang/de.php @@ -131,7 +131,6 @@ $lang->testtask->priList[2] = '2'; $lang->testtask->priList[3] = '3'; $lang->testtask->priList[4] = '4'; -$lang->testcase->linkStory = 'linkStory'; $lang->testtask->unlinkedCases = 'Unverknüpfte Fälle'; $lang->testtask->linkByBuild = 'Mit Build verknüpfen'; $lang->testtask->linkByStory = 'Mit Story verknüpfen'; diff --git a/module/testtask/lang/en.php b/module/testtask/lang/en.php index 08f54f1403..28a1f09374 100644 --- a/module/testtask/lang/en.php +++ b/module/testtask/lang/en.php @@ -131,7 +131,6 @@ $lang->testtask->priList[2] = '2'; $lang->testtask->priList[3] = '3'; $lang->testtask->priList[4] = '4'; -$lang->testcase->linkStory = 'linkStory'; $lang->testtask->unlinkedCases = 'Unlinked Case'; $lang->testtask->linkByBuild = 'Copy from build'; $lang->testtask->linkByStory = 'Link by Story'; diff --git a/module/testtask/lang/fr.php b/module/testtask/lang/fr.php index 36b9f0f3f5..40eaf40f0f 100644 --- a/module/testtask/lang/fr.php +++ b/module/testtask/lang/fr.php @@ -131,7 +131,6 @@ $lang->testtask->priList[2] = '2'; $lang->testtask->priList[3] = '3'; $lang->testtask->priList[4] = '4'; -$lang->testcase->linkStory = 'linkStory'; $lang->testtask->unlinkedCases = 'CasTests Non rattachés'; $lang->testtask->linkByBuild = 'Copier depuis build'; $lang->testtask->linkByStory = 'Lier par Story'; diff --git a/module/testtask/lang/zh-cn.php b/module/testtask/lang/zh-cn.php index 33759d1927..74c93f4342 100644 --- a/module/testtask/lang/zh-cn.php +++ b/module/testtask/lang/zh-cn.php @@ -131,7 +131,6 @@ $lang->testtask->priList[2] = '2'; $lang->testtask->priList[3] = '3'; $lang->testtask->priList[4] = '4'; -$lang->testcase->linkStory = '关联需求'; $lang->testtask->unlinkedCases = '未关联'; $lang->testtask->linkByBuild = '复制测试单'; $lang->testtask->linkByStory = "按{$lang->SRCommon}关联"; From bf0ee11b8027913fb89665eac77b82247de09946 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 4 Jan 2023 09:11:27 +0800 Subject: [PATCH 11/61] * Code for task#81779. --- module/bug/control.php | 2 +- module/bug/model.php | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/module/bug/control.php b/module/bug/control.php index b49a67aedd..fd319ddb3d 100755 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -665,7 +665,7 @@ class bug extends control $this->view->storyID = $storyID; $this->view->buildID = $buildID; $this->view->caseID = $caseID; - $this->view->caseFiles = isset($caseFiles) ? $caseFiles : array(); + $this->view->caseFiles = $caseID ? $this->loadModel('file')->getByObject('testcase', $caseID) : array(); $this->view->runID = $runID; $this->view->version = $version; $this->view->testtask = $testtask; diff --git a/module/bug/model.php b/module/bug/model.php index 748057d086..d94e517439 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -2296,9 +2296,7 @@ class bugModel extends model if(!$executionID and $caseID > 0) $executionID = isset($run->case->execution) ? $run->case->execution : 0; // Fix feedback #1043. if(!$executionID and $this->app->tab == 'execution') $executionID = $this->session->execution; - $caseFiles = $caseID ? $this->loadModel('file')->getByObject('testcase', $caseID) : array(); - - return array('title' => $title, 'steps' => $bugSteps, 'storyID' => $run->case->story, 'moduleID' => $run->case->module, 'version' => $run->case->version, 'executionID' => $executionID, 'caseFiles' => $caseFiles); + return array('title' => $title, 'steps' => $bugSteps, 'storyID' => $run->case->story, 'moduleID' => $run->case->module, 'version' => $run->case->version, 'executionID' => $executionID); } /** From 86c398672d4ba99ef4df1c6d10518b6853a72a92 Mon Sep 17 00:00:00 2001 From: liuhong Date: Wed, 4 Jan 2023 01:23:31 +0000 Subject: [PATCH 12/61] * Adjust code --- module/testtask/model.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/module/testtask/model.php b/module/testtask/model.php index 8f0961644e..c88a7bdf4f 100755 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -346,7 +346,7 @@ class testtaskModel extends model { if($this->session->testcaseQuery == false) $this->session->set('testcaseQuery', ' 1 = 1'); $query = $this->session->testcaseQuery; - if(strpos($query, 'storyTitle') !== false and $type != 'bystory') $query = '1 = 1'; + $allProduct = "`product` = 'all'"; if(strpos($query, '`product` =') === false && $type != 'bysuite') $query .= " AND `product` = $productID"; if(strpos($query, $allProduct) !== false) $query = str_replace($allProduct, '1', $query); @@ -401,7 +401,6 @@ class testtaskModel extends model $stories = $this->dao->select('stories')->from(TABLE_BUILD)->where('id')->eq($task->build)->fetch('stories'); $cases = array(); $query = preg_replace('/`(\w+)`/', 't1.`$1`', $query); - if(strpos($query, '`storyTitle`') !== false) $query = str_replace('t1.`storyTitle`', 't2.`title`', $query); if($stories) { $cases = $this->dao->select('t1.*,t2.title as storyTitle')->from(TABLE_CASE)->alias('t1') From 13d6441857d71d31cca96df790262ca2840bd4e1 Mon Sep 17 00:00:00 2001 From: liuhong Date: Wed, 4 Jan 2023 01:25:07 +0000 Subject: [PATCH 13/61] * Adjust code --- module/testtask/model.php | 1 - 1 file changed, 1 deletion(-) diff --git a/module/testtask/model.php b/module/testtask/model.php index c88a7bdf4f..9042218934 100755 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -346,7 +346,6 @@ class testtaskModel extends model { if($this->session->testcaseQuery == false) $this->session->set('testcaseQuery', ' 1 = 1'); $query = $this->session->testcaseQuery; - $allProduct = "`product` = 'all'"; if(strpos($query, '`product` =') === false && $type != 'bysuite') $query .= " AND `product` = $productID"; if(strpos($query, $allProduct) !== false) $query = str_replace($allProduct, '1', $query); From e8edfb8df85535471a9567028538feb174690a53 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 4 Jan 2023 09:33:13 +0800 Subject: [PATCH 14/61] * Code for task#81779. --- module/bug/control.php | 2 +- module/bug/model.php | 10 +++++----- module/bug/view/create.html.php | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/module/bug/control.php b/module/bug/control.php index fd319ddb3d..7ab5ace364 100755 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -665,7 +665,7 @@ class bug extends control $this->view->storyID = $storyID; $this->view->buildID = $buildID; $this->view->caseID = $caseID; - $this->view->caseFiles = $caseID ? $this->loadModel('file')->getByObject('testcase', $caseID) : array(); + $this->view->resultFiles = $resultID ? $this->loadModel('file')->getByObject('stepResult', $resultID) : array(); $this->view->runID = $runID; $this->view->version = $version; $this->view->testtask = $testtask; diff --git a/module/bug/model.php b/module/bug/model.php index d94e517439..96b0019c62 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -78,7 +78,7 @@ class bugModel extends model ->join('mailto', ',') ->join('os', ',') ->join('browser', ',') - ->remove('files,labels,uid,oldTaskID,contactListMenu,region,lane,ticket,deleteFiles,caseFiles') + ->remove('files,labels,uid,oldTaskID,contactListMenu,region,lane,ticket,deleteFiles,resultFiles') ->get(); /* Check repeat bug. */ @@ -98,14 +98,14 @@ class bugModel extends model { $bugID = $this->dao->lastInsertID(); - if(isset($_POST['caseFiles'])) + if(isset($_POST['resultFiles'])) { - $caseFiles = $_POST['caseFiles']; + $resultFiles = $_POST['resultFiles']; if(isset($_POST['deleteFiles'])) { - foreach($_POST['deleteFiles'] as $deletedCaseFileID) $caseFiles = trim(str_replace(",$deletedCaseFileID,", ',', ",$caseFiles,"), ','); + foreach($_POST['deleteFiles'] as $deletedCaseFileID) $resultFiles = trim(str_replace(",$deletedCaseFileID,", ',', ",$resultFiles,"), ','); } - $files = $this->dao->select('*')->from(TABLE_FILE)->where('id')->in($caseFiles)->fetchAll('id'); + $files = $this->dao->select('*')->from(TABLE_FILE)->where('id')->in($resultFiles)->fetchAll('id'); foreach($files as $file) { unset($file->id); diff --git a/module/bug/view/create.html.php b/module/bug/view/create.html.php index f90c76b33f..82b35e3190 100644 --- a/module/bug/view/create.html.php +++ b/module/bug/view/create.html.php @@ -369,8 +369,8 @@ if($this->app->tab == 'project') js::set('objectID', $projectID); fetch('file', 'printFiles', array('files' => $caseFiles, 'fieldset' => 'false', 'object' => null, 'method' => 'edit', 'showDelete' => true, 'showEdit' => false)); - echo html::hidden('caseFiles', implode(',', array_keys($caseFiles))); + echo $this->fetch('file', 'printFiles', array('files' => $resultFiles, 'fieldset' => 'false', 'object' => null, 'method' => 'edit', 'showDelete' => true, 'showEdit' => false)); + echo html::hidden('resultFiles', implode(',', array_keys($resultFiles))); } echo $this->fetch('file', 'buildform', 'fileCount=1&percent=0.85'); ?> From 892b7d6b8a8e996c604d29795de33525c2bf8503 Mon Sep 17 00:00:00 2001 From: liuhong Date: Wed, 4 Jan 2023 03:31:00 +0000 Subject: [PATCH 15/61] * Fix bug #82220. --- module/execution/control.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/module/execution/control.php b/module/execution/control.php index bb833b35e9..ef5404be22 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -1678,8 +1678,14 @@ class execution extends control } $importPlanStoryTips = $multiBranchProduct ? $this->lang->execution->importBranchPlanStory : $this->lang->execution->importPlanStory; + if(!$execution->hasProduct) + { + return print(js::locate(inlink('create', "projectID=$projectID&executionID=$executionID"))); + }else + { + return print(js::confirm($importPlanStoryTips, inlink('create', "projectID=$projectID&executionID=$executionID©ExecutionID=&planID=$planID&confirm=yes"), inlink('create', "projectID=$projectID&executionID=$executionID"))); - return print(js::confirm($importPlanStoryTips, inlink('create', "projectID=$projectID&executionID=$executionID©ExecutionID=&planID=$planID&confirm=yes"), inlink('create', "projectID=$projectID&executionID=$executionID"))); + } } } From 06700413b1a7ff2d40ea8098c06d06a7f7ab6199 Mon Sep 17 00:00:00 2001 From: liuhong Date: Wed, 4 Jan 2023 05:54:47 +0000 Subject: [PATCH 16/61] * Adjust code. --- module/execution/control.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/module/execution/control.php b/module/execution/control.php index ef5404be22..064bc06fe2 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -1681,7 +1681,8 @@ class execution extends control if(!$execution->hasProduct) { return print(js::locate(inlink('create', "projectID=$projectID&executionID=$executionID"))); - }else + } + else { return print(js::confirm($importPlanStoryTips, inlink('create', "projectID=$projectID&executionID=$executionID©ExecutionID=&planID=$planID&confirm=yes"), inlink('create', "projectID=$projectID&executionID=$executionID"))); From c2fd82381d87660e696133dd89d8914b1464b42b Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 4 Jan 2023 16:28:28 +0800 Subject: [PATCH 17/61] * Fix bug of preview file. --- config/zentaopms.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/config/zentaopms.php b/config/zentaopms.php index 2d3fe90dfa..36d0182f2b 100644 --- a/config/zentaopms.php +++ b/config/zentaopms.php @@ -404,8 +404,9 @@ $config->objectTables['stage'] = TABLE_STAGE; $config->objectTables['apistruct'] = TABLE_APISTRUCT; $config->objectTables['repo'] = TABLE_REPO; $config->objectTables['dataview'] = TABLE_DATAVIEW; -$config->objectTables['zahost'] = TABLE_ZAHOST; -$config->objectTables['automation'] = TABLE_AUTOMATION; +$config->objectTables['zahost'] = TABLE_ZAHOST; +$config->objectTables['automation'] = TABLE_AUTOMATION; +$config->objectTables['stepResult'] = TABLE_TESTRUN; $config->newFeatures = array('introduction', 'tutorial', 'youngBlueTheme', 'visions'); $config->disabledFeatures = ''; From ee5aacbd35313fff184ad7672bee6ed58e2261ee Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Thu, 5 Jan 2023 10:05:45 +0800 Subject: [PATCH 18/61] * Fix bug#31467. --- module/bug/control.php | 2 +- module/file/model.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/module/bug/control.php b/module/bug/control.php index 7ab5ace364..e17eaabb5b 100755 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -665,7 +665,7 @@ class bug extends control $this->view->storyID = $storyID; $this->view->buildID = $buildID; $this->view->caseID = $caseID; - $this->view->resultFiles = $resultID ? $this->loadModel('file')->getByObject('stepResult', $resultID) : array(); + $this->view->resultFiles = ($resultID and $stepIdList)? $this->loadModel('file')->getByObject('stepResult', $resultID, str_replace('_', ',', $stepIdList)) : array(); $this->view->runID = $runID; $this->view->version = $version; $this->view->testtask = $testtask; diff --git a/module/file/model.php b/module/file/model.php index 7bca92a246..c0adf7d535 100755 --- a/module/file/model.php +++ b/module/file/model.php @@ -46,7 +46,7 @@ class fileModel extends model ->where('objectType')->eq($objectType) ->andWhere('objectID')->in($objectID) ->andWhere('extra')->ne('editor') - ->beginIF($extra)->andWhere('extra')->eq($extra) + ->beginIF($extra)->andWhere('extra')->in($extra)->fi() ->andWhere('deleted')->eq('0') ->orderBy('id') ->fetchAll('id'); From 97d4792fbf704dec0e40eabc778754fcb5b37106 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Thu, 5 Jan 2023 10:13:34 +0800 Subject: [PATCH 19/61] * Fix bug of create bug. --- module/bug/control.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/bug/control.php b/module/bug/control.php index e17eaabb5b..1503324708 100755 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -665,7 +665,7 @@ class bug extends control $this->view->storyID = $storyID; $this->view->buildID = $buildID; $this->view->caseID = $caseID; - $this->view->resultFiles = ($resultID and $stepIdList)? $this->loadModel('file')->getByObject('stepResult', $resultID, str_replace('_', ',', $stepIdList)) : array(); + $this->view->resultFiles = (!empty($resultID) and !empty($stepIdList)) ? $this->loadModel('file')->getByObject('stepResult', $resultID, str_replace('_', ',', $stepIdList)) : array(); $this->view->runID = $runID; $this->view->version = $version; $this->view->testtask = $testtask; From 5e26183cbbd545b173926447530e7868662c0c24 Mon Sep 17 00:00:00 2001 From: liuhong Date: Thu, 5 Jan 2023 07:43:34 +0000 Subject: [PATCH 20/61] * Fix bug for 30923 with get ProductID. --- module/bug/config.php | 2 +- module/bug/model.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/module/bug/config.php b/module/bug/config.php index 9bf3ff5a95..e4a2983a76 100644 --- a/module/bug/config.php +++ b/module/bug/config.php @@ -205,7 +205,7 @@ $config->bug->datatable->fieldList['branch']['fixed'] = 'left'; $config->bug->datatable->fieldList['branch']['width'] = '100'; $config->bug->datatable->fieldList['branch']['required'] = 'no'; $config->bug->datatable->fieldList['branch']['control'] = 'select'; -$config->bug->datatable->fieldList['branch']['dataSource'] = array('module' => 'bug', 'method' => 'getRelatedObjects', 'params' => 'branch&id,name'); +$config->bug->datatable->fieldList['branch']['dataSource'] = array('module' => 'bug', 'method' => 'getRelatedObjects', 'params' => 'branch&id,name&$productID'); $config->bug->datatable->fieldList['type']['title'] = 'type'; $config->bug->datatable->fieldList['type']['fixed'] = 'no'; diff --git a/module/bug/model.php b/module/bug/model.php index 96b0019c62..cc4e95a5bc 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -3711,10 +3711,11 @@ class bugModel extends model * * @param int $object * @param string $pairs + * @param int $productID * @access public * @return void */ - public function getRelatedObjects($object, $pairs = '') + public function getRelatedObjects($object, $pairs = '', $productID = 0) { /* Get bugs. */ $bugs = $this->loadModel('transfer')->getQueryDatas('bug'); @@ -3732,7 +3733,6 @@ class bugModel extends model if($table) $relatedObjects = $this->dao->select($pairs)->from($table)->where('id')->in($relatedObjectIdList)->fetchPairs(); if($object == 'branch' and $this->session->currentProductType != 'normal') { - $productID = current($bugs)->product; $relatedObjects = $this->dao->select($pairs)->from($table)->where('product')->eq($productID)->fetchPairs(); } From 212debf30fd42fb887fac084049f03c77e517012 Mon Sep 17 00:00:00 2001 From: liuhong Date: Fri, 6 Jan 2023 00:52:01 +0000 Subject: [PATCH 21/61] * Rollback version, the modification of the data source in the general version has been resolved to avoid conflicts --- module/bug/config.php | 2 +- module/bug/model.php | 9 ++------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/module/bug/config.php b/module/bug/config.php index e4a2983a76..060992e9ab 100644 --- a/module/bug/config.php +++ b/module/bug/config.php @@ -205,7 +205,7 @@ $config->bug->datatable->fieldList['branch']['fixed'] = 'left'; $config->bug->datatable->fieldList['branch']['width'] = '100'; $config->bug->datatable->fieldList['branch']['required'] = 'no'; $config->bug->datatable->fieldList['branch']['control'] = 'select'; -$config->bug->datatable->fieldList['branch']['dataSource'] = array('module' => 'bug', 'method' => 'getRelatedObjects', 'params' => 'branch&id,name&$productID'); +$config->bug->datatable->fieldList['branch']['dataSource'] = array('module' => 'branch', 'method' => 'getPairs', 'params' => '$productID'); $config->bug->datatable->fieldList['type']['title'] = 'type'; $config->bug->datatable->fieldList['type']['fixed'] = 'no'; diff --git a/module/bug/model.php b/module/bug/model.php index cc4e95a5bc..e61c3a604f 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -3711,11 +3711,10 @@ class bugModel extends model * * @param int $object * @param string $pairs - * @param int $productID * @access public * @return void */ - public function getRelatedObjects($object, $pairs = '', $productID = 0) + public function getRelatedObjects($object, $pairs = '') { /* Get bugs. */ $bugs = $this->loadModel('transfer')->getQueryDatas('bug'); @@ -3731,12 +3730,8 @@ class bugModel extends model /* Get related objects title or names. */ $table = $this->config->objectTables[$object]; if($table) $relatedObjects = $this->dao->select($pairs)->from($table)->where('id')->in($relatedObjectIdList)->fetchPairs(); - if($object == 'branch' and $this->session->currentProductType != 'normal') - { - $relatedObjects = $this->dao->select($pairs)->from($table)->where('product')->eq($productID)->fetchPairs(); - } - if(in_array($object, array('build','resolvedBuild','branch'))) $relatedObjects = array('trunk' => $this->lang->trunk) + $relatedObjects; + if(in_array($object, array('build','resolvedBuild'))) $relatedObjects = array('trunk' => $this->lang->trunk) + $relatedObjects; return array('' => '', 0 => '') + $relatedObjects; } From 1c7e9b7d14494f00cb42394c6d2d6a281bf2fa74 Mon Sep 17 00:00:00 2001 From: liuhong Date: Fri, 6 Jan 2023 01:35:10 +0000 Subject: [PATCH 22/61] * Fix bug #31521. --- module/productplan/view/view.html.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/module/productplan/view/view.html.php b/module/productplan/view/view.html.php index d01f599e3b..41ee03b6b5 100644 --- a/module/productplan/view/view.html.php +++ b/module/productplan/view/view.html.php @@ -137,17 +137,17 @@ idAB);?> - productplan->updateOrder);?> + productplan->updateOrder);?> story->title);?> - story->module);?> + story->module);?> priAB);?> statusAB);?> openedByAB);?> assignedToAB);?> - story->estimateAB);?> + story->estimateAB);?> story->stageAB);?> - actions?> + actions?> From ad23d6afe1cd93d273714518d5236da0ac08dfc9 Mon Sep 17 00:00:00 2001 From: liuhong Date: Fri, 6 Jan 2023 03:24:26 +0000 Subject: [PATCH 23/61] * Fix task 82219. --- module/story/control.php | 19 ++++++++++++++++--- module/story/view/batchedit.html.php | 2 +- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/module/story/control.php b/module/story/control.php index 34fffa959d..49711e9e11 100755 --- a/module/story/control.php +++ b/module/story/control.php @@ -1136,6 +1136,7 @@ class story extends control /* Append module when change product type. */ $moduleList = array(0 => '/'); $productStoryList = array(); + $storyPlans = array(); foreach($stories as $story) { if(isset($modules[$story->product][$story->branch])) @@ -1153,6 +1154,18 @@ class story extends control $branch = $storyProduct->type == 'branch' ? ($story->branch > 0 ? $story->branch : '0') : 'all'; if(!isset($productStoryList[$story->product][$story->branch])) $productStoryList[$story->product][$story->branch] = $this->story->getProductStoryPairs($story->product, $branch, 0, 'all', 'id_desc', 0, '', $story->type); } + + if(isset($plans[$story->product][$story->branch]) and zget($plans[$story->product][$story->branch], $story->plan)) + { + $storyPlans = $plans[$story->product][$story->branch]; + $planInfo = $this->dao->select('id,title,begin,end')->from(TABLE_PRODUCTPLAN)->where('id')->eq($story->plan)->fetchAll('id'); + + $storyPlans[$story->plan] = $planInfo[$story->plan]->title . ' [' . $planInfo[$story->plan]->begin . '~' . $planInfo[$story->plan]->end . ']'; + } + else + { + $storyPlans = $plans; + } } $this->view->title = $this->lang->story->batchEdit; @@ -1166,7 +1179,7 @@ class story extends control $this->view->branchProduct = $branchProduct; $this->view->storyIdList = $storyIdList; $this->view->branch = $branch; - $this->view->plans = array('' => '') + $plans; + $this->view->plans = array('' => '') + $storyPlans; $this->view->storyType = $storyType; $this->view->stories = $stories; $this->view->executionID = $executionID; @@ -3068,8 +3081,8 @@ class story extends control /** * Ajax get story pairs. - * - * @param int $storyID + * + * @param int $storyID * @access public * @return void */ diff --git a/module/story/view/batchedit.html.php b/module/story/view/batchedit.html.php index aa4c55ddd8..b0145dcd3b 100644 --- a/module/story/view/batchedit.html.php +++ b/module/story/view/batchedit.html.php @@ -85,7 +85,7 @@ foreach(explode(',', $showFields) as $field) '> parent < 0 ? "disabled='disabled'" : '';?> - product][$story->branch]) ? array('' => '') + $plans[$story->product][$story->branch] : '', $story->plan, "class='form-control picker-select' data-drop-width='auto' $planDisabled");?> + '') + $plans : '', $story->plan, "class='form-control picker-select' data-drop-width='auto' $planDisabled");?> From d71ca3ac54d425cfe528af36cd9d7deaa416df2a Mon Sep 17 00:00:00 2001 From: liuhong Date: Fri, 6 Jan 2023 04:10:54 +0000 Subject: [PATCH 24/61] * Fix bug #31538. --- module/testtask/control.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/module/testtask/control.php b/module/testtask/control.php index 7995699047..1503e1cf00 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -1122,7 +1122,11 @@ class testtask extends control } if($product->shadow) unset($this->config->testcase->search['fields']['product']); - if($type != 'bystory') unset($this->config->testcase->search['fields']['story']); + if($type != 'bystory') + { + unset($this->config->testcase->search['fields']['story']); + unset($this->config->testcase->search['params']['story']); + } if($task->productType == 'normal') { unset($this->config->testcase->search['fields']['branch']); From b56ec5f7f550c30e7050becc75e35cef692b54fd Mon Sep 17 00:00:00 2001 From: liuhong Date: Mon, 9 Jan 2023 01:44:17 +0000 Subject: [PATCH 25/61] * Finish story #41436. --- module/programplan/view/gantt.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/programplan/view/gantt.html.php b/module/programplan/view/gantt.html.php index e583097b6c..23448bef8a 100755 --- a/module/programplan/view/gantt.html.php +++ b/module/programplan/view/gantt.html.php @@ -107,8 +107,8 @@ form {display: block; margin-top: 0em; margin-block-end: 1em;}
    - createLink('project', 'execution', "status=all&projectID=$projectID"),"  ", '', "class='btn btn-icon switchBtn' title='{$lang->project->bylist}'");?>  ", '', "class='btn btn-icon text-primary switchBtn' title='{$lang->programplan->gantt}'");?> + createLink('project', 'execution', "status=all&projectID=$projectID"),"  ", '', "class='btn btn-icon switchBtn' title='{$lang->project->bylist}'");?>
    programplan->full;?>
    From a2342f7ecacf7e966882af1dd6f7fb20bd604b40 Mon Sep 17 00:00:00 2001 From: liuhong Date: Mon, 9 Jan 2023 03:06:41 +0000 Subject: [PATCH 26/61] * Add project for auditplan #40669. --- module/my/control.php | 1 + 1 file changed, 1 insertion(+) diff --git a/module/my/control.php b/module/my/control.php index 75e03d3233..bb3a09b65c 100755 --- a/module/my/control.php +++ b/module/my/control.php @@ -1016,6 +1016,7 @@ EOF; $auditplans = $this->auditplan->getList(0, $browseType, $param, $orderBy, $pager); $this->view->executions = $this->loadModel('execution')->getPairs(); + $this->view->projects = $this->loadModel('project')->getPairs(); $this->view->processTypeList = $this->lang->process->classify; $this->view->processes = $this->pssp->getProcesses(); $this->view->activities = $this->pssp->getActivityPairs(); From 7bbeded71698987a81108de87b4cd352abf47773 Mon Sep 17 00:00:00 2001 From: liuhong Date: Mon, 9 Jan 2023 05:22:53 +0000 Subject: [PATCH 27/61] * Adjust code. --- module/project/view/execution.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/project/view/execution.html.php b/module/project/view/execution.html.php index 05e9c4cb9a..219f2c8bf3 100644 --- a/module/project/view/execution.html.php +++ b/module/project/view/execution.html.php @@ -45,8 +45,8 @@
    model == 'waterfall' and $this->config->edition == 'max'):?>
    -  ", '', "class='btn btn-icon text-primary switchBtn' title='{$lang->project->bylist}'");?> createLink('programplan', 'browse', "projectID=$projectID&productID=$productID&type=gantt"), "  ", '', "class='btn btn-icon switchBtn' title='{$lang->programplan->gantt}'");?> +  ", '', "class='btn btn-icon text-primary switchBtn' title='{$lang->project->bylist}'");?>
    " . $lang->export, '', "class='btn btn-link export'")?> From 62967bf48b8be51e473622e31485be5c7a0cb9c4 Mon Sep 17 00:00:00 2001 From: liuhong Date: Thu, 12 Jan 2023 01:47:48 +0000 Subject: [PATCH 28/61] * Fix bug #31524. --- module/productplan/js/view.js | 7 +++++++ module/productplan/view/view.html.php | 4 ++-- module/release/js/view.js | 27 ++++++++++++++++++++++++--- 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/module/productplan/js/view.js b/module/productplan/js/view.js index 1658a7a071..8c55c57ffe 100644 --- a/module/productplan/js/view.js +++ b/module/productplan/js/view.js @@ -69,6 +69,13 @@ $(function() infoShowed = true; } + if(href !== '') + { + type = href == '#stories' ? 'story' : (href == '#bugs' ? 'bug' : 'planInfo'); + var viewLink = createLink('productplan', 'view', 'planID=' + planID + '&type=' + type + (typeof(param) == 'undefined' ? '' : param) + (typeof(orderBy) == 'undefined' ? '' : "&orderBy=" + orderBy)); + if(type == 'planInfo') viewLink = createLink('productplan', 'view', 'planID=' + planID + '&type=' + type); + self.location.href = viewLink; + } }); $('#storyList').on('sort.sortable', function(e, data) diff --git a/module/productplan/view/view.html.php b/module/productplan/view/view.html.php index 41ee03b6b5..e7df627a15 100644 --- a/module/productplan/view/view.html.php +++ b/module/productplan/view/view.html.php @@ -66,7 +66,7 @@ -
  • +
  • '> icons['plan'], 'text-info') . ' ' . $lang->productplan->view;?>
  • @@ -533,7 +533,7 @@
    -
    +
    '>
    productplan->basicInfo;?>
    diff --git a/module/release/js/view.js b/module/release/js/view.js index 3fe9cdb5b1..e14f125052 100644 --- a/module/release/js/view.js +++ b/module/release/js/view.js @@ -10,9 +10,9 @@ function showLink(releaseID, type, param) /** * Load URL. - * - * @param string $url - * @param string$type + * + * @param string $url + * @param string$type * @access public * @return void */ @@ -68,5 +68,26 @@ $(function() infoShowed = true; } + if(href !== '') + { + switch(href) + { + case '#stories': + type = 'story'; + break; + case '#bugs': + type = 'bug'; + break; + case '#leftBugs': + type = 'leftBug'; + break; + case '#releaseInfo': + type = 'releaseInfo'; + break; + } + var viewLink = createLink('release', 'view', 'releaseID=' + releaseID + '&type=' + type + '&link=' + link + (typeof(param) == 'undefined' ? '' : param) + (typeof(orderBy) == 'undefined' ? '' : "&orderBy=" + orderBy)); + if(type == 'releaseInfo') viewLink = createLink('release', 'view', 'releaseID=' + releaseID + '&type=' + type); + self.location.href = viewLink; + } }); }) From 2e21fef01e563199151348e8696b2cacefec7eab Mon Sep 17 00:00:00 2001 From: zhaoke Date: Tue, 31 Jan 2023 02:29:51 +0000 Subject: [PATCH 29/61] * Add lost sql. --- db/update18.0.beta3.sql | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/db/update18.0.beta3.sql b/db/update18.0.beta3.sql index 1b89108373..84d6e98de7 100644 --- a/db/update18.0.beta3.sql +++ b/db/update18.0.beta3.sql @@ -1,3 +1,9 @@ +ALTER TABLE `zt_host` ADD `type` varchar(30) NOT NULL DEFAULT 'normal' AFTER `admin`; +ALTER TABLE `zt_host` ADD `secret` varchar(50) NOT NULL DEFAULT '' AFTER `type`; +ALTER TABLE `zt_host` ADD `token` varchar(50) NOT NULL DEFAULT '' AFTER `secret`; +ALTER TABLE `zt_host` ADD `expiredDate` datetime NOT NULL AFTER `token`; +ALTER TABLE `zt_host` ADD `virtualSoftware` varchar(30) NOT NULL DEFAULT '' AFTER `expiredDate`; + ALTER TABLE `zt_host` DROP COLUMN `cabinet`, DROP COLUMN `cpuRate`, @@ -58,7 +64,6 @@ h.`createdDate` = a.`createdDate`, h.`editedBy` = a.`editedBy`, h.`editedDate` = a.`editedDate`, h.`group` = a.`group`, -h.`type` = a.`type`, h.`deleted` = a.`deleted` WHERE h.`assetID` = a.`id`; From e31ddb13815559cb721e16828ee311c862e200db Mon Sep 17 00:00:00 2001 From: zhaoke Date: Tue, 31 Jan 2023 08:33:19 +0000 Subject: [PATCH 30/61] * Fix bug #31841. --- config/zentaopms.php | 2 +- module/zahost/control.php | 9 +++++++-- module/zanode/control.php | 13 +++++++++++-- module/zanode/js/view.js | 8 ++++++++ 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/config/zentaopms.php b/config/zentaopms.php index 2d3fe90dfa..8f5e56b730 100644 --- a/config/zentaopms.php +++ b/config/zentaopms.php @@ -227,7 +227,7 @@ $config->openMethods[] = 'doc.createbasicinfo'; $config->openMethods[] = 'project.createguide'; $config->openMethods[] = 'task.editteam'; $config->openMethods[] = 'feedback.mergeproductmodule'; -$config->openMethods[] = 'zahost.introduction'; +$config->openMethods[] = 'zanode.list'; $config->openModules = array(); $config->openModules[] = 'install'; diff --git a/module/zahost/control.php b/module/zahost/control.php index e201c83b2d..504a12eea7 100644 --- a/module/zahost/control.php +++ b/module/zahost/control.php @@ -43,8 +43,13 @@ class zahost extends control $this->loadModel('search')->setSearchParams($this->config->zahost->search); $showFeature = false; - $skipAutomation = !empty($this->config->global->skipAutomation) ? $this->config->global->skipAutomation : ''; - if(strpos(",$skipAutomation,", $this->app->user->account) === false) $showFeature = true; + $accounts = !empty($this->config->global->skipAutomation) ? $this->config->global->skipAutomation : ''; + if(strpos(",$accounts,", $this->app->user->account) === false) + { + $showFeature = true; + $accounts .= ',' . $this->app->user->account; + $this->loadModel('setting')->setItem('system.common.global.skipAutomation', $accounts); + } $this->view->title = $this->lang->zahost->common; $this->view->hostList = $hostList; diff --git a/module/zanode/control.php b/module/zanode/control.php index 54de57f57e..e7cae7beef 100644 --- a/module/zanode/control.php +++ b/module/zanode/control.php @@ -44,8 +44,13 @@ class zanode extends control $this->loadModel('search')->setSearchParams($this->config->zanode->search); $showFeature = false; - $skipAutomation = !empty($this->config->global->skipAutomation) ? $this->config->global->skipAutomation : ''; - if(strpos(",$skipAutomation,", $this->app->user->account) === false) $showFeature = true; + $accounts = !empty($this->config->global->skipAutomation) ? $this->config->global->skipAutomation : ''; + if(strpos(",$accounts,", $this->app->user->account) === false) + { + $showFeature = true; + $accounts .= ',' . $this->app->user->account; + $this->loadModel('setting')->setItem('system.common.global.skipAutomation', $accounts); + } $this->view->title = $this->lang->zanode->common; $this->view->users = $this->loadModel('user')->getPairs('noletter|nodeleted'); @@ -73,6 +78,10 @@ class zanode extends control */ public function list($hostID, $orderBy = 'id_desc') { + if(!commonModel::hasPriv('zahost', 'view')) + { + $this->loadModel('common')->deny('zahost', 'view'); + } $this->view->title = $this->lang->zanode->common; $this->view->nodeList = $this->loadModel("zanode")->getListByHost($hostID, $orderBy); $this->view->orderBy = $orderBy; diff --git a/module/zanode/js/view.js b/module/zanode/js/view.js index c2a562506b..94433b7934 100644 --- a/module/zanode/js/view.js +++ b/module/zanode/js/view.js @@ -160,6 +160,14 @@ $('.btn-pwd-copy').live('click', function() }, 2000) }) +$('#jumpManual').click(function() +{ + var encodedHelpPageUrl = encodeURIComponent('https://www.zentao.net/book/zentaopms/974.html?fullScreen=zentao'); + var urlForNewTab = window.location.origin + '#app=help&url=' + encodedHelpPageUrl; + window.open(urlForNewTab) +}) + + $(function(){ checkServiceStatus(); checkInterval = setInterval(() => { From 04769027c5c2b62ef8d6b34ad9ba8ca927d83b26 Mon Sep 17 00:00:00 2001 From: zhaoke Date: Tue, 31 Jan 2023 09:20:14 +0000 Subject: [PATCH 31/61] * Finish task #83368. --- api/v1/entries/hostheartbeat.php | 3 +++ module/zahost/css/view.css | 1 + module/zahost/view/view.html.php | 10 +++++++++- module/zanode/css/view.css | 1 + module/zanode/view/view.html.php | 4 ++-- 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/api/v1/entries/hostheartbeat.php b/api/v1/entries/hostheartbeat.php index b2862521f1..cec8180eca 100644 --- a/api/v1/entries/hostheartbeat.php +++ b/api/v1/entries/hostheartbeat.php @@ -78,6 +78,9 @@ class hostHeartbeatEntry extends baseEntry 'status' => $vm->status, 'extranet' => $vm->ip, ); + + if(!$vm->sshPortOnHost) unset($vmData['ssh']); + if($heartbeat > 0) $vmData['heartbeat'] = date("Y-m-d H:i:s", $heartbeat); $this->dao->update(TABLE_ZAHOST)->data($vmData)->where('mac')->eq($vm->macAddress)->exec(); diff --git a/module/zahost/css/view.css b/module/zahost/css/view.css index a01465a8bb..5d092fc6e2 100644 --- a/module/zahost/css/view.css +++ b/module/zahost/css/view.css @@ -20,3 +20,4 @@ .btn-info {background-color: unset;} .icon-refresh {font-size: 15px;} .load-indicator:after {top: 33%;} +.btn.disabled i {color: #fff;} diff --git a/module/zahost/view/view.html.php b/module/zahost/view/view.html.php index ab54e22f53..d78b9e23d9 100644 --- a/module/zahost/view/view.html.php +++ b/module/zahost/view/view.html.php @@ -131,9 +131,15 @@
    zahost->desc;?>
    desc) ? htmlspecialchars_decode($zahost->desc) : $lang->noData;?>
    - + createLink('action', 'comment', "objectType=zahost&objectID=$zahost->hostID"); + ?> +
    +
    zahost->browseNode;?>
    +
    createLink('zanode', 'list', "hostID=$zahost->id", '', true) . "' frameborder='no' allowfullscreen='true' mozallowfullscreen='true' webkitallowfullscreen='true' allowtransparency='true' scrolling='auto' onload='setIframeHeight(this)' style='min-height:300px;'>";?>
    + +
    noData;?>
    osName, "windows") ? $config->zanode->defaultWinAccou
    zanode->sshAddress; ?>:
    -
    ssh ip . ' -p ' . $zanode->ssh; ?>"; ?>
    +
    ssh ? 'ssh ' . $account . '@' . $zanode->ip . ' -p ' . $zanode->ssh : ''; ?>ssh ? " " : ''; ?>
    @@ -96,7 +96,7 @@ $account = strpos($zanode->osName, "windows") ? $config->zanode->defaultWinAccou
    zanode->defaultPwd; ?>:
    -
    zanode->defaultPwd . ' ' . ""; ?>
    +
    zanode->defaultPwd)) . ' ' . ""; ?>
    From d3986931a81c48eb389fda9be7dadf2add093e9c Mon Sep 17 00:00:00 2001 From: zhaoke Date: Wed, 1 Feb 2023 02:34:11 +0000 Subject: [PATCH 32/61] * Fix action list position error. --- module/zahost/view/view.html.php | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/module/zahost/view/view.html.php b/module/zahost/view/view.html.php index d78b9e23d9..61d09e08fe 100644 --- a/module/zahost/view/view.html.php +++ b/module/zahost/view/view.html.php @@ -131,10 +131,6 @@
    zahost->desc;?>
    desc) ? htmlspecialchars_decode($zahost->desc) : $lang->noData;?>
    - createLink('action', 'comment', "objectType=zahost&objectID=$zahost->hostID"); - ?>
    @@ -142,35 +138,11 @@
    createLink('zanode', 'list', "hostID=$zahost->id", '', true) . "' frameborder='no' allowfullscreen='true' mozallowfullscreen='true' webkitallowfullscreen='true' allowtransparency='true' scrolling='auto' onload='setIframeHeight(this)' style='min-height:300px;'>";?> -
    noData;?>
    +
    - createLink('action', 'comment', "objectType=zahost&objectID=$zahost->hostID"); From 08e10410f1b51eadac2b9d5e09477f4d6e1fae17 Mon Sep 17 00:00:00 2001 From: zenggang Date: Wed, 1 Feb 2023 07:43:49 +0000 Subject: [PATCH 33/61] * Snapshot list,create --- module/zanode/control.php | 54 ++++++++++++++- module/zanode/css/browsesnapshot.css | 6 ++ module/zanode/lang/zh-cn.php | 9 +++ module/zanode/model.php | 76 +++++++++++++++++++++- module/zanode/view/browsesnapshot.html.php | 56 ++++++++++++++++ module/zanode/view/createsnapshot.html.php | 64 ++++++++++++++++++ module/zanode/view/view.html.php | 12 ++++ 7 files changed, 275 insertions(+), 2 deletions(-) create mode 100644 module/zanode/css/browsesnapshot.css create mode 100644 module/zanode/view/browsesnapshot.html.php create mode 100644 module/zanode/view/createsnapshot.html.php diff --git a/module/zanode/control.php b/module/zanode/control.php index e7cae7beef..b1b5a81d91 100644 --- a/module/zanode/control.php +++ b/module/zanode/control.php @@ -45,7 +45,7 @@ class zanode extends control $showFeature = false; $accounts = !empty($this->config->global->skipAutomation) ? $this->config->global->skipAutomation : ''; - if(strpos(",$accounts,", $this->app->user->account) === false) + if(strpos(",$accounts,", $this->app->user->account) === false) { $showFeature = true; $accounts .= ',' . $this->app->user->account; @@ -164,6 +164,7 @@ class zanode extends control $this->view->token = !empty($vnc->token) ? $vnc->token:''; $this->view->title = $this->lang->zanode->view; $this->view->zanode = $node; + $this->view->snapshotList = $this->zanode->getSnapshotList($id); $this->view->actions = $this->loadModel('action')->getList('zanode', $id); $this->view->users = $this->loadModel('user')->getPairs('noletter'); $this->display(); @@ -285,6 +286,37 @@ class zanode extends control $this->display(); } + /** + * Create snapshot. + * + * @param int $zanodeID + * @access public + * @return void + */ + public function createSnapshot($nodeID = 0) + { + $task = ''; + $node = $this->zanode->getNodeByID($nodeID); + + if($_POST) + { + $this->zanode->createSnapshot($nodeID); + + if(dao::isError()) + { + $response['result'] = 'fail'; + $response['message'] = dao::getError(); + return $this->send($response); + } + return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'reload')); + } + + $this->view->task = $task; + $this->view->node = $node; + $this->view->rate = !empty($task->rate) ? $task->rate : 0; + $this->display(); + } + /** * Desctroy node. * @@ -333,6 +365,26 @@ class zanode extends control $this->display(); } + public function browseSnapshot($nodeID, $browseType = 'all', $param = 0, $orderBy = 'id', $recTotal = 0, $recPerPage = 20, $pageID = 1) + { + $this->app->loadLang('zahost'); + $this->app->loadClass('pager', $static = true); + $pager = pager::init($recTotal, $recPerPage, $pageID); + + $snapshotList = $this->zanode->getSnapshotList($nodeID, $browseType, $param, $orderBy, $pager); + + $this->view->title = $this->lang->zanode->browseSnapshot; + $this->view->nodeID = $nodeID; + $this->view->snapshotList = $snapshotList; + $this->view->users = $this->loadModel('user')->getPairs('noletter'); + $this->view->pager = $pager; + $this->view->param = $param; + $this->view->orderBy = $orderBy; + $this->view->browseType = $browseType; + + $this->display(); + } + /** * Ajax get template pairs by api. * diff --git a/module/zanode/css/browsesnapshot.css b/module/zanode/css/browsesnapshot.css new file mode 100644 index 0000000000..5218ddb6ee --- /dev/null +++ b/module/zanode/css/browsesnapshot.css @@ -0,0 +1,6 @@ +#main{min-width: 0!important;padding:0!important;} +body{background-color: #fff!important;} + +.c-createdBy {width: 100px;} +.c-datetime {width: 130px;} +.c-status {width: 80px;} diff --git a/module/zanode/lang/zh-cn.php b/module/zanode/lang/zh-cn.php index 30bb81be88..f38ede7cf5 100644 --- a/module/zanode/lang/zh-cn.php +++ b/module/zanode/lang/zh-cn.php @@ -79,6 +79,14 @@ $lang->zanode->createImageSuccess = '镜像导出成功,您可以使用此镜 $lang->zanode->createImageFail = '镜像导出失败'; $lang->zanode->createImageButton = '去创建'; +$lang->zanode->snapshotName = '快照名称'; +$lang->zanode->browseSnapshot = '快照列表'; +$lang->zanode->createSnapshot = '创建快照'; +$lang->zanode->editSnapshot = '编辑快照'; +$lang->zanode->restoreSnapshot = '还原快照'; +$lang->zanode->deleteSnapshot = '删除快照'; +$lang->zanode->snapshotEmpty = '无快照'; + $lang->zanode->imageNameEmpty = '名称不能为空'; $lang->zanode->runTimeout = '自动执行失败,请检查宿主机和执行节点状态'; @@ -89,6 +97,7 @@ $lang->zanode->apiError['fail'] = '执行失败,请检查宿主机和执行 $lang->zanode->publicList[0] = '不共享'; $lang->zanode->publicList[1] = '共享'; +$lang->zanode->statusList['creating'] = '创建中'; $lang->zanode->statusList['created'] = '已创建'; $lang->zanode->statusList['launch'] = '运行中'; $lang->zanode->statusList['ready'] = '运行中'; diff --git a/module/zanode/model.php b/module/zanode/model.php index af034bfdfa..7e054b9022 100644 --- a/module/zanode/model.php +++ b/module/zanode/model.php @@ -28,6 +28,10 @@ class zanodemodel extends model const KVM_EXPORT_PATH = '/api/v1/kvm/exportVm'; const KVM_STATUS_PATH = '/api/v1/task/getStatus'; + const SNAPSHOT_CREATE_PATH = '/api/v1/snaps/addCreateSnap'; + const SNAPSHOT_REVERT_PATH = '/api/v1/snaps/addRevertSnap'; + const SNAPSHOT_REMOVE_PATH = '/api/v1/snaps/removeSnap'; + /** * Set lang; * @@ -167,6 +171,64 @@ class zanodemodel extends model return false; } + /** + * Create Snapshot by zanode. + * + * @param int $zanodeID + * @access public + * @return void + */ + public function createSnapshot($zanodeID = 0) + { + $data = fixer::input('post')->get(); + + if(empty($data->name)) dao::$errors['name'] = $this->lang->zanode->imageNameEmpty; + if(dao::isError()) return false; + + $node = $this->getNodeByID($zanodeID); + + $newSnapshot = new stdClass(); + $newSnapshot->host = $node->id; + $newSnapshot->name = $data->name; + $newSnapshot->desc = $data->desc; + $newSnapshot->status = 'creating'; + $newSnapshot->osName = $node->osName; + $newSnapshot->from = 'snapshot'; + $newSnapshot->createdBy = $this->app->user->account; + $newSnapshot->createdDate = helper::now(); + + $this->dao->insert(TABLE_IMAGE) + ->data($newSnapshot) + ->autoCheck() + ->exec(); + + if(dao::isError()) return false; + + $newID = $this->dao->lastInsertID(); + + /* Prepare create params. */ + $agnetUrl = 'http://' . $node->ip . ':' . $node->hzap; + $param = array( + 'name' => $data->name, + 'task' => $newID, + 'type' => 'createSnap', + 'vm' => $node->name + ); + + $result = json_decode(commonModel::http($agnetUrl . static::SNAPSHOT_CREATE_PATH, json_encode($param,JSON_NUMERIC_CHECK), null, array("Authorization:$node->tokenSN"))); + + if(!empty($result) and $result->code == 'success') + { + $this->loadModel('action')->create('zanodesnapshot', $id, 'created'); + return $newID; + } + + $this->dao->delete()->from(TABLE_IMAGE)->where('id')->eq($newID)->exec(); + dao::$errors[] = (!empty($result) and !empty($result->msg)) ? $result->msg : $this->app->lang->fail; + return false; + } + + /** * Action Node. * @@ -212,7 +274,7 @@ class zanodemodel extends model public function destroy($id) { $node = $this->getNodeByID($id); - + if($node) { $req = array( 'name' => $node->name ); @@ -520,6 +582,18 @@ class zanodemodel extends model ->fetch(); } + public function getSnapshotList($nodeID, $browseType = 'all', $param = 0, $orderBy = 'id', $pager = null) + { + $snapshotList = $this->dao->select('*')->from(TABLE_IMAGE) + ->where('host')->eq($nodeID) + ->andWhere('`from`')->eq('snapshot') + ->orderBy($orderBy) + ->page($pager) + ->fetchAll('name'); + + return $snapshotList; + } + /** * Get Node by id. * diff --git a/module/zanode/view/browsesnapshot.html.php b/module/zanode/view/browsesnapshot.html.php new file mode 100644 index 0000000000..9dd54111ed --- /dev/null +++ b/module/zanode/view/browsesnapshot.html.php @@ -0,0 +1,56 @@ + + * @package zahost + * @version $Id$ + * @link http://www.zentao.net + */ +?> +getModuleRoot() . 'common/view/header.html.php';?> + +
    + recTotal}&recPerPage={$pager->recPerPage}";?> + +
    +

    + zanode->snapshotEmpty;?> +

    +
    + + + + + + + + + + + + + + + status == 'completed' ? zget($snapshot, 'path', '') : '';?> + + + + + + + + +
    zahost->image->name);?>zahost->status;?>zahost->createdBy;?>zahost->createdDate;?>actions;?>
    name;?>'>zanode->statusList, $snapshot->status, '');?>createdBy, '')?>createdDate;?> + createLink('zanode', 'editsnapshot', "snapshotID={$snapshot->id}"), '', 'hiddenwin', "title={$lang->zanode->editSnapshot}");?> + createLink('zahost', 'restoreSnapshot', "nodeID={$nodeID}&snapshotID={$snapshot->id}"), '', 'hiddenwin', "title={$lang->zanode->restoreSnapshot}");?> + createLink('zahost', 'deleteSnapshot', "snapshotID={$snapshot->id}"), '', 'hiddenwin', "title={$lang->zanode->deleteSnapshot}");?> +
    + + +
    +getModuleRoot() . 'common/view/footer.html.php';?> diff --git a/module/zanode/view/createsnapshot.html.php b/module/zanode/view/createsnapshot.html.php new file mode 100644 index 0000000000..d591de2663 --- /dev/null +++ b/module/zanode/view/createsnapshot.html.php @@ -0,0 +1,64 @@ + + * @package task + * @version + * @link http://www.zentao.net + */ +?> + + + +task);?> +id);?> +zanode); ?> + + +
    +
    +
    +

    + zanode->createSnapshot;?> +

    +
    + +
    zanode->pending;?>
    +
    +
    +
    +
    + parent}"); + $link = str_replace('onlybody=yes', '', $link); + $link = trim($link, '?'); + ?> +
    zanode->createSnapshotSuccess . html::a($link, $lang->zanode->createSnapshotButton, "_parent", "style='color:#2e7fff;'");?>
    +
    zanode->createSnapshotFail;?>
    + +
    + + + + + + + + + + + + + +
    zanode->snapshotName;?>
    zanode->desc;?>
    + +
    +
    + +
    +
    + diff --git a/module/zanode/view/view.html.php b/module/zanode/view/view.html.php index 2aec77c69a..168fa86a9f 100644 --- a/module/zanode/view/view.html.php +++ b/module/zanode/view/view.html.php @@ -147,6 +147,14 @@ $account = strpos($zanode->osName, "windows") ? $config->zanode->defaultWinAccou
    zanode->desc; ?>
    desc) ? htmlspecialchars_decode($zanode->desc) : $lang->noData; ?>
    + +
    +
    zanode->browseSnapshot;?>
    +
    + createLink('zanode', 'browseSnapshot', "nodeID=$zanode->id", '', true) . "' frameborder='no' allowfullscreen='true' mozallowfullscreen='true' webkitallowfullscreen='true' allowtransparency='true' scrolling='auto' onload='setIframeHeight(this)' style='min-height:300px;'>";?> +
    +
    +
    printExtendFields($zanode, 'div', "position=left&inForm=0&inCell=1"); ?> @@ -164,6 +172,9 @@ $account = strpos($zanode->osName, "windows") ? $config->zanode->defaultWinAccou $rebootAttr = "title='{$lang->zanode->reboot}' target='hiddenwin'"; $rebootAttr .= $zanode->status == 'shutoff' ? ' class="btn disabled"' : "class='btn' target='hiddenwin' onclick='if(confirm(\"{$lang->zanode->confirmReboot}\")==false) return false;'"; + + $snapshotAttr = "title='{$lang->zanode->createSnapshot}'"; + $snapshotAttr .= $zanode->status != 'running' ? ' class="btn disabled"' : ' class="btn iframe"'; common::printLink('zanode', 'getVNC', "id={$zanode->id}", " " . $lang->zanode->getVNC, in_array($zanode->status ,array('running', 'launch', 'wait')) ? '_blank' : '', "title='{$lang->zanode->getVNC}' class='btn desktop " . (in_array($zanode->status ,array('running', 'launch', 'wait')) ? '':'disabled') . "'", ''); if($zanode->status == "suspend") @@ -185,6 +196,7 @@ $account = strpos($zanode->osName, "windows") ? $config->zanode->defaultWinAccou } common::printLink('zanode', 'reboot', "zanodeID={$zanode->id}", " " . $lang->zanode->rebootNode, '', $rebootAttr); + common::printLink('zanode', 'createSnapshot', "zanodeID={$zanode->id}", " " . $lang->zanode->createSnapshot, '', $snapshotAttr, true, true); } ?> From e745eaf3deb4901dcd4c3b24dd7765f385d932ed Mon Sep 17 00:00:00 2001 From: zenggang Date: Thu, 2 Feb 2023 02:10:04 +0000 Subject: [PATCH 34/61] * Adjust code --- module/zanode/lang/de.php | 8 ++++++++ module/zanode/lang/en.php | 8 ++++++++ module/zanode/lang/fr.php | 8 ++++++++ module/zanode/lang/zh-cn.php | 12 ++++++------ module/zanode/model.php | 2 +- module/zanode/view/browse.html.php | 6 +++++- 6 files changed, 36 insertions(+), 8 deletions(-) diff --git a/module/zanode/lang/de.php b/module/zanode/lang/de.php index f32d767fbc..483ec50fae 100644 --- a/module/zanode/lang/de.php +++ b/module/zanode/lang/de.php @@ -79,6 +79,14 @@ $lang->zanode->createImageSuccess = 'Successed, You can use this image to create $lang->zanode->createImageFail = 'Failed to create'; $lang->zanode->createImageButton = 'Create image'; +$lang->zanode->snapshotName = 'Snapshot Name'; +$lang->zanode->browseSnapshot = 'Snapshot List'; +$lang->zanode->createSnapshot = 'Create Snapshot'; +$lang->zanode->editSnapshot = 'Edit Snapshot'; +$lang->zanode->restoreSnapshot = 'Revert Snapshot'; +$lang->zanode->deleteSnapshot = 'Delete Snapshot'; +$lang->zanode->snapshotEmpty = 'No snapshots'; + $lang->zanode->imageNameEmpty = 'Name can not be empty.'; $lang->zanode->runTimeout = 'Network connection timeout, please check the host and execution node status.'; diff --git a/module/zanode/lang/en.php b/module/zanode/lang/en.php index f32d767fbc..483ec50fae 100644 --- a/module/zanode/lang/en.php +++ b/module/zanode/lang/en.php @@ -79,6 +79,14 @@ $lang->zanode->createImageSuccess = 'Successed, You can use this image to create $lang->zanode->createImageFail = 'Failed to create'; $lang->zanode->createImageButton = 'Create image'; +$lang->zanode->snapshotName = 'Snapshot Name'; +$lang->zanode->browseSnapshot = 'Snapshot List'; +$lang->zanode->createSnapshot = 'Create Snapshot'; +$lang->zanode->editSnapshot = 'Edit Snapshot'; +$lang->zanode->restoreSnapshot = 'Revert Snapshot'; +$lang->zanode->deleteSnapshot = 'Delete Snapshot'; +$lang->zanode->snapshotEmpty = 'No snapshots'; + $lang->zanode->imageNameEmpty = 'Name can not be empty.'; $lang->zanode->runTimeout = 'Network connection timeout, please check the host and execution node status.'; diff --git a/module/zanode/lang/fr.php b/module/zanode/lang/fr.php index f32d767fbc..483ec50fae 100644 --- a/module/zanode/lang/fr.php +++ b/module/zanode/lang/fr.php @@ -79,6 +79,14 @@ $lang->zanode->createImageSuccess = 'Successed, You can use this image to create $lang->zanode->createImageFail = 'Failed to create'; $lang->zanode->createImageButton = 'Create image'; +$lang->zanode->snapshotName = 'Snapshot Name'; +$lang->zanode->browseSnapshot = 'Snapshot List'; +$lang->zanode->createSnapshot = 'Create Snapshot'; +$lang->zanode->editSnapshot = 'Edit Snapshot'; +$lang->zanode->restoreSnapshot = 'Revert Snapshot'; +$lang->zanode->deleteSnapshot = 'Delete Snapshot'; +$lang->zanode->snapshotEmpty = 'No snapshots'; + $lang->zanode->imageNameEmpty = 'Name can not be empty.'; $lang->zanode->runTimeout = 'Network connection timeout, please check the host and execution node status.'; diff --git a/module/zanode/lang/zh-cn.php b/module/zanode/lang/zh-cn.php index f38ede7cf5..0aec4d0269 100644 --- a/module/zanode/lang/zh-cn.php +++ b/module/zanode/lang/zh-cn.php @@ -79,13 +79,13 @@ $lang->zanode->createImageSuccess = '镜像导出成功,您可以使用此镜 $lang->zanode->createImageFail = '镜像导出失败'; $lang->zanode->createImageButton = '去创建'; -$lang->zanode->snapshotName = '快照名称'; -$lang->zanode->browseSnapshot = '快照列表'; -$lang->zanode->createSnapshot = '创建快照'; -$lang->zanode->editSnapshot = '编辑快照'; +$lang->zanode->snapshotName = '快照名称'; +$lang->zanode->browseSnapshot = '快照列表'; +$lang->zanode->createSnapshot = '创建快照'; +$lang->zanode->editSnapshot = '编辑快照'; $lang->zanode->restoreSnapshot = '还原快照'; -$lang->zanode->deleteSnapshot = '删除快照'; -$lang->zanode->snapshotEmpty = '无快照'; +$lang->zanode->deleteSnapshot = '删除快照'; +$lang->zanode->snapshotEmpty = '无快照'; $lang->zanode->imageNameEmpty = '名称不能为空'; diff --git a/module/zanode/model.php b/module/zanode/model.php index 7e054b9022..6ef70aace1 100644 --- a/module/zanode/model.php +++ b/module/zanode/model.php @@ -219,7 +219,7 @@ class zanodemodel extends model if(!empty($result) and $result->code == 'success') { - $this->loadModel('action')->create('zanodesnapshot', $id, 'created'); + $this->loadModel('action')->create('zanode', $id, 'createdSnapshot', '', $data->name); return $newID; } diff --git a/module/zanode/view/browse.html.php b/module/zanode/view/browse.html.php index 09bcad7424..8a524ac73f 100644 --- a/module/zanode/view/browse.html.php +++ b/module/zanode/view/browse.html.php @@ -85,6 +85,9 @@ $rebootAttr = "title='{$lang->zanode->reboot}' target='hiddenwin'"; $rebootAttr .= $node->status == 'shutoff' ? ' class="btn disabled"' : "class='btn' target='hiddenwin' onclick='if(confirm(\"{$lang->zanode->confirmReboot}\")==false) return false;'"; + $snapshotAttr = "title='{$lang->zanode->createSnapshot}'"; + $snapshotAttr .= $node->status != 'running' ? ' class="btn disabled"' : ' class="btn iframe"'; + common::printLink('zanode', 'getVNC', "id={$node->id}", " ", (in_array($node->status ,array('running', 'launch', 'wait')) ? '_blank' : ''), "title='{$lang->zanode->getVNC}' class='btn desktop " . (in_array($node->status ,array('running', 'launch', 'wait')) ? '':'disabled') . "'", ''); if($node->status == "suspend") { @@ -105,13 +108,14 @@ } common::printLink('zanode', 'reboot', "zanodeID={$node->id}", " ", '', $rebootAttr); - common::printIcon('zanode', 'edit', "id={$node->id}", $node, 'list'); + common::printLink('zanode', 'createSnapshot', "zanodeID={$node->id}", " ", '', $snapshotAttr, true, true); if(common::hasPriv('zanode', 'createImage') or common::hasPriv('zanode', 'destroy')) { echo "
    "; echo ""; echo ""; From 21d3f0a011041466bdc9b96e45a995afa9b01bdc Mon Sep 17 00:00:00 2001 From: zhaoke Date: Thu, 2 Feb 2023 02:28:45 +0000 Subject: [PATCH 35/61] * Fix create snap fail. --- module/zanode/model.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/module/zanode/model.php b/module/zanode/model.php index 6ef70aace1..1cac026889 100644 --- a/module/zanode/model.php +++ b/module/zanode/model.php @@ -28,9 +28,9 @@ class zanodemodel extends model const KVM_EXPORT_PATH = '/api/v1/kvm/exportVm'; const KVM_STATUS_PATH = '/api/v1/task/getStatus'; - const SNAPSHOT_CREATE_PATH = '/api/v1/snaps/addCreateSnap'; - const SNAPSHOT_REVERT_PATH = '/api/v1/snaps/addRevertSnap'; - const SNAPSHOT_REMOVE_PATH = '/api/v1/snaps/removeSnap'; + const SNAPSHOT_CREATE_PATH = '/api/v1/kvm/addCreateSnap'; + const SNAPSHOT_REVERT_PATH = '/api/v1/kvm/addRevertSnap'; + const SNAPSHOT_REMOVE_PATH = '/api/v1/kvm/removeSnap'; /** * Set lang; @@ -208,12 +208,12 @@ class zanodemodel extends model /* Prepare create params. */ $agnetUrl = 'http://' . $node->ip . ':' . $node->hzap; - $param = array( + $param = array(array( 'name' => $data->name, 'task' => $newID, 'type' => 'createSnap', 'vm' => $node->name - ); + )); $result = json_decode(commonModel::http($agnetUrl . static::SNAPSHOT_CREATE_PATH, json_encode($param,JSON_NUMERIC_CHECK), null, array("Authorization:$node->tokenSN"))); From fa4e7b5f119fa825db1466b58074905492ec6a44 Mon Sep 17 00:00:00 2001 From: zhaoke Date: Thu, 2 Feb 2023 05:24:13 +0000 Subject: [PATCH 36/61] * Fix bug #31826. --- module/zahost/control.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/zahost/control.php b/module/zahost/control.php index 504a12eea7..a6f09f613c 100644 --- a/module/zahost/control.php +++ b/module/zahost/control.php @@ -168,7 +168,7 @@ class zahost extends control return print(js::confirm($this->lang->zahost->confirmDelete, inlink('delete', "hostID=$hostID&confirm=yes"))); } - $this->dao->update(TABLE_ZAHOST)->set('deleted')->eq(1)->where('id')->eq($hostID)->exec(); + $this->zahost->delete(TABLE_ZAHOST, $hostID); $this->loadModel('action')->create('zahost', $hostID, 'deleted'); /* if ajax request, send result. */ From 597b77af82080c72343b90e4343285f21e848f0e Mon Sep 17 00:00:00 2001 From: zenggang Date: Thu, 2 Feb 2023 08:31:06 +0000 Subject: [PATCH 37/61] * Edit snapshot --- db/update18.0.sql | 1 + db/zentao.sql | 1 + module/action/lang/de.php | 4 ++ module/action/lang/en.php | 4 ++ module/action/lang/fr.php | 4 ++ module/action/lang/zh-cn.php | 4 ++ module/group/lang/resource.php | 30 ++++++++------ module/zanode/control.php | 46 ++++++++++++++++++++-- module/zanode/js/view.js | 12 ++++++ module/zanode/lang/zh-cn.php | 4 +- module/zanode/model.php | 27 ++++++++++++- module/zanode/view/browsesnapshot.html.php | 6 +-- module/zanode/view/createsnapshot.html.php | 18 --------- module/zanode/view/editsnapshot.html.php | 45 +++++++++++++++++++++ module/zanode/view/view.html.php | 1 + 15 files changed, 168 insertions(+), 39 deletions(-) create mode 100644 db/update18.0.sql create mode 100644 module/zanode/view/editsnapshot.html.php diff --git a/db/update18.0.sql b/db/update18.0.sql new file mode 100644 index 0000000000..bfb3415f53 --- /dev/null +++ b/db/update18.0.sql @@ -0,0 +1 @@ +ALTER TABLE `zt_image` ADD `localName` VARCHAR(64) NOT NULL AFTER `name`; diff --git a/db/zentao.sql b/db/zentao.sql index cc434d0cbe..d20b838bc5 100755 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -7353,6 +7353,7 @@ CREATE TABLE `zt_image` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `host` int(11) unsigned NOT NULL DEFAULT 0, `name` varchar(64) NOT NULL DEFAULT '', + `localName` varchar(64) NOT NULL DEFAULT '', `address` varchar(64) NOT NULL DEFAULT '', `path` varchar(64) NOT NULL DEFAULT '', `status` varchar(20) NOT NULL DEFAULT '', diff --git a/module/action/lang/de.php b/module/action/lang/de.php index 3d5e96a9cf..f4a0a74ae1 100644 --- a/module/action/lang/de.php +++ b/module/action/lang/de.php @@ -237,6 +237,8 @@ $lang->action->desc->relieved = '$date, relieved by $actoraction->desc->switchtolight = '$date, Switch from ALM mode to light mode by '. $lang->admin->system .'.' . "\n"; $lang->action->desc->getvnc = '$date, Remote control $extra by $actor .' . "\n"; $lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n"; +$lang->action->desc->createdsnapshot = '$date, $actor creates a snapshot $extra。' . "\n"; +$lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor created a child task $extra。' . "\n"; @@ -419,6 +421,8 @@ $lang->action->label->switchtolight = 'switch from ALM mode to light mod $lang->action->label->linkedrepo = 'Linked Code Repo'; $lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; $lang->action->label->unlinkproduct = 'Unlinked Product'; +$lang->action->label->createdsnapshot = 'create snapshot'; +$lang->action->label->editsnapshot = 'edit snapshot'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; diff --git a/module/action/lang/en.php b/module/action/lang/en.php index 64e5e9169f..dc490dccff 100755 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -237,6 +237,8 @@ $lang->action->desc->relieved = '$date, relieved by $actoraction->desc->switchtolight = '$date, Switch from ALM mode to light mode by '. $lang->admin->system .'.' . "\n"; $lang->action->desc->getvnc = '$date, Remote control $extra by $actor .' . "\n"; $lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n"; +$lang->action->desc->createdsnapshot = '$date, $actor creates a snapshot $extra。' . "\n"; +$lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor created a child task $extra。' . "\n"; @@ -419,6 +421,8 @@ $lang->action->label->switchtolight = 'switch from ALM mode to light mod $lang->action->label->linkedrepo = 'Linked Code Repo'; $lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; $lang->action->label->unlinkproduct = 'Unlinked Product'; +$lang->action->label->createdsnapshot = 'create snapshot'; +$lang->action->label->editsnapshot = 'edit snapshot'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; diff --git a/module/action/lang/fr.php b/module/action/lang/fr.php index 8327ed0c0d..a3a3fce60a 100644 --- a/module/action/lang/fr.php +++ b/module/action/lang/fr.php @@ -237,6 +237,8 @@ $lang->action->desc->relieved = '$date, relieved by $actoraction->desc->switchtolight = '$date, Switch from ALM mode to light mode by '. $lang->admin->system .'.' . "\n"; $lang->action->desc->getvnc = '$date, Remote control $extra by $actor .' . "\n"; $lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n"; +$lang->action->desc->createdsnapshot = '$date, $actor creates a snapshot $extra。' . "\n"; +$lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor a créé un sous-tâche $extra。' . "\n"; @@ -419,6 +421,8 @@ $lang->action->label->switchtolight = 'switch from ALM mode to light mod $lang->action->label->linkedrepo = 'Linked Code Repo'; $lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; $lang->action->label->unlinkproduct = 'Unlinked Product'; +$lang->action->label->createdsnapshot = 'create snapshot'; +$lang->action->label->editsnapshot = 'edit snapshot'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass(); diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index a68dbd1444..f4ee36d719 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -237,6 +237,8 @@ $lang->action->desc->relieved = '$date, 由 $actor $lang->action->desc->switchtolight = '$date, 由于 '. $lang->admin->system .' 从全生命周期管理模式切换为轻量管理模式,项目访问控制由项目集内公开调整为私有。' . "\n"; $lang->action->desc->getvnc = '$date, $actor对执行节点 $extra 进行了远程操控。' . "\n"; $lang->action->desc->unlinkproduct = '$date, 系统判断由于' . $lang->executionCommon . '所属项目与$extra取消关联,同步将' . $lang->executionCommon . '与$extra取消关联。' . "\n"; +$lang->action->desc->createdsnapshot = '$date, $actor 创建了快照 $extra。' . "\n"; +$lang->action->desc->editsnapshot = '$date, $actor 编辑了快照 $extra。' . "\n"; /* 用来描述和父子任务相关的操作历史记录。*/ $lang->action->desc->createchildren = '$date, 由 $actor 创建子任务 $extra。' . "\n"; @@ -419,6 +421,8 @@ $lang->action->label->switchtolight = '从全生命周期管理模式切 $lang->action->label->linkedrepo = '关联代码库到'; $lang->action->label->unlinkedrepo = '取消了项目与代码库的关联'; $lang->action->label->unlinkproduct = '取消了与产品的关联'; +$lang->action->label->createdsnapshot = '创建了快照'; +$lang->action->label->editsnapshot = '编辑了快照'; /* 动态信息按照对象分组 */ $lang->action->dynamicAction = new stdclass(); diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index 37b350c0d9..fc020d0d71 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -1239,18 +1239,21 @@ $lang->zahost->methodOrder[30] = 'downloadImage'; $lang->zahost->methodOrder[35] = 'cancelDownload'; $lang->resource->zanode = new stdclass(); -$lang->resource->zanode->browse = 'browse'; -$lang->resource->zanode->create = 'create'; -$lang->resource->zanode->edit = 'edit'; -$lang->resource->zanode->destroy = 'destroy'; -$lang->resource->zanode->reboot = 'reboot'; -$lang->resource->zanode->suspend = 'suspend'; -$lang->resource->zanode->resume = 'resume'; -$lang->resource->zanode->getVNC = 'getVNC'; -$lang->resource->zanode->start = 'boot'; -$lang->resource->zanode->close = 'shutdown'; -$lang->resource->zanode->view = 'view'; -$lang->resource->zanode->createImage = 'createImage'; +$lang->resource->zanode->browse = 'browse'; +$lang->resource->zanode->create = 'create'; +$lang->resource->zanode->edit = 'edit'; +$lang->resource->zanode->destroy = 'destroy'; +$lang->resource->zanode->reboot = 'reboot'; +$lang->resource->zanode->suspend = 'suspend'; +$lang->resource->zanode->resume = 'resume'; +$lang->resource->zanode->getVNC = 'getVNC'; +$lang->resource->zanode->start = 'boot'; +$lang->resource->zanode->close = 'shutdown'; +$lang->resource->zanode->view = 'view'; +$lang->resource->zanode->createImage = 'createImage'; +$lang->resource->zanode->browseSnapshot = 'browseSnapshot'; +$lang->resource->zanode->createSnapshot = 'createSnapshot'; +$lang->resource->zanode->editSnapshot = 'editSnapshot'; $lang->zanode->methodOrder[0] = 'browse'; $lang->zanode->methodOrder[5] = 'create'; @@ -1264,6 +1267,9 @@ $lang->zanode->methodOrder[40] = 'start'; $lang->zanode->methodOrder[45] = 'close'; $lang->zanode->methodOrder[50] = 'view'; $lang->zanode->methodOrder[55] = 'createImage'; +$lang->zanode->methodOrder[60] = 'browseSnapshot'; +$lang->zanode->methodOrder[65] = 'createSnapshot'; +$lang->zanode->methodOrder[70] = 'editSnapshot'; $lang->resource->repo = new stdclass(); $lang->resource->repo->browse = 'browseAction'; diff --git a/module/zanode/control.php b/module/zanode/control.php index b1b5a81d91..75a404d7d6 100644 --- a/module/zanode/control.php +++ b/module/zanode/control.php @@ -295,7 +295,6 @@ class zanode extends control */ public function createSnapshot($nodeID = 0) { - $task = ''; $node = $this->zanode->getNodeByID($nodeID); if($_POST) @@ -308,12 +307,38 @@ class zanode extends control $response['message'] = dao::getError(); return $this->send($response); } - return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'reload')); + return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent')); } - $this->view->task = $task; $this->view->node = $node; - $this->view->rate = !empty($task->rate) ? $task->rate : 0; + $this->display(); + } + + /** + * Edit Snapshot. + * + * @param int $snapshotID + * @access public + * @return void + */ + public function editSnapshot($snapshotID) + { + $snapshot = $this->zanode->getImageByID($snapshotID); + if($_POST) + { + $this->zanode->editSnapshot($snapshotID); + + if(dao::isError()) + { + $response['result'] = 'fail'; + $response['message'] = dao::getError(); + return $this->send($response); + } + $this->loadModel('action')->create('zanode', $snapshot->host, 'editSnapshot', '', $snapshot->localName ? $snapshot->localName : $snapshot->name); + return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent')); + } + + $this->view->snapshot = $snapshot; $this->display(); } @@ -365,6 +390,19 @@ class zanode extends control $this->display(); } + /** + * Browse snapshot. + * + * @param int $nodeID + * @param string $browseType + * @param int $param + * @param string $orderBy + * @param int $recTotal + * @param int $recPerPage + * @param int $pageID + * @access public + * @return void + */ public function browseSnapshot($nodeID, $browseType = 'all', $param = 0, $orderBy = 'id', $recTotal = 0, $recPerPage = 20, $pageID = 1) { $this->app->loadLang('zahost'); diff --git a/module/zanode/js/view.js b/module/zanode/js/view.js index 94433b7934..4ffb70440e 100644 --- a/module/zanode/js/view.js +++ b/module/zanode/js/view.js @@ -179,3 +179,15 @@ $(function(){ checkServiceStatus(); }, 2000); }) + +/** + * Edit Snapshot. + * + * @param string $link + * @access public + * @return void + */ +function editSnapshot(link) +{ + $('#editSnapshot').attr('href', link).click(); +} diff --git a/module/zanode/lang/zh-cn.php b/module/zanode/lang/zh-cn.php index 0aec4d0269..1df91949a4 100644 --- a/module/zanode/lang/zh-cn.php +++ b/module/zanode/lang/zh-cn.php @@ -87,6 +87,9 @@ $lang->zanode->restoreSnapshot = '还原快照'; $lang->zanode->deleteSnapshot = '删除快照'; $lang->zanode->snapshotEmpty = '无快照'; +$lang->zanode->snapshot->statusList['creating'] = '创建中'; +$lang->zanode->snapshot->statusList['completed'] = '已完成'; + $lang->zanode->imageNameEmpty = '名称不能为空'; $lang->zanode->runTimeout = '自动执行失败,请检查宿主机和执行节点状态'; @@ -97,7 +100,6 @@ $lang->zanode->apiError['fail'] = '执行失败,请检查宿主机和执行 $lang->zanode->publicList[0] = '不共享'; $lang->zanode->publicList[1] = '共享'; -$lang->zanode->statusList['creating'] = '创建中'; $lang->zanode->statusList['created'] = '已创建'; $lang->zanode->statusList['launch'] = '运行中'; $lang->zanode->statusList['ready'] = '运行中'; diff --git a/module/zanode/model.php b/module/zanode/model.php index 1cac026889..41fc14106e 100644 --- a/module/zanode/model.php +++ b/module/zanode/model.php @@ -219,7 +219,7 @@ class zanodemodel extends model if(!empty($result) and $result->code == 'success') { - $this->loadModel('action')->create('zanode', $id, 'createdSnapshot', '', $data->name); + $this->loadModel('action')->create('zanode', $zanodeID, 'createdSnapshot', '', $data->name); return $newID; } @@ -228,6 +228,31 @@ class zanodemodel extends model return false; } + /** + * Edit Snapshot. + * + * @param int $snapshotID + * @access public + * @return bool + */ + public function editSnapshot($snapshotID) + { + $data = fixer::input('post')->get(); + + if(empty($data->name)) dao::$errors['name'] = $this->lang->zanode->imageNameEmpty; + if(dao::isError()) return false; + + $newSnapshot = new stdClass(); + $newSnapshot->localName = $data->name; + $newSnapshot->desc = $data->desc; + + $this->dao->update(TABLE_IMAGE) + ->data($newSnapshot) + ->where('id')->eq($snapshotID) + ->autoCheck() + ->exec(); + return true; + } /** * Action Node. diff --git a/module/zanode/view/browsesnapshot.html.php b/module/zanode/view/browsesnapshot.html.php index 9dd54111ed..93663ef974 100644 --- a/module/zanode/view/browsesnapshot.html.php +++ b/module/zanode/view/browsesnapshot.html.php @@ -35,12 +35,12 @@ status == 'completed' ? zget($snapshot, 'path', '') : '';?> - name;?> - '>zanode->statusList, $snapshot->status, '');?> + localName ? $snapshot->localName : $snapshot->name;?> + '>zanode->snapshot->statusList, $snapshot->status, '');?> createdBy, '')?> createdDate;?> - createLink('zanode', 'editsnapshot', "snapshotID={$snapshot->id}"), '', 'hiddenwin', "title={$lang->zanode->editSnapshot}");?> + ', 'hiddenwin', "title={$lang->zanode->editSnapshot} onclick='window.parent.editSnapshot(\"" . $this->createLink('zanode', 'editSnapshot', "snapshotID={$snapshot->id}") . "\")'");?> createLink('zahost', 'restoreSnapshot', "nodeID={$nodeID}&snapshotID={$snapshot->id}"), '', 'hiddenwin', "title={$lang->zanode->restoreSnapshot}");?> createLink('zahost', 'deleteSnapshot', "snapshotID={$snapshot->id}"), '', 'hiddenwin', "title={$lang->zanode->deleteSnapshot}");?> diff --git a/module/zanode/view/createsnapshot.html.php b/module/zanode/view/createsnapshot.html.php index d591de2663..6379bd450f 100644 --- a/module/zanode/view/createsnapshot.html.php +++ b/module/zanode/view/createsnapshot.html.php @@ -12,13 +12,10 @@ ?> - -task);?> id);?> zanode); ?> -
    @@ -26,20 +23,6 @@ zanode->createSnapshot;?>
    - -
    zanode->pending;?>
    -
    -
    -
    -
    - parent}"); - $link = str_replace('onlybody=yes', '', $link); - $link = trim($link, '?'); - ?> -
    zanode->createSnapshotSuccess . html::a($link, $lang->zanode->createSnapshotButton, "_parent", "style='color:#2e7fff;'");?>
    -
    zanode->createSnapshotFail;?>
    -
    @@ -58,7 +41,6 @@
    -
    diff --git a/module/zanode/view/editsnapshot.html.php b/module/zanode/view/editsnapshot.html.php new file mode 100644 index 0000000000..2d2b9dde0d --- /dev/null +++ b/module/zanode/view/editsnapshot.html.php @@ -0,0 +1,45 @@ + + * @package task + * @version + * @link http://www.zentao.net + */ +?> + + +zanode); ?> + +
    +
    +
    +

    + zanode->editSnapshot;?> +

    +
    +
    + + + + + + + + + + + + + +
    zanode->snapshotName;?>localName ? $snapshot->localName : $snapshot->name, "class='form-control'");?>
    zanode->desc;?>desc, "rows='6' class='form-control'");?>
    + +
    +
    +
    +
    + diff --git a/module/zanode/view/view.html.php b/module/zanode/view/view.html.php index 168fa86a9f..4a128e888e 100644 --- a/module/zanode/view/view.html.php +++ b/module/zanode/view/view.html.php @@ -202,6 +202,7 @@ $account = strpos($zanode->osName, "windows") ? $config->zanode->defaultWinAccou ?>
    zanode->buildOperateMenu($zanode, 'view'); ?> +
    From ffcc487808a1b745d32592d4e1f5bd671df3843d Mon Sep 17 00:00:00 2001 From: zhaoke Date: Thu, 2 Feb 2023 09:16:09 +0000 Subject: [PATCH 38/61] * Finish task #83362. --- api/v1/entries/hostsubmit.php | 13 +++++- db/update18.0.sql | 1 + module/action/lang/en.php | 2 + module/action/lang/zh-cn.php | 2 + module/zanode/control.php | 26 ++++++++++++ module/zanode/lang/en.php | 23 +++++++---- module/zanode/lang/zh-cn.php | 11 +++++- module/zanode/model.php | 46 ++++++++++++++++++++++ module/zanode/view/browsesnapshot.html.php | 12 ++++-- module/zanode/view/view.html.php | 14 ++++--- 10 files changed, 130 insertions(+), 20 deletions(-) diff --git a/api/v1/entries/hostsubmit.php b/api/v1/entries/hostsubmit.php index 83a2a628de..268df5fe90 100644 --- a/api/v1/entries/hostsubmit.php +++ b/api/v1/entries/hostsubmit.php @@ -23,7 +23,7 @@ class hostSubmitEntry extends baseEntry /* Check authorize. */ $header = getallheaders(); $token = isset($header['Authorization']) ? substr($header['Authorization'], 7) : ''; - // if(!$token) return $this->sendError(401, 'Unauthorized'); + if(!$token) return $this->sendError(401, 'Unauthorized'); $now = helper::now(); @@ -38,7 +38,16 @@ class hostSubmitEntry extends baseEntry ->andWhere('tokenTime')->gt($now)->fi() ->fetch('id'); - // if(!$id) return $this->sendError(400, 'Secret error.'); + if(!$id) return $this->sendError(400, 'Secret error.'); + + $imageInfo = $this->dao->select('`status`,`from`')->from(TABLE_IMAGE) + ->where('id')->eq($task) + ->fetch(); + if(empty($imageInfo)) return $this->sendSuccess(200, 'success'); + if($imageInfo->from == 'snapshot' && $imageInfo->status == 'restoring') + { + $image->status = $image->status == 'completed' ? 'restore_completed' : 'restore_failed'; + } $this->dao->update(TABLE_IMAGE)->data($image)->where("id")->eq($task)->exec(); diff --git a/db/update18.0.sql b/db/update18.0.sql index bfb3415f53..188d9253be 100644 --- a/db/update18.0.sql +++ b/db/update18.0.sql @@ -1 +1,2 @@ ALTER TABLE `zt_image` ADD `localName` VARCHAR(64) NOT NULL AFTER `name`; +ALTER TABLE `zt_image` ADD `restoreDate` datetime NOT NULL AFTER `createdDate`; diff --git a/module/action/lang/en.php b/module/action/lang/en.php index dc490dccff..7ead472084 100755 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -238,6 +238,7 @@ $lang->action->desc->switchtolight = '$date, Switch from ALM mode to ligh $lang->action->desc->getvnc = '$date, Remote control $extra by $actor .' . "\n"; $lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n"; $lang->action->desc->createdsnapshot = '$date, $actor creates a snapshot $extra。' . "\n"; +$lang->action->desc->restoredsnapshot = '$date, $actor restored a snapshot $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ @@ -422,6 +423,7 @@ $lang->action->label->linkedrepo = 'Linked Code Repo'; $lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; $lang->action->label->unlinkproduct = 'Unlinked Product'; $lang->action->label->createdsnapshot = 'create snapshot'; +$lang->action->label->restoredsnapshot = 'create snapshot'; $lang->action->label->editsnapshot = 'edit snapshot'; /* Dynamic information is grouped by object. */ diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index f4ee36d719..868c060b34 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -238,6 +238,7 @@ $lang->action->desc->switchtolight = '$date, 由于 '. $lang->adm $lang->action->desc->getvnc = '$date, $actor对执行节点 $extra 进行了远程操控。' . "\n"; $lang->action->desc->unlinkproduct = '$date, 系统判断由于' . $lang->executionCommon . '所属项目与$extra取消关联,同步将' . $lang->executionCommon . '与$extra取消关联。' . "\n"; $lang->action->desc->createdsnapshot = '$date, $actor 创建了快照 $extra。' . "\n"; +$lang->action->desc->restoredsnapshot = '$date, $actor 还原了快照 $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor 编辑了快照 $extra。' . "\n"; /* 用来描述和父子任务相关的操作历史记录。*/ @@ -422,6 +423,7 @@ $lang->action->label->linkedrepo = '关联代码库到'; $lang->action->label->unlinkedrepo = '取消了项目与代码库的关联'; $lang->action->label->unlinkproduct = '取消了与产品的关联'; $lang->action->label->createdsnapshot = '创建了快照'; +$lang->action->label->restoredsnapshot = '还原了快照'; $lang->action->label->editsnapshot = '编辑了快照'; /* 动态信息按照对象分组 */ diff --git a/module/zanode/control.php b/module/zanode/control.php index 75a404d7d6..76cd0eb876 100644 --- a/module/zanode/control.php +++ b/module/zanode/control.php @@ -423,6 +423,32 @@ class zanode extends control $this->display(); } + /** + * Restore node. + * + * @param int $nodeID + * @return void + */ + public function restoreSnapshot($nodeID, $snapshotID, $confirm = 'no') + { + if($confirm == 'no') + { + return print(js::confirm($this->lang->zanode->confirmRestore, inlink('restoreSnapshot', "nodeID={$nodeID}&snapshotID={$snapshotID}&confirm=yes"))); + } + + $this->zanode->restoreSnapshot($nodeID, $snapshotID); + + if(dao::isError()) + { + return print(js::alert(dao::getError()) . js::reload('parent')); + } + else + { + if(isonlybody()) return print(js::alert($this->lang->zanode->actionSuccess) . js::reload('parent')); + return print(js::alert($this->lang->zanode->actionSuccess) . js::locate($this->createLink('zanode', 'browse'), 'parent')); + } + } + /** * Ajax get template pairs by api. * diff --git a/module/zanode/lang/en.php b/module/zanode/lang/en.php index 483ec50fae..78417a405f 100644 --- a/module/zanode/lang/en.php +++ b/module/zanode/lang/en.php @@ -42,12 +42,13 @@ $lang->zanode->vnc = 'VNC Port'; $lang->zanode->destroyAt = 'Destroy Time'; $lang->zanode->creater = 'Creator'; $lang->zanode->createdDate = 'Create Date'; -$lang->zanode->confirmDelete = "Are you sure about destroying the ZenAgent Node?"; -$lang->zanode->confirmBoot = "Are you sure to start the ZenAgent Node?"; -$lang->zanode->confirmReboot = "Are you sure to restart the ZenAgent Node?"; -$lang->zanode->confirmShutdown = "Are you sure to shutdown the ZenAgent Node?"; -$lang->zanode->confirmSuspend = "Are you sure to suspend the ZenAgent Node?"; -$lang->zanode->confirmResume = "Are you sure to resume the ZenAgent Node?"; +$lang->zanode->confirmDelete = "Are you sure about destroying the ZenAgent Node?"; +$lang->zanode->confirmBoot = "Are you sure to start the ZenAgent Node?"; +$lang->zanode->confirmReboot = "Are you sure to restart the ZenAgent Node?"; +$lang->zanode->confirmShutdown = "Are you sure to shutdown the ZenAgent Node?"; +$lang->zanode->confirmSuspend = "Are you sure to suspend the ZenAgent Node?"; +$lang->zanode->confirmResume = "Are you sure to resume the ZenAgent Node?"; +$lang->zanode->confirmRestore = "Are you sure to restore the ZenAgent Node?"; $lang->zanode->actionSuccess = 'Success'; $lang->zanode->deleted = "Deleted"; $lang->zanode->scriptPath = "Script path"; @@ -87,7 +88,15 @@ $lang->zanode->restoreSnapshot = 'Revert Snapshot'; $lang->zanode->deleteSnapshot = 'Delete Snapshot'; $lang->zanode->snapshotEmpty = 'No snapshots'; -$lang->zanode->imageNameEmpty = 'Name can not be empty.'; +$lang->zanode->snapshot->statusList['creating'] = 'Creating'; +$lang->zanode->snapshot->statusList['completed'] = 'Create Completed'; +$lang->zanode->snapshot->statusList['restoring'] = 'Restoring'; +$lang->zanode->snapshot->statusList['restore_failed'] = 'Restore Failed'; +$lang->zanode->snapshot->statusList['restore_completed'] = 'Restore Completed'; + +$lang->zanode->imageNameEmpty = 'Name can not be empty.'; +$lang->zanode->snapStatusError = 'Snapshot is not ready.'; +$lang->zanode->snapRestoring = 'Snapshot is restoring.'; $lang->zanode->runTimeout = 'Network connection timeout, please check the host and execution node status.'; diff --git a/module/zanode/lang/zh-cn.php b/module/zanode/lang/zh-cn.php index 1df91949a4..f499d510d7 100644 --- a/module/zanode/lang/zh-cn.php +++ b/module/zanode/lang/zh-cn.php @@ -48,6 +48,7 @@ $lang->zanode->confirmReboot = "您确定重启执行节点吗?"; $lang->zanode->confirmShutdown = "您确定关闭执行节点吗?"; $lang->zanode->confirmSuspend = "您确定休眠执行节点吗?"; $lang->zanode->confirmResume = "您确定恢复执行节点吗?"; +$lang->zanode->confirmRestore = "您确定还原执行节点吗?"; $lang->zanode->actionSuccess = '操作成功'; $lang->zanode->deleted = "已删除"; $lang->zanode->scriptPath = "脚本目录"; @@ -87,10 +88,16 @@ $lang->zanode->restoreSnapshot = '还原快照'; $lang->zanode->deleteSnapshot = '删除快照'; $lang->zanode->snapshotEmpty = '无快照'; -$lang->zanode->snapshot->statusList['creating'] = '创建中'; -$lang->zanode->snapshot->statusList['completed'] = '已完成'; +$lang->zanode->snapshot->statusList['creating'] = '创建中'; +$lang->zanode->snapshot->statusList['completed'] = '创建完成'; +$lang->zanode->snapshot->statusList['restoring'] = '还原中'; +$lang->zanode->snapshot->statusList['restore_failed'] = '还原失败'; +$lang->zanode->snapshot->statusList['restore_completed'] = '还原成功'; $lang->zanode->imageNameEmpty = '名称不能为空'; +$lang->zanode->imageNameEmpty = '名称不能为空'; +$lang->zanode->snapStatusError = '快照不可用'; +$lang->zanode->snapRestoring = '快照正在还原中'; $lang->zanode->runTimeout = '自动执行失败,请检查宿主机和执行节点状态'; diff --git a/module/zanode/model.php b/module/zanode/model.php index 41fc14106e..ecc4bb0440 100644 --- a/module/zanode/model.php +++ b/module/zanode/model.php @@ -254,6 +254,52 @@ class zanodemodel extends model return true; } + /** + * Restore Snapshot to zanode. + * + * @param int $zanodeID + * @access public + * @return void + */ + public function restoreSnapshot($zanodeID = 0, $snapshotID = 0) + { + $node = $this->getNodeByID($zanodeID); + $snap = $this->getImageByID($snapshotID); + + $snap->status = ($snap->status == 'restoring' && time() - strtotime($snap->restoreDate) > 600) ? 'restore_failed' : $snap->status; + if(!in_array($snap->status, array('completed', 'restoring', 'restore_failed', 'restore_completed'))) dao::$errors = $this->lang->zanode->snapStatusError; + if($snap->status == 'restoring') dao::$errors = $this->lang->zanode->snapRestoring; + if(dao::isError()) return false; + + //update snapshot status + $this->dao->update(TABLE_IMAGE) + ->set('status')->eq('restoring') + ->set('restoreDate')->eq(helper::now()) + ->where('id')->eq($snapshotID)->exec(); + + /* Prepare create params. */ + $agnetUrl = 'http://' . $node->ip . ':' . $node->hzap; + $param = array(array( + 'name' => $snap->name, + 'task' => $snapshotID, + 'type' => 'revertSnap', + 'vm' => $node->name + )); + + $result = json_decode(commonModel::http($agnetUrl . static::SNAPSHOT_CREATE_PATH, json_encode($param,JSON_NUMERIC_CHECK), null, array("Authorization:$node->tokenSN"))); + + if(!empty($result) and $result->code == 'success') + { + $this->loadModel('action')->create('zanode', $zanodeID, 'restoredsnapshot', '', $snap->name); + return true; + } + + $this->dao->update(TABLE_IMAGE)->set('status')->eq('completed')->where('id')->eq($snapshotID)->exec(); + dao::$errors[] = (!empty($result) and !empty($result->msg)) ? $result->msg : $this->lang->zanode->apiError['fail']; + return false; + } + + /** * Action Node. * diff --git a/module/zanode/view/browsesnapshot.html.php b/module/zanode/view/browsesnapshot.html.php index 93663ef974..3686889565 100644 --- a/module/zanode/view/browsesnapshot.html.php +++ b/module/zanode/view/browsesnapshot.html.php @@ -34,15 +34,19 @@ - status == 'completed' ? zget($snapshot, 'path', '') : '';?> + status = ($snapshot->status == 'restoring' && time() - strtotime($snapshot->restoreDate) > 600) ? 'restore_failed' : $snapshot->status; + $restoreAttr = "title='{$lang->zanode->restoreSnapshot}' target='hiddenwin'"; + $restoreAttr .= $snapshot->status == 'restoring' ? ' class="btn disabled"' : 'class="btn"'; + ?> localName ? $snapshot->localName : $snapshot->name;?> '>zanode->snapshot->statusList, $snapshot->status, '');?> createdBy, '')?> createdDate;?> - ', 'hiddenwin', "title={$lang->zanode->editSnapshot} onclick='window.parent.editSnapshot(\"" . $this->createLink('zanode', 'editSnapshot', "snapshotID={$snapshot->id}") . "\")'");?> - createLink('zahost', 'restoreSnapshot', "nodeID={$nodeID}&snapshotID={$snapshot->id}"), '', 'hiddenwin', "title={$lang->zanode->restoreSnapshot}");?> - createLink('zahost', 'deleteSnapshot', "snapshotID={$snapshot->id}"), '', 'hiddenwin', "title={$lang->zanode->deleteSnapshot}");?> + ', 'hiddenwin', "title={$lang->zanode->editSnapshot} onclick='window.parent.editSnapshot(\"" . $this->createLink('zanode', 'editSnapshot', "snapshotID={$snapshot->id}") . "\")' class='btn'");?> + createLink('zanode', 'restoreSnapshot', "nodeID={$nodeID}&snapshotID={$snapshot->id}"), '', 'hiddenwin', $restoreAttr);?> + createLink('zanode', 'deleteSnapshot', "snapshotID={$snapshot->id}"), '', 'hiddenwin', "title={$lang->zanode->deleteSnapshot} class='btn'");?> diff --git a/module/zanode/view/view.html.php b/module/zanode/view/view.html.php index 4a128e888e..27e1210261 100644 --- a/module/zanode/view/view.html.php +++ b/module/zanode/view/view.html.php @@ -147,13 +147,17 @@ $account = strpos($zanode->osName, "windows") ? $config->zanode->defaultWinAccou
    zanode->desc; ?>
    desc) ? htmlspecialchars_decode($zanode->desc) : $lang->noData; ?>
    +
    +
    +
    +
    +
    zanode->browseSnapshot;?>
    -
    -
    zanode->browseSnapshot;?>
    -
    - createLink('zanode', 'browseSnapshot', "nodeID=$zanode->id", '', true) . "' frameborder='no' allowfullscreen='true' mozallowfullscreen='true' webkitallowfullscreen='true' allowtransparency='true' scrolling='auto' onload='setIframeHeight(this)' style='min-height:300px;'>";?> -
    +
    + createLink('zanode', 'browseSnapshot', "nodeID=$zanode->id", '', true) . "' frameborder='no' allowfullscreen='true' mozallowfullscreen='true' webkitallowfullscreen='true' allowtransparency='true' scrolling='auto' onload='setIframeHeight(this)' style='min-height:300px;'>";?>
    + +
    noData; ?>
    From 97fcb6263ee93a09418165184f056289e7d91b36 Mon Sep 17 00:00:00 2001 From: zenggang Date: Fri, 3 Feb 2023 05:19:53 +0000 Subject: [PATCH 39/61] * Delete snapshot --- module/action/lang/de.php | 4 ++ module/action/lang/en.php | 6 ++- module/action/lang/fr.php | 4 ++ module/action/lang/zh-cn.php | 6 ++- module/group/lang/resource.php | 34 ++++++++-------- module/zanode/control.php | 28 ++++++++++++++ module/zanode/lang/de.php | 22 +++++++---- module/zanode/lang/en.php | 16 ++++---- module/zanode/lang/fr.php | 22 +++++++---- module/zanode/lang/zh-cn.php | 16 ++++---- module/zanode/model.php | 45 ++++++++++++++++++++++ module/zanode/view/browsesnapshot.html.php | 16 +++++--- module/zanode/view/view.html.php | 2 +- 13 files changed, 168 insertions(+), 53 deletions(-) diff --git a/module/action/lang/de.php b/module/action/lang/de.php index f4a0a74ae1..e29603c2f1 100644 --- a/module/action/lang/de.php +++ b/module/action/lang/de.php @@ -238,7 +238,9 @@ $lang->action->desc->switchtolight = '$date, Switch from ALM mode to ligh $lang->action->desc->getvnc = '$date, Remote control $extra by $actor .' . "\n"; $lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n"; $lang->action->desc->createdsnapshot = '$date, $actor creates a snapshot $extra。' . "\n"; +$lang->action->desc->restoredsnapshot = '$date, $actor restored a snapshot $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; +$lang->action->desc->deletesnapshot = '$date, $actor deleted snapshot $extra。' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor created a child task $extra。' . "\n"; @@ -422,7 +424,9 @@ $lang->action->label->linkedrepo = 'Linked Code Repo'; $lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; $lang->action->label->unlinkproduct = 'Unlinked Product'; $lang->action->label->createdsnapshot = 'create snapshot'; +$lang->action->label->restoredsnapshot = 'create snapshot'; $lang->action->label->editsnapshot = 'edit snapshot'; +$lang->action->label->deletesnapshot = 'deleted snapshot'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; diff --git a/module/action/lang/en.php b/module/action/lang/en.php index 7ead472084..64223a9966 100755 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -238,8 +238,9 @@ $lang->action->desc->switchtolight = '$date, Switch from ALM mode to ligh $lang->action->desc->getvnc = '$date, Remote control $extra by $actor .' . "\n"; $lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n"; $lang->action->desc->createdsnapshot = '$date, $actor creates a snapshot $extra。' . "\n"; -$lang->action->desc->restoredsnapshot = '$date, $actor restored a snapshot $extra。' . "\n"; +$lang->action->desc->restoredsnapshot = '$date, $actor restored a snapshot $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; +$lang->action->desc->deletesnapshot = '$date, $actor deleted snapshot $extra。' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor created a child task $extra。' . "\n"; @@ -423,8 +424,9 @@ $lang->action->label->linkedrepo = 'Linked Code Repo'; $lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; $lang->action->label->unlinkproduct = 'Unlinked Product'; $lang->action->label->createdsnapshot = 'create snapshot'; -$lang->action->label->restoredsnapshot = 'create snapshot'; +$lang->action->label->restoredsnapshot = 'create snapshot'; $lang->action->label->editsnapshot = 'edit snapshot'; +$lang->action->label->deletesnapshot = 'deleted snapshot'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; diff --git a/module/action/lang/fr.php b/module/action/lang/fr.php index a3a3fce60a..b35dfacfe1 100644 --- a/module/action/lang/fr.php +++ b/module/action/lang/fr.php @@ -238,7 +238,9 @@ $lang->action->desc->switchtolight = '$date, Switch from ALM mode to ligh $lang->action->desc->getvnc = '$date, Remote control $extra by $actor .' . "\n"; $lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n"; $lang->action->desc->createdsnapshot = '$date, $actor creates a snapshot $extra。' . "\n"; +$lang->action->desc->restoredsnapshot = '$date, $actor restored a snapshot $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; +$lang->action->desc->deletesnapshot = '$date, $actor deleted snapshot $extra。' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor a créé un sous-tâche $extra。' . "\n"; @@ -422,7 +424,9 @@ $lang->action->label->linkedrepo = 'Linked Code Repo'; $lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; $lang->action->label->unlinkproduct = 'Unlinked Product'; $lang->action->label->createdsnapshot = 'create snapshot'; +$lang->action->label->restoredsnapshot = 'create snapshot'; $lang->action->label->editsnapshot = 'edit snapshot'; +$lang->action->label->deletesnapshot = 'deleted snapshot'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass(); diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index 868c060b34..ede1fbb1ee 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -238,8 +238,9 @@ $lang->action->desc->switchtolight = '$date, 由于 '. $lang->adm $lang->action->desc->getvnc = '$date, $actor对执行节点 $extra 进行了远程操控。' . "\n"; $lang->action->desc->unlinkproduct = '$date, 系统判断由于' . $lang->executionCommon . '所属项目与$extra取消关联,同步将' . $lang->executionCommon . '与$extra取消关联。' . "\n"; $lang->action->desc->createdsnapshot = '$date, $actor 创建了快照 $extra。' . "\n"; -$lang->action->desc->restoredsnapshot = '$date, $actor 还原了快照 $extra。' . "\n"; +$lang->action->desc->restoredsnapshot = '$date, $actor 还原了快照 $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor 编辑了快照 $extra。' . "\n"; +$lang->action->desc->deletesnapshot = '$date, $actor 删除了快照 $extra。' . "\n"; /* 用来描述和父子任务相关的操作历史记录。*/ $lang->action->desc->createchildren = '$date, 由 $actor 创建子任务 $extra。' . "\n"; @@ -423,8 +424,9 @@ $lang->action->label->linkedrepo = '关联代码库到'; $lang->action->label->unlinkedrepo = '取消了项目与代码库的关联'; $lang->action->label->unlinkproduct = '取消了与产品的关联'; $lang->action->label->createdsnapshot = '创建了快照'; -$lang->action->label->restoredsnapshot = '还原了快照'; +$lang->action->label->restoredsnapshot = '还原了快照'; $lang->action->label->editsnapshot = '编辑了快照'; +$lang->action->label->deletesnapshot = '编辑了快照'; /* 动态信息按照对象分组 */ $lang->action->dynamicAction = new stdclass(); diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index fc020d0d71..e58bbc2d7e 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -1239,21 +1239,23 @@ $lang->zahost->methodOrder[30] = 'downloadImage'; $lang->zahost->methodOrder[35] = 'cancelDownload'; $lang->resource->zanode = new stdclass(); -$lang->resource->zanode->browse = 'browse'; -$lang->resource->zanode->create = 'create'; -$lang->resource->zanode->edit = 'edit'; -$lang->resource->zanode->destroy = 'destroy'; -$lang->resource->zanode->reboot = 'reboot'; -$lang->resource->zanode->suspend = 'suspend'; -$lang->resource->zanode->resume = 'resume'; -$lang->resource->zanode->getVNC = 'getVNC'; -$lang->resource->zanode->start = 'boot'; -$lang->resource->zanode->close = 'shutdown'; -$lang->resource->zanode->view = 'view'; -$lang->resource->zanode->createImage = 'createImage'; -$lang->resource->zanode->browseSnapshot = 'browseSnapshot'; -$lang->resource->zanode->createSnapshot = 'createSnapshot'; -$lang->resource->zanode->editSnapshot = 'editSnapshot'; +$lang->resource->zanode->browse = 'browse'; +$lang->resource->zanode->create = 'create'; +$lang->resource->zanode->edit = 'edit'; +$lang->resource->zanode->destroy = 'destroy'; +$lang->resource->zanode->reboot = 'reboot'; +$lang->resource->zanode->suspend = 'suspend'; +$lang->resource->zanode->resume = 'resume'; +$lang->resource->zanode->getVNC = 'getVNC'; +$lang->resource->zanode->start = 'boot'; +$lang->resource->zanode->close = 'shutdown'; +$lang->resource->zanode->view = 'view'; +$lang->resource->zanode->createImage = 'createImage'; +$lang->resource->zanode->browseSnapshot = 'browseSnapshot'; +$lang->resource->zanode->createSnapshot = 'createSnapshot'; +$lang->resource->zanode->editSnapshot = 'editSnapshot'; +$lang->resource->zanode->restoreSnapshot = 'restoreSnapshot'; +$lang->resource->zanode->deleteSnapshot = 'deleteSnapshot'; $lang->zanode->methodOrder[0] = 'browse'; $lang->zanode->methodOrder[5] = 'create'; @@ -1270,6 +1272,8 @@ $lang->zanode->methodOrder[55] = 'createImage'; $lang->zanode->methodOrder[60] = 'browseSnapshot'; $lang->zanode->methodOrder[65] = 'createSnapshot'; $lang->zanode->methodOrder[70] = 'editSnapshot'; +$lang->zanode->methodOrder[75] = 'restoreSnapshot'; +$lang->zanode->methodOrder[80] = 'deleteSnapshot'; $lang->resource->repo = new stdclass(); $lang->resource->repo->browse = 'browseAction'; diff --git a/module/zanode/control.php b/module/zanode/control.php index 76cd0eb876..2166320c1a 100644 --- a/module/zanode/control.php +++ b/module/zanode/control.php @@ -342,6 +342,34 @@ class zanode extends control $this->display(); } + /** + * Delete Snapshot. + * + * @param int $snapshotID + * @param string $confirm + * @access public + * @return void + */ + public function deleteSnapshot($snapshotID, $confirm = 'no') + { + if($confirm == 'no') + { + return print(js::confirm($this->lang->zanode->confirmDeleteSnapshot, inlink('deleteSnapshot', "snapshotID={$snapshotID}&confirm=yes"))); + } + + $result = $this->zanode->deleteSnapshot($snapshotID); + + if($result !== true) + { + return print(js::alert($result)); + } + else + { + if(isonlybody()) return print(js::alert($this->lang->zanode->actionSuccess) . js::reload('parent.parent')); + return print(js::alert($this->lang->zanode->actionSuccess) . js::locate($this->createLink('zanode', 'browse'), 'parent')); + } + } + /** * Desctroy node. * diff --git a/module/zanode/lang/de.php b/module/zanode/lang/de.php index 483ec50fae..9d05efbc81 100644 --- a/module/zanode/lang/de.php +++ b/module/zanode/lang/de.php @@ -79,13 +79,21 @@ $lang->zanode->createImageSuccess = 'Successed, You can use this image to create $lang->zanode->createImageFail = 'Failed to create'; $lang->zanode->createImageButton = 'Create image'; -$lang->zanode->snapshotName = 'Snapshot Name'; -$lang->zanode->browseSnapshot = 'Snapshot List'; -$lang->zanode->createSnapshot = 'Create Snapshot'; -$lang->zanode->editSnapshot = 'Edit Snapshot'; -$lang->zanode->restoreSnapshot = 'Revert Snapshot'; -$lang->zanode->deleteSnapshot = 'Delete Snapshot'; -$lang->zanode->snapshotEmpty = 'No snapshots'; +$lang->zanode->snapshotName = 'Snapshot Name'; +$lang->zanode->browseSnapshot = 'Snapshot List'; +$lang->zanode->createSnapshot = 'Create Snapshot'; +$lang->zanode->editSnapshot = 'Edit Snapshot'; +$lang->zanode->restoreSnapshot = 'Revert Snapshot'; +$lang->zanode->deleteSnapshot = 'Delete Snapshot'; +$lang->zanode->snapshotEmpty = 'No snapshots'; +$lang->zanode->confirmDeleteSnapshot = "The snapshot cannot be restored from the recycle bin after being deleted. Are you sure to continue?"; + +$lang->zanode->snapshot->statusList['creating'] = 'Creating'; +$lang->zanode->snapshot->statusList['completed'] = 'Create Completed'; +$lang->zanode->snapshot->statusList['failed'] = 'Create Failed'; +$lang->zanode->snapshot->statusList['restoring'] = 'Restoring'; +$lang->zanode->snapshot->statusList['restore_failed'] = 'Restore Failed'; +$lang->zanode->snapshot->statusList['restore_completed'] = 'Restore Completed'; $lang->zanode->imageNameEmpty = 'Name can not be empty.'; diff --git a/module/zanode/lang/en.php b/module/zanode/lang/en.php index 78417a405f..f1c9a29cac 100644 --- a/module/zanode/lang/en.php +++ b/module/zanode/lang/en.php @@ -80,16 +80,18 @@ $lang->zanode->createImageSuccess = 'Successed, You can use this image to create $lang->zanode->createImageFail = 'Failed to create'; $lang->zanode->createImageButton = 'Create image'; -$lang->zanode->snapshotName = 'Snapshot Name'; -$lang->zanode->browseSnapshot = 'Snapshot List'; -$lang->zanode->createSnapshot = 'Create Snapshot'; -$lang->zanode->editSnapshot = 'Edit Snapshot'; -$lang->zanode->restoreSnapshot = 'Revert Snapshot'; -$lang->zanode->deleteSnapshot = 'Delete Snapshot'; -$lang->zanode->snapshotEmpty = 'No snapshots'; +$lang->zanode->snapshotName = 'Snapshot Name'; +$lang->zanode->browseSnapshot = 'Snapshot List'; +$lang->zanode->createSnapshot = 'Create Snapshot'; +$lang->zanode->editSnapshot = 'Edit Snapshot'; +$lang->zanode->restoreSnapshot = 'Revert Snapshot'; +$lang->zanode->deleteSnapshot = 'Delete Snapshot'; +$lang->zanode->snapshotEmpty = 'No snapshots'; +$lang->zanode->confirmDeleteSnapshot = "The snapshot cannot be restored from the recycle bin after being deleted. Are you sure to continue?"; $lang->zanode->snapshot->statusList['creating'] = 'Creating'; $lang->zanode->snapshot->statusList['completed'] = 'Create Completed'; +$lang->zanode->snapshot->statusList['failed'] = 'Create Failed'; $lang->zanode->snapshot->statusList['restoring'] = 'Restoring'; $lang->zanode->snapshot->statusList['restore_failed'] = 'Restore Failed'; $lang->zanode->snapshot->statusList['restore_completed'] = 'Restore Completed'; diff --git a/module/zanode/lang/fr.php b/module/zanode/lang/fr.php index 483ec50fae..9d05efbc81 100644 --- a/module/zanode/lang/fr.php +++ b/module/zanode/lang/fr.php @@ -79,13 +79,21 @@ $lang->zanode->createImageSuccess = 'Successed, You can use this image to create $lang->zanode->createImageFail = 'Failed to create'; $lang->zanode->createImageButton = 'Create image'; -$lang->zanode->snapshotName = 'Snapshot Name'; -$lang->zanode->browseSnapshot = 'Snapshot List'; -$lang->zanode->createSnapshot = 'Create Snapshot'; -$lang->zanode->editSnapshot = 'Edit Snapshot'; -$lang->zanode->restoreSnapshot = 'Revert Snapshot'; -$lang->zanode->deleteSnapshot = 'Delete Snapshot'; -$lang->zanode->snapshotEmpty = 'No snapshots'; +$lang->zanode->snapshotName = 'Snapshot Name'; +$lang->zanode->browseSnapshot = 'Snapshot List'; +$lang->zanode->createSnapshot = 'Create Snapshot'; +$lang->zanode->editSnapshot = 'Edit Snapshot'; +$lang->zanode->restoreSnapshot = 'Revert Snapshot'; +$lang->zanode->deleteSnapshot = 'Delete Snapshot'; +$lang->zanode->snapshotEmpty = 'No snapshots'; +$lang->zanode->confirmDeleteSnapshot = "The snapshot cannot be restored from the recycle bin after being deleted. Are you sure to continue?"; + +$lang->zanode->snapshot->statusList['creating'] = 'Creating'; +$lang->zanode->snapshot->statusList['completed'] = 'Create Completed'; +$lang->zanode->snapshot->statusList['failed'] = 'Create Failed'; +$lang->zanode->snapshot->statusList['restoring'] = 'Restoring'; +$lang->zanode->snapshot->statusList['restore_failed'] = 'Restore Failed'; +$lang->zanode->snapshot->statusList['restore_completed'] = 'Restore Completed'; $lang->zanode->imageNameEmpty = 'Name can not be empty.'; diff --git a/module/zanode/lang/zh-cn.php b/module/zanode/lang/zh-cn.php index f499d510d7..52c9f690e0 100644 --- a/module/zanode/lang/zh-cn.php +++ b/module/zanode/lang/zh-cn.php @@ -80,16 +80,18 @@ $lang->zanode->createImageSuccess = '镜像导出成功,您可以使用此镜 $lang->zanode->createImageFail = '镜像导出失败'; $lang->zanode->createImageButton = '去创建'; -$lang->zanode->snapshotName = '快照名称'; -$lang->zanode->browseSnapshot = '快照列表'; -$lang->zanode->createSnapshot = '创建快照'; -$lang->zanode->editSnapshot = '编辑快照'; -$lang->zanode->restoreSnapshot = '还原快照'; -$lang->zanode->deleteSnapshot = '删除快照'; -$lang->zanode->snapshotEmpty = '无快照'; +$lang->zanode->snapshotName = '快照名称'; +$lang->zanode->browseSnapshot = '快照列表'; +$lang->zanode->createSnapshot = '创建快照'; +$lang->zanode->editSnapshot = '编辑快照'; +$lang->zanode->restoreSnapshot = '还原快照'; +$lang->zanode->deleteSnapshot = '删除快照'; +$lang->zanode->snapshotEmpty = '无快照'; +$lang->zanode->confirmDeleteSnapshot = "快照被删除后无法从回收站中还原,您确定继续么?"; $lang->zanode->snapshot->statusList['creating'] = '创建中'; $lang->zanode->snapshot->statusList['completed'] = '创建完成'; +$lang->zanode->snapshot->statusList['failed'] = '创建失败'; $lang->zanode->snapshot->statusList['restoring'] = '还原中'; $lang->zanode->snapshot->statusList['restore_failed'] = '还原失败'; $lang->zanode->snapshot->statusList['restore_completed'] = '还原成功'; diff --git a/module/zanode/model.php b/module/zanode/model.php index ecc4bb0440..a594af4650 100644 --- a/module/zanode/model.php +++ b/module/zanode/model.php @@ -299,6 +299,42 @@ class zanodemodel extends model return false; } + /** + * Delete Snapshot. + * + * @param int $id + * @access public + * @return void + */ + public function deleteSnapshot($snapshotID) + { + $snapshot = $this->getImageByID($snapshotID); + $node = $this->getNodeByID($snapshot->host); + + if($node) + { + $agnetUrl = 'http://' . $node->ip . ':' . $node->hzap; + $param = (object)array( + 'name' => $snapshot->name, + 'task' => $snapshotID, + 'vm' => $node->name + ); + + $result = commonModel::http($agnetUrl . static::SNAPSHOT_REMOVE_PATH, json_encode($param,JSON_NUMERIC_CHECK), array(), array("Authorization:$node->tokenSN")); + $result = json_decode($result); + + if(!empty($result) and $result->code == 'success') + { + $this->dao->delete()->from(TABLE_IMAGE)->where('id')->eq($snapshotID)->exec(); + $this->loadModel('action')->create('zanode', $node->id, 'deletesnapshot', '', $snapshot->name); + return true; + } + + $error = (!empty($result) and !empty($result->msg)) ? $result->msg : $this->lang->zanode->apiError['fail']; + return $error; + } + } + /** * Action Node. @@ -662,6 +698,15 @@ class zanodemodel extends model ->page($pager) ->fetchAll('name'); + foreach($snapshotList as $name => $snapshot) + { + if($snapshot->status == 'creating' and (time() - strtotime($snapshot->createdDate)) > 1800) + { + $this->dao->update(TABLE_IMAGE)->set('status')->eq('failed')->where('id')->eq($snapshot->id)->exec(); + $snapshotList[$name]->status = 'failed'; + } + } + return $snapshotList; } diff --git a/module/zanode/view/browsesnapshot.html.php b/module/zanode/view/browsesnapshot.html.php index 3686889565..8abc25f631 100644 --- a/module/zanode/view/browsesnapshot.html.php +++ b/module/zanode/view/browsesnapshot.html.php @@ -34,19 +34,25 @@ - status = ($snapshot->status == 'restoring' && time() - strtotime($snapshot->restoreDate) > 600) ? 'restore_failed' : $snapshot->status; + + $editAttr = $snapshot->status == 'failed' ? 'class="btn disabled"' : "title={$lang->zanode->editSnapshot} onclick='window.parent.editSnapshot(\"" . $this->createLink('zanode', 'editSnapshot', "snapshotID={$snapshot->id}") . "\")' class='btn'"; + $restoreAttr = "title='{$lang->zanode->restoreSnapshot}' target='hiddenwin'"; - $restoreAttr .= $snapshot->status == 'restoring' ? ' class="btn disabled"' : 'class="btn"'; + $restoreAttr .= ($snapshot->status == 'restoring' or $snapshot->status == 'failed') ? ' class="btn disabled"' : 'class="btn"'; + + $deleteAttr = "title='{$lang->zanode->deleteSnapshot}' target='hiddenwin'"; + $deleteAttr .= (($snapshot->status == 'restoring' and (time() - strtotime($snapshot->restoreDate)) <= 600) or $snapshot->status == 'failed') ? ' class="btn disabled"' : 'class="btn"'; ?> localName ? $snapshot->localName : $snapshot->name;?> - '>zanode->snapshot->statusList, $snapshot->status, '');?> + zanode->snapshot->statusList, $snapshot->status, '');?> createdBy, '')?> createdDate;?> - ', 'hiddenwin', "title={$lang->zanode->editSnapshot} onclick='window.parent.editSnapshot(\"" . $this->createLink('zanode', 'editSnapshot', "snapshotID={$snapshot->id}") . "\")' class='btn'");?> + ', 'hiddenwin', $editAttr);?> createLink('zanode', 'restoreSnapshot', "nodeID={$nodeID}&snapshotID={$snapshot->id}"), '', 'hiddenwin', $restoreAttr);?> - createLink('zanode', 'deleteSnapshot', "snapshotID={$snapshot->id}"), '', 'hiddenwin', "title={$lang->zanode->deleteSnapshot} class='btn'");?> + createLink('zanode', 'deleteSnapshot', "snapshotID={$snapshot->id}"), '', 'hiddenwin', $deleteAttr);?> diff --git a/module/zanode/view/view.html.php b/module/zanode/view/view.html.php index 27e1210261..ff3d5ee010 100644 --- a/module/zanode/view/view.html.php +++ b/module/zanode/view/view.html.php @@ -152,7 +152,7 @@ $account = strpos($zanode->osName, "windows") ? $config->zanode->defaultWinAccou
    zanode->browseSnapshot;?>
    - +
    createLink('zanode', 'browseSnapshot', "nodeID=$zanode->id", '', true) . "' frameborder='no' allowfullscreen='true' mozallowfullscreen='true' webkitallowfullscreen='true' allowtransparency='true' scrolling='auto' onload='setIframeHeight(this)' style='min-height:300px;'>";?>
    From 4ff09220baf159aadcbabb5ffba08cfcf357f72a Mon Sep 17 00:00:00 2001 From: zhaoke Date: Fri, 3 Feb 2023 05:35:22 +0000 Subject: [PATCH 40/61] * Fix bug #31896. --- module/action/config.php | 1 + module/zahost/control.php | 3 ++- module/zahost/js/view.js | 1 - module/zahost/view/view.html.php | 2 ++ module/zanode/control.php | 4 ++-- module/zanode/lang/en.php | 1 + module/zanode/lang/zh-cn.php | 2 +- module/zanode/view/browsesnapshot.html.php | 4 +++- module/zanode/view/list.html.php | 1 + 9 files changed, 13 insertions(+), 6 deletions(-) diff --git a/module/action/config.php b/module/action/config.php index aae2118c64..77eaec4b92 100755 --- a/module/action/config.php +++ b/module/action/config.php @@ -49,6 +49,7 @@ $config->action->objectNameFields['stage'] = 'name'; $config->action->objectNameFields['apistruct'] = 'name'; $config->action->objectNameFields['repo'] = 'name'; $config->action->objectNameFields['dataview'] = 'name'; +$config->action->objectNameFields['zahost'] = 'name'; $config->action->objectNameFields['zanode'] = 'name'; $config->action->commonImgSize = 870; diff --git a/module/zahost/control.php b/module/zahost/control.php index a6f09f613c..a49ab2902a 100644 --- a/module/zahost/control.php +++ b/module/zahost/control.php @@ -168,8 +168,9 @@ class zahost extends control return print(js::confirm($this->lang->zahost->confirmDelete, inlink('delete', "hostID=$hostID&confirm=yes"))); } - $this->zahost->delete(TABLE_ZAHOST, $hostID); + $this->dao->update(TABLE_ZAHOST)->set('deleted')->eq(1)->where('id')->eq($hostID)->exec(); $this->loadModel('action')->create('zahost', $hostID, 'deleted'); + $this->loadModel('action')->create('zahost', $hostID, 'deleted', '', $extra = ACTIONMODEL::CAN_UNDELETED); /* if ajax request, send result. */ if($this->server->ajax) diff --git a/module/zahost/js/view.js b/module/zahost/js/view.js index 4df1246224..2b07966f7c 100644 --- a/module/zahost/js/view.js +++ b/module/zahost/js/view.js @@ -76,7 +76,6 @@ function setIframeHeight(iframe) { var height = iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight iframe.height = height+10; - console.log(1111, iframe.height) } } } \ No newline at end of file diff --git a/module/zahost/view/view.html.php b/module/zahost/view/view.html.php index 61d09e08fe..012ba10e13 100644 --- a/module/zahost/view/view.html.php +++ b/module/zahost/view/view.html.php @@ -132,6 +132,7 @@
    desc) ? htmlspecialchars_decode($zahost->desc) : $lang->noData;?>
    +
    zahost->browseNode;?>
    @@ -148,6 +149,7 @@ if($canBeChanged) $actionFormLink = $this->createLink('action', 'comment', "objectType=zahost&objectID=$zahost->hostID"); ?>
    + printExtendFields($zahost, 'div', "position=left&inForm=0&inCell=1");?>
    diff --git a/module/zanode/control.php b/module/zanode/control.php index 76cd0eb876..595e650db2 100644 --- a/module/zanode/control.php +++ b/module/zanode/control.php @@ -78,9 +78,9 @@ class zanode extends control */ public function list($hostID, $orderBy = 'id_desc') { - if(!commonModel::hasPriv('zahost', 'view')) + if(!commonModel::hasPriv('zanode', 'browse')) { - $this->loadModel('common')->deny('zahost', 'view'); + $this->loadModel('common')->deny('zanode', 'browse'); } $this->view->title = $this->lang->zanode->common; $this->view->nodeList = $this->loadModel("zanode")->getListByHost($hostID, $orderBy); diff --git a/module/zanode/lang/en.php b/module/zanode/lang/en.php index 78417a405f..dcada9c8bd 100644 --- a/module/zanode/lang/en.php +++ b/module/zanode/lang/en.php @@ -49,6 +49,7 @@ $lang->zanode->confirmShutdown = "Are you sure to shutdown the ZenAgent Node?"; $lang->zanode->confirmSuspend = "Are you sure to suspend the ZenAgent Node?"; $lang->zanode->confirmResume = "Are you sure to resume the ZenAgent Node?"; $lang->zanode->confirmRestore = "Are you sure to restore the ZenAgent Node?"; +$lang->zanode->confirmRestore = "The ZenAgent Node will be restored to this snapshot state, are you sure you want to continue?"; $lang->zanode->actionSuccess = 'Success'; $lang->zanode->deleted = "Deleted"; $lang->zanode->scriptPath = "Script path"; diff --git a/module/zanode/lang/zh-cn.php b/module/zanode/lang/zh-cn.php index f499d510d7..4ea8485bf4 100644 --- a/module/zanode/lang/zh-cn.php +++ b/module/zanode/lang/zh-cn.php @@ -48,7 +48,7 @@ $lang->zanode->confirmReboot = "您确定重启执行节点吗?"; $lang->zanode->confirmShutdown = "您确定关闭执行节点吗?"; $lang->zanode->confirmSuspend = "您确定休眠执行节点吗?"; $lang->zanode->confirmResume = "您确定恢复执行节点吗?"; -$lang->zanode->confirmRestore = "您确定还原执行节点吗?"; +$lang->zanode->confirmRestore = "执行节点将会还原至此快照状态,您确定要继续么?"; $lang->zanode->actionSuccess = '操作成功'; $lang->zanode->deleted = "已删除"; $lang->zanode->scriptPath = "脚本目录"; diff --git a/module/zanode/view/browsesnapshot.html.php b/module/zanode/view/browsesnapshot.html.php index 3686889565..1f5ebda9a4 100644 --- a/module/zanode/view/browsesnapshot.html.php +++ b/module/zanode/view/browsesnapshot.html.php @@ -38,6 +38,8 @@ $snapshot->status = ($snapshot->status == 'restoring' && time() - strtotime($snapshot->restoreDate) > 600) ? 'restore_failed' : $snapshot->status; $restoreAttr = "title='{$lang->zanode->restoreSnapshot}' target='hiddenwin'"; $restoreAttr .= $snapshot->status == 'restoring' ? ' class="btn disabled"' : 'class="btn"'; + $deleteAttr = "title='{$lang->zanode->deleteSnapshot}' target='hiddenwin'"; + $deleteAttr .= $snapshot->status == 'restoring' ? ' class="btn disabled"' : 'class="btn"'; ?> localName ? $snapshot->localName : $snapshot->name;?> '>zanode->snapshot->statusList, $snapshot->status, '');?> @@ -46,7 +48,7 @@ ', 'hiddenwin', "title={$lang->zanode->editSnapshot} onclick='window.parent.editSnapshot(\"" . $this->createLink('zanode', 'editSnapshot', "snapshotID={$snapshot->id}") . "\")' class='btn'");?> createLink('zanode', 'restoreSnapshot', "nodeID={$nodeID}&snapshotID={$snapshot->id}"), '', 'hiddenwin', $restoreAttr);?> - createLink('zanode', 'deleteSnapshot', "snapshotID={$snapshot->id}"), '', 'hiddenwin', "title={$lang->zanode->deleteSnapshot} class='btn'");?> + createLink('zanode', 'deleteSnapshot', "snapshotID={$snapshot->id}"), '', 'hiddenwin', $deleteAttr);?> diff --git a/module/zanode/view/list.html.php b/module/zanode/view/list.html.php index 084e62a41a..37e595a1e5 100644 --- a/module/zanode/view/list.html.php +++ b/module/zanode/view/list.html.php @@ -11,6 +11,7 @@ * @link http://www.zentao.net */ ?> + getModuleRoot() . 'common/view/header.html.php'; ?>
    From 6374db88a628a9e63bb39792f4bf58d69a914c4e Mon Sep 17 00:00:00 2001 From: zhaoke Date: Fri, 3 Feb 2023 05:35:47 +0000 Subject: [PATCH 41/61] * Fix bug #31896. --- module/zahost/control.php | 1 - 1 file changed, 1 deletion(-) diff --git a/module/zahost/control.php b/module/zahost/control.php index a49ab2902a..e7787eb289 100644 --- a/module/zahost/control.php +++ b/module/zahost/control.php @@ -169,7 +169,6 @@ class zahost extends control } $this->dao->update(TABLE_ZAHOST)->set('deleted')->eq(1)->where('id')->eq($hostID)->exec(); - $this->loadModel('action')->create('zahost', $hostID, 'deleted'); $this->loadModel('action')->create('zahost', $hostID, 'deleted', '', $extra = ACTIONMODEL::CAN_UNDELETED); /* if ajax request, send result. */ From 1583320705fb5043e61e7df5f6950938fd3a5aa1 Mon Sep 17 00:00:00 2001 From: zhaoke Date: Fri, 3 Feb 2023 05:41:57 +0000 Subject: [PATCH 42/61] * Merge --- module/action/lang/de.php | 4 ++ module/action/lang/en.php | 6 ++- module/action/lang/fr.php | 4 ++ module/action/lang/zh-cn.php | 6 ++- module/group/lang/resource.php | 34 ++++++++-------- module/zanode/control.php | 28 ++++++++++++++ module/zanode/lang/de.php | 22 +++++++---- module/zanode/lang/en.php | 16 ++++---- module/zanode/lang/fr.php | 22 +++++++---- module/zanode/lang/zh-cn.php | 16 ++++---- module/zanode/model.php | 45 ++++++++++++++++++++++ module/zanode/view/browsesnapshot.html.php | 14 ++++--- module/zanode/view/view.html.php | 2 +- 13 files changed, 166 insertions(+), 53 deletions(-) diff --git a/module/action/lang/de.php b/module/action/lang/de.php index f4a0a74ae1..e29603c2f1 100644 --- a/module/action/lang/de.php +++ b/module/action/lang/de.php @@ -238,7 +238,9 @@ $lang->action->desc->switchtolight = '$date, Switch from ALM mode to ligh $lang->action->desc->getvnc = '$date, Remote control $extra by $actor .' . "\n"; $lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n"; $lang->action->desc->createdsnapshot = '$date, $actor creates a snapshot $extra。' . "\n"; +$lang->action->desc->restoredsnapshot = '$date, $actor restored a snapshot $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; +$lang->action->desc->deletesnapshot = '$date, $actor deleted snapshot $extra。' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor created a child task $extra。' . "\n"; @@ -422,7 +424,9 @@ $lang->action->label->linkedrepo = 'Linked Code Repo'; $lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; $lang->action->label->unlinkproduct = 'Unlinked Product'; $lang->action->label->createdsnapshot = 'create snapshot'; +$lang->action->label->restoredsnapshot = 'create snapshot'; $lang->action->label->editsnapshot = 'edit snapshot'; +$lang->action->label->deletesnapshot = 'deleted snapshot'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; diff --git a/module/action/lang/en.php b/module/action/lang/en.php index 7ead472084..64223a9966 100755 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -238,8 +238,9 @@ $lang->action->desc->switchtolight = '$date, Switch from ALM mode to ligh $lang->action->desc->getvnc = '$date, Remote control $extra by $actor .' . "\n"; $lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n"; $lang->action->desc->createdsnapshot = '$date, $actor creates a snapshot $extra。' . "\n"; -$lang->action->desc->restoredsnapshot = '$date, $actor restored a snapshot $extra。' . "\n"; +$lang->action->desc->restoredsnapshot = '$date, $actor restored a snapshot $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; +$lang->action->desc->deletesnapshot = '$date, $actor deleted snapshot $extra。' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor created a child task $extra。' . "\n"; @@ -423,8 +424,9 @@ $lang->action->label->linkedrepo = 'Linked Code Repo'; $lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; $lang->action->label->unlinkproduct = 'Unlinked Product'; $lang->action->label->createdsnapshot = 'create snapshot'; -$lang->action->label->restoredsnapshot = 'create snapshot'; +$lang->action->label->restoredsnapshot = 'create snapshot'; $lang->action->label->editsnapshot = 'edit snapshot'; +$lang->action->label->deletesnapshot = 'deleted snapshot'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; diff --git a/module/action/lang/fr.php b/module/action/lang/fr.php index a3a3fce60a..b35dfacfe1 100644 --- a/module/action/lang/fr.php +++ b/module/action/lang/fr.php @@ -238,7 +238,9 @@ $lang->action->desc->switchtolight = '$date, Switch from ALM mode to ligh $lang->action->desc->getvnc = '$date, Remote control $extra by $actor .' . "\n"; $lang->action->desc->unlinkproduct = '$date, the project is disassociated from the $extra, synchronization disassociates the ' . $lang->executionCommon . 's of the project from the $extra.' . "\n"; $lang->action->desc->createdsnapshot = '$date, $actor creates a snapshot $extra。' . "\n"; +$lang->action->desc->restoredsnapshot = '$date, $actor restored a snapshot $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor edited the snapshot $extra。' . "\n"; +$lang->action->desc->deletesnapshot = '$date, $actor deleted snapshot $extra。' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor a créé un sous-tâche $extra。' . "\n"; @@ -422,7 +424,9 @@ $lang->action->label->linkedrepo = 'Linked Code Repo'; $lang->action->label->unlinkedrepo = 'Unlinked Code Repo'; $lang->action->label->unlinkproduct = 'Unlinked Product'; $lang->action->label->createdsnapshot = 'create snapshot'; +$lang->action->label->restoredsnapshot = 'create snapshot'; $lang->action->label->editsnapshot = 'edit snapshot'; +$lang->action->label->deletesnapshot = 'deleted snapshot'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass(); diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index 868c060b34..ede1fbb1ee 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -238,8 +238,9 @@ $lang->action->desc->switchtolight = '$date, 由于 '. $lang->adm $lang->action->desc->getvnc = '$date, $actor对执行节点 $extra 进行了远程操控。' . "\n"; $lang->action->desc->unlinkproduct = '$date, 系统判断由于' . $lang->executionCommon . '所属项目与$extra取消关联,同步将' . $lang->executionCommon . '与$extra取消关联。' . "\n"; $lang->action->desc->createdsnapshot = '$date, $actor 创建了快照 $extra。' . "\n"; -$lang->action->desc->restoredsnapshot = '$date, $actor 还原了快照 $extra。' . "\n"; +$lang->action->desc->restoredsnapshot = '$date, $actor 还原了快照 $extra。' . "\n"; $lang->action->desc->editsnapshot = '$date, $actor 编辑了快照 $extra。' . "\n"; +$lang->action->desc->deletesnapshot = '$date, $actor 删除了快照 $extra。' . "\n"; /* 用来描述和父子任务相关的操作历史记录。*/ $lang->action->desc->createchildren = '$date, 由 $actor 创建子任务 $extra。' . "\n"; @@ -423,8 +424,9 @@ $lang->action->label->linkedrepo = '关联代码库到'; $lang->action->label->unlinkedrepo = '取消了项目与代码库的关联'; $lang->action->label->unlinkproduct = '取消了与产品的关联'; $lang->action->label->createdsnapshot = '创建了快照'; -$lang->action->label->restoredsnapshot = '还原了快照'; +$lang->action->label->restoredsnapshot = '还原了快照'; $lang->action->label->editsnapshot = '编辑了快照'; +$lang->action->label->deletesnapshot = '编辑了快照'; /* 动态信息按照对象分组 */ $lang->action->dynamicAction = new stdclass(); diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index fc020d0d71..e58bbc2d7e 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -1239,21 +1239,23 @@ $lang->zahost->methodOrder[30] = 'downloadImage'; $lang->zahost->methodOrder[35] = 'cancelDownload'; $lang->resource->zanode = new stdclass(); -$lang->resource->zanode->browse = 'browse'; -$lang->resource->zanode->create = 'create'; -$lang->resource->zanode->edit = 'edit'; -$lang->resource->zanode->destroy = 'destroy'; -$lang->resource->zanode->reboot = 'reboot'; -$lang->resource->zanode->suspend = 'suspend'; -$lang->resource->zanode->resume = 'resume'; -$lang->resource->zanode->getVNC = 'getVNC'; -$lang->resource->zanode->start = 'boot'; -$lang->resource->zanode->close = 'shutdown'; -$lang->resource->zanode->view = 'view'; -$lang->resource->zanode->createImage = 'createImage'; -$lang->resource->zanode->browseSnapshot = 'browseSnapshot'; -$lang->resource->zanode->createSnapshot = 'createSnapshot'; -$lang->resource->zanode->editSnapshot = 'editSnapshot'; +$lang->resource->zanode->browse = 'browse'; +$lang->resource->zanode->create = 'create'; +$lang->resource->zanode->edit = 'edit'; +$lang->resource->zanode->destroy = 'destroy'; +$lang->resource->zanode->reboot = 'reboot'; +$lang->resource->zanode->suspend = 'suspend'; +$lang->resource->zanode->resume = 'resume'; +$lang->resource->zanode->getVNC = 'getVNC'; +$lang->resource->zanode->start = 'boot'; +$lang->resource->zanode->close = 'shutdown'; +$lang->resource->zanode->view = 'view'; +$lang->resource->zanode->createImage = 'createImage'; +$lang->resource->zanode->browseSnapshot = 'browseSnapshot'; +$lang->resource->zanode->createSnapshot = 'createSnapshot'; +$lang->resource->zanode->editSnapshot = 'editSnapshot'; +$lang->resource->zanode->restoreSnapshot = 'restoreSnapshot'; +$lang->resource->zanode->deleteSnapshot = 'deleteSnapshot'; $lang->zanode->methodOrder[0] = 'browse'; $lang->zanode->methodOrder[5] = 'create'; @@ -1270,6 +1272,8 @@ $lang->zanode->methodOrder[55] = 'createImage'; $lang->zanode->methodOrder[60] = 'browseSnapshot'; $lang->zanode->methodOrder[65] = 'createSnapshot'; $lang->zanode->methodOrder[70] = 'editSnapshot'; +$lang->zanode->methodOrder[75] = 'restoreSnapshot'; +$lang->zanode->methodOrder[80] = 'deleteSnapshot'; $lang->resource->repo = new stdclass(); $lang->resource->repo->browse = 'browseAction'; diff --git a/module/zanode/control.php b/module/zanode/control.php index 595e650db2..73559c7886 100644 --- a/module/zanode/control.php +++ b/module/zanode/control.php @@ -342,6 +342,34 @@ class zanode extends control $this->display(); } + /** + * Delete Snapshot. + * + * @param int $snapshotID + * @param string $confirm + * @access public + * @return void + */ + public function deleteSnapshot($snapshotID, $confirm = 'no') + { + if($confirm == 'no') + { + return print(js::confirm($this->lang->zanode->confirmDeleteSnapshot, inlink('deleteSnapshot', "snapshotID={$snapshotID}&confirm=yes"))); + } + + $result = $this->zanode->deleteSnapshot($snapshotID); + + if($result !== true) + { + return print(js::alert($result)); + } + else + { + if(isonlybody()) return print(js::alert($this->lang->zanode->actionSuccess) . js::reload('parent.parent')); + return print(js::alert($this->lang->zanode->actionSuccess) . js::locate($this->createLink('zanode', 'browse'), 'parent')); + } + } + /** * Desctroy node. * diff --git a/module/zanode/lang/de.php b/module/zanode/lang/de.php index 483ec50fae..9d05efbc81 100644 --- a/module/zanode/lang/de.php +++ b/module/zanode/lang/de.php @@ -79,13 +79,21 @@ $lang->zanode->createImageSuccess = 'Successed, You can use this image to create $lang->zanode->createImageFail = 'Failed to create'; $lang->zanode->createImageButton = 'Create image'; -$lang->zanode->snapshotName = 'Snapshot Name'; -$lang->zanode->browseSnapshot = 'Snapshot List'; -$lang->zanode->createSnapshot = 'Create Snapshot'; -$lang->zanode->editSnapshot = 'Edit Snapshot'; -$lang->zanode->restoreSnapshot = 'Revert Snapshot'; -$lang->zanode->deleteSnapshot = 'Delete Snapshot'; -$lang->zanode->snapshotEmpty = 'No snapshots'; +$lang->zanode->snapshotName = 'Snapshot Name'; +$lang->zanode->browseSnapshot = 'Snapshot List'; +$lang->zanode->createSnapshot = 'Create Snapshot'; +$lang->zanode->editSnapshot = 'Edit Snapshot'; +$lang->zanode->restoreSnapshot = 'Revert Snapshot'; +$lang->zanode->deleteSnapshot = 'Delete Snapshot'; +$lang->zanode->snapshotEmpty = 'No snapshots'; +$lang->zanode->confirmDeleteSnapshot = "The snapshot cannot be restored from the recycle bin after being deleted. Are you sure to continue?"; + +$lang->zanode->snapshot->statusList['creating'] = 'Creating'; +$lang->zanode->snapshot->statusList['completed'] = 'Create Completed'; +$lang->zanode->snapshot->statusList['failed'] = 'Create Failed'; +$lang->zanode->snapshot->statusList['restoring'] = 'Restoring'; +$lang->zanode->snapshot->statusList['restore_failed'] = 'Restore Failed'; +$lang->zanode->snapshot->statusList['restore_completed'] = 'Restore Completed'; $lang->zanode->imageNameEmpty = 'Name can not be empty.'; diff --git a/module/zanode/lang/en.php b/module/zanode/lang/en.php index dcada9c8bd..2e088159cb 100644 --- a/module/zanode/lang/en.php +++ b/module/zanode/lang/en.php @@ -81,16 +81,18 @@ $lang->zanode->createImageSuccess = 'Successed, You can use this image to create $lang->zanode->createImageFail = 'Failed to create'; $lang->zanode->createImageButton = 'Create image'; -$lang->zanode->snapshotName = 'Snapshot Name'; -$lang->zanode->browseSnapshot = 'Snapshot List'; -$lang->zanode->createSnapshot = 'Create Snapshot'; -$lang->zanode->editSnapshot = 'Edit Snapshot'; -$lang->zanode->restoreSnapshot = 'Revert Snapshot'; -$lang->zanode->deleteSnapshot = 'Delete Snapshot'; -$lang->zanode->snapshotEmpty = 'No snapshots'; +$lang->zanode->snapshotName = 'Snapshot Name'; +$lang->zanode->browseSnapshot = 'Snapshot List'; +$lang->zanode->createSnapshot = 'Create Snapshot'; +$lang->zanode->editSnapshot = 'Edit Snapshot'; +$lang->zanode->restoreSnapshot = 'Revert Snapshot'; +$lang->zanode->deleteSnapshot = 'Delete Snapshot'; +$lang->zanode->snapshotEmpty = 'No snapshots'; +$lang->zanode->confirmDeleteSnapshot = "The snapshot cannot be restored from the recycle bin after being deleted. Are you sure to continue?"; $lang->zanode->snapshot->statusList['creating'] = 'Creating'; $lang->zanode->snapshot->statusList['completed'] = 'Create Completed'; +$lang->zanode->snapshot->statusList['failed'] = 'Create Failed'; $lang->zanode->snapshot->statusList['restoring'] = 'Restoring'; $lang->zanode->snapshot->statusList['restore_failed'] = 'Restore Failed'; $lang->zanode->snapshot->statusList['restore_completed'] = 'Restore Completed'; diff --git a/module/zanode/lang/fr.php b/module/zanode/lang/fr.php index 483ec50fae..9d05efbc81 100644 --- a/module/zanode/lang/fr.php +++ b/module/zanode/lang/fr.php @@ -79,13 +79,21 @@ $lang->zanode->createImageSuccess = 'Successed, You can use this image to create $lang->zanode->createImageFail = 'Failed to create'; $lang->zanode->createImageButton = 'Create image'; -$lang->zanode->snapshotName = 'Snapshot Name'; -$lang->zanode->browseSnapshot = 'Snapshot List'; -$lang->zanode->createSnapshot = 'Create Snapshot'; -$lang->zanode->editSnapshot = 'Edit Snapshot'; -$lang->zanode->restoreSnapshot = 'Revert Snapshot'; -$lang->zanode->deleteSnapshot = 'Delete Snapshot'; -$lang->zanode->snapshotEmpty = 'No snapshots'; +$lang->zanode->snapshotName = 'Snapshot Name'; +$lang->zanode->browseSnapshot = 'Snapshot List'; +$lang->zanode->createSnapshot = 'Create Snapshot'; +$lang->zanode->editSnapshot = 'Edit Snapshot'; +$lang->zanode->restoreSnapshot = 'Revert Snapshot'; +$lang->zanode->deleteSnapshot = 'Delete Snapshot'; +$lang->zanode->snapshotEmpty = 'No snapshots'; +$lang->zanode->confirmDeleteSnapshot = "The snapshot cannot be restored from the recycle bin after being deleted. Are you sure to continue?"; + +$lang->zanode->snapshot->statusList['creating'] = 'Creating'; +$lang->zanode->snapshot->statusList['completed'] = 'Create Completed'; +$lang->zanode->snapshot->statusList['failed'] = 'Create Failed'; +$lang->zanode->snapshot->statusList['restoring'] = 'Restoring'; +$lang->zanode->snapshot->statusList['restore_failed'] = 'Restore Failed'; +$lang->zanode->snapshot->statusList['restore_completed'] = 'Restore Completed'; $lang->zanode->imageNameEmpty = 'Name can not be empty.'; diff --git a/module/zanode/lang/zh-cn.php b/module/zanode/lang/zh-cn.php index 4ea8485bf4..4372c17879 100644 --- a/module/zanode/lang/zh-cn.php +++ b/module/zanode/lang/zh-cn.php @@ -80,16 +80,18 @@ $lang->zanode->createImageSuccess = '镜像导出成功,您可以使用此镜 $lang->zanode->createImageFail = '镜像导出失败'; $lang->zanode->createImageButton = '去创建'; -$lang->zanode->snapshotName = '快照名称'; -$lang->zanode->browseSnapshot = '快照列表'; -$lang->zanode->createSnapshot = '创建快照'; -$lang->zanode->editSnapshot = '编辑快照'; -$lang->zanode->restoreSnapshot = '还原快照'; -$lang->zanode->deleteSnapshot = '删除快照'; -$lang->zanode->snapshotEmpty = '无快照'; +$lang->zanode->snapshotName = '快照名称'; +$lang->zanode->browseSnapshot = '快照列表'; +$lang->zanode->createSnapshot = '创建快照'; +$lang->zanode->editSnapshot = '编辑快照'; +$lang->zanode->restoreSnapshot = '还原快照'; +$lang->zanode->deleteSnapshot = '删除快照'; +$lang->zanode->snapshotEmpty = '无快照'; +$lang->zanode->confirmDeleteSnapshot = "快照被删除后无法从回收站中还原,您确定继续么?"; $lang->zanode->snapshot->statusList['creating'] = '创建中'; $lang->zanode->snapshot->statusList['completed'] = '创建完成'; +$lang->zanode->snapshot->statusList['failed'] = '创建失败'; $lang->zanode->snapshot->statusList['restoring'] = '还原中'; $lang->zanode->snapshot->statusList['restore_failed'] = '还原失败'; $lang->zanode->snapshot->statusList['restore_completed'] = '还原成功'; diff --git a/module/zanode/model.php b/module/zanode/model.php index ecc4bb0440..a594af4650 100644 --- a/module/zanode/model.php +++ b/module/zanode/model.php @@ -299,6 +299,42 @@ class zanodemodel extends model return false; } + /** + * Delete Snapshot. + * + * @param int $id + * @access public + * @return void + */ + public function deleteSnapshot($snapshotID) + { + $snapshot = $this->getImageByID($snapshotID); + $node = $this->getNodeByID($snapshot->host); + + if($node) + { + $agnetUrl = 'http://' . $node->ip . ':' . $node->hzap; + $param = (object)array( + 'name' => $snapshot->name, + 'task' => $snapshotID, + 'vm' => $node->name + ); + + $result = commonModel::http($agnetUrl . static::SNAPSHOT_REMOVE_PATH, json_encode($param,JSON_NUMERIC_CHECK), array(), array("Authorization:$node->tokenSN")); + $result = json_decode($result); + + if(!empty($result) and $result->code == 'success') + { + $this->dao->delete()->from(TABLE_IMAGE)->where('id')->eq($snapshotID)->exec(); + $this->loadModel('action')->create('zanode', $node->id, 'deletesnapshot', '', $snapshot->name); + return true; + } + + $error = (!empty($result) and !empty($result->msg)) ? $result->msg : $this->lang->zanode->apiError['fail']; + return $error; + } + } + /** * Action Node. @@ -662,6 +698,15 @@ class zanodemodel extends model ->page($pager) ->fetchAll('name'); + foreach($snapshotList as $name => $snapshot) + { + if($snapshot->status == 'creating' and (time() - strtotime($snapshot->createdDate)) > 1800) + { + $this->dao->update(TABLE_IMAGE)->set('status')->eq('failed')->where('id')->eq($snapshot->id)->exec(); + $snapshotList[$name]->status = 'failed'; + } + } + return $snapshotList; } diff --git a/module/zanode/view/browsesnapshot.html.php b/module/zanode/view/browsesnapshot.html.php index 1f5ebda9a4..8abc25f631 100644 --- a/module/zanode/view/browsesnapshot.html.php +++ b/module/zanode/view/browsesnapshot.html.php @@ -34,19 +34,23 @@ - status = ($snapshot->status == 'restoring' && time() - strtotime($snapshot->restoreDate) > 600) ? 'restore_failed' : $snapshot->status; + + $editAttr = $snapshot->status == 'failed' ? 'class="btn disabled"' : "title={$lang->zanode->editSnapshot} onclick='window.parent.editSnapshot(\"" . $this->createLink('zanode', 'editSnapshot', "snapshotID={$snapshot->id}") . "\")' class='btn'"; + $restoreAttr = "title='{$lang->zanode->restoreSnapshot}' target='hiddenwin'"; - $restoreAttr .= $snapshot->status == 'restoring' ? ' class="btn disabled"' : 'class="btn"'; + $restoreAttr .= ($snapshot->status == 'restoring' or $snapshot->status == 'failed') ? ' class="btn disabled"' : 'class="btn"'; + $deleteAttr = "title='{$lang->zanode->deleteSnapshot}' target='hiddenwin'"; - $deleteAttr .= $snapshot->status == 'restoring' ? ' class="btn disabled"' : 'class="btn"'; + $deleteAttr .= (($snapshot->status == 'restoring' and (time() - strtotime($snapshot->restoreDate)) <= 600) or $snapshot->status == 'failed') ? ' class="btn disabled"' : 'class="btn"'; ?> localName ? $snapshot->localName : $snapshot->name;?> - '>zanode->snapshot->statusList, $snapshot->status, '');?> + zanode->snapshot->statusList, $snapshot->status, '');?> createdBy, '')?> createdDate;?> - ', 'hiddenwin', "title={$lang->zanode->editSnapshot} onclick='window.parent.editSnapshot(\"" . $this->createLink('zanode', 'editSnapshot', "snapshotID={$snapshot->id}") . "\")' class='btn'");?> + ', 'hiddenwin', $editAttr);?> createLink('zanode', 'restoreSnapshot', "nodeID={$nodeID}&snapshotID={$snapshot->id}"), '', 'hiddenwin', $restoreAttr);?> createLink('zanode', 'deleteSnapshot', "snapshotID={$snapshot->id}"), '', 'hiddenwin', $deleteAttr);?> diff --git a/module/zanode/view/view.html.php b/module/zanode/view/view.html.php index 27e1210261..ff3d5ee010 100644 --- a/module/zanode/view/view.html.php +++ b/module/zanode/view/view.html.php @@ -152,7 +152,7 @@ $account = strpos($zanode->osName, "windows") ? $config->zanode->defaultWinAccou
    zanode->browseSnapshot;?>
    - +
    createLink('zanode', 'browseSnapshot', "nodeID=$zanode->id", '', true) . "' frameborder='no' allowfullscreen='true' mozallowfullscreen='true' webkitallowfullscreen='true' allowtransparency='true' scrolling='auto' onload='setIframeHeight(this)' style='min-height:300px;'>";?>
    From a6a820376941e9eab7197d1767bbf78488672b30 Mon Sep 17 00:00:00 2001 From: zenggang Date: Fri, 3 Feb 2023 06:07:23 +0000 Subject: [PATCH 43/61] *Fix bugs --- module/zanode/css/browsesnapshot.css | 2 +- module/zanode/js/browsesnapshot.js | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 module/zanode/js/browsesnapshot.js diff --git a/module/zanode/css/browsesnapshot.css b/module/zanode/css/browsesnapshot.css index 5218ddb6ee..d5033bef8f 100644 --- a/module/zanode/css/browsesnapshot.css +++ b/module/zanode/css/browsesnapshot.css @@ -3,4 +3,4 @@ body{background-color: #fff!important;} .c-createdBy {width: 100px;} .c-datetime {width: 130px;} -.c-status {width: 80px;} +.c-status {width: 120px;} diff --git a/module/zanode/js/browsesnapshot.js b/module/zanode/js/browsesnapshot.js new file mode 100644 index 0000000000..a09811ad70 --- /dev/null +++ b/module/zanode/js/browsesnapshot.js @@ -0,0 +1,7 @@ +$(function() +{ + var myPager = $('.pager').data('zui.pager'); + + myPager.options.menuDirection = 'dropdown'; + myPager.set(); +}); From ecee798f488826bad8439551f728bb852865475e Mon Sep 17 00:00:00 2001 From: zenggang Date: Fri, 3 Feb 2023 08:26:26 +0000 Subject: [PATCH 44/61] * Fix bugs --- module/zanode/control.php | 19 ++++++++++--------- module/zanode/lang/de.php | 1 + module/zanode/lang/en.php | 1 + module/zanode/lang/fr.php | 1 + module/zanode/lang/zh-cn.php | 1 + module/zanode/model.php | 2 ++ module/zanode/view/browsesnapshot.html.php | 2 +- 7 files changed, 17 insertions(+), 10 deletions(-) diff --git a/module/zanode/control.php b/module/zanode/control.php index 73559c7886..ef0141ded4 100644 --- a/module/zanode/control.php +++ b/module/zanode/control.php @@ -439,14 +439,15 @@ class zanode extends control $snapshotList = $this->zanode->getSnapshotList($nodeID, $browseType, $param, $orderBy, $pager); - $this->view->title = $this->lang->zanode->browseSnapshot; - $this->view->nodeID = $nodeID; - $this->view->snapshotList = $snapshotList; - $this->view->users = $this->loadModel('user')->getPairs('noletter'); - $this->view->pager = $pager; - $this->view->param = $param; - $this->view->orderBy = $orderBy; - $this->view->browseType = $browseType; + $this->view->title = $this->lang->zanode->browseSnapshot; + $this->view->nodeID = $nodeID; + $this->view->node = $this->zanode->getNodeByID($nodeID); + $this->view->snapshotList = $snapshotList; + $this->view->users = $this->loadModel('user')->getPairs('noletter'); + $this->view->pager = $pager; + $this->view->param = $param; + $this->view->orderBy = $orderBy; + $this->view->browseType = $browseType; $this->display(); } @@ -472,7 +473,7 @@ class zanode extends control } else { - if(isonlybody()) return print(js::alert($this->lang->zanode->actionSuccess) . js::reload('parent')); + if(isonlybody()) return print(js::alert($this->lang->zanode->actionSuccess) . js::reload('parent.parent')); return print(js::alert($this->lang->zanode->actionSuccess) . js::locate($this->createLink('zanode', 'browse'), 'parent')); } } diff --git a/module/zanode/lang/de.php b/module/zanode/lang/de.php index 9d05efbc81..35fb26c602 100644 --- a/module/zanode/lang/de.php +++ b/module/zanode/lang/de.php @@ -117,6 +117,7 @@ $lang->zanode->statusList['shutodown'] = 'shutdown'; $lang->zanode->statusList['destroy_fail'] = 'Destroy Fail'; $lang->zanode->statusList['wait'] = 'Initializing'; $lang->zanode->statusList['online'] = 'Online'; +$lang->zanode->statusList['restoring'] = 'Restoring'; $lang->zanode->initNotice = "Succeeded. Please initialize the execution node or return to the list."; $lang->zanode->initButton = "Initialize"; diff --git a/module/zanode/lang/en.php b/module/zanode/lang/en.php index 2e088159cb..5c671c31a1 100644 --- a/module/zanode/lang/en.php +++ b/module/zanode/lang/en.php @@ -121,6 +121,7 @@ $lang->zanode->statusList['shutodown'] = 'shutdown'; $lang->zanode->statusList['destroy_fail'] = 'Destroy Fail'; $lang->zanode->statusList['wait'] = 'Initializing'; $lang->zanode->statusList['online'] = 'Online'; +$lang->zanode->statusList['restoring'] = 'Restoring'; $lang->zanode->initNotice = "Succeeded. Please initialize the execution node or return to the list."; $lang->zanode->initButton = "Initialize"; diff --git a/module/zanode/lang/fr.php b/module/zanode/lang/fr.php index 9d05efbc81..35fb26c602 100644 --- a/module/zanode/lang/fr.php +++ b/module/zanode/lang/fr.php @@ -117,6 +117,7 @@ $lang->zanode->statusList['shutodown'] = 'shutdown'; $lang->zanode->statusList['destroy_fail'] = 'Destroy Fail'; $lang->zanode->statusList['wait'] = 'Initializing'; $lang->zanode->statusList['online'] = 'Online'; +$lang->zanode->statusList['restoring'] = 'Restoring'; $lang->zanode->initNotice = "Succeeded. Please initialize the execution node or return to the list."; $lang->zanode->initButton = "Initialize"; diff --git a/module/zanode/lang/zh-cn.php b/module/zanode/lang/zh-cn.php index 4372c17879..a000f90a49 100644 --- a/module/zanode/lang/zh-cn.php +++ b/module/zanode/lang/zh-cn.php @@ -121,6 +121,7 @@ $lang->zanode->statusList['shutodown'] = '已关机'; $lang->zanode->statusList['destroy_fail'] = '销毁失败'; $lang->zanode->statusList['wait'] = '初始化中'; $lang->zanode->statusList['online'] = '已上架'; +$lang->zanode->statusList['restoring'] = '还原中'; $lang->zanode->initNotice = "保存成功,请初始化执行节点或返回列表。"; $lang->zanode->initButton = "去初始化"; diff --git a/module/zanode/model.php b/module/zanode/model.php index a594af4650..5b7c426a5c 100644 --- a/module/zanode/model.php +++ b/module/zanode/model.php @@ -277,6 +277,7 @@ class zanodemodel extends model ->set('restoreDate')->eq(helper::now()) ->where('id')->eq($snapshotID)->exec(); + /* Prepare create params. */ $agnetUrl = 'http://' . $node->ip . ':' . $node->hzap; $param = array(array( @@ -290,6 +291,7 @@ class zanodemodel extends model if(!empty($result) and $result->code == 'success') { + $this->dao->update(TABLE_HOST)->set('status')->eq('restoring')->where('id')->eq($node->id)->exec(); $this->loadModel('action')->create('zanode', $zanodeID, 'restoredsnapshot', '', $snap->name); return true; } diff --git a/module/zanode/view/browsesnapshot.html.php b/module/zanode/view/browsesnapshot.html.php index 8abc25f631..067087af4a 100644 --- a/module/zanode/view/browsesnapshot.html.php +++ b/module/zanode/view/browsesnapshot.html.php @@ -40,7 +40,7 @@ $editAttr = $snapshot->status == 'failed' ? 'class="btn disabled"' : "title={$lang->zanode->editSnapshot} onclick='window.parent.editSnapshot(\"" . $this->createLink('zanode', 'editSnapshot', "snapshotID={$snapshot->id}") . "\")' class='btn'"; $restoreAttr = "title='{$lang->zanode->restoreSnapshot}' target='hiddenwin'"; - $restoreAttr .= ($snapshot->status == 'restoring' or $snapshot->status == 'failed') ? ' class="btn disabled"' : 'class="btn"'; + $restoreAttr .= ($node->status !='running' or $snapshot->status == 'restoring' or $snapshot->status == 'failed') ? ' class="btn disabled"' : 'class="btn"'; $deleteAttr = "title='{$lang->zanode->deleteSnapshot}' target='hiddenwin'"; $deleteAttr .= (($snapshot->status == 'restoring' and (time() - strtotime($snapshot->restoreDate)) <= 600) or $snapshot->status == 'failed') ? ' class="btn disabled"' : 'class="btn"'; From 41829d9fa6f22797c5a633f225a58de4361a45a2 Mon Sep 17 00:00:00 2001 From: zenggang Date: Fri, 3 Feb 2023 08:57:34 +0000 Subject: [PATCH 45/61] *Fix bug#31894 --- module/zanode/view/view.html.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/module/zanode/view/view.html.php b/module/zanode/view/view.html.php index ff3d5ee010..ace6c719fc 100644 --- a/module/zanode/view/view.html.php +++ b/module/zanode/view/view.html.php @@ -149,10 +149,11 @@ $account = strpos($zanode->osName, "windows") ? $config->zanode->defaultWinAccou
    desc) ? htmlspecialchars_decode($zanode->desc) : $lang->noData; ?>
    +
    zanode->browseSnapshot;?>
    - +
    createLink('zanode', 'browseSnapshot', "nodeID=$zanode->id", '', true) . "' frameborder='no' allowfullscreen='true' mozallowfullscreen='true' webkitallowfullscreen='true' allowtransparency='true' scrolling='auto' onload='setIframeHeight(this)' style='min-height:300px;'>";?>
    @@ -161,6 +162,7 @@ $account = strpos($zanode->osName, "windows") ? $config->zanode->defaultWinAccou
    + printExtendFields($zanode, 'div', "position=left&inForm=0&inCell=1"); ?>
    From c7a767521c1b8a86a570f76b9550b89e2ebfb178 Mon Sep 17 00:00:00 2001 From: zhouxin Date: Mon, 6 Feb 2023 14:27:23 +0800 Subject: [PATCH 46/61] * Resolve feedback #313. --- module/upgrade/model.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 78083a4260..f31c544c31 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -7558,6 +7558,8 @@ class upgradeModel extends model { $project = new stdclass(); $project->name = $sprint->name; + $project->code = $sprint->code; + $project->desc = $sprint->desc; $project->type = 'project'; $project->model = 'scrum'; $project->parent = $programID; From d5090f876ef37906e158e0476db60340ad188757 Mon Sep 17 00:00:00 2001 From: zhaoke Date: Tue, 7 Feb 2023 02:03:23 +0000 Subject: [PATCH 47/61] * Fix update not check unique. --- module/zahost/model.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/module/zahost/model.php b/module/zahost/model.php index b7f37b3e74..96c39aabfe 100644 --- a/module/zahost/model.php +++ b/module/zahost/model.php @@ -85,7 +85,10 @@ class zahostModel extends model $this->dao->update(TABLE_ZAHOST)->data($hostInfo) ->batchCheck($this->config->zahost->create->requiredFields, 'notempty') - ->batchCheck('diskSize,memory', 'float'); + ->batchCheck('diskSize,memory', 'float') + ->check('name', 'unique', "id != $hostID and type in ('vhost', 'zahost')") + ->autoCheck(); + if(dao::isError()) return false; $ping = $this->checkAddress($hostInfo->extranet); From 5156963cece2435bada13278c0bebb5489a4be8c Mon Sep 17 00:00:00 2001 From: liuhong Date: Tue, 7 Feb 2023 07:23:34 +0000 Subject: [PATCH 48/61] * Adjust code for 329. --- module/bug/control.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/module/bug/control.php b/module/bug/control.php index 1fea4f9807..98408efe60 100755 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -565,8 +565,9 @@ class bug extends control } else { - $builds = $this->loadModel('build')->getBuildPairs($productID, $branch, 'noempty,noterminate,nodone,withbranch,noreleased'); - $stories = $this->story->getProductStoryPairs($productID, $branch, 0, 'all','id_desc', 0, 'full', 'story', false); + $moduleID = $moduleID ? $moduleID : 0; + $builds = $this->loadModel('build')->getBuildPairs($productID, $branch, 'noempty,noterminate,nodone,withbranch,noreleased'); + $stories = $this->story->getProductStoryPairs($productID, $branch, $moduleID, 'all','id_desc', 0, 'full', 'story', false); } $moduleOwner = $this->bug->getModuleOwner($moduleID, $productID); From bfe1a0ef5eb1153dd6b63c6337c7317f6a6fbe27 Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 8 Feb 2023 08:37:38 +0800 Subject: [PATCH 49/61] * Code for bug#31949. --- module/programplan/model.php | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/module/programplan/model.php b/module/programplan/model.php index a09996d7a6..28d13ecea4 100755 --- a/module/programplan/model.php +++ b/module/programplan/model.php @@ -741,7 +741,7 @@ class programplanModel extends model } $project = $this->loadModel('project')->getByID($projectID); - $productList = $this->loadModel('product')->getProductPairsByProject($projectID); + $productList = $this->loadModel('product')->getProducts($projectID); $totalPercent = 0; $totalDevType = 0; @@ -873,6 +873,22 @@ class programplanModel extends model if($data->acl != 'open') $this->user->updateUserView($stageID, 'sprint'); + $linkProducts = array(); + $linkBranches = array(); + if($project->division) + { + $linkProducts = array(0 => $productID); + $linkBranches = array(0 => $productList[$productID]->branches); + } + else + { + $linkProducts = array_keys($productList); + foreach($linkProducts as $index => $productID) $linkBranches[$index] = $productList[$productID]->branches; + } + $this->post->set('products', $linkProducts); + $this->post->set('branch', $linkBranches); + $this->execution->updateProducts($stageID); + /* Record version change information. */ if($planChanged) { @@ -949,8 +965,20 @@ class programplanModel extends model $this->setTreePath($stageID); if($data->acl != 'open') $this->user->updateUserView($stageID, 'sprint'); - $linkProducts = $project->division ? array(0 => $productID) : array_keys($productList); + $linkProducts = array(); + $linkBranches = array(); + if($project->division) + { + $linkProducts = array(0 => $productID); + $linkBranches = array(0 => $productList[$productID]->branches); + } + else + { + $linkProducts = array_keys($productList); + foreach($linkProducts as $index => $productID) $linkBranches[$index] = $productList[$productID]->branches; + } $this->post->set('products', $linkProducts); + $this->post->set('branch', $linkBranches); $this->execution->updateProducts($stageID); /* Record version change information. */ From 975b755c540070a278fdf4b557ef1c76adc9c08b Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 8 Feb 2023 08:48:09 +0800 Subject: [PATCH 50/61] * Code for bug#31949. --- module/programplan/model.php | 51 ++++++++++++------------------------ 1 file changed, 17 insertions(+), 34 deletions(-) diff --git a/module/programplan/model.php b/module/programplan/model.php index 28d13ecea4..b93d29b07b 100755 --- a/module/programplan/model.php +++ b/module/programplan/model.php @@ -740,8 +740,6 @@ class programplanModel extends model $datas[] = $plan; } - $project = $this->loadModel('project')->getByID($projectID); - $productList = $this->loadModel('product')->getProducts($projectID); $totalPercent = 0; $totalDevType = 0; @@ -873,22 +871,6 @@ class programplanModel extends model if($data->acl != 'open') $this->user->updateUserView($stageID, 'sprint'); - $linkProducts = array(); - $linkBranches = array(); - if($project->division) - { - $linkProducts = array(0 => $productID); - $linkBranches = array(0 => $productList[$productID]->branches); - } - else - { - $linkProducts = array_keys($productList); - foreach($linkProducts as $index => $productID) $linkBranches[$index] = $productList[$productID]->branches; - } - $this->post->set('products', $linkProducts); - $this->post->set('branch', $linkBranches); - $this->execution->updateProducts($stageID); - /* Record version change information. */ if($planChanged) { @@ -965,22 +947,6 @@ class programplanModel extends model $this->setTreePath($stageID); if($data->acl != 'open') $this->user->updateUserView($stageID, 'sprint'); - $linkProducts = array(); - $linkBranches = array(); - if($project->division) - { - $linkProducts = array(0 => $productID); - $linkBranches = array(0 => $productList[$productID]->branches); - } - else - { - $linkProducts = array_keys($productList); - foreach($linkProducts as $index => $productID) $linkBranches[$index] = $productList[$productID]->branches; - } - $this->post->set('products', $linkProducts); - $this->post->set('branch', $linkBranches); - $this->execution->updateProducts($stageID); - /* Record version change information. */ $spec = new stdclass(); $spec->project = $stageID; @@ -1002,6 +968,23 @@ class programplanModel extends model } } + $linkProducts = array(); + $linkBranches = array(); + $productList = $this->loadModel('product')->getProducts($projectID); + if($project->division) + { + $linkProducts = array(0 => $productID); + $linkBranches = array(0 => $productList[$productID]->branches); + } + else + { + $linkProducts = array_keys($productList); + foreach($linkProducts as $index => $productID) $linkBranches[$index] = $productList[$productID]->branches; + } + $this->post->set('products', $linkProducts); + $this->post->set('branch', $linkBranches); + $this->execution->updateProducts($stageID); + /* If child plans has milestone, update parent plan set milestone eq 0 . */ if($parentID and $milestone) $this->dao->update(TABLE_PROJECT)->set('milestone')->eq(0)->where('id')->eq($parentID)->exec(); From 26abc2188361f46556b23127e526a9ef3d992939 Mon Sep 17 00:00:00 2001 From: zhouxin Date: Wed, 8 Feb 2023 09:26:12 +0800 Subject: [PATCH 51/61] * Adjust code. --- module/upgrade/model.php | 1 - 1 file changed, 1 deletion(-) diff --git a/module/upgrade/model.php b/module/upgrade/model.php index f31c544c31..671609e8d7 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -7558,7 +7558,6 @@ class upgradeModel extends model { $project = new stdclass(); $project->name = $sprint->name; - $project->code = $sprint->code; $project->desc = $sprint->desc; $project->type = 'project'; $project->model = 'scrum'; From 3915c2c1d114559a37ebc34624b3e04bc903df27 Mon Sep 17 00:00:00 2001 From: wangyuting2 <851424971@qq.com> Date: Wed, 8 Feb 2023 09:39:28 +0800 Subject: [PATCH 52/61] * Fix bug #24665. --- db/updatemaxinstall.sql | 50 +++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/db/updatemaxinstall.sql b/db/updatemaxinstall.sql index 8d40c498a0..f6af48d4cd 100644 --- a/db/updatemaxinstall.sql +++ b/db/updatemaxinstall.sql @@ -4081,23 +4081,39 @@ REPLACE INTO `zt_lang` (`lang`, `module`, `section`, `key`, `value`, `system`) V ('all', 'process', 'classify', 'engineering', '工程支持', '1'), ('all', 'process', 'classify', 'project', '项目管理', '1'); -REPLACE INTO `zt_process` (`id`, `name`, `type`, `abbr`, `desc`, `assignedTo`, `status`, `order`, `createdBy`, `createdDate`, `editedBy`, `editedDate`, `assignedBy`, `assignedDate`, `deleted`) VALUES -(11,'立项管理','project','PIM','','','',55,'admin','2020-01-09 10:29:55','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(12,'项目规划','project','PP','','','',60,'admin','2020-01-09 10:31:16','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(13,'项目监控','project','PMC','','','',65,'admin','2020-01-09 10:31:16','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(14,'风险管理','project','RSKM','','','',70,'admin','2020-01-09 10:31:16','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(15,'结项管理','project','PCM','','','',75,'admin','2020-01-09 10:31:16','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(16,'量化项目管理','project','QPM','','','',80,'admin','2020-01-09 10:31:16','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(17,'需求开发','engineering','RDM','','','',85,'admin','2020-01-09 13:14:55','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(18,'设计开发','engineering','','','','',90,'admin','2020-01-09 13:14:55','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(19,'实现与测试','engineering','EMBEDDED','','','',95,'admin','2020-01-09 13:14:55','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(20,'系统测试','engineering','ST','','','',100,'admin','2020-01-09 13:14:55','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(21,'客户验收','engineering','CA','','','',105,'admin','2020-01-09 13:14:55','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(22,'质量保证','support','QA','','','',110,'admin','2020-01-09 13:14:55','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(23,'配置管理','support','CM','','','',115,'admin','2020-01-09 13:14:55','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(24,'度量分析','support','MA','','','',120,'admin','2020-01-09 13:14:55','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(25,'原因分析与解决','support','CAR','','','',125,'admin','2020-01-09 13:14:55','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'), -(26,'决策分析','support','DAR','','','',130,'admin','2020-01-09 13:14:55','','0000-00-00 00:00:00','','0000-00-00 00:00:00','0'); +REPLACE INTO `zt_process` (`id`, `model`, `name`, `type`, `abbr`, `desc`, `assignedTo`, `status`, `order`, `createdBy`, `createdDate`, `editedBy`, `editedDate`, `assignedBy`, `assignedDate`, `deleted`) VALUES +(11, 'waterfall', '立项管理', 'project', 'PIM', '', '', '', 55, 'admin', '2020-01-09 10:29:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(12, 'waterfall', '项目规划', 'project', 'PP', '', '', '', 60, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(13, 'waterfall', '项目监控', 'project', 'PMC', '', '', '', 65, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(14, 'waterfall', '风险管理', 'project', 'RSKM', '', '', '', 70, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(15, 'waterfall', '结项管理', 'project', 'PCM', '', '', '', 75, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(16, 'waterfall', '量化项目管理', 'project', 'QPM', '', '', '', 80, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(17, 'waterfall', '需求开发', 'engineering', 'RDM', '', '', '', 85, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(18, 'waterfall', '设计开发', 'engineering', '', '', '', '', 90, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(19, 'waterfall', '实现与测试', 'engineering', 'EMBEDDED', '', '', '', 95, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(20, 'waterfall', '系统测试', 'engineering', 'ST', '', '', '', 100, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(21, 'waterfall', '客户验收', 'engineering', 'CA', '', '', '', 105, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(22, 'waterfall', '质量保证', 'support', 'QA', '', '', '', 110, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(23, 'waterfall', '配置管理', 'support', 'CM', '', '', '', 115, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(24, 'waterfall', '度量分析', 'support', 'MA', '', '', '', 120, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(25, 'waterfall', '原因分析与解决', 'support', 'CAR', '', '', '', 125, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(26, 'waterfall', '决策分析', 'support', 'DAR', '', '', '', 130, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(41, 'scrum', '原因分析与解决', 'support', 'CAR', '', '', '', 125, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(40, 'scrum', '度量分析', 'support', 'MA', '', '', '', 120, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(39, 'scrum', '配置管理', 'support', 'CM', '', '', '', 115, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(38, 'scrum', '质量保证', 'support', 'QA', '', '', '', 110, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(37, 'scrum', '客户验收', 'engineering', 'CA', '', '', '', 105, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(36, 'scrum', '系统测试', 'engineering', 'ST', '', '', '', 100, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(35, 'scrum', '实现与测试', 'engineering', 'EMBEDDED', '', '', '', 95, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(34, 'scrum', '设计开发', 'engineering', '', '', '', '', 90, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(33, 'scrum', '需求开发', 'engineering', 'RDM', '', '', '', 85, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(32, 'scrum', '量化项目管理', 'project', 'QPM', '', '', '', 80, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(31, 'scrum', '结项管理', 'project', 'PCM', '', '', '', 75, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(30, 'scrum', '风险管理', 'project', 'RSKM', '', '', '', 70, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(29, 'scrum', '项目监控', 'project', 'PMC', '', '', '', 65, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(28, 'scrum', '项目规划', 'project', 'PP', '', '', '', 60, 'admin', '2020-01-09 10:31:16', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(27, 'scrum', '立项管理', 'project', 'PIM', '', '', '', 55, 'admin', '2020-01-09 10:29:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'), +(42, 'scrum', '决策分析', 'support', 'DAR', '', '', '', 130, 'admin', '2020-01-09 13:14:55', '', '0000-00-00 00:00:00', '', '0000-00-00 00:00:00', '0'); REPLACE INTO `zt_activity` (`id`, `process`, `name`, `optional`, `content`, `assignedTo`, `status`, `createdBy`, `createdDate`, `editedBy`, `editedDate`, `assignedBy`, `assignedDate`, `order`, `deleted`) VALUES (4,11,'立项调查,可行性分析,技术预研','yes','','','','admin','2020-01-09 10:49:34','','0000-00-00 00:00:00','','0000-00-00 00:00:00',20,'0'), From 08b62c3108318aa168a169f1fdcca3976c268cc3 Mon Sep 17 00:00:00 2001 From: guofeilong Date: Wed, 8 Feb 2023 10:03:56 +0800 Subject: [PATCH 53/61] * Code for add class admin-tab-menu --- www/theme/blackberry/style.css | 4 ++-- www/theme/blue/style.css | 4 ++-- www/theme/classic/style.css | 4 ++-- www/theme/green/style.css | 4 ++-- www/theme/pink/style.css | 4 ++-- www/theme/purple/style.css | 4 ++-- www/theme/red/style.css | 4 ++-- www/theme/zui/css/min.css | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/www/theme/blackberry/style.css b/www/theme/blackberry/style.css index 842d090939..142da624d2 100644 --- a/www/theme/blackberry/style.css +++ b/www/theme/blackberry/style.css @@ -1,6 +1,6 @@ /*! - * ZUI: Zentao Theme - blackberry - v1.10.0 - 2023-02-07 + * ZUI: Zentao Theme - blackberry - v1.10.0 - 2023-02-08 * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2023 cnezsoft.com; Licensed MIT - */a{color:#313c52}a:focus,a:hover{color:#23304d}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#23304d;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#161f31;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#0b0f18;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#23304d;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#161f31;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#0b0f18;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#23304d;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#23304d;background-color:#ebf1f9;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#23304d;background-color:#ccdbf0;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#b0c8e7;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#ebf1f9;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#23304d;background-color:#ccdbf0;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#b0c8e7;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#ebf1f9;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#23304d}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#23304d}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#131a2a}.label-primary.label-outline{color:#23304d;background:0 0;border:1px solid #23304d}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#131a2a}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ff8513}.label-warning.label-outline{color:#ff9f46;background:0 0;border:1px solid #ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff8513}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#435c93}.text-primary{color:#23304d}.text-primary:hover{color:#131a2a}.text-warning{color:#ff9f46}.text-warning:hover{color:#ff8513}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#23304d}a.bg-primary:hover{background-color:#131a2a}.hl-primary{background-color:#ebf1f9}a.hl-primary:hover{background-color:#c4d6ed}.progress{background-color:#ebf1f9;border-radius:3px}.progress-bar{color:#fff;background-color:#23304d;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#23304d;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)}.form-control:focus{border-color:#23304d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#23304d;border-color:#23304d}.switch input:focus+label{color:#23304d}.switch input:focus+label:before{border-color:#23304d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #23304d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #23304d}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#23304d;border-color:#23304d}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#23304d;-webkit-box-shadow:0 0 8px #23304d;box-shadow:0 0 8px #23304d}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#23304d}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#23304d}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#304269}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#ebf1f9}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#23304d;border-color:#23304d}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#304269;border-color:#202c46}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#283758}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#3a4f7e}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#40588c}.navbar-inverse .navbar-toggle{border-color:#40588c}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#283758}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#253351}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#40588c}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#202c46}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#3a4f7e}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#40588c}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #40588c;-webkit-box-shadow:inset 0 -1px 0 #202c46;box-shadow:inset 0 -1px 0 #202c46}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#23304d}.nav>li>a:focus,.nav>li>a:hover{color:#23304d}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#23304d}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#23304d;border-color:#23304d}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#23304d;border-bottom-color:#23304d}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #23304d;box-shadow:inset 2px 0 0 #23304d}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#23304d;border-color:#23304d}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#23304d}.panel-primary>.panel-heading{color:#fff;background-color:#23304d;border-color:#23304d}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#23304d}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#23304d}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#ebf1f9}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#23304d!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#23304d!important;border-bottom-left-radius:#23304d!important}.chosen-container .chosen-results li.highlighted{background-color:#23304d!important}.chosen-container-active .chosen-single{border-color:#23304d!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#23304d!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#23304d!important;border-bottom-left-radius:#23304d!important}.chosen-container.chosen-highlight-selected .result-selected{color:#23304d;background:#ebf1f9}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#23304d;border-color:#23304d}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#23304d}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#23304d}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#23304d}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9f46!important;border-color:#ff9f46!important}.datetimepicker td.day.active{background-color:#23304d!important;border-color:#131a2a!important}.datetimepicker td.day.active:hover{background-color:#131a2a!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ff8513!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#23304d!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)!important}.ke-menu-item-on{background-color:#23304d!important}.ke-colorpicker-cell-on{background-color:#23304d!important}.ke-input-text:focus{border-color:#23304d!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#23304d}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ff9f46}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#273042;background-color:#ebf1f9}.alert-primary hr{border-top-color:#d0def1}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ff922c;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#ff7f09}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#23304d;border-color:#23304d}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#ebf1f9}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#23304d}.tree-drag-holder{background-color:#ebf1f9}.tree-menu li.active>a{color:#fff;background-color:#23304d;border-color:#23304d}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#304269}a.text-primary{color:#23304d}.nav-primary>li.active>a{color:#0b0f18}.nav-primary>li.active>a:hover{color:#0b0f18}.bg-primary,.m-user-login{background:#304269 -webkit-gradient(linear,right top,left top,from(#23304d),to(#304269))!important;background:#304269 -webkit-linear-gradient(right,#23304d 0,#304269 100%)!important;background:#304269 -o-linear-gradient(right,#23304d 0,#304269 100%)!important;background:#304269 linear-gradient(-90deg,#23304d 0,#304269 100%)!important}.bg-primary-pure{color:#fff;background-color:#23304d}.bg-primary-pale{color:#23304d;background-color:#ebf1f9}.bg-secondary{background:#304269}.alert-info{color:#23304d;background:#ebf1f9}.btn-primary{color:#fff;background-color:#23304d;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(35,48,77,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#1b253b;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#23304d;border-color:transparent}.btn-secondary{color:#fff;background-color:#304269;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(48,66,105,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#283758;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#304269;border-color:transparent}.btn-info{color:#23304d;background-color:#ebf1f9;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#23304d;background-color:rgba(235,241,249,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#d7e3f3;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(35,48,77,.3);background-color:#ebf1f9;border-color:transparent}.btn-icon-left>.icon{color:#304269;background:#ebf1f9}.btn-active-line{color:#23304d}.btn-active-line:after{border-bottom-color:#23304d}.btn-active-line:hover{color:#23304d}.btn-active-text .text{color:#0b0f18}.btn-active-text .text:after{border-bottom-color:#0b0f18}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(35,48,77,.8)}.label-primary{background:#23304d!important}.label-pale{background:#c4d6ed!important}.label-outline.label-primary{background:#ebf1f9!important;border-color:rgba(35,48,77,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#23304d;border-color:#23304d}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#23304d;-webkit-box-shadow:0 0 0 3px rgba(35,48,77,.2);box-shadow:0 0 0 3px rgba(35,48,77,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#23304d}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#23304d!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#23304d!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#23304d!important}.nav-tabs>li.active>a:before{background:#23304d}.nav-tabs-primary>li.active>a{color:#23304d!important}.panel-actions .btn.text-primary{color:#23304d}.picker-focus .picker-selections{border-color:#23304d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)}.status-bars .bar{background:#23304d}.status-bars-h .bar{background:#23304d}.messagger-zt .messager-content>.icon{color:#23304d}.tree li.active>a{color:#23304d}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#23304d}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#304269}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#ebf1f9}.dropdown-submenu:hover>a:after{border-left-color:#23304d}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#304269}.timeline>li>a:after,.timeline>li>div:after{background-color:#23304d}.timeline>li.active:before{background-color:rgba(35,48,77,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#23304d!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#23304d!important}#mainHeader{background:#3b5182;border-top-color:#23304d;border-bottom-color:#ebf1f9}#searchGo{background-color:#304269}#searchGo:hover{background-color:#23304d}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#23304d}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#23304d}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#23304d}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #23304d}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #23304d}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #23304d}#sidebarHeader .title{color:#23304d}#sidebar>.sidebar-toggle>.icon{background:#506eaf}#main .querybox-toggle.querybox-opened{color:#23304d}#contentNav .nav>li.active>a{color:#23304d}#contentNav .nav>li.active>a:before{background:#23304d}td.c-actions .btn{color:#304269}td.c-actions .btn:hover{color:#23304d;background-color:#d7e3f3}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#23304d;background:#ebf1f9}.main-table table .btn-icon-left:hover>.icon{background:#ebf1f9}.main-table tbody>tr:hover{background:#ebf1f9}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#23304d}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#f3f6fb}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f3f6fb}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#304269}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#5773b2}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#23304d}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#23304d}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#23304d}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#ebf1f9}.table-nest-toggle:hover{color:#23304d}.table-footer .checkbox-primary.checked label:after{border-color:#23304d!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#334670!important;border-color:#334670!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#23304d}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#23304d;border-color:#23304d}.article-content a{color:#23304d}.article-content a:focus,.article-content a:hover{color:#304269}.list-group{overflow-y:auto}.list-group>a.selected{color:#ebf1f9;background-color:#23304d}.list-group>a.active{color:#23304d;background-color:#ebf1f9}.list-group>a.active:hover,.list-group>a:hover{background-color:#23304d}#swapper #dropMenu .tree li>.selected{color:#23304d!important;background:#ebf1f9!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#23304d!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#23304d!important;background:#ebf1f9!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#23304d!important}.release-line>li>a:hover:before{background-color:#ebf1f9}.release-line>li>a:hover .title{color:#23304d}.release-line>li.active>a:before{border-color:#23304d}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#304269}#poweredBy .icon-zentao{color:#304269}#poweredBy a:hover{color:#23304d}#poweredBy a:hover .icon-zentao{color:#23304d}#poweredBy a.text-primary{color:#23304d}#poweredBy a.text-primary:hover{color:#304269}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#23304d!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#304269!important}.dynamic.active .dynamic-date:before{background-color:#304269!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#23304d!important}.table td.has-child>.task-toggle:hover{color:#23304d!important}#openTaskPage.open:hover,#task .task-nav{color:#23304d!important;background:#ebf1f9!important}#tasksProgress>.progress-bar{background:#23304d!important}#tasksProgress .progress-text{color:#23304d!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#23304d!important;background:#ebf1f9!important;border-left-color:#23304d!important;-webkit-box-shadow:inset 4px 0 0 #23304d!important;box-shadow:inset 4px 0 0 #23304d!important}#copyProjectModal a:hover{border-color:#304269!important}#zeroTaskStory.checked{background:#ebf1f9!important;border-color:#304269!important}.cols-list .col:hover{background:#ebf1f9!important}.files-grid .actions,.files-grid .col:hover .file{background:#ebf1f9!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#304269!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#304269!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#23304d!important}#bars>li.active:after{background:#ebf1f9!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#0b0f18;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#23304d}td.c-actions .btn{color:#23304d}.main-table tbody>tr:hover{background:rgba(235,241,249,.8)}.main-table tbody>tr>td.c-name a{color:#000}.main-table tbody>tr>td.c-name a:hover{color:#0b0f18}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#23304d!important}.assigned-none{color:#0b0f18!important}.assigned-current{color:#f38f19!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#0b0f18!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#0b0f18!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#3b5182}#assigntomeBlock .nav>li.active>a{color:#0b0f18}.consumedTotally{color:#23304d;background:#ebf1f9}#toggleFoldIcon .icon-border{border:1px solid #7a90c2}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#23304d}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#304269}.nav-steps>ul>li.active>a:focus{background-color:#23304d}.nav-steps>ul>li.active+li:after{border-left-color:#304269}.nav-steps>ul>li.active:hover+li:after{border-left-color:#23304d}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#23304d}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #23304d;box-shadow:0 0 1px 1px #23304d}.border-primary-hover:hover{border:1px solid #23304d}.menu-hover-primary>li>a:hover{color:#0b0f18!important;background-color:#7a90c2!important}.menu-active-primary>li.active>a{color:#23304d!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#7a90c2!important}#mainHeader{background:#304269 -webkit-gradient(linear,right top,left top,from(#23304d),to(#304269));background:#304269 -webkit-linear-gradient(right,#23304d 0,#304269 100%);background:#304269 -o-linear-gradient(right,#23304d 0,#304269 100%);background:#304269 linear-gradient(-90deg,#23304d 0,#304269 100%);background-color:#304269} \ No newline at end of file + */a{color:#313c52}a:focus,a:hover{color:#23304d}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#23304d;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#161f31;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#0b0f18;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#23304d;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#161f31;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#0b0f18;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#23304d;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#23304d;background-color:#ebf1f9;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#23304d;background-color:#ccdbf0;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#b0c8e7;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#ebf1f9;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#23304d;background-color:#ccdbf0;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#b0c8e7;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#ebf1f9;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#23304d}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#23304d}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#131a2a}.label-primary.label-outline{color:#23304d;background:0 0;border:1px solid #23304d}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#131a2a}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ff8513}.label-warning.label-outline{color:#ff9f46;background:0 0;border:1px solid #ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff8513}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#435c93}.text-primary{color:#23304d}.text-primary:hover{color:#131a2a}.text-warning{color:#ff9f46}.text-warning:hover{color:#ff8513}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#23304d}a.bg-primary:hover{background-color:#131a2a}.hl-primary{background-color:#ebf1f9}a.hl-primary:hover{background-color:#c4d6ed}.progress{background-color:#ebf1f9;border-radius:3px}.progress-bar{color:#fff;background-color:#23304d;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#23304d;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)}.form-control:focus{border-color:#23304d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#23304d;border-color:#23304d}.switch input:focus+label{color:#23304d}.switch input:focus+label:before{border-color:#23304d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #23304d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #23304d}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#23304d;border-color:#23304d}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#23304d;-webkit-box-shadow:0 0 8px #23304d;box-shadow:0 0 8px #23304d}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#23304d}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#23304d}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#304269}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#ebf1f9}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#23304d;border-color:#23304d}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#304269;border-color:#202c46}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#283758}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#3a4f7e}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#40588c}.navbar-inverse .navbar-toggle{border-color:#40588c}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#283758}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#253351}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#40588c}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#202c46}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#3a4f7e}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#40588c}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #40588c;-webkit-box-shadow:inset 0 -1px 0 #202c46;box-shadow:inset 0 -1px 0 #202c46}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#23304d}.nav>li>a:focus,.nav>li>a:hover{color:#23304d}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#23304d}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#23304d;border-color:#23304d}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#23304d;border-bottom-color:#23304d}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #23304d;box-shadow:inset 2px 0 0 #23304d}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#23304d;border-color:#23304d}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#23304d}.panel-primary>.panel-heading{color:#fff;background-color:#23304d;border-color:#23304d}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#23304d}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#23304d}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#ebf1f9}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#23304d!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#23304d!important;border-bottom-left-radius:#23304d!important}.chosen-container .chosen-results li.highlighted{background-color:#23304d!important}.chosen-container-active .chosen-single{border-color:#23304d!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#23304d!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#23304d!important;border-bottom-left-radius:#23304d!important}.chosen-container.chosen-highlight-selected .result-selected{color:#23304d;background:#ebf1f9}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#23304d;border-color:#23304d}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#23304d}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#23304d}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#23304d}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9f46!important;border-color:#ff9f46!important}.datetimepicker td.day.active{background-color:#23304d!important;border-color:#131a2a!important}.datetimepicker td.day.active:hover{background-color:#131a2a!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ff8513!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#23304d!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)!important}.ke-menu-item-on{background-color:#23304d!important}.ke-colorpicker-cell-on{background-color:#23304d!important}.ke-input-text:focus{border-color:#23304d!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#23304d}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ff9f46}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#273042;background-color:#ebf1f9}.alert-primary hr{border-top-color:#d0def1}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ff922c;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#ff7f09}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#23304d;border-color:#23304d}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#ebf1f9}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#23304d}.tree-drag-holder{background-color:#ebf1f9}.tree-menu li.active>a{color:#fff;background-color:#23304d;border-color:#23304d}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#304269}a.text-primary{color:#23304d}.nav-primary>li.active>a{color:#0b0f18}.nav-primary>li.active>a:hover{color:#0b0f18}.bg-primary,.m-user-login{background:#304269 -webkit-gradient(linear,right top,left top,from(#23304d),to(#304269))!important;background:#304269 -webkit-linear-gradient(right,#23304d 0,#304269 100%)!important;background:#304269 -o-linear-gradient(right,#23304d 0,#304269 100%)!important;background:#304269 linear-gradient(-90deg,#23304d 0,#304269 100%)!important}.bg-primary-pure{color:#fff;background-color:#23304d}.bg-primary-pale{color:#23304d;background-color:#ebf1f9}.bg-secondary{background:#304269}.alert-info{color:#23304d;background:#ebf1f9}.btn-primary{color:#fff;background-color:#23304d;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(35,48,77,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#1b253b;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#23304d;border-color:transparent}.btn-secondary{color:#fff;background-color:#304269;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(48,66,105,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#283758;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#304269;border-color:transparent}.btn-info{color:#23304d;background-color:#ebf1f9;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#23304d;background-color:rgba(235,241,249,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#d7e3f3;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(35,48,77,.3);background-color:#ebf1f9;border-color:transparent}.btn-icon-left>.icon{color:#304269;background:#ebf1f9}.btn-active-line{color:#23304d}.btn-active-line:after{border-bottom-color:#23304d}.btn-active-line:hover{color:#23304d}.btn-active-text .text{color:#0b0f18}.btn-active-text .text:after{border-bottom-color:#0b0f18}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(35,48,77,.8)}.label-primary{background:#23304d!important}.label-pale{background:#c4d6ed!important}.label-outline.label-primary{background:#ebf1f9!important;border-color:rgba(35,48,77,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#23304d;border-color:#23304d}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#23304d;-webkit-box-shadow:0 0 0 3px rgba(35,48,77,.2);box-shadow:0 0 0 3px rgba(35,48,77,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#23304d}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#23304d!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#23304d!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#23304d!important}.nav-tabs>li.active>a:before{background:#23304d}.nav-tabs-primary>li.active>a{color:#23304d!important}.panel-actions .btn.text-primary{color:#23304d}.picker-focus .picker-selections{border-color:#23304d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,48,77,.6)}.status-bars .bar{background:#23304d}.status-bars-h .bar{background:#23304d}.messagger-zt .messager-content>.icon{color:#23304d}.tree li.active>a{color:#23304d}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#23304d}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#304269}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#ebf1f9}.dropdown-submenu:hover>a:after{border-left-color:#23304d}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#304269}.timeline>li>a:after,.timeline>li>div:after{background-color:#23304d}.timeline>li.active:before{background-color:rgba(35,48,77,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#23304d!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#23304d!important}#mainHeader{background:#3b5182;border-top-color:#23304d;border-bottom-color:#ebf1f9}#searchGo{background-color:#304269}#searchGo:hover{background-color:#23304d}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#23304d}#subHeader.admin-tab-menu>.container>#subNavbar>ul>li.active>a:after{border-color:#23304d}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#23304d}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#23304d}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #23304d}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #23304d}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #23304d}#sidebarHeader .title{color:#23304d}#sidebar>.sidebar-toggle>.icon{background:#506eaf}#main .querybox-toggle.querybox-opened{color:#23304d}#contentNav .nav>li.active>a{color:#23304d}#contentNav .nav>li.active>a:before{background:#23304d}td.c-actions .btn{color:#304269}td.c-actions .btn:hover{color:#23304d;background-color:#d7e3f3}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#23304d;background:#ebf1f9}.main-table table .btn-icon-left:hover>.icon{background:#ebf1f9}.main-table tbody>tr:hover{background:#ebf1f9}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#23304d}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#f3f6fb}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f3f6fb}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#304269}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#5773b2}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#23304d}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#23304d}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#23304d}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#ebf1f9}.table-nest-toggle:hover{color:#23304d}.table-footer .checkbox-primary.checked label:after{border-color:#23304d!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#334670!important;border-color:#334670!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#23304d}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#23304d;border-color:#23304d}.article-content a{color:#23304d}.article-content a:focus,.article-content a:hover{color:#304269}.list-group{overflow-y:auto}.list-group>a.selected{color:#ebf1f9;background-color:#23304d}.list-group>a.active{color:#23304d;background-color:#ebf1f9}.list-group>a.active:hover,.list-group>a:hover{background-color:#23304d}#swapper #dropMenu .tree li>.selected{color:#23304d!important;background:#ebf1f9!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#23304d!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#23304d!important;background:#ebf1f9!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#23304d!important}.release-line>li>a:hover:before{background-color:#ebf1f9}.release-line>li>a:hover .title{color:#23304d}.release-line>li.active>a:before{border-color:#23304d}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#304269}#poweredBy .icon-zentao{color:#304269}#poweredBy a:hover{color:#23304d}#poweredBy a:hover .icon-zentao{color:#23304d}#poweredBy a.text-primary{color:#23304d}#poweredBy a.text-primary:hover{color:#304269}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#23304d!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#304269!important}.dynamic.active .dynamic-date:before{background-color:#304269!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#23304d!important}.table td.has-child>.task-toggle:hover{color:#23304d!important}#openTaskPage.open:hover,#task .task-nav{color:#23304d!important;background:#ebf1f9!important}#tasksProgress>.progress-bar{background:#23304d!important}#tasksProgress .progress-text{color:#23304d!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#23304d!important;background:#ebf1f9!important;border-left-color:#23304d!important;-webkit-box-shadow:inset 4px 0 0 #23304d!important;box-shadow:inset 4px 0 0 #23304d!important}#copyProjectModal a:hover{border-color:#304269!important}#zeroTaskStory.checked{background:#ebf1f9!important;border-color:#304269!important}.cols-list .col:hover{background:#ebf1f9!important}.files-grid .actions,.files-grid .col:hover .file{background:#ebf1f9!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#304269!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#304269!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#23304d!important}#bars>li.active:after{background:#ebf1f9!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#0b0f18;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#23304d}td.c-actions .btn{color:#23304d}.main-table tbody>tr:hover{background:rgba(235,241,249,.8)}.main-table tbody>tr>td.c-name a{color:#000}.main-table tbody>tr>td.c-name a:hover{color:#0b0f18}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#23304d!important}.assigned-none{color:#0b0f18!important}.assigned-current{color:#f38f19!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#0b0f18!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#0b0f18!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#3b5182}#assigntomeBlock .nav>li.active>a{color:#0b0f18}.consumedTotally{color:#23304d;background:#ebf1f9}#toggleFoldIcon .icon-border{border:1px solid #7a90c2}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#23304d}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#304269}.nav-steps>ul>li.active>a:focus{background-color:#23304d}.nav-steps>ul>li.active+li:after{border-left-color:#304269}.nav-steps>ul>li.active:hover+li:after{border-left-color:#23304d}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#23304d}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #23304d;box-shadow:0 0 1px 1px #23304d}.border-primary-hover:hover{border:1px solid #23304d}.menu-hover-primary>li>a:hover{color:#0b0f18!important;background-color:#7a90c2!important}.menu-active-primary>li.active>a{color:#23304d!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#7a90c2!important}#mainHeader{background:#304269 -webkit-gradient(linear,right top,left top,from(#23304d),to(#304269));background:#304269 -webkit-linear-gradient(right,#23304d 0,#304269 100%);background:#304269 -o-linear-gradient(right,#23304d 0,#304269 100%);background:#304269 linear-gradient(-90deg,#23304d 0,#304269 100%);background-color:#304269} \ No newline at end of file diff --git a/www/theme/blue/style.css b/www/theme/blue/style.css index 15e10f4826..908703cd1f 100644 --- a/www/theme/blue/style.css +++ b/www/theme/blue/style.css @@ -1,6 +1,6 @@ /*! - * ZUI: Zentao Theme - blue - v1.10.0 - 2023-02-07 + * ZUI: Zentao Theme - blue - v1.10.0 - 2023-02-08 * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2023 cnezsoft.com; Licensed MIT - */a{color:#313c52}a:focus,a:hover{color:#0d88f8}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#0d88f8;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#0673d6;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#0560b3;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#0d88f8;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#0673d6;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#0560b3;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#0d88f8;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#0d88f8;background-color:#eaf5ff;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#0d88f8;background-color:#c1e2ff;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#9dd1ff;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#eaf5ff;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#0d88f8;background-color:#c1e2ff;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#9dd1ff;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#eaf5ff;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#0d88f8}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#0d88f8}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#066ecc}.label-primary.label-outline{color:#0d88f8;background:0 0;border:1px solid #0d88f8}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#066ecc}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ff8513}.label-warning.label-outline{color:#ff9f46;background:0 0;border:1px solid #ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff8513}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#70b9fb}.text-primary{color:#0d88f8}.text-primary:hover{color:#066ecc}.text-warning{color:#ff9f46}.text-warning:hover{color:#ff8513}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#0d88f8}a.bg-primary:hover{background-color:#066ecc}.hl-primary{background-color:#eaf5ff}a.hl-primary:hover{background-color:#b7ddff}.progress{background-color:#eaf5ff;border-radius:3px}.progress-bar{color:#fff;background-color:#0d88f8;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#0d88f8;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)}.form-control:focus{border-color:#0d88f8;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#0d88f8;border-color:#0d88f8}.switch input:focus+label{color:#0d88f8}.switch input:focus+label:before{border-color:#0d88f8;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #0d88f8;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #0d88f8}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#0d88f8;border-color:#0d88f8}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#0d88f8;-webkit-box-shadow:0 0 8px #0d88f8;box-shadow:0 0 8px #0d88f8}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#0d88f8}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#0d88f8}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#23c8ec}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#eaf5ff}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#23c8ec;border-color:#11a9cb}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#14bde2}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#3fcfee}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#52d4f0}.navbar-inverse .navbar-toggle{border-color:#52d4f0}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#14bde2}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#13b5d9}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#52d4f0}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#11a9cb}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#3fcfee}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#52d4f0}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #52d4f0;-webkit-box-shadow:inset 0 -1px 0 #11a9cb;box-shadow:inset 0 -1px 0 #11a9cb}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#12b1d4}.nav>li>a:focus,.nav>li>a:hover{color:#0d88f8}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#0d88f8}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#0d88f8;border-bottom-color:#0d88f8}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #0d88f8;box-shadow:inset 2px 0 0 #0d88f8}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#0d88f8}.panel-primary>.panel-heading{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#0d88f8}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#0d88f8}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#eaf5ff}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#0d88f8!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#0d88f8!important;border-bottom-left-radius:#0d88f8!important}.chosen-container .chosen-results li.highlighted{background-color:#0d88f8!important}.chosen-container-active .chosen-single{border-color:#0d88f8!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#0d88f8!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#0d88f8!important;border-bottom-left-radius:#0d88f8!important}.chosen-container.chosen-highlight-selected .result-selected{color:#0d88f8;background:#eaf5ff}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#0d88f8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#0d88f8}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#0d88f8}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9f46!important;border-color:#ff9f46!important}.datetimepicker td.day.active{background-color:#0d88f8!important;border-color:#066ecc!important}.datetimepicker td.day.active:hover{background-color:#066ecc!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ff8513!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#0d88f8!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)!important}.ke-menu-item-on{background-color:#0d88f8!important}.ke-colorpicker-cell-on{background-color:#0d88f8!important}.ke-input-text:focus{border-color:#0d88f8!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#0d88f8}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ff9f46}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#273042;background-color:#eaf5ff}.alert-primary hr{border-top-color:#c6e4ff}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ff922c;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#ff7f09}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#eaf5ff}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#0d88f8}.tree-drag-holder{background-color:#eaf5ff}.tree-menu li.active>a{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#23c8ec}a.text-primary{color:#0d88f8}.nav-primary>li.active>a{color:#0080f9}.nav-primary>li.active>a:hover{color:#0080f9}.bg-primary,.m-user-login{background:#23c8ec -webkit-gradient(linear,right top,left top,from(#0d88f8),to(#23c8ec))!important;background:#23c8ec -webkit-linear-gradient(right,#0d88f8 0,#23c8ec 100%)!important;background:#23c8ec -o-linear-gradient(right,#0d88f8 0,#23c8ec 100%)!important;background:#23c8ec linear-gradient(-90deg,#0d88f8 0,#23c8ec 100%)!important}.bg-primary-pure{color:#fff;background-color:#0d88f8}.bg-primary-pale{color:#0d88f8;background-color:#eaf5ff}.bg-secondary{background:#23c8ec}.alert-info{color:#0d88f8;background:#eaf5ff}.btn-primary{color:#fff;background-color:#0d88f8;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(13,136,248,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#077be5;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#0d88f8;border-color:transparent}.btn-secondary{color:#fff;background-color:#23c8ec;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(35,200,236,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#14bde2;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#23c8ec;border-color:transparent}.btn-info{color:#0d88f8;background-color:#eaf5ff;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#0d88f8;background-color:rgba(234,245,255,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#d0e9ff;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(13,136,248,.3);background-color:#eaf5ff;border-color:transparent}.btn-icon-left>.icon{color:#23c8ec;background:#eaf5ff}.btn-active-line{color:#0d88f8}.btn-active-line:after{border-bottom-color:#0d88f8}.btn-active-line:hover{color:#0d88f8}.btn-active-text .text{color:#0080f9}.btn-active-text .text:after{border-bottom-color:#0080f9}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(13,136,248,.8)}.label-primary{background:#0d88f8!important}.label-pale{background:#b7ddff!important}.label-outline.label-primary{background:#eaf5ff!important;border-color:rgba(13,136,248,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#0d88f8;border-color:#0d88f8}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#0d88f8;-webkit-box-shadow:0 0 0 3px rgba(13,136,248,.2);box-shadow:0 0 0 3px rgba(13,136,248,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#0d88f8}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#0d88f8!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#0d88f8!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#0d88f8!important}.nav-tabs>li.active>a:before{background:#0d88f8}.nav-tabs-primary>li.active>a{color:#0d88f8!important}.panel-actions .btn.text-primary{color:#0d88f8}.picker-focus .picker-selections{border-color:#0d88f8;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)}.status-bars .bar{background:#0d88f8}.status-bars-h .bar{background:#0d88f8}.messagger-zt .messager-content>.icon{color:#0d88f8}.tree li.active>a{color:#0d88f8}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#0d88f8}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#23c8ec}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#eaf5ff}.dropdown-submenu:hover>a:after{border-left-color:#0d88f8}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#23c8ec}.timeline>li>a:after,.timeline>li>div:after{background-color:#0d88f8}.timeline>li.active:before{background-color:rgba(13,136,248,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#0d88f8!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#0d88f8!important}#mainHeader{background:#2294fb;border-top-color:#0d88f8;border-bottom-color:#eaf5ff}#searchGo{background-color:#23c8ec}#searchGo:hover{background-color:#0d88f8}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#0d88f8}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#0d88f8}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#0d88f8}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #0d88f8}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #0d88f8}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #0d88f8}#sidebarHeader .title{color:#0d88f8}#sidebar>.sidebar-toggle>.icon{background:#81dff4}#main .querybox-toggle.querybox-opened{color:#0d88f8}#contentNav .nav>li.active>a{color:#0d88f8}#contentNav .nav>li.active>a:before{background:#0d88f8}td.c-actions .btn{color:#23c8ec}td.c-actions .btn:hover{color:#0d88f8;background-color:#d0e9ff}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#0d88f8;background:#eaf5ff}.main-table table .btn-icon-left:hover>.icon{background:#eaf5ff}.main-table tbody>tr:hover{background:#eaf5ff}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#0d88f8}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#f4faff}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f4faff}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#0c60e1}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#033869}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#0d88f8}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#0d88f8}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#0d88f8}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#eaf5ff}.table-nest-toggle:hover{color:#0d88f8}.table-footer .checkbox-primary.checked label:after{border-color:#0d88f8!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#3fa0f9!important;border-color:#3fa0f9!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#0d88f8}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#0d88f8;border-color:#0d88f8}.article-content a{color:#0d88f8}.article-content a:focus,.article-content a:hover{color:#23c8ec}.list-group{overflow-y:auto}.list-group>a.selected{color:#eaf5ff;background-color:#0d88f8}.list-group>a.active{color:#0d88f8;background-color:#eaf5ff}.list-group>a.active:hover,.list-group>a:hover{background-color:#0d88f8}#swapper #dropMenu .tree li>.selected{color:#0d88f8!important;background:#eaf5ff!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#0d88f8!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#0d88f8!important;background:#eaf5ff!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#0d88f8!important}.release-line>li>a:hover:before{background-color:#eaf5ff}.release-line>li>a:hover .title{color:#0d88f8}.release-line>li.active>a:before{border-color:#0d88f8}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#23c8ec}#poweredBy .icon-zentao{color:#23c8ec}#poweredBy a:hover{color:#0d88f8}#poweredBy a:hover .icon-zentao{color:#0d88f8}#poweredBy a.text-primary{color:#0d88f8}#poweredBy a.text-primary:hover{color:#23c8ec}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#0d88f8!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#23c8ec!important}.dynamic.active .dynamic-date:before{background-color:#23c8ec!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#0d88f8!important}.table td.has-child>.task-toggle:hover{color:#0d88f8!important}#openTaskPage.open:hover,#task .task-nav{color:#0d88f8!important;background:#eaf5ff!important}#tasksProgress>.progress-bar{background:#0d88f8!important}#tasksProgress .progress-text{color:#0d88f8!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#0d88f8!important;background:#eaf5ff!important;border-left-color:#0d88f8!important;-webkit-box-shadow:inset 4px 0 0 #0d88f8!important;box-shadow:inset 4px 0 0 #0d88f8!important}#copyProjectModal a:hover{border-color:#23c8ec!important}#zeroTaskStory.checked{background:#eaf5ff!important;border-color:#23c8ec!important}.cols-list .col:hover{background:#eaf5ff!important}.files-grid .actions,.files-grid .col:hover .file{background:#eaf5ff!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#23c8ec!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#23c8ec!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#0d88f8!important}#bars>li.active:after{background:#eaf5ff!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#0080f9;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#0d88f8}td.c-actions .btn{color:#0d88f8}.main-table tbody>tr:hover{background:rgba(234,245,255,.8)}.main-table tbody>tr>td.c-name a{color:#0071db}.main-table tbody>tr>td.c-name a:hover{color:#0080f9}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#0d88f8!important}.assigned-none{color:#0080f9!important}.assigned-current{color:#f38f19!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#0080f9!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#0080f9!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#2294fb}#assigntomeBlock .nav>li.active>a{color:#0080f9}.consumedTotally{color:#0d88f8;background:#eaf5ff}#toggleFoldIcon .icon-border{border:1px solid #cfe7fe}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#0d88f8}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#23c8ec}.nav-steps>ul>li.active>a:focus{background-color:#0d88f8}.nav-steps>ul>li.active+li:after{border-left-color:#23c8ec}.nav-steps>ul>li.active:hover+li:after{border-left-color:#0d88f8}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#0d88f8}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #0d88f8;box-shadow:0 0 1px 1px #0d88f8}.border-primary-hover:hover{border:1px solid #0d88f8}.menu-hover-primary>li>a:hover{color:#0080f9!important;background-color:#cfe7fe!important}.menu-active-primary>li.active>a{color:#0d88f8!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#cfe7fe!important}body{background-color:#f4f5f7}#mainHeader{font-size:14px;background:#fff;border-bottom:1px solid #e3e1e1;-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.04);box-shadow:0 4px 8px 0 rgba(0,0,0,.04)}#heading .header-btn .btn,#navbar .nav>li>a{color:#3c4353}.header-btn+.header-btn:before{color:#3c4353}#navbar .nav>li.active>a{position:relative;font-weight:400;color:#0d88f8;background:0 0}#navbar .nav>li.active>a:before{position:absolute;right:10px;bottom:0;left:10px;display:block;height:2px;content:' ';background-color:#0d88f8}#navbar .nav>li>a.active:hover,#navbar .nav>li>a:hover{background-color:rgba(0,0,0,.1)}#navbar .nav>li.divider{background-color:#f1f1f1}#userNav>li>a{color:#3c4353}#visionSwitcher .dropdown-toggle>div,#visionSwitcher>div{background-color:rgba(0,0,0,.1)}#subNavbar{font-size:14px}#subHeader{margin-top:-1px;border-top:1px solid #efefef;border-bottom:1px solid #e3e1e1;-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.04);box-shadow:0 4px 8px 0 rgba(0,0,0,.04)}.main-content>.cell,.main-content>.panel{border:none}.body-modal #mainContent{border:none}.dropdown-menu{border:1px solid #f2f2f2;-webkit-box-shadow:0 4px 10px 0 rgba(0,0,0,.09);box-shadow:0 4px 10px 0 rgba(0,0,0,.09)}.btn.btn-action,.c-actions .btn{width:26px;height:26px;padding:0}.btn.btn-action>i,.c-actions .btn>i{top:3px}.btn.btn-action+.btn,.c-actions .btn+.btn{margin-left:-3px}.btn.btn-action.disabled,.c-actions .btn.disabled{border-color:transparent}.btn.btn-action:hover,.c-actions .btn:hover{border-color:rgba(0,0,0,.1)}.c-actions button.btn>i,button.btn.btn-action>i{top:0}.table.has-sort-head thead>tr>th>a:after,.table.has-sort-head thead>tr>th>a:before{opacity:.2}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #e5e5e5}.calendar-view .table-bordered,.calendar-view .table-bordered th{border:none}.main-table table tr{border-color:#f2f4f7!important}.main-table tbody>tr.checked{background:#fff3e0!important}.main-table tbody>tr>td,.main-table thead>tr>th{min-height:36px;padding:3px 8px;line-height:30px}.main-table thead>tr>th{border-color:#e5e5e5}.main-table tbody>tr>td{border-bottom:none!important}.main-table .table-nested>tbody>tr[data-parent="0"]{background:0 0}.main-table .table-nested>tbody>tr[data-parent="0"]+.is-nest-child{border-top:1px solid #e5e5e5}.main-table .table-nested>tbody>tr:hover{background:#ebf3fe!important}.main-table tbody>tr.checked.row-check-begin>td:first-child:before,.main-table tbody>tr.checked.row-check-end>td:first-child:before{border-radius:0}#sidebar>.cell>.panel{border:none}#queryBox{border-width:0}#queryBox.show{border-width:1px}.checkbox-primary>label:after,.radio-primary>label:after{border-color:#d9dbe1}body.m-index-index{height:100vh;background-color:#0d88f8!important;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAAJYBAMAAACuq3YLAAAAG1BMVEUAAAD////////////////////////////////rTT7CAAAACXRSTlMAJhQfBgsPGhdNj7JjAAAHm0lEQVR42uTNQQ0DQAhFwQ0BhCAFCUjAv4iee9tL+5L9Y2COGj933onjQPLceSe2c+eduA9kzp134j2QOneeiV0uDipOudjk4qbikYuXikstdioOuTip2Ki45eKh4qXiUoudikMuTio2Km65eKh4qbjUYqfioOKkYpOLm4qHipeKSy12Kg4qTio2uXjk4qXigmKn4qDipGKTi5uKh4qXiguKnYqDipOKjYqbioeKl4pLLQ652OTikYtLLQ652OTioeKl4oJip+Kg4qRio+Km4qHipeKCYqfioGKj4qbioeKl4oJip+KkYqPipuKh4qXiguKg4qRio+Km4qXigmKn4qBi+2P8pal4qLig2Kk4qNiouKl4qLig2Kk4qNiouKl4qLig2Kk4qNiouKl4qbig2Kk4qdioeKh4odgLioOKjYqbipeKC4qDiu3H8Yd4OraBIISBKLpCQE4JmIBNaYESKIEOtgQ6v/QSbAJG8xt40lje1lnwZMFCggMLdiy4s+DJgoUEBxbsWHBnwZMEeyHBgQU7FjxYsJBgz4IjC+4seLLgnfs+2MIOrg82t4PLg22wYNmVH2ieBcctvB5ofQt/D7S5hduDzAsJjns4Pcg6ATZO/Cow9MRVgaEnLlC4s+C5hzMS9rJvIeGowB8S7grckPBU4ASEvRBg68SvAkNPXJDwJMDmiTMQjhq8gHDX4A8Ii1bDwYEFOxVOOHho7guERavg4MiCuwpnHDxV+IPBXtQaDHY6nGDwYMD20hUGRx0uMLjrcIbBordQcDDgDwU7A24oeBpwAsHecKsCQ5cuKHgYcAbBXowWCI4W3EDwsOCkwMilXwWGLl02MGTp/zIG9mK1MHA04YaBhwknBUYu/SowdOmiwNClMwT2YrYgsLPhBoGHDScFRi5dFRi6dIHA04YXAg5i1xBwF7uEgMWuIuAodgUBD7FbANjLQQ0AuxM4AeApdhUABzmoAOB+Aq/7sJeT2n3YHcHpPjyPTnwfDnJSvg+PI/i7Dns5Kl2H+5Fb78NyVL4OxzP4uw7PM7jdhsOZ+6b/EL/048UObiUHgSiKShZmXyE0LOwtKbCYAAiBDByCNYnPZqS/+hK3de2XwNErCtrqX1JtOJW13DbcF+EGYLPwGTK8LcLVhstiLhneVuGQ4VX3kOG8Cn9keH55xPFW4RIANgtXAKuFPy48l+EGYLPwGSpcllNVOK/DlwqX9YQJ93W3mnAq67lNuAM4RHgHbjXhAeBbhHMBaSI8gXuEB/cC8vHgVEiaBw/inqHBeyH5ePBEcNPgP8g9woJTQbk1uDO4WfDO3BoWPOGkLXgrLCHBCbrVgjuELwneoXuGBA86aQnOBaZJ8NQKx6ObVS4HTkVbrYhHC38ceC80zYEHdWsocC40lwNP6p6hwFuh+ThwwWkK3LFbw4CTXTgeLGzAfuF4qvARBrwXnEuBh184Xi78k2cKnwFgs/ANYLewAWenMIenUpjDueBcADYLHwHg1wvHE4UB/H7h0AvXWIteuCnweKxwyK/02RR46I/lT9zCRyjw8K/ST9TCNRS4Y7gpcHI2i8OdbxaJWPhy4I1vlgNP6J7hwJkPmsUqXANG+3uYRnotmwQnPGgJ7vTpsGA6aAvO9I224AkP2IJ3eMAa3BHcNDjBp1KDN3bAHjzRAXvwjr7fRbijxfLghBZLhPO6+zdMeLzjxveTrqHCHVwkFQYXSYUzuEgqPN5y47vVukKGM7hIKjzARTLhBC6SCuf33MCTPpsD40lLbtBvnjukwEnXsMImfYYWttPtEXiAA1ZhcMAqnMEBq3AHB6zC4CdJhXfwRKtwB4NW4Qk22oQT2GgVzmDQKtzBoFV4gkGbcAJfsyq8gUGr8ACbpcKvF46F9zL+5x/3dWzDIBRDUdRCQP9GSAVz/BH+CGyQEdg85S2sSGm4Rd4CR/a3TfIEvDhf/w4Pd5WAL3WVgFd3soB3d5WAh1sw8HQLBnYLBt7cgoF3t2Dg4RYMPN2Cgd2CgVe3YODdLRh4cf6zdHi4nyXgKX6HydehfuXZMNTSaAFv7i4B727BwIu7S8DD+U3b4enuEvDl7hKwO1rAqztawJs8WsBup4F392oBL+4HEXh0OI8HuHf6qQC7owU85XMJ7J5L4EvuNLDbaWC508Dy9QC2Ow3sXw9gv9MdjpWSOw2s//YA9s9Wh49oKf1sAfvL1OF4KXmZgO0nBvaXqcMRU/4Td/iOmNKfuMNnzJT+xB2+Y6b0J+5w1AAfUVP2oe7wO16A9dkCPuOm9PMB7M8WsD9bwFEDfEROybMFbM8WsD9bwP7dAo6d8oca2B9q4Dt2Sp2tDkcN8Bk9pc8WsH8wge/oqR+H+t/gqAE+4qfkbQK2twnY3ybgd/yUuE0djhrgM/FTP27Tf8GfdurYBkAYiKHoreARIgpoGS0jsDkTIFxEOsX6f4FX2UMNVdOaVOaasmAZRcGnOipzxlHwkFEUPNVRmf8RBctqPXyppTKPKwk+5JQEDzklwY+ckuCplsq8auAFsKyC4Es91SmrIPiQFfDG8JAV8MbwI6sgeMoqCL5lBQwMDAyskhcwMDAwMPBnwMDAwMDAnwEDA//2AvAZt8geDw8jAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:left bottom;-webkit-background-size:120px 300px;background-size:120px 300px}.m-index-index #menu{background:0 0!important}.m-index-index #apps{overflow:hidden}.m-index-index #appsBar{border-color:#e2e2e2}.m-index-index #menu .nav>li>a{opacity:.75}.m-index-index #menu .nav>li.active>a,.m-index-index #menu .nav>li>a:focus,.m-index-index #menu .nav>li>a:hover{background:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.2)),to(rgba(0,0,0,0)))!important;background:-webkit-linear-gradient(left,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 100%)!important;background:-o-linear-gradient(left,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 100%)!important;background:linear-gradient(90deg,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 100%)!important;border-radius:4px;opacity:1}.m-index-index #menu .nav>li.active>a:hover{background-color:#0d88f8!important}.m-index-index.menu-hide #menu .nav>li.active>a,.m-index-index.menu-hide #menu .nav>li>a:focus,.m-index-index.menu-hide #menu .nav>li>a:hover{background:rgba(0,0,0,.12)!important}.m-index-index #bars>li>a{color:#838a9d}.m-index-index #bars>li>a:hover{color:#fff!important;background-color:#0d88f8!important}.m-index-index #bars>li.active>a:active>span,.m-index-index #bars>li.active>a:focus>span,.m-index-index #bars>li.active>a>span{font-weight:400;border-color:#23c8ec}.m-index-index #bars>li.active>a{color:#3c4353}.m-index-index #bars>li.active>a:hover{color:#fff!important}.m-project-browse #cards{padding:0;margin:0 -10px;background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none}.m-project-browse #cards .pager .btn{background-color:transparent}.m-product-all #productList>thead>tr{border-top:1px solid #ededed}.m-product-all #productList>thead>tr>th{border-color:#ededed!important}.m-product-all #productList>thead>tr:first-child>th:first-child{border-left:none}.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(10),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(11),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(12),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(2),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(3),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(8){border-right:1px solid #ededed}.m-repo-browse #logForm,.m-repo-browse .main-table{border:1px solid #ededed}#userNav>li>a>.icon{color:#23c8ec;filter:none;-webkit-filter:none}#mainMenu>.btn-toobar .btn-link:active,#mainMenu>.btn-toolBar .btn-link:active,#mainMenu>.btn-toolbar .btn-link:active{background:#e6eaf1}#mainHeader #headerActions .btn-group>.btn{color:#313c52!important}.table-actions .btn:hover{color:#fff}#programTableList>tr:hover{background:#eaf5ffcc}#programTableList>tr:hover>.c-name>a{color:#0080f9!important}#programTableList>tr[data-type=project]>.c-name>a{color:#0071db!important}.m-product-all #mainMenu>div.btn-toolbar.pull-right>a.btn.btn-link.iframe{color:#00c0e9!important} \ No newline at end of file + */a{color:#313c52}a:focus,a:hover{color:#0d88f8}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#0d88f8;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#0673d6;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#0560b3;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#0d88f8;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#0673d6;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#0560b3;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#0d88f8;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#0d88f8;background-color:#eaf5ff;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#0d88f8;background-color:#c1e2ff;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#9dd1ff;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#eaf5ff;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#0d88f8;background-color:#c1e2ff;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#9dd1ff;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#eaf5ff;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#0d88f8}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#0d88f8}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#066ecc}.label-primary.label-outline{color:#0d88f8;background:0 0;border:1px solid #0d88f8}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#066ecc}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ff8513}.label-warning.label-outline{color:#ff9f46;background:0 0;border:1px solid #ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff8513}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#70b9fb}.text-primary{color:#0d88f8}.text-primary:hover{color:#066ecc}.text-warning{color:#ff9f46}.text-warning:hover{color:#ff8513}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#0d88f8}a.bg-primary:hover{background-color:#066ecc}.hl-primary{background-color:#eaf5ff}a.hl-primary:hover{background-color:#b7ddff}.progress{background-color:#eaf5ff;border-radius:3px}.progress-bar{color:#fff;background-color:#0d88f8;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#0d88f8;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)}.form-control:focus{border-color:#0d88f8;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#0d88f8;border-color:#0d88f8}.switch input:focus+label{color:#0d88f8}.switch input:focus+label:before{border-color:#0d88f8;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #0d88f8;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #0d88f8}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#0d88f8;border-color:#0d88f8}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#0d88f8;-webkit-box-shadow:0 0 8px #0d88f8;box-shadow:0 0 8px #0d88f8}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#0d88f8}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#0d88f8}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#23c8ec}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#eaf5ff}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#23c8ec;border-color:#11a9cb}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#14bde2}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#3fcfee}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#52d4f0}.navbar-inverse .navbar-toggle{border-color:#52d4f0}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#14bde2}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#13b5d9}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#52d4f0}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#11a9cb}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#3fcfee}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#52d4f0}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #52d4f0;-webkit-box-shadow:inset 0 -1px 0 #11a9cb;box-shadow:inset 0 -1px 0 #11a9cb}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#12b1d4}.nav>li>a:focus,.nav>li>a:hover{color:#0d88f8}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#0d88f8}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#0d88f8;border-bottom-color:#0d88f8}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #0d88f8;box-shadow:inset 2px 0 0 #0d88f8}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#0d88f8}.panel-primary>.panel-heading{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#0d88f8}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#0d88f8}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#eaf5ff}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#0d88f8!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#0d88f8!important;border-bottom-left-radius:#0d88f8!important}.chosen-container .chosen-results li.highlighted{background-color:#0d88f8!important}.chosen-container-active .chosen-single{border-color:#0d88f8!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#0d88f8!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#0d88f8!important;border-bottom-left-radius:#0d88f8!important}.chosen-container.chosen-highlight-selected .result-selected{color:#0d88f8;background:#eaf5ff}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#0d88f8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#0d88f8}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#0d88f8}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9f46!important;border-color:#ff9f46!important}.datetimepicker td.day.active{background-color:#0d88f8!important;border-color:#066ecc!important}.datetimepicker td.day.active:hover{background-color:#066ecc!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ff8513!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#0d88f8!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)!important}.ke-menu-item-on{background-color:#0d88f8!important}.ke-colorpicker-cell-on{background-color:#0d88f8!important}.ke-input-text:focus{border-color:#0d88f8!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#0d88f8}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ff9f46}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#273042;background-color:#eaf5ff}.alert-primary hr{border-top-color:#c6e4ff}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ff922c;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#ff7f09}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#eaf5ff}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#0d88f8}.tree-drag-holder{background-color:#eaf5ff}.tree-menu li.active>a{color:#fff;background-color:#0d88f8;border-color:#0d88f8}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#23c8ec}a.text-primary{color:#0d88f8}.nav-primary>li.active>a{color:#0080f9}.nav-primary>li.active>a:hover{color:#0080f9}.bg-primary,.m-user-login{background:#23c8ec -webkit-gradient(linear,right top,left top,from(#0d88f8),to(#23c8ec))!important;background:#23c8ec -webkit-linear-gradient(right,#0d88f8 0,#23c8ec 100%)!important;background:#23c8ec -o-linear-gradient(right,#0d88f8 0,#23c8ec 100%)!important;background:#23c8ec linear-gradient(-90deg,#0d88f8 0,#23c8ec 100%)!important}.bg-primary-pure{color:#fff;background-color:#0d88f8}.bg-primary-pale{color:#0d88f8;background-color:#eaf5ff}.bg-secondary{background:#23c8ec}.alert-info{color:#0d88f8;background:#eaf5ff}.btn-primary{color:#fff;background-color:#0d88f8;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(13,136,248,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#077be5;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#0d88f8;border-color:transparent}.btn-secondary{color:#fff;background-color:#23c8ec;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(35,200,236,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#14bde2;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#23c8ec;border-color:transparent}.btn-info{color:#0d88f8;background-color:#eaf5ff;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#0d88f8;background-color:rgba(234,245,255,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#d0e9ff;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(13,136,248,.3);background-color:#eaf5ff;border-color:transparent}.btn-icon-left>.icon{color:#23c8ec;background:#eaf5ff}.btn-active-line{color:#0d88f8}.btn-active-line:after{border-bottom-color:#0d88f8}.btn-active-line:hover{color:#0d88f8}.btn-active-text .text{color:#0080f9}.btn-active-text .text:after{border-bottom-color:#0080f9}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(13,136,248,.8)}.label-primary{background:#0d88f8!important}.label-pale{background:#b7ddff!important}.label-outline.label-primary{background:#eaf5ff!important;border-color:rgba(13,136,248,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#0d88f8;border-color:#0d88f8}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#0d88f8;-webkit-box-shadow:0 0 0 3px rgba(13,136,248,.2);box-shadow:0 0 0 3px rgba(13,136,248,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#0d88f8}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#0d88f8!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#0d88f8!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#0d88f8!important}.nav-tabs>li.active>a:before{background:#0d88f8}.nav-tabs-primary>li.active>a{color:#0d88f8!important}.panel-actions .btn.text-primary{color:#0d88f8}.picker-focus .picker-selections{border-color:#0d88f8;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(13,136,248,.6)}.status-bars .bar{background:#0d88f8}.status-bars-h .bar{background:#0d88f8}.messagger-zt .messager-content>.icon{color:#0d88f8}.tree li.active>a{color:#0d88f8}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#0d88f8}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#23c8ec}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#eaf5ff}.dropdown-submenu:hover>a:after{border-left-color:#0d88f8}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#23c8ec}.timeline>li>a:after,.timeline>li>div:after{background-color:#0d88f8}.timeline>li.active:before{background-color:rgba(13,136,248,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#0d88f8!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#0d88f8!important}#mainHeader{background:#2294fb;border-top-color:#0d88f8;border-bottom-color:#eaf5ff}#searchGo{background-color:#23c8ec}#searchGo:hover{background-color:#0d88f8}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#0d88f8}#subHeader.admin-tab-menu>.container>#subNavbar>ul>li.active>a:after{border-color:#0d88f8}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#0d88f8}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#0d88f8}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #0d88f8}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #0d88f8}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #0d88f8}#sidebarHeader .title{color:#0d88f8}#sidebar>.sidebar-toggle>.icon{background:#81dff4}#main .querybox-toggle.querybox-opened{color:#0d88f8}#contentNav .nav>li.active>a{color:#0d88f8}#contentNav .nav>li.active>a:before{background:#0d88f8}td.c-actions .btn{color:#23c8ec}td.c-actions .btn:hover{color:#0d88f8;background-color:#d0e9ff}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#0d88f8;background:#eaf5ff}.main-table table .btn-icon-left:hover>.icon{background:#eaf5ff}.main-table tbody>tr:hover{background:#eaf5ff}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#0d88f8}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#f4faff}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f4faff}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#0c60e1}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#033869}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#0d88f8}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#0d88f8}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#0d88f8}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#eaf5ff}.table-nest-toggle:hover{color:#0d88f8}.table-footer .checkbox-primary.checked label:after{border-color:#0d88f8!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#3fa0f9!important;border-color:#3fa0f9!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#0d88f8}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#0d88f8;border-color:#0d88f8}.article-content a{color:#0d88f8}.article-content a:focus,.article-content a:hover{color:#23c8ec}.list-group{overflow-y:auto}.list-group>a.selected{color:#eaf5ff;background-color:#0d88f8}.list-group>a.active{color:#0d88f8;background-color:#eaf5ff}.list-group>a.active:hover,.list-group>a:hover{background-color:#0d88f8}#swapper #dropMenu .tree li>.selected{color:#0d88f8!important;background:#eaf5ff!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#0d88f8!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#0d88f8!important;background:#eaf5ff!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#0d88f8!important}.release-line>li>a:hover:before{background-color:#eaf5ff}.release-line>li>a:hover .title{color:#0d88f8}.release-line>li.active>a:before{border-color:#0d88f8}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#23c8ec}#poweredBy .icon-zentao{color:#23c8ec}#poweredBy a:hover{color:#0d88f8}#poweredBy a:hover .icon-zentao{color:#0d88f8}#poweredBy a.text-primary{color:#0d88f8}#poweredBy a.text-primary:hover{color:#23c8ec}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#0d88f8!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#23c8ec!important}.dynamic.active .dynamic-date:before{background-color:#23c8ec!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#0d88f8!important}.table td.has-child>.task-toggle:hover{color:#0d88f8!important}#openTaskPage.open:hover,#task .task-nav{color:#0d88f8!important;background:#eaf5ff!important}#tasksProgress>.progress-bar{background:#0d88f8!important}#tasksProgress .progress-text{color:#0d88f8!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#0d88f8!important;background:#eaf5ff!important;border-left-color:#0d88f8!important;-webkit-box-shadow:inset 4px 0 0 #0d88f8!important;box-shadow:inset 4px 0 0 #0d88f8!important}#copyProjectModal a:hover{border-color:#23c8ec!important}#zeroTaskStory.checked{background:#eaf5ff!important;border-color:#23c8ec!important}.cols-list .col:hover{background:#eaf5ff!important}.files-grid .actions,.files-grid .col:hover .file{background:#eaf5ff!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#23c8ec!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#23c8ec!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#0d88f8!important}#bars>li.active:after{background:#eaf5ff!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#0080f9;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#0d88f8}td.c-actions .btn{color:#0d88f8}.main-table tbody>tr:hover{background:rgba(234,245,255,.8)}.main-table tbody>tr>td.c-name a{color:#0071db}.main-table tbody>tr>td.c-name a:hover{color:#0080f9}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#0d88f8!important}.assigned-none{color:#0080f9!important}.assigned-current{color:#f38f19!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#0080f9!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#0080f9!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#2294fb}#assigntomeBlock .nav>li.active>a{color:#0080f9}.consumedTotally{color:#0d88f8;background:#eaf5ff}#toggleFoldIcon .icon-border{border:1px solid #cfe7fe}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#0d88f8}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#23c8ec}.nav-steps>ul>li.active>a:focus{background-color:#0d88f8}.nav-steps>ul>li.active+li:after{border-left-color:#23c8ec}.nav-steps>ul>li.active:hover+li:after{border-left-color:#0d88f8}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#0d88f8}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #0d88f8;box-shadow:0 0 1px 1px #0d88f8}.border-primary-hover:hover{border:1px solid #0d88f8}.menu-hover-primary>li>a:hover{color:#0080f9!important;background-color:#cfe7fe!important}.menu-active-primary>li.active>a{color:#0d88f8!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#cfe7fe!important}body{background-color:#f4f5f7}#mainHeader{font-size:14px;background:#fff;border-bottom:1px solid #e3e1e1;-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.04);box-shadow:0 4px 8px 0 rgba(0,0,0,.04)}#heading .header-btn .btn,#navbar .nav>li>a{color:#3c4353}.header-btn+.header-btn:before{color:#3c4353}#navbar .nav>li.active>a{position:relative;font-weight:400;color:#0d88f8;background:0 0}#navbar .nav>li.active>a:before{position:absolute;right:10px;bottom:0;left:10px;display:block;height:2px;content:' ';background-color:#0d88f8}#navbar .nav>li>a.active:hover,#navbar .nav>li>a:hover{background-color:rgba(0,0,0,.1)}#navbar .nav>li.divider{background-color:#f1f1f1}#userNav>li>a{color:#3c4353}#visionSwitcher .dropdown-toggle>div,#visionSwitcher>div{background-color:rgba(0,0,0,.1)}#subNavbar{font-size:14px}#subHeader{margin-top:-1px;border-top:1px solid #efefef;border-bottom:1px solid #e3e1e1;-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.04);box-shadow:0 4px 8px 0 rgba(0,0,0,.04)}.main-content>.cell,.main-content>.panel{border:none}.body-modal #mainContent{border:none}.dropdown-menu{border:1px solid #f2f2f2;-webkit-box-shadow:0 4px 10px 0 rgba(0,0,0,.09);box-shadow:0 4px 10px 0 rgba(0,0,0,.09)}.btn.btn-action,.c-actions .btn{width:26px;height:26px;padding:0}.btn.btn-action>i,.c-actions .btn>i{top:3px}.btn.btn-action+.btn,.c-actions .btn+.btn{margin-left:-3px}.btn.btn-action.disabled,.c-actions .btn.disabled{border-color:transparent}.btn.btn-action:hover,.c-actions .btn:hover{border-color:rgba(0,0,0,.1)}.c-actions button.btn>i,button.btn.btn-action>i{top:0}.table.has-sort-head thead>tr>th>a:after,.table.has-sort-head thead>tr>th>a:before{opacity:.2}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #e5e5e5}.calendar-view .table-bordered,.calendar-view .table-bordered th{border:none}.main-table table tr{border-color:#f2f4f7!important}.main-table tbody>tr.checked{background:#fff3e0!important}.main-table tbody>tr>td,.main-table thead>tr>th{min-height:36px;padding:3px 8px;line-height:30px}.main-table thead>tr>th{border-color:#e5e5e5}.main-table tbody>tr>td{border-bottom:none!important}.main-table .table-nested>tbody>tr[data-parent="0"]{background:0 0}.main-table .table-nested>tbody>tr[data-parent="0"]+.is-nest-child{border-top:1px solid #e5e5e5}.main-table .table-nested>tbody>tr:hover{background:#ebf3fe!important}.main-table tbody>tr.checked.row-check-begin>td:first-child:before,.main-table tbody>tr.checked.row-check-end>td:first-child:before{border-radius:0}#sidebar>.cell>.panel{border:none}#queryBox{border-width:0}#queryBox.show{border-width:1px}.checkbox-primary>label:after,.radio-primary>label:after{border-color:#d9dbe1}body.m-index-index{height:100vh;background-color:#0d88f8!important;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAAJYBAMAAACuq3YLAAAAG1BMVEUAAAD////////////////////////////////rTT7CAAAACXRSTlMAJhQfBgsPGhdNj7JjAAAHm0lEQVR42uTNQQ0DQAhFwQ0BhCAFCUjAv4iee9tL+5L9Y2COGj933onjQPLceSe2c+eduA9kzp134j2QOneeiV0uDipOudjk4qbikYuXikstdioOuTip2Ki45eKh4qXiUoudikMuTio2Km65eKh4qbjUYqfioOKkYpOLm4qHipeKSy12Kg4qTio2uXjk4qXigmKn4qDipGKTi5uKh4qXiguKnYqDipOKjYqbioeKl4pLLQ652OTikYtLLQ652OTioeKl4oJip+Kg4qRio+Km4qHipeKCYqfioGKj4qbioeKl4oJip+KkYqPipuKh4qXiguKg4qRio+Km4qXigmKn4qBi+2P8pal4qLig2Kk4qNiouKl4qLig2Kk4qNiouKl4qLig2Kk4qNiouKl4qbig2Kk4qdioeKh4odgLioOKjYqbipeKC4qDiu3H8Yd4OraBIISBKLpCQE4JmIBNaYESKIEOtgQ6v/QSbAJG8xt40lje1lnwZMFCggMLdiy4s+DJgoUEBxbsWHBnwZMEeyHBgQU7FjxYsJBgz4IjC+4seLLgnfs+2MIOrg82t4PLg22wYNmVH2ieBcctvB5ofQt/D7S5hduDzAsJjns4Pcg6ATZO/Cow9MRVgaEnLlC4s+C5hzMS9rJvIeGowB8S7grckPBU4ASEvRBg68SvAkNPXJDwJMDmiTMQjhq8gHDX4A8Ii1bDwYEFOxVOOHho7guERavg4MiCuwpnHDxV+IPBXtQaDHY6nGDwYMD20hUGRx0uMLjrcIbBordQcDDgDwU7A24oeBpwAsHecKsCQ5cuKHgYcAbBXowWCI4W3EDwsOCkwMilXwWGLl02MGTp/zIG9mK1MHA04YaBhwknBUYu/SowdOmiwNClMwT2YrYgsLPhBoGHDScFRi5dFRi6dIHA04YXAg5i1xBwF7uEgMWuIuAodgUBD7FbANjLQQ0AuxM4AeApdhUABzmoAOB+Aq/7sJeT2n3YHcHpPjyPTnwfDnJSvg+PI/i7Dns5Kl2H+5Fb78NyVL4OxzP4uw7PM7jdhsOZ+6b/EL/048UObiUHgSiKShZmXyE0LOwtKbCYAAiBDByCNYnPZqS/+hK3de2XwNErCtrqX1JtOJW13DbcF+EGYLPwGTK8LcLVhstiLhneVuGQ4VX3kOG8Cn9keH55xPFW4RIANgtXAKuFPy48l+EGYLPwGSpcllNVOK/DlwqX9YQJ93W3mnAq67lNuAM4RHgHbjXhAeBbhHMBaSI8gXuEB/cC8vHgVEiaBw/inqHBeyH5ePBEcNPgP8g9woJTQbk1uDO4WfDO3BoWPOGkLXgrLCHBCbrVgjuELwneoXuGBA86aQnOBaZJ8NQKx6ObVS4HTkVbrYhHC38ceC80zYEHdWsocC40lwNP6p6hwFuh+ThwwWkK3LFbw4CTXTgeLGzAfuF4qvARBrwXnEuBh184Xi78k2cKnwFgs/ANYLewAWenMIenUpjDueBcADYLHwHg1wvHE4UB/H7h0AvXWIteuCnweKxwyK/02RR46I/lT9zCRyjw8K/ST9TCNRS4Y7gpcHI2i8OdbxaJWPhy4I1vlgNP6J7hwJkPmsUqXANG+3uYRnotmwQnPGgJ7vTpsGA6aAvO9I224AkP2IJ3eMAa3BHcNDjBp1KDN3bAHjzRAXvwjr7fRbijxfLghBZLhPO6+zdMeLzjxveTrqHCHVwkFQYXSYUzuEgqPN5y47vVukKGM7hIKjzARTLhBC6SCuf33MCTPpsD40lLbtBvnjukwEnXsMImfYYWttPtEXiAA1ZhcMAqnMEBq3AHB6zC4CdJhXfwRKtwB4NW4Qk22oQT2GgVzmDQKtzBoFV4gkGbcAJfsyq8gUGr8ACbpcKvF46F9zL+5x/3dWzDIBRDUdRCQP9GSAVz/BH+CGyQEdg85S2sSGm4Rd4CR/a3TfIEvDhf/w4Pd5WAL3WVgFd3soB3d5WAh1sw8HQLBnYLBt7cgoF3t2Dg4RYMPN2Cgd2CgVe3YODdLRh4cf6zdHi4nyXgKX6HydehfuXZMNTSaAFv7i4B727BwIu7S8DD+U3b4enuEvDl7hKwO1rAqztawJs8WsBup4F392oBL+4HEXh0OI8HuHf6qQC7owU85XMJ7J5L4EvuNLDbaWC508Dy9QC2Ow3sXw9gv9MdjpWSOw2s//YA9s9Wh49oKf1sAfvL1OF4KXmZgO0nBvaXqcMRU/4Td/iOmNKfuMNnzJT+xB2+Y6b0J+5w1AAfUVP2oe7wO16A9dkCPuOm9PMB7M8WsD9bwFEDfEROybMFbM8WsD9bwP7dAo6d8oca2B9q4Dt2Sp2tDkcN8Bk9pc8WsH8wge/oqR+H+t/gqAE+4qfkbQK2twnY3ybgd/yUuE0djhrgM/FTP27Tf8GfdurYBkAYiKHoreARIgpoGS0jsDkTIFxEOsX6f4FX2UMNVdOaVOaasmAZRcGnOipzxlHwkFEUPNVRmf8RBctqPXyppTKPKwk+5JQEDzklwY+ckuCplsq8auAFsKyC4Es91SmrIPiQFfDG8JAV8MbwI6sgeMoqCL5lBQwMDAyskhcwMDAwMPBnwMDAwMDAnwEDA//2AvAZt8geDw8jAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:left bottom;-webkit-background-size:120px 300px;background-size:120px 300px}.m-index-index #menu{background:0 0!important}.m-index-index #apps{overflow:hidden}.m-index-index #appsBar{border-color:#e2e2e2}.m-index-index #menu .nav>li>a{opacity:.75}.m-index-index #menu .nav>li.active>a,.m-index-index #menu .nav>li>a:focus,.m-index-index #menu .nav>li>a:hover{background:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.2)),to(rgba(0,0,0,0)))!important;background:-webkit-linear-gradient(left,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 100%)!important;background:-o-linear-gradient(left,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 100%)!important;background:linear-gradient(90deg,rgba(0,0,0,.2) 0,rgba(0,0,0,0) 100%)!important;border-radius:4px;opacity:1}.m-index-index #menu .nav>li.active>a:hover{background-color:#0d88f8!important}.m-index-index.menu-hide #menu .nav>li.active>a,.m-index-index.menu-hide #menu .nav>li>a:focus,.m-index-index.menu-hide #menu .nav>li>a:hover{background:rgba(0,0,0,.12)!important}.m-index-index #bars>li>a{color:#838a9d}.m-index-index #bars>li>a:hover{color:#fff!important;background-color:#0d88f8!important}.m-index-index #bars>li.active>a:active>span,.m-index-index #bars>li.active>a:focus>span,.m-index-index #bars>li.active>a>span{font-weight:400;border-color:#23c8ec}.m-index-index #bars>li.active>a{color:#3c4353}.m-index-index #bars>li.active>a:hover{color:#fff!important}.m-project-browse #cards{padding:0;margin:0 -10px;background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none}.m-project-browse #cards .pager .btn{background-color:transparent}.m-product-all #productList>thead>tr{border-top:1px solid #ededed}.m-product-all #productList>thead>tr>th{border-color:#ededed!important}.m-product-all #productList>thead>tr:first-child>th:first-child{border-left:none}.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(10),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(11),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(12),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(2),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(3),.m-product-all #productTableList>tr[data-parent="0"]>td:nth-child(8){border-right:1px solid #ededed}.m-repo-browse #logForm,.m-repo-browse .main-table{border:1px solid #ededed}#userNav>li>a>.icon{color:#23c8ec;filter:none;-webkit-filter:none}#mainMenu>.btn-toobar .btn-link:active,#mainMenu>.btn-toolBar .btn-link:active,#mainMenu>.btn-toolbar .btn-link:active{background:#e6eaf1}#mainHeader #headerActions .btn-group>.btn{color:#313c52!important}.table-actions .btn:hover{color:#fff}#programTableList>tr:hover{background:#eaf5ffcc}#programTableList>tr:hover>.c-name>a{color:#0080f9!important}#programTableList>tr[data-type=project]>.c-name>a{color:#0071db!important}.m-product-all #mainMenu>div.btn-toolbar.pull-right>a.btn.btn-link.iframe{color:#00c0e9!important} \ No newline at end of file diff --git a/www/theme/classic/style.css b/www/theme/classic/style.css index dbc48cfaea..508c6cc113 100644 --- a/www/theme/classic/style.css +++ b/www/theme/classic/style.css @@ -1,6 +1,6 @@ /*! - * ZUI: Zentao Theme - classic - v1.10.0 - 2023-02-07 + * ZUI: Zentao Theme - classic - v1.10.0 - 2023-02-08 * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2023 cnezsoft.com; Licensed MIT - */a{color:#313c52}a:focus,a:hover{color:#036}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:0}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#036;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#001f3d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#000d1a;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#036;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#001f3d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#000d1a;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#036;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#036;background-color:#edf3fe;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#036;background-color:#c6d9fc;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#a5c3fa;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#edf3fe;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#036;background-color:#c6d9fc;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#a5c3fa;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#edf3fe;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#036}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:0}.label{border-radius:0}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#036}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#001933}.label-primary.label-outline{color:#036;background:0 0;border:1px solid #036}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#001933}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ff8513}.label-warning.label-outline{color:#ff9f46;background:0 0;border:1px solid #ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff8513}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#06c}.text-primary{color:#036}.text-primary:hover{color:#001933}.text-warning{color:#ff9f46}.text-warning:hover{color:#ff8513}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#036}a.bg-primary:hover{background-color:#001933}.hl-primary{background-color:#edf3fe}a.hl-primary:hover{background-color:#bdd3fb}.progress{background-color:#edf3fe;border-radius:3px}.progress-bar{color:#fff;background-color:#036;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#036;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)}.form-control:focus{border-color:#036;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:0}.switch>input:checked+label:before{background-color:#036;border-color:#036}.switch input:focus+label{color:#036}.switch input:focus+label:before{border-color:#036;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #036;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #036}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#036;border-color:#036}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#036;-webkit-box-shadow:0 0 8px #036;box-shadow:0 0 8px #036}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#036}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#036}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#114f8e}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:0}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#edf3fe}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#036;border-color:#036}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:0}@media (min-width:768px){.navbar{border-radius:0}}.navbar-inverse{background-color:#114f8e;border-color:#0c3660}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#0e4277}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#145ea9}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#1668bc}.navbar-inverse .navbar-toggle{border-color:#1668bc}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#0e4277}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#0d3d6e}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#1668bc}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#0c3660}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#145ea9}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#1668bc}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #1668bc;-webkit-box-shadow:inset 0 -1px 0 #0c3660;box-shadow:inset 0 -1px 0 #0c3660}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#0d3b6a}.nav>li>a:focus,.nav>li>a:hover{color:#036}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#036}.nav-primary>li:first-child>a{border-top-left-radius:0;border-bottom-left-radius:0}.nav-primary>li:last-child>a{border-top-right-radius:0;border-bottom-right-radius:0}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#036;border-color:#036}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#036;border-bottom-color:#036}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:0;border-top-right-radius:0}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:0;border-bottom-right-radius:0;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #036;box-shadow:inset 2px 0 0 #036}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:0}.pager{border-radius:0}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:0;border-bottom-left-radius:0}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:0;border-bottom-right-radius:0}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#036;border-color:#036}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:0}.panel>.panel-heading{background-image:none;border-top-left-radius:0;border-top-right-radius:0}.panel-group .panel{border-radius:0}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#036}.panel-primary>.panel-heading{color:#fff;background-color:#036;border-color:#036}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#036}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#036}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#edf3fe}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#036!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#036!important;border-bottom-left-radius:#036!important}.chosen-container .chosen-results li.highlighted{background-color:#036!important}.chosen-container-active .chosen-single{border-color:#036!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#036!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#036!important;border-bottom-left-radius:#036!important}.chosen-container.chosen-highlight-selected .result-selected{color:#036;background:#edf3fe}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#036;border-color:#036}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:0;border-top-right-radius:0}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:0}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#036}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#036}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#036}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9f46!important;border-color:#ff9f46!important}.datetimepicker td.day.active{background-color:#036!important;border-color:#001933!important}.datetimepicker td.day.active:hover{background-color:#001933!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ff8513!important}.ke-container{border-radius:0!important}.ke-container.focus{border-color:#036!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)!important}.ke-menu-item-on{background-color:#036!important}.ke-colorpicker-cell-on{background-color:#036!important}.ke-input-text:focus{border-color:#036!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)!important}.messager{border-radius:0}.messager-primary{background-color:#036}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ff9f46}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:0}.alert-primary{color:#273042;background-color:#edf3fe}.alert-primary hr{border-top-color:#cbdcfc}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ff922c;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#ff7f09}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#036;border-color:#036}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:0}.card{border-radius:0;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:0}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#edf3fe}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#036}.tree-drag-holder{background-color:#edf3fe}.tree-menu li.active>a{color:#fff;background-color:#036;border-color:#036}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#114f8e}a.text-primary{color:#036}.nav-primary>li.active>a{color:#000d1a}.nav-primary>li.active>a:hover{color:#000d1a}.bg-primary,.m-user-login{background:#114f8e -webkit-gradient(linear,right top,left top,from(#036),to(#114f8e))!important;background:#114f8e -webkit-linear-gradient(right,#036 0,#114f8e 100%)!important;background:#114f8e -o-linear-gradient(right,#036 0,#114f8e 100%)!important;background:#114f8e linear-gradient(-90deg,#036 0,#114f8e 100%)!important}.bg-primary-pure{color:#fff;background-color:#036}.bg-primary-pale{color:#036;background-color:#edf3fe}.bg-secondary{background:#114f8e}.alert-info{color:#036;background:#edf3fe}.btn-primary{color:#fff;background-color:#036;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(0,51,102,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#00264d;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#036;border-color:transparent}.btn-secondary{color:#fff;background-color:#114f8e;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(17,79,142,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#0e4277;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#114f8e;border-color:transparent}.btn-info{color:#036;background-color:#edf3fe;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#036;background-color:rgba(237,243,254,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#d5e3fd;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(0,51,102,.3);background-color:#edf3fe;border-color:transparent}.btn-icon-left>.icon{color:#114f8e;background:#edf3fe}.btn-active-line{color:#036}.btn-active-line:after{border-bottom-color:#036}.btn-active-line:hover{color:#036}.btn-active-text .text{color:#000d1a}.btn-active-text .text:after{border-bottom-color:#000d1a}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(0,51,102,.8)}.label-primary{background:#036!important}.label-pale{background:#bdd3fb!important}.label-outline.label-primary{background:#edf3fe!important;border-color:rgba(0,51,102,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#114f8e;border-color:#114f8e}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#114f8e;-webkit-box-shadow:0 0 0 3px rgba(17,79,142,.2);box-shadow:0 0 0 3px rgba(17,79,142,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#114f8e}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#114f8e!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#114f8e!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#114f8e!important}.nav-tabs>li.active>a:before{background:#036}.nav-tabs-primary>li.active>a{color:#036!important}.panel-actions .btn.text-primary{color:#036}.picker-focus .picker-selections{border-color:#036;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)}.status-bars .bar{background:#036}.status-bars-h .bar{background:#036}.messagger-zt .messager-content>.icon{color:#036}.tree li.active>a{color:#036}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#036}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#114f8e}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#edf3fe}.dropdown-submenu:hover>a:after{border-left-color:#036}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#114f8e}.timeline>li>a:after,.timeline>li>div:after{background-color:#036}.timeline>li.active:before{background-color:rgba(0,51,102,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#036!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#036!important}#mainHeader{background:#0059b3;border-top-color:#036;border-bottom-color:#edf3fe}#searchGo{background-color:#114f8e}#searchGo:hover{background-color:#036}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#036}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#036}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#036}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #036}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #036}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #036}#sidebarHeader .title{color:#036}#sidebar>.sidebar-toggle>.icon{background:#2182e4}#main .querybox-toggle.querybox-opened{color:#036}#contentNav .nav>li.active>a{color:#036}#contentNav .nav>li.active>a:before{background:#036}td.c-actions .btn{color:#114f8e}td.c-actions .btn:hover{color:#036;background-color:#d5e3fd}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#036;background:#edf3fe}.main-table table .btn-icon-left:hover>.icon{background:#edf3fe}.main-table tbody>tr:hover{background:#edf3fe}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#036}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#f7f9ff}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f7f9ff}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#03c}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#000}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#1a53ff}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#036}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#036}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#edf3fe}.table-nest-toggle:hover{color:#036}.table-footer .checkbox-primary.checked label:after{border-color:#114f8e!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#1668bc!important;border-color:#1668bc!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#036}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#036;border-color:#036}.article-content a{color:#036}.article-content a:focus,.article-content a:hover{color:#114f8e}.list-group{overflow-y:auto}.list-group>a.selected{color:#edf3fe;background-color:#036}.list-group>a.active{color:#036;background-color:#edf3fe}.list-group>a.active:hover,.list-group>a:hover{background-color:#036}#swapper #dropMenu .tree li>.selected{color:#036!important;background:#edf3fe!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#036!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#036!important;background:#edf3fe!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#036!important}.release-line>li>a:hover:before{background-color:#edf3fe}.release-line>li>a:hover .title{color:#036}.release-line>li.active>a:before{border-color:#036}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#114f8e}#poweredBy .icon-zentao{color:#114f8e}#poweredBy a:hover{color:#036}#poweredBy a:hover .icon-zentao{color:#036}#poweredBy a.text-primary{color:#036}#poweredBy a.text-primary:hover{color:#114f8e}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#036!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#114f8e!important}.dynamic.active .dynamic-date:before{background-color:#114f8e!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#036!important}.table td.has-child>.task-toggle:hover{color:#036!important}#openTaskPage.open:hover,#task .task-nav{color:#036!important;background:#edf3fe!important}#tasksProgress>.progress-bar{background:#036!important}#tasksProgress .progress-text{color:#036!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#036!important;background:#edf3fe!important;border-left-color:#036!important;-webkit-box-shadow:inset 4px 0 0 #036!important;box-shadow:inset 4px 0 0 #036!important}#copyProjectModal a:hover{border-color:#114f8e!important}#zeroTaskStory.checked{background:#edf3fe!important;border-color:#114f8e!important}.cols-list .col:hover{background:#edf3fe!important}.files-grid .actions,.files-grid .col:hover .file{background:#edf3fe!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.08),0 1px 1px 0 rgba(0,0,0,.05),0 2px 1px -1px rgba(0,0,0,.06);box-shadow:0 1px 3px 0 rgba(0,0,0,.08),0 1px 1px 0 rgba(0,0,0,.05),0 2px 1px -1px rgba(0,0,0,.06)}#menu .nav>li.active>a{background:#114f8e!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#114f8e!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#036!important}#bars>li.active:after{background:#edf3fe!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#000d1a;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#036}td.c-actions .btn{color:#036}.main-table tbody>tr:hover{background:rgba(237,243,254,.8)}.main-table tbody>tr>td.c-name a{color:#000}.main-table tbody>tr>td.c-name a:hover{color:#000d1a}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#036!important}.assigned-none{color:#000d1a!important}.assigned-current{color:#f38f19!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#000d1a!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#000d1a!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#0059b3}#assigntomeBlock .nav>li.active>a{color:#000d1a}.consumedTotally{color:#036;background:#edf3fe}#toggleFoldIcon .icon-border{border:1px solid #39f}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#036}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#114f8e}.nav-steps>ul>li.active>a:focus{background-color:#036}.nav-steps>ul>li.active+li:after{border-left-color:#114f8e}.nav-steps>ul>li.active:hover+li:after{border-left-color:#036}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#036}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #036;box-shadow:0 0 1px 1px #036}.border-primary-hover:hover{border:1px solid #036}.menu-hover-primary>li>a:hover{color:#000d1a!important;background-color:#39f!important}.menu-active-primary>li.active>a{color:#036!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#39f!important}#loginPanel,#productsBox .product,#sidebarHeader,#task .task-desc>ul>li[data-target]:after,.block-todoes .todoes-form,.btn,.btn>.label-icon,.cell,.checkbox-primary>label:after,.chosen-container .chosen-results>li,.chosen-container-multi .chosen-choices li.search-choice,.chosen-container-single .chosen-drop,.chosen-container-single .chosen-search input[type=text],.datetimepicker td,.datetimepicker th,.dropdown-menu,.dropdown-menu>li>a,.files-grid .actions,.files-grid .file,.form-control,.ke-container,.list-group>a,.main-actions .btn-toolbar,.main-content,.main-table,.main-table tbody>tr.checked.row-check-begin>td:first-child:before,.main-table tbody>tr.checked.row-check-end>td:first-child:before,.modal-dialog,.modal-iframe .modal-body>iframe,.nav>li>a,.panel,.progress,.progress-bar,.radio-primary>label:after,.search-box-circle .input-control-icon-left,.search-box-circle .input-control-icon-right,.search-box-circle>.form-control,.table,.table-footer{border-radius:0!important}#header,#mainMenu+#mainContent.main-row .cell,#sidebarHeader,.cell,.main-content,.main-table>.table,.main-table>.table-footer,.main-table>.table-header,.main-table>.table-responsive,.panel{-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.08),0 1px 1px 0 rgba(0,0,0,.05),0 2px 1px -1px rgba(0,0,0,.06);box-shadow:0 1px 3px 0 rgba(0,0,0,.08),0 1px 1px 0 rgba(0,0,0,.05),0 2px 1px -1px rgba(0,0,0,.06)}#footer{border-top-color:transparent;-webkit-box-shadow:0 -1px 3px 0 rgba(0,0,0,.08),0 -1px 1px 0 rgba(0,0,0,.05),0 -2px 1px -1px rgba(0,0,0,.06);box-shadow:0 -1px 3px 0 rgba(0,0,0,.08),0 -1px 1px 0 rgba(0,0,0,.05),0 -2px 1px -1px rgba(0,0,0,.06)}.block-statistic .nav-stacked,.main-table thead>tr>th,.table-footer{border-color:#e5e5e5;border-top-width:1px;border-bottom-width:1px}td.c-actions .btn{opacity:.85}td.c-actions .btn:hover{opacity:1}.main-table tbody>tr.checked{background:#fff4ea;-webkit-box-shadow:none!important;box-shadow:none!important}.main-table tbody>tr.checked:hover{background:#ffe7d0}.main-table td.c-actions .btn.disabled{opacity:.5}#mainHeader{background:#114f8e -webkit-gradient(linear,right top,left top,from(#036),to(#114f8e));background:#114f8e -webkit-linear-gradient(right,#036 0,#114f8e 100%);background:#114f8e -o-linear-gradient(right,#036 0,#114f8e 100%);background:#114f8e linear-gradient(-90deg,#036 0,#114f8e 100%);background-color:#114f8e} \ No newline at end of file + */a{color:#313c52}a:focus,a:hover{color:#036}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:0}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#036;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#001f3d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#000d1a;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#036;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#001f3d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#000d1a;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#036;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#036;background-color:#edf3fe;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#036;background-color:#c6d9fc;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#a5c3fa;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#edf3fe;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#036;background-color:#c6d9fc;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#a5c3fa;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#edf3fe;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#036}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:0}.label{border-radius:0}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#036}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#001933}.label-primary.label-outline{color:#036;background:0 0;border:1px solid #036}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#001933}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ff8513}.label-warning.label-outline{color:#ff9f46;background:0 0;border:1px solid #ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff8513}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#06c}.text-primary{color:#036}.text-primary:hover{color:#001933}.text-warning{color:#ff9f46}.text-warning:hover{color:#ff8513}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#036}a.bg-primary:hover{background-color:#001933}.hl-primary{background-color:#edf3fe}a.hl-primary:hover{background-color:#bdd3fb}.progress{background-color:#edf3fe;border-radius:3px}.progress-bar{color:#fff;background-color:#036;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#036;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)}.form-control:focus{border-color:#036;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:0}.switch>input:checked+label:before{background-color:#036;border-color:#036}.switch input:focus+label{color:#036}.switch input:focus+label:before{border-color:#036;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #036;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #036}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#036;border-color:#036}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#036;-webkit-box-shadow:0 0 8px #036;box-shadow:0 0 8px #036}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#036}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#036}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#114f8e}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:0}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#edf3fe}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#036;border-color:#036}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:0}@media (min-width:768px){.navbar{border-radius:0}}.navbar-inverse{background-color:#114f8e;border-color:#0c3660}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#0e4277}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#145ea9}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#1668bc}.navbar-inverse .navbar-toggle{border-color:#1668bc}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#0e4277}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#0d3d6e}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#1668bc}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#0c3660}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#145ea9}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#1668bc}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #1668bc;-webkit-box-shadow:inset 0 -1px 0 #0c3660;box-shadow:inset 0 -1px 0 #0c3660}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#0d3b6a}.nav>li>a:focus,.nav>li>a:hover{color:#036}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#036}.nav-primary>li:first-child>a{border-top-left-radius:0;border-bottom-left-radius:0}.nav-primary>li:last-child>a{border-top-right-radius:0;border-bottom-right-radius:0}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#036;border-color:#036}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#036;border-bottom-color:#036}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:0;border-top-right-radius:0}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:0;border-bottom-right-radius:0;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #036;box-shadow:inset 2px 0 0 #036}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:0}.pager{border-radius:0}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:0;border-bottom-left-radius:0}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:0;border-bottom-right-radius:0}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#036;border-color:#036}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:0}.panel>.panel-heading{background-image:none;border-top-left-radius:0;border-top-right-radius:0}.panel-group .panel{border-radius:0}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#036}.panel-primary>.panel-heading{color:#fff;background-color:#036;border-color:#036}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#036}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#036}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#edf3fe}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#036!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#036!important;border-bottom-left-radius:#036!important}.chosen-container .chosen-results li.highlighted{background-color:#036!important}.chosen-container-active .chosen-single{border-color:#036!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#036!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#036!important;border-bottom-left-radius:#036!important}.chosen-container.chosen-highlight-selected .result-selected{color:#036;background:#edf3fe}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#036;border-color:#036}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:0;border-top-right-radius:0}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:0}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#036}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#036}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#036}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9f46!important;border-color:#ff9f46!important}.datetimepicker td.day.active{background-color:#036!important;border-color:#001933!important}.datetimepicker td.day.active:hover{background-color:#001933!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ff8513!important}.ke-container{border-radius:0!important}.ke-container.focus{border-color:#036!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)!important}.ke-menu-item-on{background-color:#036!important}.ke-colorpicker-cell-on{background-color:#036!important}.ke-input-text:focus{border-color:#036!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)!important}.messager{border-radius:0}.messager-primary{background-color:#036}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ff9f46}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:0}.alert-primary{color:#273042;background-color:#edf3fe}.alert-primary hr{border-top-color:#cbdcfc}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ff922c;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#ff7f09}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#036;border-color:#036}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:0}.card{border-radius:0;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:0}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#edf3fe}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#036}.tree-drag-holder{background-color:#edf3fe}.tree-menu li.active>a{color:#fff;background-color:#036;border-color:#036}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#114f8e}a.text-primary{color:#036}.nav-primary>li.active>a{color:#000d1a}.nav-primary>li.active>a:hover{color:#000d1a}.bg-primary,.m-user-login{background:#114f8e -webkit-gradient(linear,right top,left top,from(#036),to(#114f8e))!important;background:#114f8e -webkit-linear-gradient(right,#036 0,#114f8e 100%)!important;background:#114f8e -o-linear-gradient(right,#036 0,#114f8e 100%)!important;background:#114f8e linear-gradient(-90deg,#036 0,#114f8e 100%)!important}.bg-primary-pure{color:#fff;background-color:#036}.bg-primary-pale{color:#036;background-color:#edf3fe}.bg-secondary{background:#114f8e}.alert-info{color:#036;background:#edf3fe}.btn-primary{color:#fff;background-color:#036;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(0,51,102,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#00264d;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#036;border-color:transparent}.btn-secondary{color:#fff;background-color:#114f8e;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(17,79,142,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#0e4277;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#114f8e;border-color:transparent}.btn-info{color:#036;background-color:#edf3fe;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#036;background-color:rgba(237,243,254,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#d5e3fd;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(0,51,102,.3);background-color:#edf3fe;border-color:transparent}.btn-icon-left>.icon{color:#114f8e;background:#edf3fe}.btn-active-line{color:#036}.btn-active-line:after{border-bottom-color:#036}.btn-active-line:hover{color:#036}.btn-active-text .text{color:#000d1a}.btn-active-text .text:after{border-bottom-color:#000d1a}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(0,51,102,.8)}.label-primary{background:#036!important}.label-pale{background:#bdd3fb!important}.label-outline.label-primary{background:#edf3fe!important;border-color:rgba(0,51,102,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#114f8e;border-color:#114f8e}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#114f8e;-webkit-box-shadow:0 0 0 3px rgba(17,79,142,.2);box-shadow:0 0 0 3px rgba(17,79,142,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#114f8e}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#114f8e!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#114f8e!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#114f8e!important}.nav-tabs>li.active>a:before{background:#036}.nav-tabs-primary>li.active>a{color:#036!important}.panel-actions .btn.text-primary{color:#036}.picker-focus .picker-selections{border-color:#036;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,51,102,.6)}.status-bars .bar{background:#036}.status-bars-h .bar{background:#036}.messagger-zt .messager-content>.icon{color:#036}.tree li.active>a{color:#036}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#036}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#114f8e}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#edf3fe}.dropdown-submenu:hover>a:after{border-left-color:#036}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#114f8e}.timeline>li>a:after,.timeline>li>div:after{background-color:#036}.timeline>li.active:before{background-color:rgba(0,51,102,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#036!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#036!important}#mainHeader{background:#0059b3;border-top-color:#036;border-bottom-color:#edf3fe}#searchGo{background-color:#114f8e}#searchGo:hover{background-color:#036}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#036}#subHeader.admin-tab-menu>.container>#subNavbar>ul>li.active>a:after{border-color:#036}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#036}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#036}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #036}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #036}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #036}#sidebarHeader .title{color:#036}#sidebar>.sidebar-toggle>.icon{background:#2182e4}#main .querybox-toggle.querybox-opened{color:#036}#contentNav .nav>li.active>a{color:#036}#contentNav .nav>li.active>a:before{background:#036}td.c-actions .btn{color:#114f8e}td.c-actions .btn:hover{color:#036;background-color:#d5e3fd}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#036;background:#edf3fe}.main-table table .btn-icon-left:hover>.icon{background:#edf3fe}.main-table tbody>tr:hover{background:#edf3fe}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#036}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#f7f9ff}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f7f9ff}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#03c}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#000}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#1a53ff}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#036}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#036}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#edf3fe}.table-nest-toggle:hover{color:#036}.table-footer .checkbox-primary.checked label:after{border-color:#114f8e!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#1668bc!important;border-color:#1668bc!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#036}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#036;border-color:#036}.article-content a{color:#036}.article-content a:focus,.article-content a:hover{color:#114f8e}.list-group{overflow-y:auto}.list-group>a.selected{color:#edf3fe;background-color:#036}.list-group>a.active{color:#036;background-color:#edf3fe}.list-group>a.active:hover,.list-group>a:hover{background-color:#036}#swapper #dropMenu .tree li>.selected{color:#036!important;background:#edf3fe!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#036!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#036!important;background:#edf3fe!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#036!important}.release-line>li>a:hover:before{background-color:#edf3fe}.release-line>li>a:hover .title{color:#036}.release-line>li.active>a:before{border-color:#036}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#114f8e}#poweredBy .icon-zentao{color:#114f8e}#poweredBy a:hover{color:#036}#poweredBy a:hover .icon-zentao{color:#036}#poweredBy a.text-primary{color:#036}#poweredBy a.text-primary:hover{color:#114f8e}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#036!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#114f8e!important}.dynamic.active .dynamic-date:before{background-color:#114f8e!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#036!important}.table td.has-child>.task-toggle:hover{color:#036!important}#openTaskPage.open:hover,#task .task-nav{color:#036!important;background:#edf3fe!important}#tasksProgress>.progress-bar{background:#036!important}#tasksProgress .progress-text{color:#036!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#036!important;background:#edf3fe!important;border-left-color:#036!important;-webkit-box-shadow:inset 4px 0 0 #036!important;box-shadow:inset 4px 0 0 #036!important}#copyProjectModal a:hover{border-color:#114f8e!important}#zeroTaskStory.checked{background:#edf3fe!important;border-color:#114f8e!important}.cols-list .col:hover{background:#edf3fe!important}.files-grid .actions,.files-grid .col:hover .file{background:#edf3fe!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.08),0 1px 1px 0 rgba(0,0,0,.05),0 2px 1px -1px rgba(0,0,0,.06);box-shadow:0 1px 3px 0 rgba(0,0,0,.08),0 1px 1px 0 rgba(0,0,0,.05),0 2px 1px -1px rgba(0,0,0,.06)}#menu .nav>li.active>a{background:#114f8e!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#114f8e!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#036!important}#bars>li.active:after{background:#edf3fe!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#000d1a;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#036}td.c-actions .btn{color:#036}.main-table tbody>tr:hover{background:rgba(237,243,254,.8)}.main-table tbody>tr>td.c-name a{color:#000}.main-table tbody>tr>td.c-name a:hover{color:#000d1a}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#036!important}.assigned-none{color:#000d1a!important}.assigned-current{color:#f38f19!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#000d1a!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#000d1a!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#0059b3}#assigntomeBlock .nav>li.active>a{color:#000d1a}.consumedTotally{color:#036;background:#edf3fe}#toggleFoldIcon .icon-border{border:1px solid #39f}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#036}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#114f8e}.nav-steps>ul>li.active>a:focus{background-color:#036}.nav-steps>ul>li.active+li:after{border-left-color:#114f8e}.nav-steps>ul>li.active:hover+li:after{border-left-color:#036}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#036}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #036;box-shadow:0 0 1px 1px #036}.border-primary-hover:hover{border:1px solid #036}.menu-hover-primary>li>a:hover{color:#000d1a!important;background-color:#39f!important}.menu-active-primary>li.active>a{color:#036!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#39f!important}#loginPanel,#productsBox .product,#sidebarHeader,#task .task-desc>ul>li[data-target]:after,.block-todoes .todoes-form,.btn,.btn>.label-icon,.cell,.checkbox-primary>label:after,.chosen-container .chosen-results>li,.chosen-container-multi .chosen-choices li.search-choice,.chosen-container-single .chosen-drop,.chosen-container-single .chosen-search input[type=text],.datetimepicker td,.datetimepicker th,.dropdown-menu,.dropdown-menu>li>a,.files-grid .actions,.files-grid .file,.form-control,.ke-container,.list-group>a,.main-actions .btn-toolbar,.main-content,.main-table,.main-table tbody>tr.checked.row-check-begin>td:first-child:before,.main-table tbody>tr.checked.row-check-end>td:first-child:before,.modal-dialog,.modal-iframe .modal-body>iframe,.nav>li>a,.panel,.progress,.progress-bar,.radio-primary>label:after,.search-box-circle .input-control-icon-left,.search-box-circle .input-control-icon-right,.search-box-circle>.form-control,.table,.table-footer{border-radius:0!important}#header,#mainMenu+#mainContent.main-row .cell,#sidebarHeader,.cell,.main-content,.main-table>.table,.main-table>.table-footer,.main-table>.table-header,.main-table>.table-responsive,.panel{-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.08),0 1px 1px 0 rgba(0,0,0,.05),0 2px 1px -1px rgba(0,0,0,.06);box-shadow:0 1px 3px 0 rgba(0,0,0,.08),0 1px 1px 0 rgba(0,0,0,.05),0 2px 1px -1px rgba(0,0,0,.06)}#footer{border-top-color:transparent;-webkit-box-shadow:0 -1px 3px 0 rgba(0,0,0,.08),0 -1px 1px 0 rgba(0,0,0,.05),0 -2px 1px -1px rgba(0,0,0,.06);box-shadow:0 -1px 3px 0 rgba(0,0,0,.08),0 -1px 1px 0 rgba(0,0,0,.05),0 -2px 1px -1px rgba(0,0,0,.06)}.block-statistic .nav-stacked,.main-table thead>tr>th,.table-footer{border-color:#e5e5e5;border-top-width:1px;border-bottom-width:1px}td.c-actions .btn{opacity:.85}td.c-actions .btn:hover{opacity:1}.main-table tbody>tr.checked{background:#fff4ea;-webkit-box-shadow:none!important;box-shadow:none!important}.main-table tbody>tr.checked:hover{background:#ffe7d0}.main-table td.c-actions .btn.disabled{opacity:.5}#mainHeader{background:#114f8e -webkit-gradient(linear,right top,left top,from(#036),to(#114f8e));background:#114f8e -webkit-linear-gradient(right,#036 0,#114f8e 100%);background:#114f8e -o-linear-gradient(right,#036 0,#114f8e 100%);background:#114f8e linear-gradient(-90deg,#036 0,#114f8e 100%);background-color:#114f8e} \ No newline at end of file diff --git a/www/theme/green/style.css b/www/theme/green/style.css index acab12c1a6..ebd69ae6bd 100644 --- a/www/theme/green/style.css +++ b/www/theme/green/style.css @@ -1,6 +1,6 @@ /*! - * ZUI: Zentao Theme - Green - v1.10.0 - 2023-02-07 + * ZUI: Zentao Theme - Green - v1.10.0 - 2023-02-08 * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2023 cnezsoft.com; Licensed MIT - */a{color:#313c52}a:focus,a:hover{color:#29aa93}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#29aa93;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#218977;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#1a6c5e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#29aa93;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#218977;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#1a6c5e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#29aa93;border-color:transparent}.btn-warning{color:#fff;background-color:#ffba34;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ffac0b;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#e69800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ffba34;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ffac0b;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#e69800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ffba34;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#29aa93;background-color:#f0fdfb;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#29aa93;background-color:#ccf8f1;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#acf4e9;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#f0fdfb;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#29aa93;background-color:#ccf8f1;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#acf4e9;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#f0fdfb;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#29aa93}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#29aa93}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#1f816f}.label-primary.label-outline{color:#29aa93;background:0 0;border:1px solid #29aa93}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#1f816f}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ffba34}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ffa901}.label-warning.label-outline{color:#ffba34;background:0 0;border:1px solid #ffba34}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ffa901}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#60d9c3}.text-primary{color:#29aa93}.text-primary:hover{color:#1f816f}.text-warning{color:#ffba34}.text-warning:hover{color:#ffa901}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#29aa93}a.bg-primary:hover{background-color:#1f816f}.hl-primary{background-color:#f0fdfb}a.hl-primary:hover{background-color:#c3f7ef}.progress{background-color:#f0fdfb;border-radius:3px}.progress-bar{color:#fff;background-color:#29aa93;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#29aa93;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)}.form-control:focus{border-color:#29aa93;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#29aa93;border-color:#29aa93}.switch input:focus+label{color:#29aa93}.switch input:focus+label:before{border-color:#29aa93;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #29aa93;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #29aa93}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#29aa93;border-color:#29aa93}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#29aa93;-webkit-box-shadow:0 0 8px #29aa93;box-shadow:0 0 8px #29aa93}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#29aa93}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#29aa93}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#23c8ec}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#f0fdfb}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#29aa93;border-color:#29aa93}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#23c8ec;border-color:#11a9cb}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#14bde2}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#3fcfee}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#52d4f0}.navbar-inverse .navbar-toggle{border-color:#52d4f0}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#14bde2}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#13b5d9}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#52d4f0}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#11a9cb}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#3fcfee}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#52d4f0}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #52d4f0;-webkit-box-shadow:inset 0 -1px 0 #11a9cb;box-shadow:inset 0 -1px 0 #11a9cb}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#12b1d4}.nav>li>a:focus,.nav>li>a:hover{color:#29aa93}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#29aa93}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#29aa93;border-color:#29aa93}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#29aa93;border-bottom-color:#29aa93}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #29aa93;box-shadow:inset 2px 0 0 #29aa93}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#29aa93;border-color:#29aa93}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#29aa93}.panel-primary>.panel-heading{color:#fff;background-color:#29aa93;border-color:#29aa93}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#29aa93}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#29aa93}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f0fdfb}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#29aa93!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#29aa93!important;border-bottom-left-radius:#29aa93!important}.chosen-container .chosen-results li.highlighted{background-color:#29aa93!important}.chosen-container-active .chosen-single{border-color:#29aa93!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#29aa93!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#29aa93!important;border-bottom-left-radius:#29aa93!important}.chosen-container.chosen-highlight-selected .result-selected{color:#29aa93;background:#f0fdfb}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#29aa93;border-color:#29aa93}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#29aa93}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#29aa93}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#29aa93}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ffba34!important;border-color:#ffba34!important}.datetimepicker td.day.active{background-color:#29aa93!important;border-color:#1f816f!important}.datetimepicker td.day.active:hover{background-color:#1f816f!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ffa901!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#29aa93!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)!important}.ke-menu-item-on{background-color:#29aa93!important}.ke-colorpicker-cell-on{background-color:#29aa93!important}.ke-input-text:focus{border-color:#29aa93!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#29aa93}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ffba34}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#273042;background-color:#f0fdfb}.alert-primary hr{border-top-color:#d1f9f3}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ffb11a;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#f6a200}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#29aa93;border-color:#29aa93}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#f0fdfb}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#29aa93}.tree-drag-holder{background-color:#f0fdfb}.tree-menu li.active>a{color:#fff;background-color:#29aa93;border-color:#29aa93}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#23c8ec}a.text-primary{color:#29aa93}.nav-primary>li.active>a{color:#27988a}.nav-primary>li.active>a:hover{color:#27988a}.bg-primary,.m-user-login{background:#23c8ec -webkit-gradient(linear,right top,left top,from(#29aa93),to(#23c8ec))!important;background:#23c8ec -webkit-linear-gradient(right,#29aa93 0,#23c8ec 100%)!important;background:#23c8ec -o-linear-gradient(right,#29aa93 0,#23c8ec 100%)!important;background:#23c8ec linear-gradient(-90deg,#29aa93 0,#23c8ec 100%)!important}.bg-primary-pure{color:#fff;background-color:#29aa93}.bg-primary-pale{color:#29aa93;background-color:#f0fdfb}.bg-secondary{background:#23c8ec}.alert-info{color:#29aa93;background:#f0fdfb}.btn-primary{color:#fff;background-color:#29aa93;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(41,170,147,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#249581;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#29aa93;border-color:transparent}.btn-secondary{color:#fff;background-color:#23c8ec;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(35,200,236,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#14bde2;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#23c8ec;border-color:transparent}.btn-info{color:#29aa93;background-color:#f0fdfb;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#29aa93;background-color:rgba(240,253,251,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#dafaf5;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(41,170,147,.3);background-color:#f0fdfb;border-color:transparent}.btn-icon-left>.icon{color:#23c8ec;background:#f0fdfb}.btn-active-line{color:#29aa93}.btn-active-line:after{border-bottom-color:#29aa93}.btn-active-line:hover{color:#29aa93}.btn-active-text .text{color:#27988a}.btn-active-text .text:after{border-bottom-color:#27988a}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(41,170,147,.8)}.label-primary{background:#29aa93!important}.label-pale{background:#c3f7ef!important}.label-outline.label-primary{background:#f0fdfb!important;border-color:rgba(41,170,147,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#29aa93;border-color:#29aa93}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#29aa93;-webkit-box-shadow:0 0 0 3px rgba(41,170,147,.2);box-shadow:0 0 0 3px rgba(41,170,147,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#29aa93}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#29aa93!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#29aa93!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#29aa93!important}.nav-tabs>li.active>a:before{background:#29aa93}.nav-tabs-primary>li.active>a{color:#29aa93!important}.panel-actions .btn.text-primary{color:#29aa93}.picker-focus .picker-selections{border-color:#29aa93;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)}.status-bars .bar{background:#29aa93}.status-bars-h .bar{background:#29aa93}.messagger-zt .messager-content>.icon{color:#29aa93}.tree li.active>a{color:#29aa93}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#29aa93}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#23c8ec}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#f0fdfb}.dropdown-submenu:hover>a:after{border-left-color:#29aa93}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#23c8ec}.timeline>li>a:after,.timeline>li>div:after{background-color:#29aa93}.timeline>li.active:before{background-color:rgba(41,170,147,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#29aa93!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#29aa93!important}#mainHeader{background:#33c6ab;border-top-color:#29aa93;border-bottom-color:#f0fdfb}#searchGo{background-color:#23c8ec}#searchGo:hover{background-color:#29aa93}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#29aa93}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#29aa93}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#29aa93}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #29aa93}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #29aa93}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #29aa93}#sidebarHeader .title{color:#29aa93}#sidebar>.sidebar-toggle>.icon{background:#81dff4}#main .querybox-toggle.querybox-opened{color:#29aa93}#contentNav .nav>li.active>a{color:#29aa93}#contentNav .nav>li.active>a:before{background:#29aa93}td.c-actions .btn{color:#23c8ec}td.c-actions .btn:hover{color:#29aa93;background-color:#dafaf5}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#29aa93;background:#f0fdfb}.main-table table .btn-icon-left:hover>.icon{background:#f0fdfb}.main-table tbody>tr:hover{background:#f0fdfb}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#29aa93}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#f9fefd}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f9fefd}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#2f8a8f}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#0b2f28}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#29aa93}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#29aa93}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#29aa93}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#f0fdfb}.table-nest-toggle:hover{color:#29aa93}.table-footer .checkbox-primary.checked label:after{border-color:#29aa93!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#37cfb4!important;border-color:#37cfb4!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#29aa93}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#29aa93;border-color:#29aa93}.article-content a{color:#29aa93}.article-content a:focus,.article-content a:hover{color:#23c8ec}.list-group{overflow-y:auto}.list-group>a.selected{color:#f0fdfb;background-color:#29aa93}.list-group>a.active{color:#29aa93;background-color:#f0fdfb}.list-group>a.active:hover,.list-group>a:hover{background-color:#29aa93}#swapper #dropMenu .tree li>.selected{color:#29aa93!important;background:#f0fdfb!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#29aa93!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#29aa93!important;background:#f0fdfb!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#29aa93!important}.release-line>li>a:hover:before{background-color:#f0fdfb}.release-line>li>a:hover .title{color:#29aa93}.release-line>li.active>a:before{border-color:#29aa93}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#23c8ec}#poweredBy .icon-zentao{color:#23c8ec}#poweredBy a:hover{color:#29aa93}#poweredBy a:hover .icon-zentao{color:#29aa93}#poweredBy a.text-primary{color:#29aa93}#poweredBy a.text-primary:hover{color:#23c8ec}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#29aa93!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#23c8ec!important}.dynamic.active .dynamic-date:before{background-color:#23c8ec!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#29aa93!important}.table td.has-child>.task-toggle:hover{color:#29aa93!important}#openTaskPage.open:hover,#task .task-nav{color:#29aa93!important;background:#f0fdfb!important}#tasksProgress>.progress-bar{background:#29aa93!important}#tasksProgress .progress-text{color:#29aa93!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#29aa93!important;background:#f0fdfb!important;border-left-color:#29aa93!important;-webkit-box-shadow:inset 4px 0 0 #29aa93!important;box-shadow:inset 4px 0 0 #29aa93!important}#copyProjectModal a:hover{border-color:#23c8ec!important}#zeroTaskStory.checked{background:#f0fdfb!important;border-color:#23c8ec!important}.cols-list .col:hover{background:#f0fdfb!important}.files-grid .actions,.files-grid .col:hover .file{background:#f0fdfb!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#23c8ec!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#23c8ec!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#29aa93!important}#bars>li.active:after{background:#f0fdfb!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#27988a;background:#e7eded}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#29aa93}td.c-actions .btn{color:#29aa93}.main-table tbody>tr:hover{background:rgba(240,253,251,.8)}.main-table tbody>tr>td.c-name a{color:#2f8a8f}.main-table tbody>tr>td.c-name a:hover{color:#27988a}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#29aa93!important}.assigned-none{color:#27988a!important}.assigned-current{color:#faae1a!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#27988a!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#27988a!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#33c6ab}#assigntomeBlock .nav>li.active>a{color:#27988a}.consumedTotally{color:#29aa93;background:#f0fdfb}#toggleFoldIcon .icon-border{border:1px solid #d4eee9}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#29aa93}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#23c8ec}.nav-steps>ul>li.active>a:focus{background-color:#29aa93}.nav-steps>ul>li.active+li:after{border-left-color:#23c8ec}.nav-steps>ul>li.active:hover+li:after{border-left-color:#29aa93}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#29aa93}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #29aa93;box-shadow:0 0 1px 1px #29aa93}.border-primary-hover:hover{border:1px solid #29aa93}.menu-hover-primary>li>a:hover{color:#27988a!important;background-color:#d4eee9!important}.menu-active-primary>li.active>a{color:#29aa93!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#d4eee9!important}.label-pri-2,.label-selector>.label-pri[data-value="2"]{color:#faae1a;border-color:#faae1a}#mainHeader{color:#313c52;background:#fff;border-bottom:1px solid #eee}#heading .header-btn .btn,#navbar .nav>li>a,#userNav>li>a{color:#313c52}#navbar .nav>li.active>a{position:relative;font-weight:500;color:#27988a;background:0 0}#navbar .nav>li.active>a:before{position:absolute;right:10px;bottom:0;left:10px;display:block;height:2px;content:' ';background-color:#27988a}#navbar .nav>li>a.active:hover,#navbar .nav>li>a:hover{background-color:rgba(0,0,0,.1)}#navbar .nav>li.divider{background-color:#f1f1f1}#visionSwitcher .dropdown-toggle>div,#visionSwitcher>div{background-color:rgba(0,0,0,.1)}#menu{position:relative;background:#248f83!important}#menu::after{position:absolute;bottom:0;left:0;z-index:-1;width:100%;height:108px;content:'';background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABsCAYAAACVWrdDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA7dSURBVHgB7V1Nc9vGGV4QBL8pSjLp2LUddWK3jWvVOdjptMk4Mzl0euk1/gnN78ifyEzPuSk9J9PpIZlm6saTpJ00VJQ2jhJaiiOLFKkvghS/0H2ABQ1RILEgdkEi1ePBQCJpgXiffT/33YVCBMMwjAQ9pemR0Ikex2sZkhnQ0wkORVFa5BxDKEQQqOCz9JSjQo9N+hwlo0dPx+dEWAhMABvxeSr4hJ//R4kAAQeUCIP8HyMQAVT4C1TwWTIlKAnQhCP2txTzJUKS9NCgScx0denR+rFqzFQEUGGp9FSgQkqSgKBCPqAnmK3sJPPFTFedEtEnPyL4JoCZnILtYMMEyKIE6ExblujRpL+fkAjDlxDhaKngF8js0GPCX2Y+J0l/P6IkHJOIgosAdtP5IPZeEJJkxOHTn/P0+5GokuBpgpi9X/Qb5YQNap4iqQkTCSiXy4nSTzNLMSXGnGOWZBCnmMHK/CGKJIwlgI58CJ2aqHXy9GlfSyRy8XrnOBlXNWgEyZpMgJD5IoOSUI+SY54mClIbjc3cvJJhEGOQJdlaVMLVqRMxEFGtrqd1JZZ3vg4yMpkSmSWQZVMC9kkEIKIUoW4frhf6ndippGzWRNCrVykJPTLnEFaM290t50a1AZgVEVFxyMIIALa2ttL91NGi23thExEVMxQjAnHt2rWW2s673nRT10m1ViEhIhJVVqEaYGOSJgBhaAO9wm4UIiGhGmADmpAxBkfj3oc26HqVyAIVvh6VMFQKAcDFi6vHamIwNiGSbJJOzR3QSC1w2VwWpBEAXF24dWAYg4m2WDQJAzLo09Hfwc8ondMDldNlep7L+olUAmAGaPnUMxQECTrVCBHIkVyLCltjgr9gTxrRc4HNZcwVpBIAvP32n3UvLQCa1CcIIgHTmcUxs3UFVlqfG4TyZb7e+3hBGyxwzSWUiitEJpzz0PMA6RoAnPyQa/N+VnauQDUjN0+mKBQCbt265SskDCFhy5E5QSgEvPXWW76zUpkkwD9QLUiTOUBoDmnroLw8WjH1gsyMGW0u1BfIywY5EYoGADw5wSisjFlMeDoKtNXMgxaERgBygr3H7b1ev+vLHzR1qYN05gQINUEsxo6xv4szWgv7zv5PTOA8qj/Mxvu5jKLEuK8vKzylpmjPzpxlYW1tTX3jjZKyvZ3U6tpRTI0lzPvuDzp8SQkTLOZ/NXZ2HjZiZLxGDXs86dGBNuBvbm9vp+icSaaX9A4Ls9QXyJhzFp0XWPf1j1QzNYgbJ1qipxnxk1ZnrKVRxv0RYvWeaOwQ3YbY2zneIc4qxUm763kNGVqA2lFeye+SAIC81tc/zJJCMtHu97gDDa2n9hWXP4ZRvUzEC/0MarUaaRJ+Gy8rKpp27gCm5YU7SzmiJqdSzefU+L6bkAskBOEDxWIR4Qi3o0VUJKnzBffLTQBG/MNH7+fjWm7qVs1+vNO5dvW11hnb9OjRw55O5IR+bihmiqZ954WkBI07GiyX1xL/2vmoGET4wE+MjO564Rs3HjepPTNqenjzt35JkJUbeOHzz/+SbecuXaDTTIEsBGz/tWuvmJNGZwhQlPv9WHt779tv141KbYOEBZDA23MqITfwND8PttbS3UJaSGt+bjk5nCl0Vb27d9/svnyrWT14stXfqHxEoA1hjLrS7LTAk4Br5CoRhReWNofh3/j4lGrC7dsHe4Pj+Eml8hUBERXJVUrE+bymSJQWdEm3zRMBvff0CyFddksLaBi4P7zeROeDD66uvlInagdJFKlVvyKyHbRlivgQVAuQAxRI4dDtPcP4II4w0/79TWoVBkY/cK9Ra2nzVMMAn/c/+uFgMLAuXql8Jp2EMLQAGTCdP66Ojn5EOeWtB8ufVdTSC7++dPHTb/5asInIxJOBShYIPVeV+6f+BnctBhFAVzNMJwRTsbJyBzdBZIE3ACgVQRb/92Dt6w23+s/HX7+34BZe0iJ6r01z91g7pwUJP1MrO3ujBHDHvy+99Hta3kiaNROovmxN4NUCXW8SP1CIgnsuOEvRSKww6scJF2Fnon9psZC+oJEp4Tb6AV/l6NXV14/DIoHXFzSn8AOYC6DHIhX8IswLEiueGk6zdzL1XHL2St214Od7PgAkaF3lED5hSIKkELWU4Su+Td/m+KRz496l5aCJlRcQ+biNfiDACpk19YsvMgudeDyF34ul581qpWi/wFuw818p1cl/djZ6soUP3FnZ2XWGnk4EnpDBSsqmupNXjV7CqtdTCrJF0zmKIgMaVjVH+XhN8+uMK5UNEkbNK5XpH61efH1sd6DA7WrW1M3NpVzjpG8tZJUQKdX02tjQ00+pGgW9WrNGZAM1n5duvDpxrkHYnDBU7Pr13x2cdtJia0lwzOP8Aq8zDkv4wO3r3+95feYUAQjH6GF2C7Ajy4406zT2tJdw0ktJ1ZSGTkcsDpGAZo0jwTsYoEanGU4l9bKGjUXue5Y44mz6EfFvgmf7mabRhFmBR0dtBOfOaDb5zjt/P/rD/d+YtqdSrZCbK/zlBR6YNSNScjFHyAnGm7xKpRKa3b9y8S7XhRQq0MskICghKK8OJ9zxWrn8YLkdOzQJvXnznpSs2SoOnr7PcdEQQtVK9TERAdSEYh3S02MtJaPl4vg9mU4MkqrR6hUXT1aVVe6ShZAQjGmOKWyqUSCi9fDh+734AuuEg4wkVC1Qvq6emThyv1gqk8LAUIkAxBRViS0Q5d6lNC1pvBaoSiq8MYuSkcaKlOu/+uUwra9Kml1zK1+PK03kyHP7KTUubA8J5A8o2JXLHwRq9A2lM64mSPXdMFqyOB0NWZFY/fBbbJfZ6WtHwjfxaOfUPCqm0y78kEZAJnO6riU6GnLCvXCnD53u00Y9+c8f/lZSa1e6RAI0I0NN7btTydLVB1jhXNNqjnWJGuBQrcQnS8Yb94xpIuzQUEY05Pw+TsODa5pLnhzfHSajnatfIBKgXi/sK8qrUy2LZQTopu2sYpQ2iWeohvdr7I4z2YwpALdSAN6zCYAGYG65mBHf3Qai4w2lgxZHdGD3BwcDmmwJcbheMEsNPqKeUSjfVb+8jORERHwMgSNJsns4zdCPzicP35c7kYPtL+EQjz578mGWdNWpa/e84Ck1eCGGtFxUcgIiK9UNNpulm7UZZ0OtLndxtinwRmMzEYbwEfvzlBq8IMUJg4gNGn1A2CVapnYCEZEkhwxz2tvv6ikSAi7Hk1ylBi/EctnYsZZqHT63Et/HAZuG1zCFFrQLANpVrdbOtJVDSySUBEybX281pIfWkI/d2RYUnrFr2Sgn0o12+rh+kuzG+9M5NpciGSZwVoo3iUB0G41Gd/Ow7MvBZEjR9F2AzmOOT/rdu794XZgKe1c3LQ9vevmtrQfp+omR900ENGCEBCs5o05ZXM+/0SCbXB80o7bSypkkzqwsNR8PSbGCk2eyhtO9/fOdBhEIX7UgpnatqYhwJeErGjVht0Uh+UGn1ex4Ot9i9vmxpNutkcP32ddCULF7/NTo7m/Q2s+bQrfBmcpeggiEX/AXJCA2xE3qd7w6GzCyJ2mcGSa7vI9MuxevHty588cemx/JsXPgXCOQw8JcJyacoZpc/2HM6gr0nQYkgV7/3YlVySC5R2qQ6v/26htoSblEDzSn5dn5IsggASBsTri8+0Gurat5rg+PEXax9OK0PuFofX29M1pqKGatdQe2rUdofHNFqOMfXn/aHRqFhWzQBu2gdcj14TGaAJ8wxZoELIM9rmY/Gd4L7PydlXtmlOV0tKWStH3q8tNuCCV8q4JPP/2Tpi2uLnE56DGa4KNkgTzFbLBFYNBPLS46SyFnL6fL3l7Z95pjKXtFoEXl399cucAdJY01SUVWW3KNkiB83LBZYt7f318qFAqhZMETgPXQvvatlrZZxzQkQNBuZQqMWsTlWfq+WV+yNAM7Ix5Y1zK7tmf9cAkbmPyp835Y6m4pfkmwnaZZyzfbR0Y1AwmURYK9wJo9v2yWj1Vxg/msG54PSt+uBiR88l2phIlsns8XzbZGvkgIC6yJlS6FtukIJ2CKdnmekSb9i5urLvf+y122tbrWvAcPNIBY9f95Ez5gPpaL94PSgVWX3CEqsRqovGAQAwTMo/BtZHkm6kO7Aayw4c2YUQLzmrjJ42FKhPhbHhMuIFvPBR2hPoxNbRf2u5wT4zBF41rOmfnB8lI6yAy0moSxNTHsOQi3WzIHozbesV+SHXR4dmGEvonpuIVwbkC4ueJSOsDDGYg1eAx2lrkNJcjel7WpUyidA05cvfCz7s9ffj5JBjHPa3fpv2xCI5p2mi8Nm+NaBTF7AylZQH1nX+ZO7DPZxtdvfmAV0DKm6YmRmMo0gK/w5/OrESuEBFph7LA7kyjC3Abh+vd7vE65WrPa0HMkt0eFj/8jy+bDru+yI5TtjWcWxtkk8DTMYjaKPUkVwh+QZ6NUNEKXx1zsJI5K5hNFz6i9xClnqqXUfqK33H/xyouGXV+hkQZ29IKgRBfeQG7DLu6Fhbnayt3c/I6sm/O6X5Iv+/eplrCNtvHs4F0WdiL7ReQDAkR9fwh/bxaPPQn9ocyTwOLqzshrHRZfa+w9CCnFfhbhCzDiG7N65sw8p/JOQNi2eQJJiJ5E9PrbZmdmD/yJIgF2DSiorbYndGb6tKWoEID03+75sSMgCM6vFoA0u9TamodHXc2VD5gAaECM9eHY9Rf4BWSq8ANtdvZyygabRTsgc4JIaAAVmrkJOD0S7GcbpjOmr8GO77DXkECBEJA2948zjIoGADAfdukCgoVJgl8wTQp7AjjQcvbosAgK96mQOQu7gSgR4FznOyDPdnO3O+IUx3tDsNA21OTKD6LihAEI0emIMXgGjjKxSQ7PPOw8IUoEYKQ7NSBNno1+4ng9UogSARBubKQj2Zk1414iNfqByBDgiNlh6+2fnQTg9XMNkAwIXhv53YYzR4gMokYAbP4wlKRaMeoDIvEQZyeiqAF218GosM81ICRA0Cg7uBFwrgGSYc8FAG5Lks6dsGTAxIz7znafUKQQNQImjXDcy7kJkoxJI/w8DwgBrgJ2ZMfnJihEjCZhZB5muPzifzvaxdIXFrNVAAAAAElFTkSuQmCC) no-repeat}#userNav>li>a>.icon{color:#23c8ec}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:-webkit-gradient(linear,left top,right top,from(rgba(229,244,169,.4)),to(rgba(237,254,171,.036)))!important;background:-webkit-linear-gradient(left,rgba(229,244,169,.4) 0,rgba(237,254,171,.036) 100%)!important;background:-o-linear-gradient(left,rgba(229,244,169,.4) 0,rgba(237,254,171,.036) 100%)!important;background:linear-gradient(90deg,rgba(229,244,169,.4) 0,rgba(237,254,171,.036) 100%)!important;border-radius:4px;opacity:1}#featurebar .nav li.active a{color:#27988a!important}#featurebar .nav li.active a:after{border-bottom:2px solid #27988a!important}.btn.btn-action,.c-actions .btn,td.c-name a{color:#29aa93}#logForm .table .versions a,#mainMenu .page-title strong a,#readOnlyOfKanban i{color:#29aa93!important}.picker-drop-menu .picker-option-list .picker-option.picker-option-active,.picker-drop-menu .picker-option-list .picker-single .picker-option.picker-option-selected.picker-option-active{color:#fff;background:#29aa93}.table-actions .btn{background:#29aa93!important;border-color:#29aa93!important}.table-actions .btn:hover{color:#fff;background:#27988a;border-color:#27988a}.table-actions>.btn-group:first-child>.btn:first-child{border-right:1px solid rgba(255,255,255,.2)!important}a.programName:focus,a.programName:hover{background:#29aa93!important}#guideDialog .project-type-img:hover,#guideDialog .project-type.active img,.kanbans .panel:hover{border-color:#29aa93!important}.btn.btn-action:hover,.c-actions .btn:hover{color:#29aa93;background:#f0fdfb}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.main-table table tr{border-color:#f2f6f8!important}#mainHeader #headerActions .btn-group>.btn{color:#313c52!important}.c-manager .avatar.avatar-top{border-color:#faae1a}#programTableList>tr:hover{background:#f0fdfbcc}#programTableList>tr:hover>.c-name>a{color:#27988a!important}#programTableList>tr[data-type=project]>.c-name>a{color:#2f8a8f!important}.m-product-all #mainMenu>div.btn-toolbar.pull-right>a.btn.btn-link.iframe{color:#00c4d0!important}#featuresNav.nav-simple>li.active>a,.nav-simple>li.active>a,.nav-simple>li.active>a:focus,.nav-simple>li.active>a:hover{color:#29aa93}#featuresCarousel .carousel-indicators .active{background-color:#29aa93!important;border-color:#29aa93!important}#dashboard .block-welcome .progress{background:#eee} \ No newline at end of file + */a{color:#313c52}a:focus,a:hover{color:#29aa93}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#29aa93;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#218977;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#1a6c5e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#29aa93;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#218977;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#1a6c5e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#29aa93;border-color:transparent}.btn-warning{color:#fff;background-color:#ffba34;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ffac0b;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#e69800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ffba34;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ffac0b;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#e69800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ffba34;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#29aa93;background-color:#f0fdfb;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#29aa93;background-color:#ccf8f1;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#acf4e9;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#f0fdfb;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#29aa93;background-color:#ccf8f1;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#acf4e9;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#f0fdfb;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#29aa93}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#29aa93}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#1f816f}.label-primary.label-outline{color:#29aa93;background:0 0;border:1px solid #29aa93}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#1f816f}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ffba34}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ffa901}.label-warning.label-outline{color:#ffba34;background:0 0;border:1px solid #ffba34}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ffa901}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#60d9c3}.text-primary{color:#29aa93}.text-primary:hover{color:#1f816f}.text-warning{color:#ffba34}.text-warning:hover{color:#ffa901}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#29aa93}a.bg-primary:hover{background-color:#1f816f}.hl-primary{background-color:#f0fdfb}a.hl-primary:hover{background-color:#c3f7ef}.progress{background-color:#f0fdfb;border-radius:3px}.progress-bar{color:#fff;background-color:#29aa93;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#29aa93;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)}.form-control:focus{border-color:#29aa93;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#29aa93;border-color:#29aa93}.switch input:focus+label{color:#29aa93}.switch input:focus+label:before{border-color:#29aa93;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #29aa93;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #29aa93}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#29aa93;border-color:#29aa93}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#29aa93;-webkit-box-shadow:0 0 8px #29aa93;box-shadow:0 0 8px #29aa93}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#29aa93}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#29aa93}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#23c8ec}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#f0fdfb}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#29aa93;border-color:#29aa93}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#23c8ec;border-color:#11a9cb}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#14bde2}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#3fcfee}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#52d4f0}.navbar-inverse .navbar-toggle{border-color:#52d4f0}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#14bde2}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#13b5d9}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#52d4f0}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#11a9cb}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#3fcfee}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#52d4f0}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #52d4f0;-webkit-box-shadow:inset 0 -1px 0 #11a9cb;box-shadow:inset 0 -1px 0 #11a9cb}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#12b1d4}.nav>li>a:focus,.nav>li>a:hover{color:#29aa93}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#29aa93}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#29aa93;border-color:#29aa93}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#29aa93;border-bottom-color:#29aa93}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #29aa93;box-shadow:inset 2px 0 0 #29aa93}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#29aa93;border-color:#29aa93}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#29aa93}.panel-primary>.panel-heading{color:#fff;background-color:#29aa93;border-color:#29aa93}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#29aa93}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#29aa93}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f0fdfb}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#29aa93!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#29aa93!important;border-bottom-left-radius:#29aa93!important}.chosen-container .chosen-results li.highlighted{background-color:#29aa93!important}.chosen-container-active .chosen-single{border-color:#29aa93!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#29aa93!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#29aa93!important;border-bottom-left-radius:#29aa93!important}.chosen-container.chosen-highlight-selected .result-selected{color:#29aa93;background:#f0fdfb}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#29aa93;border-color:#29aa93}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#29aa93}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#29aa93}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#29aa93}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ffba34!important;border-color:#ffba34!important}.datetimepicker td.day.active{background-color:#29aa93!important;border-color:#1f816f!important}.datetimepicker td.day.active:hover{background-color:#1f816f!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ffa901!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#29aa93!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)!important}.ke-menu-item-on{background-color:#29aa93!important}.ke-colorpicker-cell-on{background-color:#29aa93!important}.ke-input-text:focus{border-color:#29aa93!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#29aa93}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ffba34}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#273042;background-color:#f0fdfb}.alert-primary hr{border-top-color:#d1f9f3}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ffb11a;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#f6a200}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#29aa93;border-color:#29aa93}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#f0fdfb}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#29aa93}.tree-drag-holder{background-color:#f0fdfb}.tree-menu li.active>a{color:#fff;background-color:#29aa93;border-color:#29aa93}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#23c8ec}a.text-primary{color:#29aa93}.nav-primary>li.active>a{color:#27988a}.nav-primary>li.active>a:hover{color:#27988a}.bg-primary,.m-user-login{background:#23c8ec -webkit-gradient(linear,right top,left top,from(#29aa93),to(#23c8ec))!important;background:#23c8ec -webkit-linear-gradient(right,#29aa93 0,#23c8ec 100%)!important;background:#23c8ec -o-linear-gradient(right,#29aa93 0,#23c8ec 100%)!important;background:#23c8ec linear-gradient(-90deg,#29aa93 0,#23c8ec 100%)!important}.bg-primary-pure{color:#fff;background-color:#29aa93}.bg-primary-pale{color:#29aa93;background-color:#f0fdfb}.bg-secondary{background:#23c8ec}.alert-info{color:#29aa93;background:#f0fdfb}.btn-primary{color:#fff;background-color:#29aa93;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(41,170,147,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#249581;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#29aa93;border-color:transparent}.btn-secondary{color:#fff;background-color:#23c8ec;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(35,200,236,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#14bde2;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#23c8ec;border-color:transparent}.btn-info{color:#29aa93;background-color:#f0fdfb;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#29aa93;background-color:rgba(240,253,251,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#dafaf5;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(41,170,147,.3);background-color:#f0fdfb;border-color:transparent}.btn-icon-left>.icon{color:#23c8ec;background:#f0fdfb}.btn-active-line{color:#29aa93}.btn-active-line:after{border-bottom-color:#29aa93}.btn-active-line:hover{color:#29aa93}.btn-active-text .text{color:#27988a}.btn-active-text .text:after{border-bottom-color:#27988a}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(41,170,147,.8)}.label-primary{background:#29aa93!important}.label-pale{background:#c3f7ef!important}.label-outline.label-primary{background:#f0fdfb!important;border-color:rgba(41,170,147,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#29aa93;border-color:#29aa93}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#29aa93;-webkit-box-shadow:0 0 0 3px rgba(41,170,147,.2);box-shadow:0 0 0 3px rgba(41,170,147,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#29aa93}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#29aa93!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#29aa93!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#29aa93!important}.nav-tabs>li.active>a:before{background:#29aa93}.nav-tabs-primary>li.active>a{color:#29aa93!important}.panel-actions .btn.text-primary{color:#29aa93}.picker-focus .picker-selections{border-color:#29aa93;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(41,170,147,.6)}.status-bars .bar{background:#29aa93}.status-bars-h .bar{background:#29aa93}.messagger-zt .messager-content>.icon{color:#29aa93}.tree li.active>a{color:#29aa93}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#29aa93}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#23c8ec}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#f0fdfb}.dropdown-submenu:hover>a:after{border-left-color:#29aa93}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#23c8ec}.timeline>li>a:after,.timeline>li>div:after{background-color:#29aa93}.timeline>li.active:before{background-color:rgba(41,170,147,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#29aa93!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#29aa93!important}#mainHeader{background:#33c6ab;border-top-color:#29aa93;border-bottom-color:#f0fdfb}#searchGo{background-color:#23c8ec}#searchGo:hover{background-color:#29aa93}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#29aa93}#subHeader.admin-tab-menu>.container>#subNavbar>ul>li.active>a:after{border-color:#29aa93}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#29aa93}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#29aa93}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #29aa93}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #29aa93}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #29aa93}#sidebarHeader .title{color:#29aa93}#sidebar>.sidebar-toggle>.icon{background:#81dff4}#main .querybox-toggle.querybox-opened{color:#29aa93}#contentNav .nav>li.active>a{color:#29aa93}#contentNav .nav>li.active>a:before{background:#29aa93}td.c-actions .btn{color:#23c8ec}td.c-actions .btn:hover{color:#29aa93;background-color:#dafaf5}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#29aa93;background:#f0fdfb}.main-table table .btn-icon-left:hover>.icon{background:#f0fdfb}.main-table tbody>tr:hover{background:#f0fdfb}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#29aa93}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#f9fefd}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f9fefd}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#2f8a8f}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#0b2f28}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#29aa93}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#29aa93}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#29aa93}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#f0fdfb}.table-nest-toggle:hover{color:#29aa93}.table-footer .checkbox-primary.checked label:after{border-color:#29aa93!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#37cfb4!important;border-color:#37cfb4!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#29aa93}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#29aa93;border-color:#29aa93}.article-content a{color:#29aa93}.article-content a:focus,.article-content a:hover{color:#23c8ec}.list-group{overflow-y:auto}.list-group>a.selected{color:#f0fdfb;background-color:#29aa93}.list-group>a.active{color:#29aa93;background-color:#f0fdfb}.list-group>a.active:hover,.list-group>a:hover{background-color:#29aa93}#swapper #dropMenu .tree li>.selected{color:#29aa93!important;background:#f0fdfb!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#29aa93!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#29aa93!important;background:#f0fdfb!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#29aa93!important}.release-line>li>a:hover:before{background-color:#f0fdfb}.release-line>li>a:hover .title{color:#29aa93}.release-line>li.active>a:before{border-color:#29aa93}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#23c8ec}#poweredBy .icon-zentao{color:#23c8ec}#poweredBy a:hover{color:#29aa93}#poweredBy a:hover .icon-zentao{color:#29aa93}#poweredBy a.text-primary{color:#29aa93}#poweredBy a.text-primary:hover{color:#23c8ec}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#29aa93!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#23c8ec!important}.dynamic.active .dynamic-date:before{background-color:#23c8ec!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#29aa93!important}.table td.has-child>.task-toggle:hover{color:#29aa93!important}#openTaskPage.open:hover,#task .task-nav{color:#29aa93!important;background:#f0fdfb!important}#tasksProgress>.progress-bar{background:#29aa93!important}#tasksProgress .progress-text{color:#29aa93!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#29aa93!important;background:#f0fdfb!important;border-left-color:#29aa93!important;-webkit-box-shadow:inset 4px 0 0 #29aa93!important;box-shadow:inset 4px 0 0 #29aa93!important}#copyProjectModal a:hover{border-color:#23c8ec!important}#zeroTaskStory.checked{background:#f0fdfb!important;border-color:#23c8ec!important}.cols-list .col:hover{background:#f0fdfb!important}.files-grid .actions,.files-grid .col:hover .file{background:#f0fdfb!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#23c8ec!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#23c8ec!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#29aa93!important}#bars>li.active:after{background:#f0fdfb!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#27988a;background:#e7eded}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#29aa93}td.c-actions .btn{color:#29aa93}.main-table tbody>tr:hover{background:rgba(240,253,251,.8)}.main-table tbody>tr>td.c-name a{color:#2f8a8f}.main-table tbody>tr>td.c-name a:hover{color:#27988a}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#29aa93!important}.assigned-none{color:#27988a!important}.assigned-current{color:#faae1a!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#27988a!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#27988a!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#33c6ab}#assigntomeBlock .nav>li.active>a{color:#27988a}.consumedTotally{color:#29aa93;background:#f0fdfb}#toggleFoldIcon .icon-border{border:1px solid #d4eee9}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#29aa93}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#23c8ec}.nav-steps>ul>li.active>a:focus{background-color:#29aa93}.nav-steps>ul>li.active+li:after{border-left-color:#23c8ec}.nav-steps>ul>li.active:hover+li:after{border-left-color:#29aa93}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#29aa93}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #29aa93;box-shadow:0 0 1px 1px #29aa93}.border-primary-hover:hover{border:1px solid #29aa93}.menu-hover-primary>li>a:hover{color:#27988a!important;background-color:#d4eee9!important}.menu-active-primary>li.active>a{color:#29aa93!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#d4eee9!important}.label-pri-2,.label-selector>.label-pri[data-value="2"]{color:#faae1a;border-color:#faae1a}#mainHeader{color:#313c52;background:#fff;border-bottom:1px solid #eee}#heading .header-btn .btn,#navbar .nav>li>a,#userNav>li>a{color:#313c52}#navbar .nav>li.active>a{position:relative;font-weight:500;color:#27988a;background:0 0}#navbar .nav>li.active>a:before{position:absolute;right:10px;bottom:0;left:10px;display:block;height:2px;content:' ';background-color:#27988a}#navbar .nav>li>a.active:hover,#navbar .nav>li>a:hover{background-color:rgba(0,0,0,.1)}#navbar .nav>li.divider{background-color:#f1f1f1}#visionSwitcher .dropdown-toggle>div,#visionSwitcher>div{background-color:rgba(0,0,0,.1)}#menu{position:relative;background:#248f83!important}#menu::after{position:absolute;bottom:0;left:0;z-index:-1;width:100%;height:108px;content:'';background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABsCAYAAACVWrdDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA7dSURBVHgB7V1Nc9vGGV4QBL8pSjLp2LUddWK3jWvVOdjptMk4Mzl0euk1/gnN78ifyEzPuSk9J9PpIZlm6saTpJ00VJQ2jhJaiiOLFKkvghS/0H2ABQ1RILEgdkEi1ePBQCJpgXiffT/33YVCBMMwjAQ9pemR0Ikex2sZkhnQ0wkORVFa5BxDKEQQqOCz9JSjQo9N+hwlo0dPx+dEWAhMABvxeSr4hJ//R4kAAQeUCIP8HyMQAVT4C1TwWTIlKAnQhCP2txTzJUKS9NCgScx0denR+rFqzFQEUGGp9FSgQkqSgKBCPqAnmK3sJPPFTFedEtEnPyL4JoCZnILtYMMEyKIE6ExblujRpL+fkAjDlxDhaKngF8js0GPCX2Y+J0l/P6IkHJOIgosAdtP5IPZeEJJkxOHTn/P0+5GokuBpgpi9X/Qb5YQNap4iqQkTCSiXy4nSTzNLMSXGnGOWZBCnmMHK/CGKJIwlgI58CJ2aqHXy9GlfSyRy8XrnOBlXNWgEyZpMgJD5IoOSUI+SY54mClIbjc3cvJJhEGOQJdlaVMLVqRMxEFGtrqd1JZZ3vg4yMpkSmSWQZVMC9kkEIKIUoW4frhf6ndippGzWRNCrVykJPTLnEFaM290t50a1AZgVEVFxyMIIALa2ttL91NGi23thExEVMxQjAnHt2rWW2s673nRT10m1ViEhIhJVVqEaYGOSJgBhaAO9wm4UIiGhGmADmpAxBkfj3oc26HqVyAIVvh6VMFQKAcDFi6vHamIwNiGSbJJOzR3QSC1w2VwWpBEAXF24dWAYg4m2WDQJAzLo09Hfwc8ondMDldNlep7L+olUAmAGaPnUMxQECTrVCBHIkVyLCltjgr9gTxrRc4HNZcwVpBIAvP32n3UvLQCa1CcIIgHTmcUxs3UFVlqfG4TyZb7e+3hBGyxwzSWUiitEJpzz0PMA6RoAnPyQa/N+VnauQDUjN0+mKBQCbt265SskDCFhy5E5QSgEvPXWW76zUpkkwD9QLUiTOUBoDmnroLw8WjH1gsyMGW0u1BfIywY5EYoGADw5wSisjFlMeDoKtNXMgxaERgBygr3H7b1ev+vLHzR1qYN05gQINUEsxo6xv4szWgv7zv5PTOA8qj/Mxvu5jKLEuK8vKzylpmjPzpxlYW1tTX3jjZKyvZ3U6tpRTI0lzPvuDzp8SQkTLOZ/NXZ2HjZiZLxGDXs86dGBNuBvbm9vp+icSaaX9A4Ls9QXyJhzFp0XWPf1j1QzNYgbJ1qipxnxk1ZnrKVRxv0RYvWeaOwQ3YbY2zneIc4qxUm763kNGVqA2lFeye+SAIC81tc/zJJCMtHu97gDDa2n9hWXP4ZRvUzEC/0MarUaaRJ+Gy8rKpp27gCm5YU7SzmiJqdSzefU+L6bkAskBOEDxWIR4Qi3o0VUJKnzBffLTQBG/MNH7+fjWm7qVs1+vNO5dvW11hnb9OjRw55O5IR+bihmiqZ954WkBI07GiyX1xL/2vmoGET4wE+MjO564Rs3HjepPTNqenjzt35JkJUbeOHzz/+SbecuXaDTTIEsBGz/tWuvmJNGZwhQlPv9WHt779tv141KbYOEBZDA23MqITfwND8PttbS3UJaSGt+bjk5nCl0Vb27d9/svnyrWT14stXfqHxEoA1hjLrS7LTAk4Br5CoRhReWNofh3/j4lGrC7dsHe4Pj+Eml8hUBERXJVUrE+bymSJQWdEm3zRMBvff0CyFddksLaBi4P7zeROeDD66uvlInagdJFKlVvyKyHbRlivgQVAuQAxRI4dDtPcP4II4w0/79TWoVBkY/cK9Ra2nzVMMAn/c/+uFgMLAuXql8Jp2EMLQAGTCdP66Ojn5EOeWtB8ufVdTSC7++dPHTb/5asInIxJOBShYIPVeV+6f+BnctBhFAVzNMJwRTsbJyBzdBZIE3ACgVQRb/92Dt6w23+s/HX7+34BZe0iJ6r01z91g7pwUJP1MrO3ujBHDHvy+99Hta3kiaNROovmxN4NUCXW8SP1CIgnsuOEvRSKww6scJF2Fnon9psZC+oJEp4Tb6AV/l6NXV14/DIoHXFzSn8AOYC6DHIhX8IswLEiueGk6zdzL1XHL2St214Od7PgAkaF3lED5hSIKkELWU4Su+Td/m+KRz496l5aCJlRcQ+biNfiDACpk19YsvMgudeDyF34ul581qpWi/wFuw818p1cl/djZ6soUP3FnZ2XWGnk4EnpDBSsqmupNXjV7CqtdTCrJF0zmKIgMaVjVH+XhN8+uMK5UNEkbNK5XpH61efH1sd6DA7WrW1M3NpVzjpG8tZJUQKdX02tjQ00+pGgW9WrNGZAM1n5duvDpxrkHYnDBU7Pr13x2cdtJia0lwzOP8Aq8zDkv4wO3r3+95feYUAQjH6GF2C7Ajy4406zT2tJdw0ktJ1ZSGTkcsDpGAZo0jwTsYoEanGU4l9bKGjUXue5Y44mz6EfFvgmf7mabRhFmBR0dtBOfOaDb5zjt/P/rD/d+YtqdSrZCbK/zlBR6YNSNScjFHyAnGm7xKpRKa3b9y8S7XhRQq0MskICghKK8OJ9zxWrn8YLkdOzQJvXnznpSs2SoOnr7PcdEQQtVK9TERAdSEYh3S02MtJaPl4vg9mU4MkqrR6hUXT1aVVe6ShZAQjGmOKWyqUSCi9fDh+734AuuEg4wkVC1Qvq6emThyv1gqk8LAUIkAxBRViS0Q5d6lNC1pvBaoSiq8MYuSkcaKlOu/+uUwra9Kml1zK1+PK03kyHP7KTUubA8J5A8o2JXLHwRq9A2lM64mSPXdMFqyOB0NWZFY/fBbbJfZ6WtHwjfxaOfUPCqm0y78kEZAJnO6riU6GnLCvXCnD53u00Y9+c8f/lZSa1e6RAI0I0NN7btTydLVB1jhXNNqjnWJGuBQrcQnS8Yb94xpIuzQUEY05Pw+TsODa5pLnhzfHSajnatfIBKgXi/sK8qrUy2LZQTopu2sYpQ2iWeohvdr7I4z2YwpALdSAN6zCYAGYG65mBHf3Qai4w2lgxZHdGD3BwcDmmwJcbheMEsNPqKeUSjfVb+8jORERHwMgSNJsns4zdCPzicP35c7kYPtL+EQjz578mGWdNWpa/e84Ck1eCGGtFxUcgIiK9UNNpulm7UZZ0OtLndxtinwRmMzEYbwEfvzlBq8IMUJg4gNGn1A2CVapnYCEZEkhwxz2tvv6ikSAi7Hk1ylBi/EctnYsZZqHT63Et/HAZuG1zCFFrQLANpVrdbOtJVDSySUBEybX281pIfWkI/d2RYUnrFr2Sgn0o12+rh+kuzG+9M5NpciGSZwVoo3iUB0G41Gd/Ow7MvBZEjR9F2AzmOOT/rdu794XZgKe1c3LQ9vevmtrQfp+omR900ENGCEBCs5o05ZXM+/0SCbXB80o7bSypkkzqwsNR8PSbGCk2eyhtO9/fOdBhEIX7UgpnatqYhwJeErGjVht0Uh+UGn1ex4Ot9i9vmxpNutkcP32ddCULF7/NTo7m/Q2s+bQrfBmcpeggiEX/AXJCA2xE3qd7w6GzCyJ2mcGSa7vI9MuxevHty588cemx/JsXPgXCOQw8JcJyacoZpc/2HM6gr0nQYkgV7/3YlVySC5R2qQ6v/26htoSblEDzSn5dn5IsggASBsTri8+0Gurat5rg+PEXax9OK0PuFofX29M1pqKGatdQe2rUdofHNFqOMfXn/aHRqFhWzQBu2gdcj14TGaAJ8wxZoELIM9rmY/Gd4L7PydlXtmlOV0tKWStH3q8tNuCCV8q4JPP/2Tpi2uLnE56DGa4KNkgTzFbLBFYNBPLS46SyFnL6fL3l7Z95pjKXtFoEXl399cucAdJY01SUVWW3KNkiB83LBZYt7f318qFAqhZMETgPXQvvatlrZZxzQkQNBuZQqMWsTlWfq+WV+yNAM7Ix5Y1zK7tmf9cAkbmPyp835Y6m4pfkmwnaZZyzfbR0Y1AwmURYK9wJo9v2yWj1Vxg/msG54PSt+uBiR88l2phIlsns8XzbZGvkgIC6yJlS6FtukIJ2CKdnmekSb9i5urLvf+y122tbrWvAcPNIBY9f95Ez5gPpaL94PSgVWX3CEqsRqovGAQAwTMo/BtZHkm6kO7Aayw4c2YUQLzmrjJ42FKhPhbHhMuIFvPBR2hPoxNbRf2u5wT4zBF41rOmfnB8lI6yAy0moSxNTHsOQi3WzIHozbesV+SHXR4dmGEvonpuIVwbkC4ueJSOsDDGYg1eAx2lrkNJcjel7WpUyidA05cvfCz7s9ffj5JBjHPa3fpv2xCI5p2mi8Nm+NaBTF7AylZQH1nX+ZO7DPZxtdvfmAV0DKm6YmRmMo0gK/w5/OrESuEBFph7LA7kyjC3Abh+vd7vE65WrPa0HMkt0eFj/8jy+bDru+yI5TtjWcWxtkk8DTMYjaKPUkVwh+QZ6NUNEKXx1zsJI5K5hNFz6i9xClnqqXUfqK33H/xyouGXV+hkQZ29IKgRBfeQG7DLu6Fhbnayt3c/I6sm/O6X5Iv+/eplrCNtvHs4F0WdiL7ReQDAkR9fwh/bxaPPQn9ocyTwOLqzshrHRZfa+w9CCnFfhbhCzDiG7N65sw8p/JOQNi2eQJJiJ5E9PrbZmdmD/yJIgF2DSiorbYndGb6tKWoEID03+75sSMgCM6vFoA0u9TamodHXc2VD5gAaECM9eHY9Rf4BWSq8ANtdvZyygabRTsgc4JIaAAVmrkJOD0S7GcbpjOmr8GO77DXkECBEJA2948zjIoGADAfdukCgoVJgl8wTQp7AjjQcvbosAgK96mQOQu7gSgR4FznOyDPdnO3O+IUx3tDsNA21OTKD6LihAEI0emIMXgGjjKxSQ7PPOw8IUoEYKQ7NSBNno1+4ng9UogSARBubKQj2Zk1414iNfqByBDgiNlh6+2fnQTg9XMNkAwIXhv53YYzR4gMokYAbP4wlKRaMeoDIvEQZyeiqAF218GosM81ICRA0Cg7uBFwrgGSYc8FAG5Lks6dsGTAxIz7znafUKQQNQImjXDcy7kJkoxJI/w8DwgBrgJ2ZMfnJihEjCZhZB5muPzifzvaxdIXFrNVAAAAAElFTkSuQmCC) no-repeat}#userNav>li>a>.icon{color:#23c8ec}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:-webkit-gradient(linear,left top,right top,from(rgba(229,244,169,.4)),to(rgba(237,254,171,.036)))!important;background:-webkit-linear-gradient(left,rgba(229,244,169,.4) 0,rgba(237,254,171,.036) 100%)!important;background:-o-linear-gradient(left,rgba(229,244,169,.4) 0,rgba(237,254,171,.036) 100%)!important;background:linear-gradient(90deg,rgba(229,244,169,.4) 0,rgba(237,254,171,.036) 100%)!important;border-radius:4px;opacity:1}#featurebar .nav li.active a{color:#27988a!important}#featurebar .nav li.active a:after{border-bottom:2px solid #27988a!important}.btn.btn-action,.c-actions .btn,td.c-name a{color:#29aa93}#logForm .table .versions a,#mainMenu .page-title strong a,#readOnlyOfKanban i{color:#29aa93!important}.picker-drop-menu .picker-option-list .picker-option.picker-option-active,.picker-drop-menu .picker-option-list .picker-single .picker-option.picker-option-selected.picker-option-active{color:#fff;background:#29aa93}.table-actions .btn{background:#29aa93!important;border-color:#29aa93!important}.table-actions .btn:hover{color:#fff;background:#27988a;border-color:#27988a}.table-actions>.btn-group:first-child>.btn:first-child{border-right:1px solid rgba(255,255,255,.2)!important}a.programName:focus,a.programName:hover{background:#29aa93!important}#guideDialog .project-type-img:hover,#guideDialog .project-type.active img,.kanbans .panel:hover{border-color:#29aa93!important}.btn.btn-action:hover,.c-actions .btn:hover{color:#29aa93;background:#f0fdfb}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.main-table table tr{border-color:#f2f6f8!important}#mainHeader #headerActions .btn-group>.btn{color:#313c52!important}.c-manager .avatar.avatar-top{border-color:#faae1a}#programTableList>tr:hover{background:#f0fdfbcc}#programTableList>tr:hover>.c-name>a{color:#27988a!important}#programTableList>tr[data-type=project]>.c-name>a{color:#2f8a8f!important}.m-product-all #mainMenu>div.btn-toolbar.pull-right>a.btn.btn-link.iframe{color:#00c4d0!important}#featuresNav.nav-simple>li.active>a,.nav-simple>li.active>a,.nav-simple>li.active>a:focus,.nav-simple>li.active>a:hover{color:#29aa93}#featuresCarousel .carousel-indicators .active{background-color:#29aa93!important;border-color:#29aa93!important}#dashboard .block-welcome .progress{background:#eee} \ No newline at end of file diff --git a/www/theme/pink/style.css b/www/theme/pink/style.css index 7fc7f79337..97ba3aacb1 100644 --- a/www/theme/pink/style.css +++ b/www/theme/pink/style.css @@ -1,6 +1,6 @@ /*! - * ZUI: Zentao Theme - pink - v1.10.0 - 2023-02-07 + * ZUI: Zentao Theme - pink - v1.10.0 - 2023-02-08 * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2023 cnezsoft.com; Licensed MIT - */a{color:#313c52}a:focus,a:hover{color:#a050d7}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#a050d7;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#8e2fcf;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#7a29b2;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#a050d7;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#8e2fcf;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#7a29b2;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#a050d7;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#a050d7;background-color:#ffebf8;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#a050d7;background-color:#ffc2ea;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#ff9edd;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#ffebf8;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#a050d7;background-color:#ffc2ea;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#ff9edd;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#ffebf8;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#a050d7}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#a050d7}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#882dc7}.label-primary.label-outline{color:#a050d7;background:0 0;border:1px solid #a050d7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#882dc7}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ff8513}.label-warning.label-outline{color:#ff9f46;background:0 0;border:1px solid #ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff8513}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#cda3ea}.text-primary{color:#a050d7}.text-primary:hover{color:#882dc7}.text-warning{color:#ff9f46}.text-warning:hover{color:#ff8513}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#a050d7}a.bg-primary:hover{background-color:#882dc7}.hl-primary{background-color:#ffebf8}a.hl-primary:hover{background-color:#ffb8e6}.progress{background-color:#ffebf8;border-radius:3px}.progress-bar{color:#fff;background-color:#a050d7;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#a050d7;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)}.form-control:focus{border-color:#a050d7;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#a050d7;border-color:#a050d7}.switch input:focus+label{color:#a050d7}.switch input:focus+label:before{border-color:#a050d7;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #a050d7;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #a050d7}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#a050d7;border-color:#a050d7}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#a050d7;-webkit-box-shadow:0 0 8px #a050d7;box-shadow:0 0 8px #a050d7}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#a050d7}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#a050d7}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#f7889c}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#ffebf8}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#a050d7;border-color:#a050d7}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#f7889c;border-color:#f45874}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#f57088}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#f9a5b4}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#fab8c4}.navbar-inverse .navbar-toggle{border-color:#fab8c4}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#f57088}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#f56780}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#fab8c4}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#f45874}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#f9a5b4}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#fab8c4}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #fab8c4;-webkit-box-shadow:inset 0 -1px 0 #f45874;box-shadow:inset 0 -1px 0 #f45874}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#f4627c}.nav>li>a:focus,.nav>li>a:hover{color:#a050d7}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#a050d7}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#a050d7;border-color:#a050d7}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#a050d7;border-bottom-color:#a050d7}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #a050d7;box-shadow:inset 2px 0 0 #a050d7}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#a050d7;border-color:#a050d7}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#a050d7}.panel-primary>.panel-heading{color:#fff;background-color:#a050d7;border-color:#a050d7}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#a050d7}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#a050d7}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#ffebf8}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#a050d7!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#a050d7!important;border-bottom-left-radius:#a050d7!important}.chosen-container .chosen-results li.highlighted{background-color:#a050d7!important}.chosen-container-active .chosen-single{border-color:#a050d7!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#a050d7!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#a050d7!important;border-bottom-left-radius:#a050d7!important}.chosen-container.chosen-highlight-selected .result-selected{color:#a050d7;background:#ffebf8}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#a050d7;border-color:#a050d7}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#a050d7}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#a050d7}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#a050d7}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9f46!important;border-color:#ff9f46!important}.datetimepicker td.day.active{background-color:#a050d7!important;border-color:#882dc7!important}.datetimepicker td.day.active:hover{background-color:#882dc7!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ff8513!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#a050d7!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)!important}.ke-menu-item-on{background-color:#a050d7!important}.ke-colorpicker-cell-on{background-color:#a050d7!important}.ke-input-text:focus{border-color:#a050d7!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#a050d7}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ff9f46}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#273042;background-color:#ffebf8}.alert-primary hr{border-top-color:#ffc7ec}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ff922c;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#ff7f09}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#a050d7;border-color:#a050d7}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#ffebf8}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#a050d7}.tree-drag-holder{background-color:#ffebf8}.tree-menu li.active>a{color:#fff;background-color:#a050d7;border-color:#a050d7}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#f7889c}a.text-primary{color:#a050d7}.nav-primary>li.active>a{color:#c92d79}.nav-primary>li.active>a:hover{color:#c92d79}.bg-primary,.m-user-login{background:#f7889c -webkit-gradient(linear,right top,left top,from(#a050d7),to(#f7889c))!important;background:#f7889c -webkit-linear-gradient(right,#a050d7 0,#f7889c 100%)!important;background:#f7889c -o-linear-gradient(right,#a050d7 0,#f7889c 100%)!important;background:#f7889c linear-gradient(-90deg,#a050d7 0,#f7889c 100%)!important}.bg-primary-pure{color:#fff;background-color:#a050d7}.bg-primary-pale{color:#a050d7;background-color:#ffebf8}.bg-secondary{background:#f7889c}.alert-info{color:#a050d7;background:#ffebf8}.btn-primary{color:#fff;background-color:#a050d7;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(160,80,215,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#953bd2;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#a050d7;border-color:transparent}.btn-secondary{color:#fff;background-color:#f7889c;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(247,136,156,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#f57088;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#f7889c;border-color:transparent}.btn-info{color:#a050d7;background-color:#ffebf8;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#a050d7;background-color:rgba(255,235,248,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#ffd1ef;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(160,80,215,.3);background-color:#ffebf8;border-color:transparent}.btn-icon-left>.icon{color:#f7889c;background:#ffebf8}.btn-active-line{color:#a050d7}.btn-active-line:after{border-bottom-color:#a050d7}.btn-active-line:hover{color:#a050d7}.btn-active-text .text{color:#c92d79}.btn-active-text .text:after{border-bottom-color:#c92d79}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(160,80,215,.8)}.label-primary{background:#a050d7!important}.label-pale{background:#ffb8e6!important}.label-outline.label-primary{background:#ffebf8!important;border-color:rgba(160,80,215,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#a050d7;border-color:#a050d7}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#a050d7;-webkit-box-shadow:0 0 0 3px rgba(160,80,215,.2);box-shadow:0 0 0 3px rgba(160,80,215,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#a050d7}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#a050d7!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#a050d7!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#a050d7!important}.nav-tabs>li.active>a:before{background:#a050d7}.nav-tabs-primary>li.active>a{color:#a050d7!important}.panel-actions .btn.text-primary{color:#a050d7}.picker-focus .picker-selections{border-color:#a050d7;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)}.status-bars .bar{background:#a050d7}.status-bars-h .bar{background:#a050d7}.messagger-zt .messager-content>.icon{color:#a050d7}.tree li.active>a{color:#a050d7}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#a050d7}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#f7889c}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#ffebf8}.dropdown-submenu:hover>a:after{border-left-color:#a050d7}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#f7889c}.timeline>li>a:after,.timeline>li>div:after{background-color:#a050d7}.timeline>li.active:before{background-color:rgba(160,80,215,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#a050d7!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#a050d7!important}#mainHeader{background:#eb599f;border-top-color:#a050d7;border-bottom-color:#ffebf8}#searchGo{background-color:#f7889c}#searchGo:hover{background-color:#a050d7}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#a050d7}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#a050d7}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#a050d7}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #a050d7}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #a050d7}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #a050d7}#sidebarHeader .title{color:#a050d7}#sidebar>.sidebar-toggle>.icon{background:#fde8ec}#main .querybox-toggle.querybox-opened{color:#a050d7}#contentNav .nav>li.active>a{color:#a050d7}#contentNav .nav>li.active>a:before{background:#a050d7}td.c-actions .btn{color:#f7889c}td.c-actions .btn:hover{color:#a050d7;background-color:#ffd1ef}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#a050d7;background:#ffebf8}.main-table table .btn-icon-left:hover>.icon{background:#ffebf8}.main-table tbody>tr:hover{background:#ffebf8}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#a050d7}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#fff5fc}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#fff5fc}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#a01c5d}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#4f1a74}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#a050d7}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#a050d7}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#a050d7}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#ffebf8}.table-nest-toggle:hover{color:#a050d7}.table-footer .checkbox-primary.checked label:after{border-color:#a050d7!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#b77ae0!important;border-color:#b77ae0!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#a050d7}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#a050d7;border-color:#a050d7}.article-content a{color:#a050d7}.article-content a:focus,.article-content a:hover{color:#f7889c}.list-group{overflow-y:auto}.list-group>a.selected{color:#ffebf8;background-color:#a050d7}.list-group>a.active{color:#a050d7;background-color:#ffebf8}.list-group>a.active:hover,.list-group>a:hover{background-color:#a050d7}#swapper #dropMenu .tree li>.selected{color:#a050d7!important;background:#ffebf8!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#a050d7!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#a050d7!important;background:#ffebf8!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#a050d7!important}.release-line>li>a:hover:before{background-color:#ffebf8}.release-line>li>a:hover .title{color:#a050d7}.release-line>li.active>a:before{border-color:#a050d7}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#f7889c}#poweredBy .icon-zentao{color:#f7889c}#poweredBy a:hover{color:#a050d7}#poweredBy a:hover .icon-zentao{color:#a050d7}#poweredBy a.text-primary{color:#a050d7}#poweredBy a.text-primary:hover{color:#f7889c}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#a050d7!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#f7889c!important}.dynamic.active .dynamic-date:before{background-color:#f7889c!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#a050d7!important}.table td.has-child>.task-toggle:hover{color:#a050d7!important}#openTaskPage.open:hover,#task .task-nav{color:#a050d7!important;background:#ffebf8!important}#tasksProgress>.progress-bar{background:#a050d7!important}#tasksProgress .progress-text{color:#a050d7!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#a050d7!important;background:#ffebf8!important;border-left-color:#a050d7!important;-webkit-box-shadow:inset 4px 0 0 #a050d7!important;box-shadow:inset 4px 0 0 #a050d7!important}#copyProjectModal a:hover{border-color:#f7889c!important}#zeroTaskStory.checked{background:#ffebf8!important;border-color:#f7889c!important}.cols-list .col:hover{background:#ffebf8!important}.files-grid .actions,.files-grid .col:hover .file{background:#ffebf8!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#f7889c!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#f7889c!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#a050d7!important}#bars>li.active:after{background:#ffebf8!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#c92d79;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#a050d7}td.c-actions .btn{color:#a050d7}.main-table tbody>tr:hover{background:rgba(255,235,248,.8)}.main-table tbody>tr>td.c-name a{color:#a01c5d}.main-table tbody>tr>td.c-name a:hover{color:#c92d79}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#a050d7!important}.assigned-none{color:#c92d79!important}.assigned-current{color:#f38f19!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#c92d79!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#c92d79!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#eb599f}#assigntomeBlock .nav>li.active>a{color:#c92d79}.consumedTotally{color:#a050d7;background:#ffebf8}#toggleFoldIcon .icon-border{border:1px solid #fbdeec}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#a050d7}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#f7889c}.nav-steps>ul>li.active>a:focus{background-color:#a050d7}.nav-steps>ul>li.active+li:after{border-left-color:#f7889c}.nav-steps>ul>li.active:hover+li:after{border-left-color:#a050d7}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#a050d7}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #a050d7;box-shadow:0 0 1px 1px #a050d7}.border-primary-hover:hover{border:1px solid #a050d7}.menu-hover-primary>li>a:hover{color:#c92d79!important;background-color:#fbdeec!important}.menu-active-primary>li.active>a{color:#a050d7!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#fbdeec!important}#mainHeader{background:#f7889c -webkit-gradient(linear,right top,left top,from(#a050d7),to(#f7889c));background:#f7889c -webkit-linear-gradient(right,#a050d7 0,#f7889c 100%);background:#f7889c -o-linear-gradient(right,#a050d7 0,#f7889c 100%);background:#f7889c linear-gradient(-90deg,#a050d7 0,#f7889c 100%);background-color:#f7889c} \ No newline at end of file + */a{color:#313c52}a:focus,a:hover{color:#a050d7}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#a050d7;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#8e2fcf;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#7a29b2;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#a050d7;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#8e2fcf;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#7a29b2;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#a050d7;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#a050d7;background-color:#ffebf8;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#a050d7;background-color:#ffc2ea;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#ff9edd;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#ffebf8;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#a050d7;background-color:#ffc2ea;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#ff9edd;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#ffebf8;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#a050d7}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#a050d7}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#882dc7}.label-primary.label-outline{color:#a050d7;background:0 0;border:1px solid #a050d7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#882dc7}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ff8513}.label-warning.label-outline{color:#ff9f46;background:0 0;border:1px solid #ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff8513}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#cda3ea}.text-primary{color:#a050d7}.text-primary:hover{color:#882dc7}.text-warning{color:#ff9f46}.text-warning:hover{color:#ff8513}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#a050d7}a.bg-primary:hover{background-color:#882dc7}.hl-primary{background-color:#ffebf8}a.hl-primary:hover{background-color:#ffb8e6}.progress{background-color:#ffebf8;border-radius:3px}.progress-bar{color:#fff;background-color:#a050d7;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#a050d7;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)}.form-control:focus{border-color:#a050d7;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#a050d7;border-color:#a050d7}.switch input:focus+label{color:#a050d7}.switch input:focus+label:before{border-color:#a050d7;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #a050d7;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #a050d7}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#a050d7;border-color:#a050d7}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#a050d7;-webkit-box-shadow:0 0 8px #a050d7;box-shadow:0 0 8px #a050d7}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#a050d7}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#a050d7}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#f7889c}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#ffebf8}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#a050d7;border-color:#a050d7}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#f7889c;border-color:#f45874}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#f57088}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#f9a5b4}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#fab8c4}.navbar-inverse .navbar-toggle{border-color:#fab8c4}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#f57088}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#f56780}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#fab8c4}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#f45874}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#f9a5b4}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#fab8c4}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #fab8c4;-webkit-box-shadow:inset 0 -1px 0 #f45874;box-shadow:inset 0 -1px 0 #f45874}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#f4627c}.nav>li>a:focus,.nav>li>a:hover{color:#a050d7}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#a050d7}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#a050d7;border-color:#a050d7}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#a050d7;border-bottom-color:#a050d7}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #a050d7;box-shadow:inset 2px 0 0 #a050d7}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#a050d7;border-color:#a050d7}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#a050d7}.panel-primary>.panel-heading{color:#fff;background-color:#a050d7;border-color:#a050d7}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#a050d7}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#a050d7}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#ffebf8}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#a050d7!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#a050d7!important;border-bottom-left-radius:#a050d7!important}.chosen-container .chosen-results li.highlighted{background-color:#a050d7!important}.chosen-container-active .chosen-single{border-color:#a050d7!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#a050d7!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#a050d7!important;border-bottom-left-radius:#a050d7!important}.chosen-container.chosen-highlight-selected .result-selected{color:#a050d7;background:#ffebf8}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#a050d7;border-color:#a050d7}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#a050d7}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#a050d7}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#a050d7}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9f46!important;border-color:#ff9f46!important}.datetimepicker td.day.active{background-color:#a050d7!important;border-color:#882dc7!important}.datetimepicker td.day.active:hover{background-color:#882dc7!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ff8513!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#a050d7!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)!important}.ke-menu-item-on{background-color:#a050d7!important}.ke-colorpicker-cell-on{background-color:#a050d7!important}.ke-input-text:focus{border-color:#a050d7!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#a050d7}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ff9f46}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#273042;background-color:#ffebf8}.alert-primary hr{border-top-color:#ffc7ec}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ff922c;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#ff7f09}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#a050d7;border-color:#a050d7}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#ffebf8}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#a050d7}.tree-drag-holder{background-color:#ffebf8}.tree-menu li.active>a{color:#fff;background-color:#a050d7;border-color:#a050d7}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#f7889c}a.text-primary{color:#a050d7}.nav-primary>li.active>a{color:#c92d79}.nav-primary>li.active>a:hover{color:#c92d79}.bg-primary,.m-user-login{background:#f7889c -webkit-gradient(linear,right top,left top,from(#a050d7),to(#f7889c))!important;background:#f7889c -webkit-linear-gradient(right,#a050d7 0,#f7889c 100%)!important;background:#f7889c -o-linear-gradient(right,#a050d7 0,#f7889c 100%)!important;background:#f7889c linear-gradient(-90deg,#a050d7 0,#f7889c 100%)!important}.bg-primary-pure{color:#fff;background-color:#a050d7}.bg-primary-pale{color:#a050d7;background-color:#ffebf8}.bg-secondary{background:#f7889c}.alert-info{color:#a050d7;background:#ffebf8}.btn-primary{color:#fff;background-color:#a050d7;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(160,80,215,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#953bd2;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#a050d7;border-color:transparent}.btn-secondary{color:#fff;background-color:#f7889c;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(247,136,156,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#f57088;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#f7889c;border-color:transparent}.btn-info{color:#a050d7;background-color:#ffebf8;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#a050d7;background-color:rgba(255,235,248,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#ffd1ef;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(160,80,215,.3);background-color:#ffebf8;border-color:transparent}.btn-icon-left>.icon{color:#f7889c;background:#ffebf8}.btn-active-line{color:#a050d7}.btn-active-line:after{border-bottom-color:#a050d7}.btn-active-line:hover{color:#a050d7}.btn-active-text .text{color:#c92d79}.btn-active-text .text:after{border-bottom-color:#c92d79}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(160,80,215,.8)}.label-primary{background:#a050d7!important}.label-pale{background:#ffb8e6!important}.label-outline.label-primary{background:#ffebf8!important;border-color:rgba(160,80,215,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#a050d7;border-color:#a050d7}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#a050d7;-webkit-box-shadow:0 0 0 3px rgba(160,80,215,.2);box-shadow:0 0 0 3px rgba(160,80,215,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#a050d7}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#a050d7!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#a050d7!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#a050d7!important}.nav-tabs>li.active>a:before{background:#a050d7}.nav-tabs-primary>li.active>a{color:#a050d7!important}.panel-actions .btn.text-primary{color:#a050d7}.picker-focus .picker-selections{border-color:#a050d7;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(160,80,215,.6)}.status-bars .bar{background:#a050d7}.status-bars-h .bar{background:#a050d7}.messagger-zt .messager-content>.icon{color:#a050d7}.tree li.active>a{color:#a050d7}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#a050d7}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#f7889c}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#ffebf8}.dropdown-submenu:hover>a:after{border-left-color:#a050d7}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#f7889c}.timeline>li>a:after,.timeline>li>div:after{background-color:#a050d7}.timeline>li.active:before{background-color:rgba(160,80,215,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#a050d7!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#a050d7!important}#mainHeader{background:#eb599f;border-top-color:#a050d7;border-bottom-color:#ffebf8}#searchGo{background-color:#f7889c}#searchGo:hover{background-color:#a050d7}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#a050d7}#subHeader.admin-tab-menu>.container>#subNavbar>ul>li.active>a:after{border-color:#a050d7}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#a050d7}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#a050d7}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #a050d7}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #a050d7}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #a050d7}#sidebarHeader .title{color:#a050d7}#sidebar>.sidebar-toggle>.icon{background:#fde8ec}#main .querybox-toggle.querybox-opened{color:#a050d7}#contentNav .nav>li.active>a{color:#a050d7}#contentNav .nav>li.active>a:before{background:#a050d7}td.c-actions .btn{color:#f7889c}td.c-actions .btn:hover{color:#a050d7;background-color:#ffd1ef}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#a050d7;background:#ffebf8}.main-table table .btn-icon-left:hover>.icon{background:#ffebf8}.main-table tbody>tr:hover{background:#ffebf8}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#a050d7}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#fff5fc}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#fff5fc}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#a01c5d}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#4f1a74}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#a050d7}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#a050d7}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#a050d7}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#ffebf8}.table-nest-toggle:hover{color:#a050d7}.table-footer .checkbox-primary.checked label:after{border-color:#a050d7!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#b77ae0!important;border-color:#b77ae0!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#a050d7}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#a050d7;border-color:#a050d7}.article-content a{color:#a050d7}.article-content a:focus,.article-content a:hover{color:#f7889c}.list-group{overflow-y:auto}.list-group>a.selected{color:#ffebf8;background-color:#a050d7}.list-group>a.active{color:#a050d7;background-color:#ffebf8}.list-group>a.active:hover,.list-group>a:hover{background-color:#a050d7}#swapper #dropMenu .tree li>.selected{color:#a050d7!important;background:#ffebf8!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#a050d7!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#a050d7!important;background:#ffebf8!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#a050d7!important}.release-line>li>a:hover:before{background-color:#ffebf8}.release-line>li>a:hover .title{color:#a050d7}.release-line>li.active>a:before{border-color:#a050d7}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#f7889c}#poweredBy .icon-zentao{color:#f7889c}#poweredBy a:hover{color:#a050d7}#poweredBy a:hover .icon-zentao{color:#a050d7}#poweredBy a.text-primary{color:#a050d7}#poweredBy a.text-primary:hover{color:#f7889c}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#a050d7!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#f7889c!important}.dynamic.active .dynamic-date:before{background-color:#f7889c!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#a050d7!important}.table td.has-child>.task-toggle:hover{color:#a050d7!important}#openTaskPage.open:hover,#task .task-nav{color:#a050d7!important;background:#ffebf8!important}#tasksProgress>.progress-bar{background:#a050d7!important}#tasksProgress .progress-text{color:#a050d7!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#a050d7!important;background:#ffebf8!important;border-left-color:#a050d7!important;-webkit-box-shadow:inset 4px 0 0 #a050d7!important;box-shadow:inset 4px 0 0 #a050d7!important}#copyProjectModal a:hover{border-color:#f7889c!important}#zeroTaskStory.checked{background:#ffebf8!important;border-color:#f7889c!important}.cols-list .col:hover{background:#ffebf8!important}.files-grid .actions,.files-grid .col:hover .file{background:#ffebf8!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#f7889c!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#f7889c!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#a050d7!important}#bars>li.active:after{background:#ffebf8!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#c92d79;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#a050d7}td.c-actions .btn{color:#a050d7}.main-table tbody>tr:hover{background:rgba(255,235,248,.8)}.main-table tbody>tr>td.c-name a{color:#a01c5d}.main-table tbody>tr>td.c-name a:hover{color:#c92d79}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#a050d7!important}.assigned-none{color:#c92d79!important}.assigned-current{color:#f38f19!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#c92d79!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#c92d79!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#eb599f}#assigntomeBlock .nav>li.active>a{color:#c92d79}.consumedTotally{color:#a050d7;background:#ffebf8}#toggleFoldIcon .icon-border{border:1px solid #fbdeec}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#a050d7}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#f7889c}.nav-steps>ul>li.active>a:focus{background-color:#a050d7}.nav-steps>ul>li.active+li:after{border-left-color:#f7889c}.nav-steps>ul>li.active:hover+li:after{border-left-color:#a050d7}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#a050d7}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #a050d7;box-shadow:0 0 1px 1px #a050d7}.border-primary-hover:hover{border:1px solid #a050d7}.menu-hover-primary>li>a:hover{color:#c92d79!important;background-color:#fbdeec!important}.menu-active-primary>li.active>a{color:#a050d7!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#fbdeec!important}#mainHeader{background:#f7889c -webkit-gradient(linear,right top,left top,from(#a050d7),to(#f7889c));background:#f7889c -webkit-linear-gradient(right,#a050d7 0,#f7889c 100%);background:#f7889c -o-linear-gradient(right,#a050d7 0,#f7889c 100%);background:#f7889c linear-gradient(-90deg,#a050d7 0,#f7889c 100%);background-color:#f7889c} \ No newline at end of file diff --git a/www/theme/purple/style.css b/www/theme/purple/style.css index 24960d7c84..bd97f5408e 100644 --- a/www/theme/purple/style.css +++ b/www/theme/purple/style.css @@ -1,6 +1,6 @@ /*! - * ZUI: Zentao Theme - purple - v1.10.0 - 2023-02-07 + * ZUI: Zentao Theme - purple - v1.10.0 - 2023-02-08 * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2023 cnezsoft.com; Licensed MIT - */a{color:#313c52}a:focus,a:hover{color:#3123ae}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#3123ae;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#271c8c;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#1f166e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#3123ae;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#271c8c;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#1f166e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#3123ae;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#3123ae;background-color:#f2eafc;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#3123ae;background-color:#dcc6f7;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#c9a7f2;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#f2eafc;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#3123ae;background-color:#dcc6f7;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#c9a7f2;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#f2eafc;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#3123ae}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#3123ae}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#251a84}.label-primary.label-outline{color:#3123ae;background:0 0;border:1px solid #3123ae}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#251a84}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ff8513}.label-warning.label-outline{color:#ff9f46;background:0 0;border:1px solid #ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff8513}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#6759de}.text-primary{color:#3123ae}.text-primary:hover{color:#251a84}.text-warning{color:#ff9f46}.text-warning:hover{color:#ff8513}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#3123ae}a.bg-primary:hover{background-color:#251a84}.hl-primary{background-color:#f2eafc}a.hl-primary:hover{background-color:#d6bdf6}.progress{background-color:#f2eafc;border-radius:3px}.progress-bar{color:#fff;background-color:#3123ae;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#3123ae;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)}.form-control:focus{border-color:#3123ae;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#3123ae;border-color:#3123ae}.switch input:focus+label{color:#3123ae}.switch input:focus+label:before{border-color:#3123ae;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #3123ae;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #3123ae}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#3123ae;border-color:#3123ae}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#3123ae;-webkit-box-shadow:0 0 8px #3123ae;box-shadow:0 0 8px #3123ae}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#3123ae}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#3123ae}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#9958dc}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#f2eafc}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#3123ae;border-color:#3123ae}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#9958dc;border-color:#7f2ed3}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#8c43d8}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#a871e1}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#b382e5}.navbar-inverse .navbar-toggle{border-color:#b382e5}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#8c43d8}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#873ad6}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#b382e5}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#7f2ed3}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#a871e1}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#b382e5}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #b382e5;-webkit-box-shadow:inset 0 -1px 0 #7f2ed3;box-shadow:inset 0 -1px 0 #7f2ed3}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#8436d5}.nav>li>a:focus,.nav>li>a:hover{color:#3123ae}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#3123ae}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#3123ae;border-color:#3123ae}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#3123ae;border-bottom-color:#3123ae}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #3123ae;box-shadow:inset 2px 0 0 #3123ae}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#3123ae;border-color:#3123ae}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#3123ae}.panel-primary>.panel-heading{color:#fff;background-color:#3123ae;border-color:#3123ae}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#3123ae}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#3123ae}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f2eafc}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#3123ae!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#3123ae!important;border-bottom-left-radius:#3123ae!important}.chosen-container .chosen-results li.highlighted{background-color:#3123ae!important}.chosen-container-active .chosen-single{border-color:#3123ae!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#3123ae!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#3123ae!important;border-bottom-left-radius:#3123ae!important}.chosen-container.chosen-highlight-selected .result-selected{color:#3123ae;background:#f2eafc}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#3123ae;border-color:#3123ae}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#3123ae}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#3123ae}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#3123ae}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9f46!important;border-color:#ff9f46!important}.datetimepicker td.day.active{background-color:#3123ae!important;border-color:#251a84!important}.datetimepicker td.day.active:hover{background-color:#251a84!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ff8513!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#3123ae!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)!important}.ke-menu-item-on{background-color:#3123ae!important}.ke-colorpicker-cell-on{background-color:#3123ae!important}.ke-input-text:focus{border-color:#3123ae!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#3123ae}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ff9f46}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#273042;background-color:#f2eafc}.alert-primary hr{border-top-color:#dfcbf8}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ff922c;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#ff7f09}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#3123ae;border-color:#3123ae}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#f2eafc}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#3123ae}.tree-drag-holder{background-color:#f2eafc}.tree-menu li.active>a{color:#fff;background-color:#3123ae;border-color:#3123ae}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#9958dc}a.text-primary{color:#3123ae}.nav-primary>li.active>a{color:#7055df}.nav-primary>li.active>a:hover{color:#7055df}.bg-primary,.m-user-login{background:#9958dc -webkit-gradient(linear,right top,left top,from(#3123ae),to(#9958dc))!important;background:#9958dc -webkit-linear-gradient(right,#3123ae 0,#9958dc 100%)!important;background:#9958dc -o-linear-gradient(right,#3123ae 0,#9958dc 100%)!important;background:#9958dc linear-gradient(-90deg,#3123ae 0,#9958dc 100%)!important}.bg-primary-pure{color:#fff;background-color:#3123ae}.bg-primary-pale{color:#3123ae;background-color:#f2eafc}.bg-secondary{background:#9958dc}.alert-info{color:#3123ae;background:#f2eafc}.btn-primary{color:#fff;background-color:#3123ae;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(49,35,174,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#2b1f99;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#3123ae;border-color:transparent}.btn-secondary{color:#fff;background-color:#9958dc;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(153,88,220,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#8c43d8;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#9958dc;border-color:transparent}.btn-info{color:#3123ae;background-color:#f2eafc;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#3123ae;background-color:rgba(242,234,252,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#e4d4f9;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(49,35,174,.3);background-color:#f2eafc;border-color:transparent}.btn-icon-left>.icon{color:#9958dc;background:#f2eafc}.btn-active-line{color:#3123ae}.btn-active-line:after{border-bottom-color:#3123ae}.btn-active-line:hover{color:#3123ae}.btn-active-text .text{color:#7055df}.btn-active-text .text:after{border-bottom-color:#7055df}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(49,35,174,.8)}.label-primary{background:#3123ae!important}.label-pale{background:#d6bdf6!important}.label-outline.label-primary{background:#f2eafc!important;border-color:rgba(49,35,174,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#3123ae;border-color:#3123ae}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#3123ae;-webkit-box-shadow:0 0 0 3px rgba(49,35,174,.2);box-shadow:0 0 0 3px rgba(49,35,174,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#3123ae}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#3123ae!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#3123ae!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#3123ae!important}.nav-tabs>li.active>a:before{background:#3123ae}.nav-tabs-primary>li.active>a{color:#3123ae!important}.panel-actions .btn.text-primary{color:#3123ae}.picker-focus .picker-selections{border-color:#3123ae;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)}.status-bars .bar{background:#3123ae}.status-bars-h .bar{background:#3123ae}.messagger-zt .messager-content>.icon{color:#3123ae}.tree li.active>a{color:#3123ae}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#3123ae}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#9958dc}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#f2eafc}.dropdown-submenu:hover>a:after{border-left-color:#3123ae}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#9958dc}.timeline>li>a:after,.timeline>li>div:after{background-color:#3123ae}.timeline>li.active:before{background-color:rgba(49,35,174,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#3123ae!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#3123ae!important}#mainHeader{background:#8a6ff5;border-top-color:#3123ae;border-bottom-color:#f2eafc}#searchGo{background-color:#9958dc}#searchGo:hover{background-color:#3123ae}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#3123ae}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#3123ae}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#3123ae}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #3123ae}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #3123ae}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #3123ae}#sidebarHeader .title{color:#3123ae}#sidebar>.sidebar-toggle>.icon{background:#cdacee}#main .querybox-toggle.querybox-opened{color:#3123ae}#contentNav .nav>li.active>a{color:#3123ae}#contentNav .nav>li.active>a:before{background:#3123ae}td.c-actions .btn{color:#9958dc}td.c-actions .btn:hover{color:#3123ae;background-color:#e4d4f9}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#3123ae;background:#f2eafc}.main-table table .btn-icon-left:hover>.icon{background:#f2eafc}.main-table tbody>tr:hover{background:#f2eafc}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#3123ae}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#f8f3fd}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f8f3fd}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#513baa}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#0d092f}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#3123ae}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#3123ae}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#3123ae}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#f2eafc}.table-nest-toggle:hover{color:#3123ae}.table-footer .checkbox-primary.checked label:after{border-color:#3123ae!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#402fd5!important;border-color:#402fd5!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#3123ae}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#3123ae;border-color:#3123ae}.article-content a{color:#3123ae}.article-content a:focus,.article-content a:hover{color:#9958dc}.list-group{overflow-y:auto}.list-group>a.selected{color:#f2eafc;background-color:#3123ae}.list-group>a.active{color:#3123ae;background-color:#f2eafc}.list-group>a.active:hover,.list-group>a:hover{background-color:#3123ae}#swapper #dropMenu .tree li>.selected{color:#3123ae!important;background:#f2eafc!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#3123ae!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#3123ae!important;background:#f2eafc!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#3123ae!important}.release-line>li>a:hover:before{background-color:#f2eafc}.release-line>li>a:hover .title{color:#3123ae}.release-line>li.active>a:before{border-color:#3123ae}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#9958dc}#poweredBy .icon-zentao{color:#9958dc}#poweredBy a:hover{color:#3123ae}#poweredBy a:hover .icon-zentao{color:#3123ae}#poweredBy a.text-primary{color:#3123ae}#poweredBy a.text-primary:hover{color:#9958dc}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#3123ae!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#9958dc!important}.dynamic.active .dynamic-date:before{background-color:#9958dc!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#3123ae!important}.table td.has-child>.task-toggle:hover{color:#3123ae!important}#openTaskPage.open:hover,#task .task-nav{color:#3123ae!important;background:#f2eafc!important}#tasksProgress>.progress-bar{background:#3123ae!important}#tasksProgress .progress-text{color:#3123ae!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#3123ae!important;background:#f2eafc!important;border-left-color:#3123ae!important;-webkit-box-shadow:inset 4px 0 0 #3123ae!important;box-shadow:inset 4px 0 0 #3123ae!important}#copyProjectModal a:hover{border-color:#9958dc!important}#zeroTaskStory.checked{background:#f2eafc!important;border-color:#9958dc!important}.cols-list .col:hover{background:#f2eafc!important}.files-grid .actions,.files-grid .col:hover .file{background:#f2eafc!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#9958dc!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#9958dc!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#3123ae!important}#bars>li.active:after{background:#f2eafc!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#7055df;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#3123ae}td.c-actions .btn{color:#3123ae}.main-table tbody>tr:hover{background:rgba(242,234,252,.8)}.main-table tbody>tr>td.c-name a{color:#513baa}.main-table tbody>tr>td.c-name a:hover{color:#7055df}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#3123ae!important}.assigned-none{color:#7055df!important}.assigned-current{color:#f38f19!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#7055df!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#7055df!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#8a6ff5}#assigntomeBlock .nav>li.active>a{color:#7055df}.consumedTotally{color:#3123ae;background:#f2eafc}#toggleFoldIcon .icon-border{border:1px solid #e4dff7}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#3123ae}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#9958dc}.nav-steps>ul>li.active>a:focus{background-color:#3123ae}.nav-steps>ul>li.active+li:after{border-left-color:#9958dc}.nav-steps>ul>li.active:hover+li:after{border-left-color:#3123ae}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#3123ae}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #3123ae;box-shadow:0 0 1px 1px #3123ae}.border-primary-hover:hover{border:1px solid #3123ae}.menu-hover-primary>li>a:hover{color:#7055df!important;background-color:#e4dff7!important}.menu-active-primary>li.active>a{color:#3123ae!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#e4dff7!important}#mainHeader{background:#9958dc -webkit-gradient(linear,right top,left top,from(#3123ae),to(#9958dc));background:#9958dc -webkit-linear-gradient(right,#3123ae 0,#9958dc 100%);background:#9958dc -o-linear-gradient(right,#3123ae 0,#9958dc 100%);background:#9958dc linear-gradient(-90deg,#3123ae 0,#9958dc 100%);background-color:#9958dc} \ No newline at end of file + */a{color:#313c52}a:focus,a:hover{color:#3123ae}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#3123ae;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#271c8c;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#1f166e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#3123ae;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#271c8c;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#1f166e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#3123ae;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#3123ae;background-color:#f2eafc;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#3123ae;background-color:#dcc6f7;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#c9a7f2;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#f2eafc;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#3123ae;background-color:#dcc6f7;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#c9a7f2;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#f2eafc;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#3123ae}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#3123ae}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#251a84}.label-primary.label-outline{color:#3123ae;background:0 0;border:1px solid #3123ae}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#251a84}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ff8513}.label-warning.label-outline{color:#ff9f46;background:0 0;border:1px solid #ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff8513}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#6759de}.text-primary{color:#3123ae}.text-primary:hover{color:#251a84}.text-warning{color:#ff9f46}.text-warning:hover{color:#ff8513}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#3123ae}a.bg-primary:hover{background-color:#251a84}.hl-primary{background-color:#f2eafc}a.hl-primary:hover{background-color:#d6bdf6}.progress{background-color:#f2eafc;border-radius:3px}.progress-bar{color:#fff;background-color:#3123ae;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#3123ae;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)}.form-control:focus{border-color:#3123ae;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#3123ae;border-color:#3123ae}.switch input:focus+label{color:#3123ae}.switch input:focus+label:before{border-color:#3123ae;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #3123ae;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #3123ae}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#3123ae;border-color:#3123ae}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#3123ae;-webkit-box-shadow:0 0 8px #3123ae;box-shadow:0 0 8px #3123ae}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#3123ae}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#3123ae}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#9958dc}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#f2eafc}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#3123ae;border-color:#3123ae}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#9958dc;border-color:#7f2ed3}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#8c43d8}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#a871e1}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#b382e5}.navbar-inverse .navbar-toggle{border-color:#b382e5}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#8c43d8}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#873ad6}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#b382e5}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#7f2ed3}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#a871e1}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#b382e5}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #b382e5;-webkit-box-shadow:inset 0 -1px 0 #7f2ed3;box-shadow:inset 0 -1px 0 #7f2ed3}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#8436d5}.nav>li>a:focus,.nav>li>a:hover{color:#3123ae}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#3123ae}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#3123ae;border-color:#3123ae}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#3123ae;border-bottom-color:#3123ae}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #3123ae;box-shadow:inset 2px 0 0 #3123ae}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#3123ae;border-color:#3123ae}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#3123ae}.panel-primary>.panel-heading{color:#fff;background-color:#3123ae;border-color:#3123ae}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#3123ae}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#3123ae}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f2eafc}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#3123ae!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#3123ae!important;border-bottom-left-radius:#3123ae!important}.chosen-container .chosen-results li.highlighted{background-color:#3123ae!important}.chosen-container-active .chosen-single{border-color:#3123ae!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#3123ae!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#3123ae!important;border-bottom-left-radius:#3123ae!important}.chosen-container.chosen-highlight-selected .result-selected{color:#3123ae;background:#f2eafc}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#3123ae;border-color:#3123ae}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#3123ae}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#3123ae}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#3123ae}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9f46!important;border-color:#ff9f46!important}.datetimepicker td.day.active{background-color:#3123ae!important;border-color:#251a84!important}.datetimepicker td.day.active:hover{background-color:#251a84!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ff8513!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#3123ae!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)!important}.ke-menu-item-on{background-color:#3123ae!important}.ke-colorpicker-cell-on{background-color:#3123ae!important}.ke-input-text:focus{border-color:#3123ae!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#3123ae}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ff9f46}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#273042;background-color:#f2eafc}.alert-primary hr{border-top-color:#dfcbf8}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ff922c;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#ff7f09}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#3123ae;border-color:#3123ae}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#f2eafc}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#3123ae}.tree-drag-holder{background-color:#f2eafc}.tree-menu li.active>a{color:#fff;background-color:#3123ae;border-color:#3123ae}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#9958dc}a.text-primary{color:#3123ae}.nav-primary>li.active>a{color:#7055df}.nav-primary>li.active>a:hover{color:#7055df}.bg-primary,.m-user-login{background:#9958dc -webkit-gradient(linear,right top,left top,from(#3123ae),to(#9958dc))!important;background:#9958dc -webkit-linear-gradient(right,#3123ae 0,#9958dc 100%)!important;background:#9958dc -o-linear-gradient(right,#3123ae 0,#9958dc 100%)!important;background:#9958dc linear-gradient(-90deg,#3123ae 0,#9958dc 100%)!important}.bg-primary-pure{color:#fff;background-color:#3123ae}.bg-primary-pale{color:#3123ae;background-color:#f2eafc}.bg-secondary{background:#9958dc}.alert-info{color:#3123ae;background:#f2eafc}.btn-primary{color:#fff;background-color:#3123ae;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(49,35,174,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#2b1f99;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#3123ae;border-color:transparent}.btn-secondary{color:#fff;background-color:#9958dc;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(153,88,220,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#8c43d8;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#9958dc;border-color:transparent}.btn-info{color:#3123ae;background-color:#f2eafc;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#3123ae;background-color:rgba(242,234,252,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#e4d4f9;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(49,35,174,.3);background-color:#f2eafc;border-color:transparent}.btn-icon-left>.icon{color:#9958dc;background:#f2eafc}.btn-active-line{color:#3123ae}.btn-active-line:after{border-bottom-color:#3123ae}.btn-active-line:hover{color:#3123ae}.btn-active-text .text{color:#7055df}.btn-active-text .text:after{border-bottom-color:#7055df}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(49,35,174,.8)}.label-primary{background:#3123ae!important}.label-pale{background:#d6bdf6!important}.label-outline.label-primary{background:#f2eafc!important;border-color:rgba(49,35,174,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#3123ae;border-color:#3123ae}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#3123ae;-webkit-box-shadow:0 0 0 3px rgba(49,35,174,.2);box-shadow:0 0 0 3px rgba(49,35,174,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#3123ae}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#3123ae!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#3123ae!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#3123ae!important}.nav-tabs>li.active>a:before{background:#3123ae}.nav-tabs-primary>li.active>a{color:#3123ae!important}.panel-actions .btn.text-primary{color:#3123ae}.picker-focus .picker-selections{border-color:#3123ae;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(49,35,174,.6)}.status-bars .bar{background:#3123ae}.status-bars-h .bar{background:#3123ae}.messagger-zt .messager-content>.icon{color:#3123ae}.tree li.active>a{color:#3123ae}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#3123ae}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#9958dc}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#f2eafc}.dropdown-submenu:hover>a:after{border-left-color:#3123ae}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#9958dc}.timeline>li>a:after,.timeline>li>div:after{background-color:#3123ae}.timeline>li.active:before{background-color:rgba(49,35,174,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#3123ae!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#3123ae!important}#mainHeader{background:#8a6ff5;border-top-color:#3123ae;border-bottom-color:#f2eafc}#searchGo{background-color:#9958dc}#searchGo:hover{background-color:#3123ae}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#3123ae}#subHeader.admin-tab-menu>.container>#subNavbar>ul>li.active>a:after{border-color:#3123ae}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#3123ae}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#3123ae}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #3123ae}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #3123ae}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #3123ae}#sidebarHeader .title{color:#3123ae}#sidebar>.sidebar-toggle>.icon{background:#cdacee}#main .querybox-toggle.querybox-opened{color:#3123ae}#contentNav .nav>li.active>a{color:#3123ae}#contentNav .nav>li.active>a:before{background:#3123ae}td.c-actions .btn{color:#9958dc}td.c-actions .btn:hover{color:#3123ae;background-color:#e4d4f9}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#3123ae;background:#f2eafc}.main-table table .btn-icon-left:hover>.icon{background:#f2eafc}.main-table tbody>tr:hover{background:#f2eafc}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#3123ae}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#f8f3fd}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f8f3fd}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#513baa}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#0d092f}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#3123ae}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#3123ae}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#3123ae}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#f2eafc}.table-nest-toggle:hover{color:#3123ae}.table-footer .checkbox-primary.checked label:after{border-color:#3123ae!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#402fd5!important;border-color:#402fd5!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#3123ae}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#3123ae;border-color:#3123ae}.article-content a{color:#3123ae}.article-content a:focus,.article-content a:hover{color:#9958dc}.list-group{overflow-y:auto}.list-group>a.selected{color:#f2eafc;background-color:#3123ae}.list-group>a.active{color:#3123ae;background-color:#f2eafc}.list-group>a.active:hover,.list-group>a:hover{background-color:#3123ae}#swapper #dropMenu .tree li>.selected{color:#3123ae!important;background:#f2eafc!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#3123ae!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#3123ae!important;background:#f2eafc!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#3123ae!important}.release-line>li>a:hover:before{background-color:#f2eafc}.release-line>li>a:hover .title{color:#3123ae}.release-line>li.active>a:before{border-color:#3123ae}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#9958dc}#poweredBy .icon-zentao{color:#9958dc}#poweredBy a:hover{color:#3123ae}#poweredBy a:hover .icon-zentao{color:#3123ae}#poweredBy a.text-primary{color:#3123ae}#poweredBy a.text-primary:hover{color:#9958dc}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#3123ae!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#9958dc!important}.dynamic.active .dynamic-date:before{background-color:#9958dc!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#3123ae!important}.table td.has-child>.task-toggle:hover{color:#3123ae!important}#openTaskPage.open:hover,#task .task-nav{color:#3123ae!important;background:#f2eafc!important}#tasksProgress>.progress-bar{background:#3123ae!important}#tasksProgress .progress-text{color:#3123ae!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#3123ae!important;background:#f2eafc!important;border-left-color:#3123ae!important;-webkit-box-shadow:inset 4px 0 0 #3123ae!important;box-shadow:inset 4px 0 0 #3123ae!important}#copyProjectModal a:hover{border-color:#9958dc!important}#zeroTaskStory.checked{background:#f2eafc!important;border-color:#9958dc!important}.cols-list .col:hover{background:#f2eafc!important}.files-grid .actions,.files-grid .col:hover .file{background:#f2eafc!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#9958dc!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#9958dc!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#3123ae!important}#bars>li.active:after{background:#f2eafc!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#7055df;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#3123ae}td.c-actions .btn{color:#3123ae}.main-table tbody>tr:hover{background:rgba(242,234,252,.8)}.main-table tbody>tr>td.c-name a{color:#513baa}.main-table tbody>tr>td.c-name a:hover{color:#7055df}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#3123ae!important}.assigned-none{color:#7055df!important}.assigned-current{color:#f38f19!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#7055df!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#7055df!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#8a6ff5}#assigntomeBlock .nav>li.active>a{color:#7055df}.consumedTotally{color:#3123ae;background:#f2eafc}#toggleFoldIcon .icon-border{border:1px solid #e4dff7}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#3123ae}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#9958dc}.nav-steps>ul>li.active>a:focus{background-color:#3123ae}.nav-steps>ul>li.active+li:after{border-left-color:#9958dc}.nav-steps>ul>li.active:hover+li:after{border-left-color:#3123ae}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#3123ae}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #3123ae;box-shadow:0 0 1px 1px #3123ae}.border-primary-hover:hover{border:1px solid #3123ae}.menu-hover-primary>li>a:hover{color:#7055df!important;background-color:#e4dff7!important}.menu-active-primary>li.active>a{color:#3123ae!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#e4dff7!important}#mainHeader{background:#9958dc -webkit-gradient(linear,right top,left top,from(#3123ae),to(#9958dc));background:#9958dc -webkit-linear-gradient(right,#3123ae 0,#9958dc 100%);background:#9958dc -o-linear-gradient(right,#3123ae 0,#9958dc 100%);background:#9958dc linear-gradient(-90deg,#3123ae 0,#9958dc 100%);background-color:#9958dc} \ No newline at end of file diff --git a/www/theme/red/style.css b/www/theme/red/style.css index ab3980016d..deb5d2ee2a 100644 --- a/www/theme/red/style.css +++ b/www/theme/red/style.css @@ -1,6 +1,6 @@ /*! - * ZUI: Zentao Theme - red - v1.10.0 - 2023-02-07 + * ZUI: Zentao Theme - red - v1.10.0 - 2023-02-08 * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2023 cnezsoft.com; Licensed MIT - */a{color:#313c52}a:focus,a:hover{color:#e62340}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#e62340;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#c91731;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#a9132a;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#e62340;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#c91731;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#a9132a;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#e62340;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#e62340;background-color:#fceaea;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#e62340;background-color:#f7c6c6;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#f2a7a7;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#fceaea;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#e62340;background-color:#f7c6c6;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#f2a7a7;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#fceaea;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#e62340}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#e62340}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#c0162f}.label-primary.label-outline{color:#e62340;background:0 0;border:1px solid #e62340}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#c0162f}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ff8513}.label-warning.label-outline{color:#ff9f46;background:0 0;border:1px solid #ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff8513}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#f07f90}.text-primary{color:#e62340}.text-primary:hover{color:#c0162f}.text-warning{color:#ff9f46}.text-warning:hover{color:#ff8513}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#e62340}a.bg-primary:hover{background-color:#c0162f}.hl-primary{background-color:#fceaea}a.hl-primary:hover{background-color:#f6bdbd}.progress{background-color:#fceaea;border-radius:3px}.progress-bar{color:#fff;background-color:#e62340;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#e62340;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)}.form-control:focus{border-color:#e62340;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#e62340;border-color:#e62340}.switch input:focus+label{color:#e62340}.switch input:focus+label:before{border-color:#e62340;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #e62340;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #e62340}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#e62340;border-color:#e62340}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#e62340;-webkit-box-shadow:0 0 8px #e62340;box-shadow:0 0 8px #e62340}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#e62340}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#e62340}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#f5515f}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#fceaea}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#e62340;border-color:#e62340}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#f5515f;border-color:#f22133}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#f43949}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#f76e7a}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#f8818b}.navbar-inverse .navbar-toggle{border-color:#f8818b}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#f43949}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#f32f40}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#f8818b}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#f22133}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#f76e7a}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#f8818b}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #f8818b;-webkit-box-shadow:inset 0 -1px 0 #f22133;box-shadow:inset 0 -1px 0 #f22133}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#f32a3c}.nav>li>a:focus,.nav>li>a:hover{color:#e62340}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#e62340}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#e62340;border-color:#e62340}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#e62340;border-bottom-color:#e62340}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #e62340;box-shadow:inset 2px 0 0 #e62340}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#e62340;border-color:#e62340}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#e62340}.panel-primary>.panel-heading{color:#fff;background-color:#e62340;border-color:#e62340}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#e62340}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#e62340}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#fceaea}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#e62340!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#e62340!important;border-bottom-left-radius:#e62340!important}.chosen-container .chosen-results li.highlighted{background-color:#e62340!important}.chosen-container-active .chosen-single{border-color:#e62340!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#e62340!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#e62340!important;border-bottom-left-radius:#e62340!important}.chosen-container.chosen-highlight-selected .result-selected{color:#e62340;background:#fceaea}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#e62340;border-color:#e62340}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e62340}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#e62340}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#e62340}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9f46!important;border-color:#ff9f46!important}.datetimepicker td.day.active{background-color:#e62340!important;border-color:#c0162f!important}.datetimepicker td.day.active:hover{background-color:#c0162f!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ff8513!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#e62340!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)!important}.ke-menu-item-on{background-color:#e62340!important}.ke-colorpicker-cell-on{background-color:#e62340!important}.ke-input-text:focus{border-color:#e62340!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#e62340}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ff9f46}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#273042;background-color:#fceaea}.alert-primary hr{border-top-color:#f8cbcb}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ff922c;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#ff7f09}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#e62340;border-color:#e62340}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#fceaea}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#e62340}.tree-drag-holder{background-color:#fceaea}.tree-menu li.active>a{color:#fff;background-color:#e62340;border-color:#e62340}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#f5515f}a.text-primary{color:#e62340}.nav-primary>li.active>a{color:#fb2b2b}.nav-primary>li.active>a:hover{color:#fb2b2b}.bg-primary,.m-user-login{background:#f5515f -webkit-gradient(linear,right top,left top,from(#e62340),to(#f5515f))!important;background:#f5515f -webkit-linear-gradient(right,#e62340 0,#f5515f 100%)!important;background:#f5515f -o-linear-gradient(right,#e62340 0,#f5515f 100%)!important;background:#f5515f linear-gradient(-90deg,#e62340 0,#f5515f 100%)!important}.bg-primary-pure{color:#fff;background-color:#e62340}.bg-primary-pale{color:#e62340;background-color:#fceaea}.bg-secondary{background:#f5515f}.alert-info{color:#e62340;background:#fceaea}.btn-primary{color:#fff;background-color:#e62340;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(230,35,64,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#d71835;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#e62340;border-color:transparent}.btn-secondary{color:#fff;background-color:#f5515f;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(245,81,95,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#f43949;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#f5515f;border-color:transparent}.btn-info{color:#e62340;background-color:#fceaea;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#e62340;background-color:rgba(252,234,234,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#f9d4d4;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(230,35,64,.3);background-color:#fceaea;border-color:transparent}.btn-icon-left>.icon{color:#f5515f;background:#fceaea}.btn-active-line{color:#e62340}.btn-active-line:after{border-bottom-color:#e62340}.btn-active-line:hover{color:#e62340}.btn-active-text .text{color:#fb2b2b}.btn-active-text .text:after{border-bottom-color:#fb2b2b}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(230,35,64,.8)}.label-primary{background:#e62340!important}.label-pale{background:#f6bdbd!important}.label-outline.label-primary{background:#fceaea!important;border-color:rgba(230,35,64,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#e62340;border-color:#e62340}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#e62340;-webkit-box-shadow:0 0 0 3px rgba(230,35,64,.2);box-shadow:0 0 0 3px rgba(230,35,64,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#e62340}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#e62340!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#e62340!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#e62340!important}.nav-tabs>li.active>a:before{background:#e62340}.nav-tabs-primary>li.active>a{color:#e62340!important}.panel-actions .btn.text-primary{color:#e62340}.picker-focus .picker-selections{border-color:#e62340;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)}.status-bars .bar{background:#e62340}.status-bars-h .bar{background:#e62340}.messagger-zt .messager-content>.icon{color:#e62340}.tree li.active>a{color:#e62340}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#e62340}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#f5515f}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#fceaea}.dropdown-submenu:hover>a:after{border-left-color:#e62340}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#f5515f}.timeline>li>a:after,.timeline>li>div:after{background-color:#e62340}.timeline>li.active:before{background-color:rgba(230,35,64,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#e62340!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#e62340!important}#mainHeader{background:#ff7c7c;border-top-color:#e62340;border-bottom-color:#fceaea}#searchGo{background-color:#f5515f}#searchGo:hover{background-color:#e62340}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#e62340}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#e62340}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#e62340}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #e62340}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #e62340}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #e62340}#sidebarHeader .title{color:#e62340}#sidebar>.sidebar-toggle>.icon{background:#fbb1b8}#main .querybox-toggle.querybox-opened{color:#e62340}#contentNav .nav>li.active>a{color:#e62340}#contentNav .nav>li.active>a:before{background:#e62340}td.c-actions .btn{color:#f5515f}td.c-actions .btn:hover{color:#e62340;background-color:#f9d4d4}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#e62340;background:#fceaea}.main-table table .btn-icon-left:hover>.icon{background:#fceaea}.main-table tbody>tr:hover{background:#fceaea}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#e62340}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#fdf3f3}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#fdf3f3}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#d91b1b}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#650b19}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#e62340}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#e62340}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#e62340}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#fceaea}.table-nest-toggle:hover{color:#e62340}.table-footer .checkbox-primary.checked label:after{border-color:#e62340!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#eb5168!important;border-color:#eb5168!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#e62340}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#e62340;border-color:#e62340}.article-content a{color:#e62340}.article-content a:focus,.article-content a:hover{color:#f5515f}.list-group{overflow-y:auto}.list-group>a.selected{color:#fceaea;background-color:#e62340}.list-group>a.active{color:#e62340;background-color:#fceaea}.list-group>a.active:hover,.list-group>a:hover{background-color:#e62340}#swapper #dropMenu .tree li>.selected{color:#e62340!important;background:#fceaea!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#e62340!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#e62340!important;background:#fceaea!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#e62340!important}.release-line>li>a:hover:before{background-color:#fceaea}.release-line>li>a:hover .title{color:#e62340}.release-line>li.active>a:before{border-color:#e62340}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#f5515f}#poweredBy .icon-zentao{color:#f5515f}#poweredBy a:hover{color:#e62340}#poweredBy a:hover .icon-zentao{color:#e62340}#poweredBy a.text-primary{color:#e62340}#poweredBy a.text-primary:hover{color:#f5515f}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#e62340!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#f5515f!important}.dynamic.active .dynamic-date:before{background-color:#f5515f!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#e62340!important}.table td.has-child>.task-toggle:hover{color:#e62340!important}#openTaskPage.open:hover,#task .task-nav{color:#e62340!important;background:#fceaea!important}#tasksProgress>.progress-bar{background:#e62340!important}#tasksProgress .progress-text{color:#e62340!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#e62340!important;background:#fceaea!important;border-left-color:#e62340!important;-webkit-box-shadow:inset 4px 0 0 #e62340!important;box-shadow:inset 4px 0 0 #e62340!important}#copyProjectModal a:hover{border-color:#f5515f!important}#zeroTaskStory.checked{background:#fceaea!important;border-color:#f5515f!important}.cols-list .col:hover{background:#fceaea!important}.files-grid .actions,.files-grid .col:hover .file{background:#fceaea!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#f5515f!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#f5515f!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#e62340!important}#bars>li.active:after{background:#fceaea!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#fb2b2b;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#e62340}td.c-actions .btn{color:#e62340}.main-table tbody>tr:hover{background:rgba(252,234,234,.8)}.main-table tbody>tr>td.c-name a{color:#d91b1b}.main-table tbody>tr>td.c-name a:hover{color:#fb2b2b}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#e62340!important}.assigned-none{color:#fb2b2b!important}.assigned-current{color:#f38f19!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#fb2b2b!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#fb2b2b!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#ff7c7c}#assigntomeBlock .nav>li.active>a{color:#fb2b2b}.consumedTotally{color:#e62340;background:#fceaea}#toggleFoldIcon .icon-border{border:1px solid #ffd5d5}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#e62340}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#f5515f}.nav-steps>ul>li.active>a:focus{background-color:#e62340}.nav-steps>ul>li.active+li:after{border-left-color:#f5515f}.nav-steps>ul>li.active:hover+li:after{border-left-color:#e62340}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#e62340}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #e62340;box-shadow:0 0 1px 1px #e62340}.border-primary-hover:hover{border:1px solid #e62340}.menu-hover-primary>li>a:hover{color:#fb2b2b!important;background-color:#ffd5d5!important}.menu-active-primary>li.active>a{color:#e62340!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#ffd5d5!important}#mainHeader{background:#f5515f -webkit-gradient(linear,right top,left top,from(#e62340),to(#f5515f));background:#f5515f -webkit-linear-gradient(right,#e62340 0,#f5515f 100%);background:#f5515f -o-linear-gradient(right,#e62340 0,#f5515f 100%);background:#f5515f linear-gradient(-90deg,#e62340 0,#f5515f 100%);background-color:#f5515f} \ No newline at end of file + */a{color:#313c52}a:focus,a:hover{color:#e62340}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde;border-radius:4px}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn.active,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:#ebebeb;border-color:#b7bcc2;-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#d9d9d9;background-image:none;border-color:#bcc2c7;-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{background-color:#fff;border-color:#d8dbde}.btn-primary{color:#fff;background-color:#e62340;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#c91731;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#a9132a;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#e62340;border-color:transparent}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#c91731;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#a9132a;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#e62340;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ff8a1d;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#f87800;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#fb3131;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fb0e0e;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:#1ca675;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#17885f;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#22c98d;border-color:transparent}.btn-info{color:#e62340;background-color:#fceaea;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#e62340;background-color:#f7c6c6;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#f2a7a7;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#fceaea;border-color:transparent}.btn-info.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#e62340;background-color:#f7c6c6;border-color:rgba(0,0,0,0);-webkit-box-shadow:0 2px 1px rgba(0,0,0,.1);box-shadow:0 2px 1px rgba(0,0,0,.1)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#f2a7a7;background-image:none;border-color:rgba(0,0,0,0);-webkit-box-shadow:inset 0 4px 6px rgba(0,0,0,.15);box-shadow:inset 0 4px 6px rgba(0,0,0,.15)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#fceaea;border-color:transparent}.btn-link{color:#313c52;background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#e62340}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4}.popover,.tooltip-inner{border-radius:4px}.label{border-radius:3px}.label-badge{border-radius:9px}.label-dot{border-radius:5px}.label-primary{background-color:#e62340}.label-primary[href]:focus,.label-primary[href]:hover{color:#fff;background-color:#c0162f}.label-primary.label-outline{color:#e62340;background:0 0;border:1px solid #e62340}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#c0162f}.label-success{background-color:#22c98d}.label-success[href]:focus,.label-success[href]:hover{color:#fff;background-color:#1b9d6e}.label-success.label-outline{color:#22c98d;background:0 0;border:1px solid #22c98d}.label-success[href]:focus,.label-success[href]:hover{background-color:#1b9d6e}.label-info{background-color:#37b2fe}.label-info[href]:focus,.label-info[href]:hover{color:#fff;background-color:#049efe}.label-info.label-outline{color:#37b2fe;background:0 0;border:1px solid #37b2fe}.label-info[href]:focus,.label-info[href]:hover{background-color:#049efe}.label-warning{background-color:#ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{color:#fff;background-color:#ff8513}.label-warning.label-outline{color:#ff9f46;background:0 0;border:1px solid #ff9f46}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff8513}.label-danger{background-color:#fc5959}.label-danger[href]:focus,.label-danger[href]:hover{color:#fff;background-color:#fb2727}.label-danger.label-outline{color:#fc5959;background:0 0;border:1px solid #fc5959}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#fb2727}.btn-primary .label-badge,.btn-primary .label-dot{background-color:#f07f90}.text-primary{color:#e62340}.text-primary:hover{color:#c0162f}.text-warning{color:#ff9f46}.text-warning:hover{color:#ff8513}.text-danger{color:#fc5959}.text-danger:hover{color:#fb2727}.text-success{color:#22c98d}.text-success:hover{color:#1b9d6e}.text-info{color:#37b2fe}.text-info:hover{color:#049efe}.text-important{color:#ff6f42}.text-important:hover{color:#ff480f}.text-special{color:#8166ee}.text-special:hover{color:#5b38e9}.text-muted a:active,.text-muted a:hover{color:#313c52}.text-link:active,.text-link:hover{color:#313c52}.bg-primary{background-color:#e62340}a.bg-primary:hover{background-color:#c0162f}.hl-primary{background-color:#fceaea}a.hl-primary:hover{background-color:#f6bdbd}.progress{background-color:#fceaea;border-radius:3px}.progress-bar{color:#fff;background-color:#e62340;border-radius:3px}.form-control{border-radius:2px}.form-control.focus,.form-control:focus{border-color:#e62340;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)}.form-control:focus{border-color:#e62340;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)}.form-condensed .btn,.form-condensed .form-control{border-radius:4px}.switch>input:checked+label:before{background-color:#e62340;border-color:#e62340}.switch input:focus+label{color:#e62340}.switch input:focus+label:before{border-color:#e62340;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #e62340;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #e62340}.checkbox-primary>label:after,.radio-primary>label:after{background:#fff;border-color:#838a9d}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#e62340;border-color:#e62340}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#e62340;-webkit-box-shadow:0 0 8px #e62340;box-shadow:0 0 8px #e62340}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5;border-color:#bbb}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#fff;border-color:#e62340}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#e62340}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#fff;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.form-control:focus+.input-control-label-left{color:#f5515f}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.input-group-addon{background-color:#eee}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{border-radius:4px}.input-group-btn.fix-border>.btn{border-radius:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.list-group-item{background-color:#fff;border:1px solid #c4c4c4}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#313c52;text-decoration:none;background-color:#fceaea}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{color:#fff;background-color:#e62340;border-color:#e62340}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e6e6e6}.list-group-item-heading{color:#313c52}.navbar-toggle{border-radius:4px}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-inverse{background-color:#f5515f;border-color:#f22133}.navbar-inverse .navbar-nav>li.nav-heading{background-color:#f43949}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#f76e7a}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#f8818b}.navbar-inverse .navbar-toggle{border-color:#f8818b}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#f43949}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#f32f40}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#f8818b}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#f22133}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#f76e7a}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#f8818b}}.navbar-fixed-left.navbar-inverse .navbar-header,.navbar-fixed-left.navbar-inverse .navbar-nav{border-bottom:1px solid #f8818b;-webkit-box-shadow:inset 0 -1px 0 #f22133;box-shadow:inset 0 -1px 0 #f22133}.navbar-fixed-left.navbar-inverse.navbar-collapsed .navbar-nav>li.nav-heading:hover{color:#d1d1d1;background-color:#f32a3c}.nav>li>a:focus,.nav>li>a:hover{color:#e62340}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#313c52}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#e62340}.nav-primary>li:first-child>a{border-top-left-radius:4px;border-bottom-left-radius:4px}.nav-primary>li:last-child>a{border-top-right-radius:4px;border-bottom-right-radius:4px}.nav-primary>li>a{border:1px solid #c4c4c4}.nav-primary>li.active>a,.nav-primary>li.active>a:focus,.nav-primary>li.active>a:hover{color:#fff;background-color:#e62340;border-color:#e62340}.nav-secondary>li.active>a,.nav-secondary>li.active>a:focus,.nav-secondary>li.active>a:hover{color:#e62340;border-bottom-color:#e62340}.nav-stacked.nav-primary>li,.nav-stacked.nav-primary>li>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.nav-stacked.nav-primary>li:first-child.nav-heading,.nav-stacked.nav-primary>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.nav-stacked.nav-primary>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.nav-stacked.nav-primary>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.nav-stacked.nav-secondary>li>a{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-box-shadow:inset 2px 0 0 #f5f5f5;box-shadow:inset 2px 0 0 #f5f5f5}.nav-stacked.nav-secondary>li>a:hover{-webkit-box-shadow:inset 2px 0 0 #eee;box-shadow:inset 2px 0 0 #eee}.nav-stacked.nav-secondary>li.active>a,.nav-stacked.nav-secondary>li.active>a:focus,.nav-stacked.nav-secondary>li.active>a:hover{background-color:#f5f5f5;-webkit-box-shadow:inset 2px 0 0 #e62340;box-shadow:inset 2px 0 0 #e62340}.nav-stacked.nav-secondary>li.nav-heading{border-bottom:1px solid #c4c4c4}.nav-tabs>li>a{border-radius:4px 4px 0 0}.pager{border-radius:4px}.pager>li>a,.pager>li>span{background-color:#fff;border:1px solid #c4c4c4}.pager>li:first-child>a,.pager>li:first-child>span{border-top-left-radius:4px;border-bottom-left-radius:4px}.pager>li:last-child>a,.pager>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pager>li>a:focus,.pager>li>a:hover,.pager>li>span:focus,.pager>li>span:hover{background-color:#eee}.pager>li.active>a,.pager>li.active>a:hover,.pager>li.active>span,.pager>li.active>span:hover{color:#fff;background-color:#e62340;border-color:#e62340}.pager>li.disabled>a,.pager>li.disabled>a:focus,.pager>li.disabled>a:hover,.pager>li.disabled>span,.pager>li.disabled>span:focus,.pager>li.disabled>span:hover{color:#c4c4c4;background-color:#fff;border-color:#c4c4c4}.panel{border-radius:4px}.panel>.panel-heading{background-image:none;border-top-left-radius:4px;border-top-right-radius:4px}.panel-group .panel{border-radius:4px}.dashboard .panel{-webkit-box-shadow:none;box-shadow:none}.panel-primary{border-color:#e62340}.panel-primary>.panel-heading{color:#fff;background-color:#e62340;border-color:#e62340}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#e62340}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#e62340}.panel-danger>.panel-body,.panel-info>.panel-body,.panel-primary>.panel-body,.panel-success>.panel-body,.panel-warning>.panel-body{-webkit-box-shadow:none;box-shadow:none}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#fceaea}.table tr.active>td,.table tr.active>th,.table tr>td.active,.table tr>th.active{background-color:#ffe7d0}table.tablesorter thead tr .headerSortDown:after,table.tablesorter thead tr .headerSortUp:after{color:#313c52!important}.chosen-container-single .chosen-search input[type=text]:focus,.chosen-container-single .chosen-search:focus{border-color:#e62340!important}.chosen-container-single .chosen-single{border-radius:2px!important}.chosen-container-single.chosen-with-drop .chosen-single{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-single.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#e62340!important;border-bottom-left-radius:#e62340!important}.chosen-container .chosen-results li.highlighted{background-color:#e62340!important}.chosen-container-active .chosen-single{border-color:#e62340!important}.chosen-container-active.chosen-with-drop .chosen-single{border-color:#b2b2b2!important;border-color:rgba(0,0,0,.15)!important}.chosen-container-active .chosen-choices{border-color:#e62340!important}.chosen-container-multi .chosen-choices{border-radius:2px!important}.chosen-container-multi.chosen-with-drop .chosen-choices{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.chosen-container-multi.chosen-with-drop.chosen-up .chosen-choices{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:#e62340!important;border-bottom-left-radius:#e62340!important}.chosen-container.chosen-highlight-selected .result-selected{color:#e62340;background:#fceaea}.menu>.nav>li>.nav{background-color:#f6f6f6}.menu>.nav>li>.nav>li>a{border:1px solid #c4c4c4}.menu>.nav>li>.nav>li>a:focus,.menu>.nav>li>.nav>li>a:hover{background-color:#e4e4e4}.menu>.nav>li>.nav>li.active>a,.menu>.nav>li>.nav>li.active>a:focus,.menu>.nav>li>.nav>li.active>a:hover{color:#fff;background-color:#e62340;border-color:#e62340}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li:last-child>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li:first-child.nav-heading,.menu>.nav>li:first-child>a{border-top-left-radius:4px;border-top-right-radius:4px}.menu>.nav>li.show>a,.menu>.nav>li.show>a:focus,.menu>.nav>li.show>a:hover{color:#313c52;background-color:#fff;border-color:#c4c4c4}.menu>.nav>li.show>a:focus>[class*=icon-],.menu>.nav>li.show>a:hover>[class*=icon-],.menu>.nav>li.show>a>[class*=icon-]{color:#313c52}.menu>.nav>li.show>a:hover{background-color:#f1f1f1}.menu>.nav>li.show:last-child>a{border-bottom-right-radius:0;border-bottom-left-radius:0}.menu>.nav>li.show:last-child>.nav>li:last-child>a{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.menu>.nav>li.nav-heading{background-color:#f1f1f1;border:1px solid #c4c4c4}.dropdown-menu{border-radius:4px}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e62340}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#e62340}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{background-color:#e62340}.dropdown-submenu:hover>a:after{border-left-color:#fff}.datetimepicker td.day.today{background-color:#ff9f46!important;border-color:#ff9f46!important}.datetimepicker td.day.active{background-color:#e62340!important;border-color:#c0162f!important}.datetimepicker td.day.active:hover{background-color:#c0162f!important}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#ff8513!important}.ke-container{border-radius:4px!important}.ke-container.focus{border-color:#e62340!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)!important}.ke-menu-item-on{background-color:#e62340!important}.ke-colorpicker-cell-on{background-color:#e62340!important}.ke-input-text:focus{border-color:#e62340!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)!important}.messager{border-radius:4px}.messager-primary{background-color:#e62340}.messager-success{background-color:#22c98d}.messager-info{background-color:#37b2fe}.messager-warning{background-color:#ff9f46}.messager-danger{background-color:#fc5959}.messager-important{background-color:#ff6f42}.messager-special{background-color:#8166ee}.comment:hover>.content>.actions>a{color:#313c52}.alert:not(.alert-block){border-radius:3px}.alert-primary{color:#273042;background-color:#fceaea}.alert-primary hr{border-top-color:#f8cbcb}.alert-primary .alert-link{color:#1a202c}.alert-success{color:#1eb37e;background-color:#ecfff8}.alert-success hr{border-top-color:#b9ffda}.alert-success .alert-link{color:#199568}.alert-info{color:#1ea8fe;background-color:#e7f6ff}.alert-info hr{border-top-color:#9beaff}.alert-info .alert-link{color:#0199f7}.alert-warning{color:#ff922c;background-color:#fff4ea}.alert-warning hr{border-top-color:#ffdfd0}.alert-warning .alert-link{color:#ff7f09}.alert-danger{color:#fc4040;background-color:#ffebeb}.alert-danger hr{border-top-color:#ffd1d9}.alert-danger .alert-link{color:#fb1d1d}.alert-primary-inverse{color:#fff;background-color:#e62340;border-color:#e62340}.alert-primary-inverse hr{border-top-color:#c4c4c4;border-top-color:rgba(196,196,196,.25)}.alert-primary-inverse .alert-link{color:rgba(255,255,255,.8)}.modal-dialog{border-radius:6px}.card{border-radius:4px;-webkit-box-shadow:none;box-shadow:none}pre{border-radius:4px}.datagrid .datagrid-hover-col .datagrid-cell.hover,.datagrid .datagrid-hover-col .datagrid-row-cell.active .datagrid-cell.hover,.datagrid .datagrid-hover-row .datagrid-row-cell:hover .datagrid-cell{background-color:#fceaea}.datagrid .datagrid-loading>.content>.icon,.datagrid .datagrid-sort-down>.icon-sort:before,.datagrid .datagrid-sort-up>.icon-sort:before{color:#e62340}.tree-drag-holder{background-color:#fceaea}.tree-menu li.active>a{color:#fff;background-color:#e62340;border-color:#e62340}.tree-menu li.active>.list-toggle{color:#fff}.text-secondary{color:#f5515f}a.text-primary{color:#e62340}.nav-primary>li.active>a{color:#fb2b2b}.nav-primary>li.active>a:hover{color:#fb2b2b}.bg-primary,.m-user-login{background:#f5515f -webkit-gradient(linear,right top,left top,from(#e62340),to(#f5515f))!important;background:#f5515f -webkit-linear-gradient(right,#e62340 0,#f5515f 100%)!important;background:#f5515f -o-linear-gradient(right,#e62340 0,#f5515f 100%)!important;background:#f5515f linear-gradient(-90deg,#e62340 0,#f5515f 100%)!important}.bg-primary-pure{color:#fff;background-color:#e62340}.bg-primary-pale{color:#e62340;background-color:#fceaea}.bg-secondary{background:#f5515f}.alert-info{color:#e62340;background:#fceaea}.btn-primary{color:#fff;background-color:#e62340;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(230,35,64,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#d71835;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#e62340;border-color:transparent}.btn-secondary{color:#fff;background-color:#f5515f;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(245,81,95,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#f43949;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#f5515f;border-color:transparent}.btn-info{color:#e62340;background-color:#fceaea;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#e62340;background-color:rgba(252,234,234,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#f9d4d4;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(230,35,64,.3);background-color:#fceaea;border-color:transparent}.btn-icon-left>.icon{color:#f5515f;background:#fceaea}.btn-active-line{color:#e62340}.btn-active-line:after{border-bottom-color:#e62340}.btn-active-line:hover{color:#e62340}.btn-active-text .text{color:#fb2b2b}.btn-active-text .text:after{border-bottom-color:#fb2b2b}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(230,35,64,.8)}.label-primary{background:#e62340!important}.label-pale{background:#f6bdbd!important}.label-outline.label-primary{background:#fceaea!important;border-color:rgba(230,35,64,.25)!important}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#e62340;border-color:#e62340}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#e62340;-webkit-box-shadow:0 0 0 3px rgba(230,35,64,.2);box-shadow:0 0 0 3px rgba(230,35,64,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#e62340}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{border-color:#e62340!important}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#e62340!important}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#e62340!important}.nav-tabs>li.active>a:before{background:#e62340}.nav-tabs-primary>li.active>a{color:#e62340!important}.panel-actions .btn.text-primary{color:#e62340}.picker-focus .picker-selections{border-color:#e62340;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(230,35,64,.6)}.status-bars .bar{background:#e62340}.status-bars-h .bar{background:#e62340}.messagger-zt .messager-content>.icon{color:#e62340}.tree li.active>a{color:#e62340}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#e62340}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{background-color:#f5515f}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#fceaea}.dropdown-submenu:hover>a:after{border-left-color:#e62340}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager>li.active>a{background-color:#f5515f}.timeline>li>a:after,.timeline>li>div:after{background-color:#e62340}.timeline>li.active:before{background-color:rgba(230,35,64,.2)}.ke-container{border-color:#dcdcdc!important}.ke-container.focus{border-color:#e62340!important}.input-group .chosen-container-active .chosen-choices,.input-group .form-control:focus{border-color:#e62340!important}#mainHeader{background:#ff7c7c;border-top-color:#e62340;border-bottom-color:#fceaea}#searchGo{background-color:#f5515f}#searchGo:hover{background-color:#e62340}#subNavbar{margin-top:7px;text-align:center}#subNavbar .nav>li.active>a{color:#e62340}#subHeader.admin-tab-menu>.container>#subNavbar>ul>li.active>a:after{border-color:#e62340}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#e62340}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#e62340}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #e62340}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #e62340}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}#sidebarHeader{border-left:3px solid #e62340}#sidebarHeader .title{color:#e62340}#sidebar>.sidebar-toggle>.icon{background:#fbb1b8}#main .querybox-toggle.querybox-opened{color:#e62340}#contentNav .nav>li.active>a{color:#e62340}#contentNav .nav>li.active>a:before{background:#e62340}td.c-actions .btn{color:#f5515f}td.c-actions .btn:hover{color:#e62340;background-color:#f9d4d4}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#e62340;background:#fceaea}.main-table table .btn-icon-left:hover>.icon{background:#fceaea}.main-table tbody>tr:hover{background:#fceaea}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{background:#e62340}.main-table tbody>tr>td.c-side:before{display:none}.main-table .table-grouped tbody>tr:hover{background:#fdf3f3}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#fdf3f3}.main-table tbody>tr>td>a,.table-data tbody>tr>td>a{color:#d91b1b}.main-table tbody>tr>td>a:not(.btn):visited,.table-data tbody>tr>td>a:not(.btn):visited{color:#650b19}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover,.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#e62340}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up,.table.has-sort-head thead>tr>th>a:hover{color:#e62340}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#e62340}.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#fceaea}.table-nest-toggle:hover{color:#e62340}.table-footer .checkbox-primary.checked label:after{border-color:#e62340!important}.table-footer.fixed-footer .checkbox-primary.checked label:after{background-color:#eb5168!important;border-color:#eb5168!important}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}.files-list>li>a:hover{color:#e62340}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#e62340;border-color:#e62340}.article-content a{color:#e62340}.article-content a:focus,.article-content a:hover{color:#f5515f}.list-group{overflow-y:auto}.list-group>a.selected{color:#fceaea;background-color:#e62340}.list-group>a.active{color:#e62340;background-color:#fceaea}.list-group>a.active:hover,.list-group>a:hover{background-color:#e62340}#swapper #dropMenu .tree li>.selected{color:#e62340!important;background:#fceaea!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .list-group>a.selected,#swapper #dropMenu .list-group>a.selected:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#e62340!important}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#e62340!important;background:#fceaea!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#e62340!important}.release-line>li>a:hover:before{background-color:#fceaea}.release-line>li>a:hover .title{color:#e62340}.release-line>li.active>a:before{border-color:#e62340}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#f5515f}#poweredBy .icon-zentao{color:#f5515f}#poweredBy a:hover{color:#e62340}#poweredBy a:hover .icon-zentao{color:#e62340}#poweredBy a.text-primary{color:#e62340}#poweredBy a.text-primary:hover{color:#f5515f}.block-guide .nav-secondary>li.active>a:before,.block-statistic .nav-secondary>li.active>a:before{background:#e62340!important}.dynamic.active .dynamic-date,.dynamic.active .timeline{border-color:#f5515f!important}.dynamic.active .dynamic-date:before{background-color:#f5515f!important}.tablesorter-header-inner:hover,table.tablesorter tr.tablesorter-headerRow .header.headerSortDown .tablesorter-header-inner:after,table.tablesorter tr.tablesorter-headerRow .header.headerSortUp .tablesorter-header-inner:after{color:#e62340!important}.table td.has-child>.task-toggle:hover{color:#e62340!important}#openTaskPage.open:hover,#task .task-nav{color:#e62340!important;background:#fceaea!important}#tasksProgress>.progress-bar{background:#e62340!important}#tasksProgress .progress-text{color:#e62340!important}#tasks>li.active.finish>a,#tasks>li.active>a{color:#e62340!important;background:#fceaea!important;border-left-color:#e62340!important;-webkit-box-shadow:inset 4px 0 0 #e62340!important;box-shadow:inset 4px 0 0 #e62340!important}#copyProjectModal a:hover{border-color:#f5515f!important}#zeroTaskStory.checked{background:#fceaea!important;border-color:#f5515f!important}.cols-list .col:hover{background:#fceaea!important}.files-grid .actions,.files-grid .col:hover .file{background:#fceaea!important}.dashboard .panel,.panel-default{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#menu .nav>li.active>a{background:#f5515f!important}#menu .nav>li.active>a,#menu .nav>li>a:focus,#menu .nav>li>a:hover{background:#f5515f!important}#bars>li.active>a,#bars>li.active>a:active,#bars>li.active>a:focus{background:#e62340!important}#bars>li.active:after{background:#fceaea!important}#userNav>li>a>.icon{filter:none;opacity:1;-webkit-filter:none}#menu{background:#415a72}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#fb2b2b;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{border-color:#e62340}td.c-actions .btn{color:#e62340}.main-table tbody>tr:hover{background:rgba(252,234,234,.8)}.main-table tbody>tr>td.c-name a{color:#d91b1b}.main-table tbody>tr>td.c-name a:hover{color:#fb2b2b}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}#programTableList>tr:hover{background:#e6f0ff;opacity:.8}#programTableList>tr>.c-name:hover>a{color:#e62340!important}.assigned-none{color:#fb2b2b!important}.assigned-current{color:#f38f19!important}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#fb2b2b!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#fb2b2b!important}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#ff7c7c}#assigntomeBlock .nav>li.active>a{color:#fb2b2b}.consumedTotally{color:#e62340;background:#fceaea}#toggleFoldIcon .icon-border{border:1px solid #ffd5d5}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#e62340}.btn.btn-action.disabled,.c-actions .btn.disabled,.c-actions .btn[disabled=disabled]{border-color:transparent}.nav-steps>ul>li.active>a{background-color:#f5515f}.nav-steps>ul>li.active>a:focus{background-color:#e62340}.nav-steps>ul>li.active+li:after{border-left-color:#f5515f}.nav-steps>ul>li.active:hover+li:after{border-left-color:#e62340}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#e62340}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{color:#fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #e62340;box-shadow:0 0 1px 1px #e62340}.border-primary-hover:hover{border:1px solid #e62340}.menu-hover-primary>li>a:hover{color:#fb2b2b!important;background-color:#ffd5d5!important}.menu-active-primary>li.active>a{color:#e62340!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#ffd5d5!important}#mainHeader{background:#f5515f -webkit-gradient(linear,right top,left top,from(#e62340),to(#f5515f));background:#f5515f -webkit-linear-gradient(right,#e62340 0,#f5515f 100%);background:#f5515f -o-linear-gradient(right,#e62340 0,#f5515f 100%);background:#f5515f linear-gradient(-90deg,#e62340 0,#f5515f 100%);background-color:#f5515f} \ No newline at end of file diff --git a/www/theme/zui/css/min.css b/www/theme/zui/css/min.css index c351de3681..cbac33f2fc 100644 --- a/www/theme/zui/css/min.css +++ b/www/theme/zui/css/min.css @@ -1,5 +1,5 @@ /*! - * ZUI: ZUI for Zentao - v1.10.0 - 2023-02-07 + * ZUI: ZUI for Zentao - v1.10.0 - 2023-02-08 * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2023 cnezsoft.com; Licensed MIT @@ -13,4 +13,4 @@ * * Copyright (c) 2011-2016 Harvest http://getharvest.com * MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md -*/.chosen-container{position:relative;display:block;font-size:13px;vertical-align:middle;zoom:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;z-index:1010;display:none;width:100%;background:#fff;border:1px solid #b2b2b2;border:1px solid rgba(0,0,0,.15);border-top:0;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.chosen-container .chosen-drop.chosen-drop-size-limited{border-top:1px solid rgba(0,0,0,.15)}.chosen-container .chosen-drop.chosen-auto-max-width{min-width:100%;border-top:1px solid rgba(0,0,0,.15);opacity:0}.chosen-container .chosen-drop.chosen-auto-max-width>.chosen-results>li{display:inline-block;white-space:nowrap}.chosen-container .chosen-drop.chosen-auto-max-width.in{opacity:1}.chosen-container .chosen-drop.chosen-auto-max-width.in>.chosen-results>li{display:block;white-space:normal}.chosen-container .chosen-drop.chosen-no-wrap>.chosen-results>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important}.chosen-container.chosen-with-drop .chosen-drop{display:block}.chosen-container a{cursor:pointer}.chosen-container.chosen-up .chosen-drop{top:inherit;bottom:100%;margin-top:auto;margin-bottom:-1px;border-radius:2px 2px 0 0;-webkit-box-shadow:0 -3px 5px rgba(0,0,0,.175);box-shadow:0 -3px 5px rgba(0,0,0,.175)}.chosen-container.chosen-highlight-selected .result-selected{color:#2e7fff;background:#e6f0ff}.chosen-container-single .chosen-single{display:block;width:100%;height:32px;padding:5px 8px;overflow:hidden;line-height:1.42857143;color:#0b0f18;text-decoration:none;white-space:nowrap;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #dcdcdc;border-radius:2px;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.chosen-container-single .chosen-default{color:#838a9d}.chosen-container-single .chosen-single>span{display:block;margin-right:26px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:5px;right:24px;display:block;width:20px;height:20px;font-family:sans-serif;font-size:18px;font-weight:700;line-height:18px;color:#000;text-align:center;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.chosen-container-single .chosen-single abbr:before{display:block;content:'×'}.chosen-container-single .chosen-single abbr:focus,.chosen-container-single .chosen-single abbr:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;height:100%;padding:5px 8px}.chosen-container-single .chosen-single div b{display:inline-block;width:0;height:0;margin-bottom:2px;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent;opacity:.5}.chosen-container-single .chosen-search{position:relative;z-index:1010;padding:3px 4px;margin:0;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{width:100%;height:27px;padding:2px 26px 2px 8px;margin:1px 0;font-size:12px;line-height:1.5;background-color:#fff;border:1px solid #dcdcdc;border-radius:2px;outline:0}.chosen-container-single .chosen-search input[type=text]:focus{border-color:#2e7fff}.chosen-container-single .chosen-search:before{position:absolute;top:10px;right:10px;display:block;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;color:#838a9d;text-transform:none;content:"\e928";speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chosen-container-single .chosen-drop{margin-top:-1px;-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:0 0 4px 4px}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;max-height:240px;padding:0;margin:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;padding:5px 10px;margin:0;line-height:15px;list-style:none;-webkit-transition:background-color .2s cubic-bezier(.175,.885,.32,1);-o-transition:background-color .2s cubic-bezier(.175,.885,.32,1);transition:background-color .2s cubic-bezier(.175,.885,.32,1);-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{color:#fff;background-color:#2e7fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;width:100%;min-height:32px;min-height:30px\9;padding:0;margin:0;overflow:hidden;cursor:text;background-color:#fff;border:1px solid #dcdcdc;border-radius:2px;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.chosen-container-multi .chosen-choices:after,.chosen-container-multi .chosen-choices:before{display:table;content:" "}.chosen-container-multi .chosen-choices:after{clear:both}.chosen-container-multi .chosen-choices li{display:block;float:left;padding:0 6px;margin:5px 4px;list-style:none}.chosen-container-multi .chosen-choices li.search-field{padding:0;line-height:12px;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{height:20px;font-size:100%;color:#838a9d;background:0 0!important;border:0!important;border-radius:0;outline:0;-webkit-box-shadow:none;box-shadow:none}.chosen-container-multi .chosen-choices li.search-field .default{color:#999}.chosen-container-multi .chosen-choices li.search-field:before{position:absolute;right:8px;bottom:8px;display:block;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;color:#838a9d;text-transform:none;content:"\e928";opacity:0;-webkit-transition:opacity .2s cubic-bezier(.175,.885,.32,1);-o-transition:opacity .2s cubic-bezier(.175,.885,.32,1);transition:opacity .2s cubic-bezier(.175,.885,.32,1);speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chosen-container-multi .chosen-choices li.search-choice{position:relative;padding:3px 20px 3px 5px;line-height:12px;cursor:default;background-color:#f1f1f1;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #c4c4c4;border-radius:3px;-webkit-box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1);-o-transition:all .4s cubic-bezier(.175,.885,.32,1);transition:all .4s cubic-bezier(.175,.885,.32,1)}.chosen-container-multi .chosen-choices li.search-choice:hover{background-color:#fff;border-color:#ababab;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 0 rgba(0,0,0,.1)}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:1px;right:0;display:block;width:20px;height:18px;line-height:18px;color:#000;text-align:center;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before{font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-shadow:0 1px 0 #fff;text-transform:none;content:'\d7';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:focus,.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;color:#666;background-color:#e4e4e4;border:1px solid #ccc}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{padding:5px 0;margin:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border-color:#2e7fff;-webkit-box-shadow:none,0 0 8px rgba(46,127,255,.6);box-shadow:none,0 0 8px rgba(46,127,255,.6)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #b2b2b2;border:1px solid rgba(0,0,0,.15);border-bottom-right-radius:0!important;border-bottom-left-radius:0!important;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.chosen-container-active.chosen-with-drop .chosen-single div{background:0 0;border-left:none}.chosen-container-active.chosen-with-drop .chosen-single div b{content:"";border-top:0 dotted;border-bottom:4px solid}.chosen-container-active.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.chosen-container-active .chosen-choices{border-color:#2e7fff;-webkit-box-shadow:none,0 0 8px rgba(46,127,255,.6);box-shadow:none,0 0 8px rgba(46,127,255,.6)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#111!important}.chosen-container-active .chosen-choices li.search-field:before{opacity:1}.chosen-disabled{cursor:default;opacity:.5!important}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-compact.chosen-container-single .chosen-single>.chosen-search{left:0;display:none;padding:3px 4px;opacity:0}.chosen-compact.chosen-container-single .chosen-single>.chosen-search>input{height:25px;padding:2px 26px 2px 4px;font-size:inherit}.chosen-compact.chosen-container-single .chosen-single>.chosen-search:before{top:9px}.chosen-compact.chosen-with-search.chosen-with-drop .chosen-single>.chosen-search{display:block;opacity:1}select.chosen[multiple]{height:32px;overflow:hidden}select.chosen[multiple] option{visibility:hidden}.picker{min-height:32px;background-color:#eee}.picker:not(.picker-ready)>*{display:none}.picker-selections{position:relative;min-height:32px;color:#0b0f18;background-color:#fff;border:1px solid #dcdcdc;border-radius:2px;-webkit-box-shadow:none;box-shadow:none}.picker-focus .picker-selections{border-color:#2e7fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(46,127,255,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(46,127,255,.6)}.disabled .picker-selections{cursor:not-allowed;background-color:#f5f5f5}.picker-multi .picker-selections{padding:3px}.picker-multi.picker-focus .picker-selections:before{position:absolute;right:0;bottom:8px;display:block;width:24px;height:14px;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-align:center;text-transform:none;content:"\e928";opacity:.4;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.picker-multi.picker-focus.picker-loading .picker-selections::before{display:inline-block;content:"\e982";-webkit-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}.picker-multi .picker-selection{position:relative;display:inline-block;padding:0 20px 0 5px;margin:2px;line-height:18px;background-color:#f1f1f1;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #c4c4c4;border-radius:3px;-webkit-box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05)}.picker-selection-single{max-width:100%;padding:5px 20px 5px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-focus .picker-selection-single .picker-selection-text{display:none}.picker-selection-single:after{position:absolute;top:7px;right:0;display:block;width:24px;height:14px;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-align:center;text-transform:none;content:"\f0d7";opacity:.4;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.picker-focus .picker-selection-single::after{content:"\e928"}.picker-focus.picker-loading .picker-selection-single::after{display:inline-block;content:"\e982";-webkit-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}.picker-selection-remove{position:absolute;top:0;right:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:18px;height:18px;text-align:center;cursor:pointer;opacity:.2;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.picker-selection-remove:before{font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-shadow:0 1px 0 #fff;text-transform:none;content:'\d7';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.picker-selection-remove:hover{opacity:.5}.picker-single .picker-selection-remove{top:5px;right:20px;z-index:1}.picker-no-value .picker-selection-remove,.picker-single.picker-focus .picker-selection-remove{display:none}.picker-multi.picker-sortable .picker-selection-text{cursor:move}.picker-search{color:transparent;background:0 0;border:none}.picker-search:focus{color:inherit;outline:0}.disabled .picker-search{cursor:not-allowed}.picker-single .picker-search{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;padding:5px 8px}.picker-multi .picker-search{display:inline-block;width:10px;min-width:10px;max-width:100%;padding:0 2px;margin:2px 0}.picker-placeholder{position:absolute;top:5px;right:20px;left:8px;z-index:0;display:none;overflow:hidden;color:#838a9d;text-overflow:ellipsis;white-space:nowrap}.picker-no-value.picker-focus .picker-placeholder{display:none}.picker-input-empty.picker-focus.picker-no-value .picker-placeholder,.picker-no-value .picker-placeholder{display:block}.picker-drop-menu{position:fixed;z-index:1200;display:none;min-width:100px;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.1);box-shadow:0 6px 12px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.1);opacity:0}.picker-drop-menu.picker-drop-show{display:block}.picker-option-list{padding:5px 0;margin:0;overflow-y:auto}.picker-no-options .picker-option-list{display:none}.picker-option{display:block;min-height:30px;padding:5px 10px;overflow:hidden;clear:both;font-weight:400;line-height:1.42857143;color:#313c52;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:none;-o-transition:none;transition:none}.picker-single .picker-option.picker-option-selected{color:#2e7fff;background:#e6f0ff}.picker-option:focus,.picker-option:hover{text-decoration:none}.picker-option.picker-option-active,.picker-single .picker-option.picker-option-selected.picker-option-active{color:#fff;background-color:#2e7fff}.picker-multi .picker-option.picker-option-selected,.picker-multi .picker-option.picker-option-selected.picker-option-active{color:#ccc;cursor:not-allowed;background-color:#fff}.picker-option.disabled{cursor:not-allowed!important}.picker-option-text-matched{position:relative;color:#2e7fff}.picker-option-text-matched:before{position:absolute;right:0;bottom:-4px;left:0;display:block;height:2px;content:' ';background-color:#2e7fff;border-radius:2px;opacity:.5}.picker-option-active .picker-option-text-matched,.picker-option:hover .picker-option-text-matched{color:#fff}.picker-option-active .picker-option-text-matched:before,.picker-option:hover .picker-option-text-matched:before{background-color:#fff}.picker-message{display:none;height:22px;padding:2px 5px;overflow:hidden;font-size:12px;color:#838a9d;text-overflow:ellipsis;white-space:nowrap;background-color:#f1f1f1}.picker-has-message .picker-message{display:block}.picker-message[data-type=danger]{color:#fc5959}.picker-actions{padding:5px;border-top:1px solid #eee}.picker-no-actions .picker-actions{display:none}.picker-actions .btn{padding:2px 4px}.picker-actions .btn[disabled]{background-color:transparent;filter:grayscale(1);-webkit-filter:grayscale(1)}.picker-actions .btn+.btn{margin-left:4px}.picker-checkable .picker-option{position:relative;padding-left:32px;color:inherit!important;cursor:pointer!important}.picker-checkable .picker-option>.checkbox-primary{position:absolute;top:4px;left:10px}.picker-checkable .picker-option.picker-option-active{background-color:rgba(0,0,0,.05)!important}.picker-checkable .picker-option:hover{background-color:rgba(0,0,0,.075)!important}.picker-checkable .picker-option.picker-option-selected{background-color:#e6f0ff!important}.picker-checkable .picker-option-active .picker-option-text-matched,.picker-checkable .picker-option:hover .picker-option-text-matched{color:#2e7fff!important}.picker-checkable .picker-option-active .picker-option-text-matched:before,.picker-checkable .picker-option:hover .picker-option-text-matched:before{background:#2e7fff!important}:root{--color-primary:#2e7fff;--color-secondary:#18a6fd;--color-pale:#e6f0ff;--color-fore:#313c52;--color-back:#fff;--color-red:#fc5959;--color-yellow:#ff9f46;--color-green:#22c98d;--color-blue:#37b2fe;--color-purple:#8166ee;--color-brown:#ff6f42;--color-danger:#fc5959;--color-warning:#ff9f46;--color-success:#22c98d;--color-info:#37b2fe;--color-special:#8166ee;--color-important:#ff6f42;--color-green-pale:#ecfff8;--color-yellow-pale:#fff4ea;--color-red-pale:#ffebeb;--color-blue-pale:#e7f6ff;--color-brown-pale:#fff2ed;--color-purple-pale:#efecfa;--link-color:#313c52;--link-hover-color:#2e7fff;--color-gray-darker:#0b0f18;--color-gray-dark:#313c52;--color-gray:#838a9d;--color-gray-light:#c4c4c4;--color-gray-lighter:#eee;--color-gray-pale:#f1f1f1;--border-radius:4px;--border-radius-lg:6px;--border-radius-sm:3px;--bg-gradient:#3785ff}.container,.container-fixed,.container-fluid{position:relative}.container{max-width:1800px!important}body{color:#313c52;background-color:#f4f5f7}body.article-content,body.body-modal{background:0 0}body.body-modal{padding:0}@media screen and (min-width:1920px){body{font-size:14px}}a:active,a:focus,button:active,button:focus{outline:0!important}.strong{font-weight:700}.font-normal{font-weight:400!important}.text-middle{vertical-align:middle!important}.text-bottom{vertical-align:bottom!important}.text-top{vertical-align:top!important}.inline-block{display:inline-block!important}.layer{border-radius:4px;-webkit-box-shadow:0 0 20px 0 #bdc9d8;box-shadow:0 0 20px 0 #bdc9d8}.space{margin-bottom:20px}.space-lg{margin-bottom:30px}.space-sm{margin-bottom:10px}.muted{opacity:.5}.text-muted em{color:#313c52}.no-animate{-webkit-transition:none!important;-o-transition:none!important;transition:none!important}.template{display:none!important}.text-left{text-align:left!important}.text-yellow.icon-folder{color:#ff9f46}.table-row{display:table;width:100%;table-layout:fixed}.table-col,.table-row>.col,.table-row>[class*=col-],.table-row>[class*="-col"]{display:table-cell;float:none;vertical-align:top}.side-col{width:200px;padding-right:20px}.side-col.col-4{width:33.3333333%}.col-lg{width:260px}.col-xl{width:320px}.col-sm{width:150px}.col-xs{width:100px}.main-col+.side-col{padding-right:0;padding-left:20px}.row-grid>[class*=col-],.row-grid>[class*="-col"]{padding-top:6px;padding-bottom:6px}hr.space{margin:10px 0;border:none}hr.space-sm{margin:5px 0;border:none}.text-secondary{color:#18a6fd}a.text-primary{color:#2e7fff}.text-primary-400{color:#3785ff}.text-primary-600{color:#1e6aeb}.text-primary-700{color:#2463c7}.text-primary-900{color:#063072}.text-green-400{color:#48d1a0}.text-yellow-400{color:#ffaf65}.text-blue-400{color:#60c2ff}.text-red-400{color:#ff7c7c}.text-important-400{color:#ff9777}.text-purple-400{color:#8a6ff5}.text-green-600{color:#0dbb7d}.text-yellow-600{color:#f38f19}.text-blue-600{color:#00c0e9}.text-red-600{color:#fb2b2b}.text-important-600{color:#ff6f42}.text-purple-600{color:#7055df}.text-green-700{color:#0ca76f}.text-yellow-700{color:#ed8307}.text-blue-700{color:#1099ed}.text-red-700{color:#d91b1b}.text-important-700{color:#ff4912}.text-purple-700{color:#513baa}.text-green-900{color:#186c4e}.text-yellow-900{color:#af5f01}.text-blue-900{color:#046bab}.text-red-900{color:#a20606}.text-important-900{color:#611700}.text-purple-900{color:#30216f}.text-gray-14,.text-title{color:#0b0f18}.icon-important,.text-color,.text-gray-13{color:#313c52}.text-gray-12{color:#5e626d}.icon-common,.text-gray-11{color:#838a9d}.icon-secondary,.text-gray-10{color:#9ea3b0}.text-disabled{color:#c4c4c4}.nav-primary>li>a{min-width:100px;padding:5px 8px;color:#838a9d;border-color:#e7f1fc}.nav-primary>li.active>a{color:#2e7fff;background-color:#e7f1fc;border-color:#e7f1fc}.nav-primary>li.active>a:hover{color:#2e7fff;background-color:#c3dcf7;border-color:#c3dcf7}.end-marker{margin-bottom:20px;color:#c4c4c4;text-align:center}@-webkit-keyframes highlight{0%{background:#fff;outline:1px solid transparent}100%{background:#fff0d5;outline:2px solid #ffdcbc}}@-o-keyframes highlight{0%{background:#fff;outline:1px solid transparent}100%{background:#fff0d5;outline:2px solid #ffdcbc}}@keyframes highlight{0%{background:#fff;outline:1px solid transparent}100%{background:#fff0d5;outline:2px solid #ffdcbc}}.highlight{-webkit-animation:highlight .5s linear 0s 2 alternate;-o-animation:highlight .5s linear 0s 2 alternate;animation:highlight .5s linear 0s 2 alternate}.progress.inline-block{width:100px;margin:0}.w-p5{width:5%!important}.w-p10{width:10%!important}.w-p15{width:15%!important}.w-p20{width:20%!important}.w-p25{width:25%!important}.w-p30{width:30%!important}.w-p35{width:35%!important}.w-p40{width:40%!important}.w-p45{width:45%!important}.w-p50{width:50%!important}.w-p55{width:55%!important}.w-p60{width:60%!important}.w-p65{width:65%!important}.w-p70{width:70%!important}.w-p75{width:75%!important}.w-p80{width:80%!important}.w-p85{width:85%!important}.w-p90{width:90%!important}.w-p94{width:94%!important}.w-p95{width:95%!important}.w-p98{width:98%!important}.w-p99{width:99%!important}.w-p100{width:100%!important}.w-auto{width:auto!important}.w-10px{width:10px!important}.w-20px{width:20px!important}.w-30px{width:30px!important}.w-35px{width:35px!important}.w-40px{width:40px!important}.w-45px{width:45px!important}.w-50px{width:50px!important}.w-60px{width:60px!important}.w-70px{width:70px!important}.w-80px{width:80px!important}.w-90px{width:90px!important}.w-100px{width:100px!important}.w-110px{width:110px!important}.w-120px{width:120px!important}.w-130px{width:130px!important}.w-140px{width:140px!important}.w-150px{width:150px!important}.w-160px{width:160px!important}.w-180px{width:180px!important}.w-200px{width:200px!important}.w-230px{width:230px!important}.w-250px{width:250px!important}.w-300px{width:300px!important}.w-400px{width:400px!important}.w-500px{width:500px!important}.w-600px{width:600px!important}.w-700px{width:700px!important}.w-800px{width:800px!important}.w-900px{width:900px!important}.mw-200px{max-width:200px!important}.mw-300px{max-width:300px!important}.mw-400px{max-width:400px!important}.mw-500px{max-width:500px!important}.mw-600px{max-width:600px!important}.mw-700px{max-width:700px!important}.mw-800px{max-width:800px!important}.mw-900px{max-width:900px!important}.mw-1400px{max-width:1400px!important}.w-id{width:70px!important}.w-pri{width:40px!important}.w-severity{width:50px!important}.w-hour{width:57px!important}.w-date{width:90px!important}.w-status{width:60px!important}.w-resolution,.w-type,.w-user{width:80px!important}.w-p15-f{width:15%!important;min-width:120px!important}.w-p25-f{width:25%!important;min-width:200px!important}.w-p35-f{width:35%!important;min-width:300px!important}.w-p45-f{width:45%!important;min-width:400px!important}.h-5px{height:5px!important}.h-10px{height:10px!important}.h-20px{height:20px!important}.h-30px{height:30px!important}.h-35px{height:35px!important}.h-40px{height:40px!important}.h-45px{height:45px!important}.h-50px{height:50px!important}.h-60px{height:60px!important}.h-70px{height:70px!important}.h-80px{height:80px!important}.h-100px{height:100px!important}.h-120px{height:120px!important}.h-130px{height:130px!important}.h-140px{height:140px!important}.h-150px{height:150px!important}.h-200px{height:200px!important}.pd-0{padding:0!important}.mg-0{margin:0!important}.mgb-20{margin-bottom:20px!important}.mgb-10{margin-bottom:10px!important}.pdb-20{padding-bottom:20px!important}.pdt-20{padding-top:20px!important}.br-0{border-radius:0!important}.bd-0,.bd-none,.borderless{border:none!important}.bg-none{background:0 0!important}.red{color:#fc5959!important}.icon-pro-version{font-size:14px!important}.icon-pro-version:before{position:relative;top:-1px;font-size:14px;color:#fc5959;content:"\e92b"}.bg-primary{color:#fff;background:#3785ff;border-top-color:#2e7fff}.bg-primary-pure{color:#fff;background-color:#2e7fff}.bg-primary-pale{color:#2e7fff;background-color:#e6f0ff}.bg-secondary{color:#fff;background:#18a6fd}.line-gray-8{background:#d8dbde}.line-gray-5{background:#e3e4e9}.line-gray-7{background:#eee}.bg-gray-1{background:#e3e4e9}.bg-gray-2{background:#edeef2}.bg-gray-3{background:#f8f8f8}.bg-green-400{background:#48d1a0}.bg-yellow-400{background:#ffaf65}.bg-blue-400{background:#60c2ff}.bg-red-400{background:#ff7c7c}.bg-important-400{background:#ff9777}.bg-purple-400{background:#8a6ff5}.bg-green-600{background:#0dbb7d}.bg-yellow-600{background:#f38f19}.bg-blue-600{background:#00c0e9}.bg-red-600{background:#fb2b2b}.bg-important-600{background:#ff6f42}.bg-purple-600{background:#7055df}.bg-green-700{background:#0ca76f}.bg-yellow-700{background:#ed8307}.bg-blue-700{background:#1099ed}.bg-red-700{background:#d91b1b}.bg-important-700{background:#ff4912}.bg-purple-700{background:#513baa}.bg-green-900{background:#186c4e}.bg-yellow-900{background:#af5f01}.bg-blue-900{background:#046bab}.bg-red-900{background:#a20606}.bg-important-900{background:#611700}.bg-purple-900{background:#30216f}.bg-hover{background:#f6f6f6}.bg-active{background:#e6eaf1}.hl-tutorial{position:relative!important;z-index:1010!important;-webkit-box-shadow:0 0 0 0 #000!important;box-shadow:0 0 0 0 #000!important;-webkit-transition:-webkit-box-shadow 1s!important;-o-transition:box-shadow 1s!important;transition:-webkit-box-shadow 1s!important;transition:box-shadow 1s!important;transition:box-shadow 1s,-webkit-box-shadow 1s!important}.hl-tutorial.hl-in{-webkit-box-shadow:0 0 20px 0 #ffff8d,0 0 0 2px #ffd180,0 0 0 3000px rgba(0,0,0,.2)!important;box-shadow:0 0 20px 0 #ffff8d,0 0 0 2px #ffd180,0 0 0 3000px rgba(0,0,0,.2)!important}.btn.tooltip-tutorial,.hl-tutorial.hl-in:hover{position:relative!important;z-index:1010!important;-webkit-box-shadow:0 0 30px 0 #ffff8d,0 0 0 5px #ffd180,0 0 0 3000px rgba(0,0,0,.3)!important;box-shadow:0 0 30px 0 #ffff8d,0 0 0 5px #ffd180,0 0 0 3000px rgba(0,0,0,.3)!important}.tooltip-max .tooltip-inner{max-width:1000px;padding:8px 10px}.transition-all *{-webkit-transition:all .2s!important;-o-transition:all .2s!important;transition:all .2s!important}.scroll-x{overflow-x:auto!important}.scroll-y{overflow-y:auto!important}.divider+.divider{display:none}.ie *{-webkit-transition:none!important;-o-transition:none!important;transition:none!important}@font-face{font-family:Oswald;font-weight:400;src:url(../fonts/Oswald-Regular.ttf)}@font-face{font-family:Oswald;font-weight:500;src:url(../fonts/Oswald-Medium.ttf)}@font-face{font-family:Oswald;font-weight:300;src:url(../fonts/Oswald-Light.ttf)}.num{font-family:Oswald;font-weight:400}@font-face{font-family:ZentaoIcon;font-style:normal;font-weight:400;src:url(../fonts/ZentaoIcon.eot?v=1.34);src:url(../fonts/ZentaoIcon.eot?#iefix&v=1.34) format('embedded-opentype'),url(../fonts/ZentaoIcon.woff?v=1.34) format('woff'),url(../fonts/ZentaoIcon.ttf?v=1.34) format('truetype'),url(../fonts/ZentaoIcon.svg#regular?v=1.34) format('svg')}.icon,[class*=" icon-"],[class^=icon-]{font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-transform:none;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon:before{display:inline-block;min-width:14px;text-align:center}a .icon,a [class*=" icon-"],a [class^=icon-]{display:inline}.icon-lg:before{font-size:1.33333333em;vertical-align:-10%}.icon-2x{font-size:28px}.icon-3x{font-size:42px}.icon-4x{font-size:56px}.icon-5x{font-size:70px}.icon-spin{display:inline-block;-webkit-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}a .icon-spin{display:inline-block;text-decoration:none}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0);transform:rotate(0)}100%{-o-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);-o-transform:rotate(359deg);transform:rotate(359deg)}}.icon-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.icon-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.icon-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.icon-flip-horizontal{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.icon-flip-vertical{-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.icon.icon-flip-horizontal,.icon.icon-flip-vertical,.icon.icon-rotate-180,.icon.icon-rotate-270,.icon.icon-rotate-90{display:inline-block}.icon-zentao:before{content:"\e901"}.icon-zentao-alt:before{content:"\e900"}.icon-help:before{content:"\e968"}.icon-import:before{content:"\e904"}.icon-download:before{content:"\e904"}.icon-export:before{content:"\e905"}.icon-lightbulb:before{content:"\e91c"}.icon-close:before{content:"\e936"}.icon-check:before{content:"\e5ca"}.icon-plus:before{content:"\e925"}.icon-minus:before{content:"\e926"}.icon-expand-alt:before{content:"\e6f1"}.icon-collapse-alt:before{content:"\e6f2"}.icon-fullscreen:before{content:"\e96b"}.icon-star-empty:before{content:"\e94a"}.icon-star:before{content:"\e94b"}.icon-exclamation-sign:before{content:"\e930"}.icon-info-sign:before{content:"\e9d5"}.icon-flag:before{content:"\e937"}.icon-check-circle:before{content:"\e92f"}.icon-check-sign:before{content:"\e938"}.icon-chart-pie:before{content:"\e95b"}.icon-history:before{content:"\e95f"}.icon-pencil:before{content:"\e254"}.icon-search:before{content:"\e928"}.icon-restart:before{content:"\e95e"}.icon-cog:before{content:"\e93b"}.icon-chart-line:before{content:"\e95c"}.icon-chart-bar:before{content:"\e95d"}.icon-bar-chart:before{content:"\e95d"}.icon-exchange:before{content:"\e927"}.icon-severity:before{content:"\e973"}.icon-book:before{content:"\f02d"}.icon-treemap-alt:before{content:"\e971"}.icon-severity-solid:before{content:"\e902"}.icon-chat-line:before{content:"\e998"}.icon-stack:before{content:"\e943"}.icon-cube:before{content:"\e967"}.icon-minus-sign:before{content:"\e939"}.icon-bars-sign:before{content:"\e93a"}.icon-chat:before{content:"\e940"}.icon-message:before{content:"\e940"}.icon-more:before{content:"\e744"}.icon-certificate:before{content:"\f0a3"}.icon-bell:before{content:"\e7f5"}.icon-columns:before{content:"\f0db"}.icon-envelope-o:before{content:"\e92a"}.icon-unfold-all:before{content:"\e931"}.icon-fold-all:before{content:"\e932"}.icon-bars:before{content:"\e948"}.icon-cards-view:before{content:"\e949"}.icon-ellipsis-v:before{content:"\e5d4"}.icon-spinner-indicator:before{content:"\e982"}.icon-up-circle:before{content:"\e92b"}.icon-right-circle:before{content:"\e92c"}.icon-down-circle:before{content:"\e92d"}.icon-left-circle:before{content:"\e92e"}.icon-angle-double-right:before{content:"\f101"}.icon-angle-down:before{content:"\e313"}.icon-angle-left:before{content:"\e314"}.icon-angle-right:before{content:"\e315"}.icon-angle-top:before{content:"\e316"}.icon-first-page:before{content:"\e5dc"}.icon-last-page:before{content:"\e5dd"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.icon-sort:before{content:"\f0dc"}.icon-sort-down:before{content:"\f0dd"}.icon-sort-up:before{content:"\f0de"}.icon-arrow-up:before{content:"\e923"}.icon-arrow-down:before{content:"\e924"}.icon-arrow-left:before{content:"\e952"}.icon-arrow-right:before{content:"\e93e"}.icon-chevron-left:before{content:"\e934"}.icon-chevron-right:before{content:"\e935"}.icon-chevron-double-up:before{content:"\e959"}.icon-chevron-double-down:before{content:"\e95a"}.icon-folder-account:before{content:"\e942"}.icon-folder-move:before{content:"\e960"}.icon-folder-plus:before{content:"\e961"}.icon-folder-upload:before{content:"\e962"}.icon-folder-star:before{content:"\e963"}.icon-folder-edit:before{content:"\e964"}.icon-folder-download:before{content:"\e965"}.icon-folder-outline:before{content:"\e966"}.icon-folder:before{content:"\e944"}.icon-folder-o:before{content:"\e945"}.icon-folder-open-o:before{content:"\e946"}.icon-folder-open:before{content:"\e947"}.icon-color:before{content:"\e93c"}.icon-paper-clip:before{content:"\e93d"}.icon-text:before{content:"\e929"}.icon-share:before{content:"\f064"}.icon-format-list-bulleted:before{content:"\e9a8"}.icon-format-bold:before{content:"\e953"}.icon-format-header-pound:before{content:"\e954"}.icon-format-italic:before{content:"\e955"}.icon-format-list-numbers:before{content:"\e969"}.icon-format-quote-close:before{content:"\e96a"}.icon-image:before{content:"\e96c"}.icon-table-large:before{content:"\e96d"}.icon-aiux:before{content:"\e99e"}.icon-qc:before{content:"\e986"}.icon-qc-q:before{content:"\e985"}.icon-qc-c:before{content:"\e987"}.icon-sonarqube:before{content:"\e9ba"}.icon-college:before{content:"\e9c8"}.icon-ztool:before{content:"\e9c1"}.icon-contacts:before{content:"\e9c3"}.icon-chats:before{content:"\e9c4"}.icon-menu-my:before{content:"\e97a"}.icon-home:before{content:"\e97a"}.icon-program:before{content:"\e9aa"}.icon-lightbulb-alt:before{content:"\e98f"}.icon-product:before{content:"\e98f"}.icon-rocket:before{content:"\e99c"}.icon-project:before{content:"\e99c"}.icon-run:before{content:"\e9a9"}.icon-test:before{content:"\e956"}.icon-infinite:before{content:"\e9a3"}.icon-devops:before{content:"\e9a3"}.icon-ops:before{content:"\e903"}.icon-doc:before{content:"\e99b"}.icon-menu-doc:before{content:"\e99b"}.icon-statistic:before{content:"\e999"}.icon-menu-backend:before{content:"\e993"}.icon-assets:before{content:"\e9ae"}.icon-diamond:before{content:"\e9ae"}.icon-feedback:before{content:"\e991"}.icon-flow:before{content:"\e994"}.icon-oa:before{content:"\e9a1"}.icon-more-circle:before{content:"\e988"}.icon-controls:before{content:"\e995"}.icon-account:before{content:"\e992"}.icon-about:before{content:"\e996"}.icon-info:before{content:"\e996"}.icon-cog-outline:before{content:"\e997"}.icon-backend:before{content:"\e997"}.icon-exit:before{content:"\e99a"}.icon-theme:before{content:"\e9a0"}.icon-globe:before{content:"\f0ac"}.icon-lang:before{content:"\f0ac"}.icon-table-sort:before{content:"\e9e1"}.icon-download-alt:before{content:"\e9ea"}.icon-blame:before{content:"\e9e0"}.icon-draft-edit:before{content:"\e9dd"}.icon-sub-review:before{content:"\e9df"}.icon-sub-review-user:before{content:"\e9db"}.icon-ztf:before{content:"\e9dc"}.icon-save:before{content:"\e9d8"}.icon-list-box:before{content:"\e9b4"}.icon-usecase:before{content:"\e99d"}.icon-code:before{content:"\e990"}.icon-summary:before{content:"\e9ad"}.icon-more-alt:before{content:"\e9a7"}.icon-customer:before{content:"\e9d9"}.icon-horn:before{content:"\e9eb"}.icon-resume:before{content:"\e9e9"}.icon-mirror:before{content:"\e9e6"}.icon-remote:before{content:"\e9e7"}.icon-moon:before{content:"\e9e8"}.icon-ticket:before{content:"\e9e1"}.icon-gantt-alt:before{content:"\e9e2"}.icon-appose:before{content:"\e9e2"}.icon-inline:before{content:"\e9e3"}.icon-tree:before{content:"\e9c9"}.icon-list:before{content:"\e9cb"}.icon-gantt:before{content:"\e9cc"}.icon-group-view:before{content:"\e9cd"}.icon-inherit-space:before{content:"\e9c2"}.icon-card-archive:before{content:"\e9b8"}.icon-col-archive:before{content:"\e9b9"}.icon-col-add-right:before{content:"\e9bb"}.icon-col-add-left:before{content:"\e9bc"}.icon-col-split:before{content:"\e9bd"}.icon-waterfall:before{content:"\e9a4"}.icon-manual:before{content:"\e98d"}.icon-kanban:before{content:"\e983"}.icon-lane:before{content:"\e9b1"}.icon-snap-house:before{content:"\e9e3"}.icon-wrench:before{content:"\e9e4"}.icon-desktop:before{content:"\e9e5"}.icon-back:before{content:"\e9d3"}.icon-back-circle:before{content:"\e9da"}.icon-shield:before{content:"\e9ca"}.icon-meh:before{content:"\e9ce"}.icon-frown:before{content:"\e9cf"}.icon-smile:before{content:"\e9d0"}.icon-unlock-solid:before{content:"\e9d1"}.icon-lock-solid:before{content:"\e9d2"}.icon-ver:before{content:"\e9c6"}.icon-publish:before{content:"\e9c7"}.icon-send:before{content:"\e9c7"}.icon-tag:before{content:"\e9be"}.icon-tag-lock:before{content:"\e9bf"}.icon-code-fork:before{content:"\f126"}.icon-branch-lock:before{content:"\e9c0"}.icon-groups:before{content:"\e9af"}.icon-thumbs-up:before{content:"\f087"}.icon-thumbs-down:before{content:"\f088"}.icon-thumbs-up-solid:before{content:"\e9d6"}.icon-thumbs-down-solid:before{content:"\e9d7"}.icon-hash:before{content:"\e9ab"}.icon-version:before{content:"\e9ab"}.icon-p-square:before{content:"\e97b"}.icon-video-play:before{content:"\e97f"}.icon-plus-solid-circle:before{content:"\e974"}.icon-minuse-solid-circle:before{content:"\e9b6"}.icon-s:before{content:"\e975"}.icon-c:before{content:"\e976"}.icon-t:before{content:"\e977"}.icon-guide:before{content:"\e978"}.icon-todo:before{content:"\e979"}.icon-side-left:before{content:"\e9b3"}.icon-side-right:before{content:"\e9b2"}.icon-fullscreen-exit:before{content:"\e972"}.icon-alert:before{content:"\e99f"}.icon-undo:before{content:"\e93f"}.icon-redo:before{content:"\e9d4"}.icon-swap:before{content:"\e9b0"}.icon-chat-solid:before{content:"\e9b5"}.icon-clock:before{content:"\e97c"}.icon-cost:before{content:"\e97d"}.icon-pencil-alt:before{content:"\e984"}.icon-size-height:before{content:"\e9c5"}.icon-file-log:before{content:"\e9de"}.icon-rich-text:before{content:"\e913"}.icon-markdown:before{content:"\e916"}.icon-excel:before{content:"\e933"}.icon-text-link:before{content:"\e94d"}.icon-ppt:before{content:"\e957"}.icon-word:before{content:"\e958"}.icon-doc-lib:before{content:"\e96f"}.icon-file:before{content:"\f016"}.icon-file-empty:before{content:"\f016"}.icon-file-text:before{content:"\f0f6"}.icon-file-alt:before{content:"\f15b"}.icon-file-text-alt:before{content:"\f15c"}.icon-file-pdf:before{content:"\f1c1"}.icon-file-word:before{content:"\f1c2"}.icon-file-excel:before{content:"\f1c3"}.icon-file-powerpoint:before{content:"\f1c4"}.icon-file-image:before{content:"\f1c5"}.icon-file-archive:before{content:"\f1c6"}.icon-file-audio:before{content:"\f1c7"}.icon-file-video:before{content:"\f1c8"}.icon-file-code:before{content:"\f1c9"}.icon-menu-collapse:before{content:"\e980"}.icon-menu-expand:before{content:"\e981"}.icon-group:before{content:"\e97e"}.icon-menu-users:before{content:"\e97e"}.icon-persons:before{content:"\e97e"}.icon-team:before{content:"\e97e"}.icon-estimate:before{content:"\e9ac"}.icon-sprint:before{content:"\e9a2"}.icon-shield-check:before{content:"\e9a5"}.icon-ok:before{content:"\e9a6"}.icon-printer:before{content:"\e906"}.icon-bullhorn:before{content:"\e910"}.icon-person:before{content:"\e941"}.icon-fields:before{content:"\e989"}.icon-trigger:before{content:"\e98a"}.icon-layout:before{content:"\e98b"}.icon-audit:before{content:"\e98c"}.icon-cancel:before{content:"\e951"}.icon-ban-circle:before{content:"\e951"}.icon-eye:before{content:"\e94e"}.icon-eye-off:before{content:"\e96e"}.icon-unlock:before{content:"\e94f"}.icon-lock:before{content:"\e950"}.icon-private:before{content:"\e950"}.icon-move:before{content:"\e94c"}.icon-hand-right:before{content:"\e907"}.icon-checked:before{content:"\e908"}.icon-off:before{content:"\e909"}.icon-start:before{content:"\e90a"}.icon-play:before{content:"\e90a"}.icon-time:before{content:"\e90b"}.icon-edit:before{content:"\e90c"}.icon-trash:before{content:"\e90d"}.icon-link:before{content:"\e90e"}.icon-unlink:before{content:"\e90f"}.icon-bug:before{content:"\e911"}.icon-list-alt:before{content:"\e912"}.icon-change:before{content:"\e970"}.icon-alter:before{content:"\e970"}.icon-glasses:before{content:"\e914"}.icon-review:before{content:"\e914"}.icon-sitemap:before{content:"\e915"}.icon-testcase:before{content:"\e915"}.icon-pluses:before{content:"\e917"}.icon-report-list:before{content:"\e918"}.icon-magic:before{content:"\e919"}.icon-active:before{content:"\e919"}.icon-treemap:before{content:"\e91a"}.icon-confirm:before{content:"\e91b"}.icon-split:before{content:"\e98e"}.icon-delay:before{content:"\e91d"}.icon-calendar:before{content:"\e91d"}.icon-pause:before{content:"\e91e"}.icon-ban:before{content:"\e91f"}.icon-plus-bold:before{content:"\e920"}.icon-copy:before{content:"\e921"}.icon-refresh:before{content:"\e922"}.icon-diff:before{content:"\e9b7"}.icon-sm:before{font-size:14px;vertical-align:10%}.icon-qc{position:relative}.icon-qc:before{width:1em;color:#7cb938;content:"\e985"}.icon-qc:after{position:absolute;top:0;left:0;width:1em;height:1em;font-family:ZentaoIcon;font-size:14px;font-size:inherit;font-style:normal;font-weight:400;font-variant:normal;line-height:1;color:#36a742;text-transform:none;content:"\e987";speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-message.has-dot{position:relative}.icon-message.has-dot::after{position:absolute;top:-3px;right:-5px;display:block;width:6px;height:6px;content:' ';background-color:#fc5959;border-radius:50%}.icon-project{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.icon-product{-webkit-transform:scale(1.15);-ms-transform:scale(1.15);-o-transform:scale(1.15);transform:scale(1.15)}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:18px;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px;-webkit-transition:.4s cubic-bezier(.175,.885,.32,1);-o-transition:.4s cubic-bezier(.175,.885,.32,1);transition:.4s cubic-bezier(.175,.885,.32,1);-webkit-transition-property:background,border,outline,opacity,-webkit-box-shadow;-o-transition-property:background,border,box-shadow,outline,opacity;transition-property:background,border,outline,opacity,-webkit-box-shadow;transition-property:background,border,box-shadow,outline,opacity;transition-property:background,border,box-shadow,outline,opacity,-webkit-box-shadow}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:focus,.btn:hover{color:#313c52;text-decoration:none}.btn:active{text-decoration:none;background-image:none;outline:0;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.1)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:grayscale(1);-webkit-box-shadow:none;box-shadow:none;opacity:.5;-webkit-filter:grayscale(1)}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde}.btn.active,.btn.hover,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:rgba(255,255,255,.8);border-color:#bcc2c7}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#f2f2f2;background-image:none;border-color:#bcc2c7}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{color:rgba(49,60,82,.3);background-color:#fff;border-color:#d8dbde}.btn-gray{color:#82899f;background-color:#f1f1f1;border-color:#f1f1f1}.btn-gray.active,.btn-gray.hover,.btn-gray:active,.btn-gray:focus,.btn-gray:hover,.open .dropdown-toggle.btn-gray{color:#82899f;background-color:rgba(241,241,241,.8);border-color:#d8d8d8}.btn-gray.active,.btn-gray:active,.open .dropdown-toggle.btn-gray{background-color:#e4e4e4;background-image:none;border-color:#d8d8d8}.btn-gray.disabled,.btn-gray.disabled.active,.btn-gray.disabled:active,.btn-gray.disabled:focus,.btn-gray.disabled:hover,.btn-gray[disabled],.btn-gray[disabled].active,.btn-gray[disabled]:active,.btn-gray[disabled]:focus,.btn-gray[disabled]:hover,fieldset[disabled] .btn-gray,fieldset[disabled] .btn-gray.active,fieldset[disabled] .btn-gray:active,fieldset[disabled] .btn-gray:focus,fieldset[disabled] .btn-gray:hover{color:rgba(130,137,159,.3);background-color:#f1f1f1;border-color:#f1f1f1}.btn-primary{color:#fff;background-color:#2e7fff;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(46,127,255,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#156fff;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#2e7fff;border-color:transparent}.btn-secondary{color:#fff;background-color:#18a6fd;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(24,166,253,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#029bf9;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#18a6fd;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning.hover,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:rgba(255,159,70,.8);border-color:rgba(0,0,0,0)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#ff922c;background-image:none;border-color:rgba(0,0,0,0)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{color:rgba(255,255,255,.3);background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger.hover,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:rgba(252,89,89,.8);border-color:rgba(0,0,0,0)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fc4040;background-image:none;border-color:rgba(0,0,0,0)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{color:rgba(255,255,255,.3);background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success.hover,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:rgba(34,201,141,.8);border-color:rgba(0,0,0,0)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#1eb37e;background-image:none;border-color:rgba(0,0,0,0)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{color:rgba(255,255,255,.3);background-color:#22c98d;border-color:transparent}.btn-info{color:#2e7fff;background-color:#e6f0ff;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#2e7fff;background-color:rgba(230,240,255,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#cce1ff;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(46,127,255,.3);background-color:#e6f0ff;border-color:transparent}.btn-link{padding-right:6px;padding-left:6px;font-weight:400;color:#313c52;text-shadow:none;cursor:pointer;background:0 0;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#0b0f18;background:#f1f1f1;background:rgba(0,0,0,.075)}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4;text-decoration:none}.btn-lg{padding:11px 16px;font-size:14px;line-height:18px;border-radius:4px}.btn-mini,.btn-sm{padding:3px 8px;font-size:12px;line-height:18px;border-radius:4px}.btn-mini,.btn-xs{padding:0 5px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.btn-wide{min-width:120px}.btn-limit{max-width:180px;padding-right:20px;overflow:hidden;text-overflow:unset;white-space:nowrap}.btn-limit>.caret{position:absolute;top:14px;right:8px}.btn-circle{border-radius:17px}.btn>.label-icon{top:3px;padding:3px;margin:-2px;background-color:rgba(0,0,0,.2);border-radius:12px}.btn>.label-icon>.icon{font-size:16px;line-height:18px}.btn>.icon+.text{margin-left:5px}.btn.btn-sm.btn-circle{border-radius:12px}.btn.btn-sm>.label-icon{top:2px;width:20px;height:20px;padding:1px;line-height:20px}.btn.btn-sm>.label-icon>.icon{position:relative;top:-1px;display:inline-block;font-size:14px;line-height:18px}.btn-icon-left{position:relative;padding-left:35px;overflow:hidden;text-align:right}.btn-icon-left>.label-icon{position:absolute;left:5px;margin:0}.btn-icon-left>.icon{position:absolute;top:0;bottom:0;left:0;display:block;width:30px;line-height:30px;color:#18a6fd;text-align:center;background:#e6f0ff}.btn-icon-left.btn-sm{padding-left:28px}.btn-icon-left.btn-sm>.label-icon{left:2px}.btn-icon-left.btn-sm>.icon{width:24px;line-height:24px}.btn-icon-right{position:relative;padding-right:35px;text-align:left}.btn-icon-right>.label-icon{position:absolute;right:5px;margin:0}.btn-icon-right.btn-sm{padding-right:28px}.btn-icon-right.btn-sm>.label-icon{right:2px}.btn-icon{min-width:32px;padding-right:0;padding-left:0}.btn-icon.btn-sm{width:24px;min-width:24px;height:24px}.btn-group{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group>.btn-group{float:left}.btn-group>.btn{border-radius:0}.btn-group>.btn:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.btn-group>.btn:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.dropdown{float:left;margin-right:10px}.btn-toolbar>.btn-group:last-child,.btn-toolbar>.btn:last-child,.btn-toolbar>.dropdown:last-child{margin-right:0}.btn-toolbar>.divider{float:left;height:20px;margin:7px 5px 4px 10px;border-left:1px solid rgba(0,0,0,.1)}.btn-toolbar .space{float:left;min-height:1px;margin:0 10px 0 10px}.btn-toolbar .input-control{float:left;width:120px}.btn-toolbar .page-title{float:left;line-height:34px}.btn-toolbar .page-title .text{font-size:14px;font-weight:700}.btn-toolbar .page-title .label{top:-2px;margin-right:10px}.btn-toolbar .divider+.page-title{margin-left:15px}.btn-active-line{position:relative;font-weight:700;color:#2e7fff}.btn-active-line:after{position:absolute;right:5px;bottom:1px;left:5px;display:block;content:' ';border-bottom:2px solid #2e7fff}.btn-active-line:hover{color:#2e7fff}.btn-active-text .text{position:relative;top:-1px;display:inline-block;font-weight:700;color:#1e6aeb}.btn-active-text .text:after{position:absolute;bottom:-5px;display:block;width:100%;content:' ';border-bottom:2px solid #2e7fff}.angle-btn{position:relative;padding:1px;background:#fff;border:1px solid #c4c4c4;border-right:none}.angle-btn:first-child{border-radius:2px 0 0 2px}.btn-toolbar>.angle-btn{margin-right:8px}.angle-btn:after,.angle-btn:before{position:absolute;top:-1px;right:-8px;display:block;width:0;height:0;content:' ';border-color:transparent transparent transparent #c4c4c4;border-style:solid;border-width:17px 0 17px 8px}.angle-btn:after{right:-7px;border-color:transparent transparent transparent #fff;border-radius:2px}.angle-btn .btn{padding:6px;font-weight:700;background:#fff;border:none;border-radius:4px!important}.angle-btn .btn.btn-limit{padding-right:16px}.angle-btn .btn.btn-limit>.caret{right:4px}.angle-btn+.angle-btn{border-left:none}.angle-btn+.angle-btn>.btn-group:first-child{padding-left:8px}.angle-btn+.angle-btn>.btn-group:first-child:after,.angle-btn+.angle-btn>.btn-group:first-child:before{position:absolute;top:-2px;left:0;display:block;width:0;height:0;content:' ';border-color:transparent transparent transparent #c4c4c4;border-style:solid;border-width:17px 0 17px 8px}.angle-btn+.angle-btn>.btn-group:first-child:after{left:-1px;border-color:transparent transparent transparent #fff;border-width:17px 0 17px 8px}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#2e7fff}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#2e7fff}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #2e7fff}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #2e7fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}.nav>li>.btn.btn-primary{color:#fff}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(46,127,255,.8)}.btn.btn-action,.c-actions .btn{display:inline-block;width:26px;padding:2px;overflow:hidden;line-height:20px;color:#18a6fd;background:0 0;border-color:transparent}.btn.btn-action>i,.c-actions .btn>i{position:relative;top:1px;font-size:18px}.btn.btn-action:hover,.c-actions .btn:hover{color:#2e7fff;background-color:#cce1ff}.c-actions .btn+.btn{margin-left:-4px}.label{position:relative;display:inline-block;padding:3px 5px;font-size:12px;font-weight:400;vertical-align:middle;border-radius:2px}.label+.label{margin-left:4px}.label-pale{background:#b3d1ff!important}.label-badge{border-radius:9px}.label-light{color:#3c4353;background-color:#ddd}.label-primary{background:#2e7fff!important}.label-gray{color:#878da0;background:#e8ebef}.label-outline.label-danger{color:#fc5959;background:#ffebeb;border-color:rgba(252,89,89,.25)}.label-outline.label-light{color:#838a9d;background:#f2f5fb;border-color:#e1e5ee}.label-primary.label-outline{background:#e6f0ff!important;border-color:rgba(46,127,255,.25)}.label-outline.label-success{background:#ecfff8;border-color:rgba(34,201,141,.25)}.label-outline.label-info{background:#e7f6ff;border-color:rgba(55,178,254,.25)}.label-outline.label-warning{background:#fff4ea;border-color:rgba(255,159,70,.25)}.label-dot{position:relative;top:-1px;padding:0;border-radius:50%}.label-dot+.status-text{display:inline-block;margin-left:5px}.label-icon{min-width:18px;padding:0;line-height:18px;border-radius:10px}.label-id{display:inline-block;min-width:30px;padding:0 5px;font-size:12px;line-height:16px;color:#838a9d;text-align:center;vertical-align:middle;background-color:transparent;border:1px solid #838a9d;border-radius:2px}.pri-1,.todo-pri-1{color:#fc5959}[class*=" status-"],[class^=status-]{color:#313c52}.status-changed,.status-delayed,.status-doing,.status-fail,.status-investigate{color:#fc5959}.status-changed>.label-dot,.status-delayed>.label-dot,.status-doing>.label-dot,.status-fail>.label-dot,.status-investigate>.label-dot{background-color:#fc5959}.status-wait{color:#838a9d}.status-wait>.label-dot{background-color:#7ec5ff}.status-unclosed{color:#838a9d}.status-unclosed>.label-dot{background-color:#2e7fff}.status-done,.status-normal,.status-pass,.status-resolved{color:#43a047}.status-done>.label-dot,.status-normal>.label-dot,.status-pass>.label-dot,.status-resolved>.label-dot{background-color:#22c98d}.status-postpone{color:#838a9d}.status-postpone>.label-dot{background-color:#fc5959}.status-blocked{position:relative;left:-5px;display:inline-block;padding:0 5px;line-height:20px;color:#313c52;background:0 0;border-radius:10px}.status-blocked>.label-dot{background-color:#ff9f46}.status-pause,.status-suspended{color:#ff9f46}.status-pause>.label-dot,.status-suspended>.label-dot{background-color:#ff9f46}.status-active.status-bug,.status-draft{color:#8166ee}.status-active.status-bug>.label-dot,.status-draft>.label-dot{background-color:#8166ee}.status-closed,.status-terminate{color:#838a9d}.status-closed>.label-dot,.status-terminate>.label-dot{background-color:#838a9d}.status-cancel{color:#838a9d}.status-cancel>.label-dot{background-color:#c4c4c4}.label-pri{display:inline-block;min-width:18px;max-width:100%;height:18px;padding:0 4px;overflow:hidden;font-size:12px;line-height:16px;color:#838a9d;text-align:center;text-overflow:clip;white-space:normal;vertical-align:middle;border:1px solid #838a9d;border-radius:10px}.label-pri-1,.label-selector>.label-pri[data-value="1"]{overflow:visible;color:#ff6f42;border-color:#ff6f42}.label-pri-2,.label-selector>.label-pri[data-value="2"]{color:#f38f19;border-color:#f38f19}.label-pri-3,.label-selector>.label-pri[data-value="3"]{color:#37b2fe;border-color:#37b2fe}.label-pri-4,.label-selector>.label-pri[data-value="4"]{color:#22c98d;border-color:#22c98d}.label-pri-5,.label-selector>.label-pri[data-value="5"]{color:#838a9d;border-color:#838a9d}.label-pri-0,.label-selector>.label-pri.active[data-value="0"]{color:#d5d9df;border-color:#d5d9df}.label-severity{position:relative;display:inline-block;width:24px;height:20px;font-weight:bolder;text-align:center;vertical-align:middle}.label-severity:before{position:absolute;top:-3px;left:0;z-index:0;display:block;font-family:ZentaoIcon;font-size:14px;font-size:24px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;color:inherit;text-transform:none;content:"\e973";speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.label-severity:after{position:absolute;top:7px;left:0;z-index:1;display:block;width:24px;font-size:12px;line-height:12px;text-align:center;content:attr(data-severity)}.label-severity[data-severity],.label-severity[data-value]{color:#ccc}.label-severity[data-severity="0"],.label-severity[data-value="0"]{color:#ccc}.label-severity[data-severity="1"],.label-severity[data-value="1"]{color:#fb2b2b}.label-severity[data-severity="2"],.label-severity[data-value="2"]{color:#c92d79}.label-severity[data-severity="3"],.label-severity[data-value="3"]{color:#f48116}.label-severity[data-severity="4"],.label-severity[data-value="4"]{color:#ffba34}.label-severity[data-severity="5"],.label-severity[data-value="5"]{color:#9ea3b0}.label-severity-custom[data-severity]{color:#d5d9df}.label-severity-custom[data-severity="1"]{color:#c62828}.label-severity-custom[data-severity="2"]{color:#ff8f00}.label-severity-custom[data-severity="3"]{color:#fdd835}.label-severity-custom[data-severity="4"]{color:#cddc39}.label-severity-custom[data-severity="5"]{color:#8bc34a}.label-selector{padding:0 10px}.label-selector>.label{display:inline-block;min-width:24px;height:24px;padding:0 5px;font-size:14px;line-height:20px;text-align:center;cursor:pointer;background:0 0;border:2px solid #d5d9df;border-radius:15px}.label-selector>.label+.label{margin-left:10px}.label-selector>.label.empty{border-color:transparent}.label-selector>.label.label-severity{font-size:12px;line-height:28px;border-color:transparent}.label-selector>.label.label-severity:before{top:-2px;left:-2px}.label-selector>.label.label-severity:after{display:none}.label-selector>.label.label-severity.active{background:0 0;filter:none;-webkit-filter:none}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{margin-top:2px}.ie .checkbox input[type=checkbox],.ie .checkbox-inline input[type=checkbox],.ie .radio input[type=radio],.ie .radio-inline input[type=radio]{margin-top:4px}.is-firefox .checkbox input[type=checkbox],.is-firefox .checkbox-inline input[type=checkbox],.is-firefox .radio input[type=radio],.is-firefox .radio-inline input[type=radio]{margin-top:3px}.checkbox-primary,.radio-primary{position:relative;display:block;vertical-align:middle}.checkbox-primary.inline-block,.radio-primary.inline-block{display:inline-block}.checkbox-primary.inline-block+.inline-block,.radio-primary.inline-block+.inline-block{margin-left:15px}.checkbox-primary>input,.radio-primary>input{position:absolute;top:0;left:0;z-index:3;width:100%;height:100%;margin:0;opacity:0}.checkbox-primary>label,.radio-primary>label{display:block;height:20px;padding-left:20px;margin:0;font-weight:400;line-height:20px;cursor:pointer}.checkbox-primary>label:after,.checkbox-primary>label:before,.radio-primary>label:after,.radio-primary>label:before{position:absolute;top:3px;right:0;left:0;display:block;width:14px;height:14px;line-height:14px;text-align:center;content:' ';border-radius:3px}.checkbox-primary>label:after,.radio-primary>label:after{z-index:1;border:1px solid #d9dbe1;border-color:rgba(0,0,0,.15);-webkit-transition:.4s cubic-bezier(.175,.885,.32,1);-o-transition:.4s cubic-bezier(.175,.885,.32,1);transition:.4s cubic-bezier(.175,.885,.32,1);-webkit-transition-property:border,background-color;-o-transition-property:border,background-color;transition-property:border,background-color}.checkbox-primary>label:before,.radio-primary>label:before{top:3px;z-index:2;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-weight:900;font-variant:normal;line-height:1;text-transform:none;content:"\e5ca";opacity:0;-webkit-transition:.2s cubic-bezier(.175,.885,.32,1);-o-transition:.2s cubic-bezier(.175,.885,.32,1);transition:.2s cubic-bezier(.175,.885,.32,1);-webkit-transition-property:opacity,-webkit-transform;-o-transition-property:opacity,-o-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform,-o-transform;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#22c98d;border-color:#22c98d;border-width:4px}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.checkbox-primary input:indeterminate+label:before,.checkbox-primary.indeterminate>label:before,.radio-primary input:indeterminate+label:before,.radio-primary.indeterminate>label:before{top:9px;left:3px;width:8px;height:2px;content:' ';background-color:#a3a2bc;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#22c98d;-webkit-box-shadow:0 0 0 3px rgba(34,201,141,.2);box-shadow:0 0 0 3px rgba(34,201,141,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#22c98d}.checkbox-primary.checkbox-right>label,.radio-primary.checkbox-right>label{padding:0 30px 0 0}.checkbox-primary.checkbox-right>label:after,.checkbox-primary.checkbox-right>label:before,.radio-primary.checkbox-right>label:after,.radio-primary.checkbox-right>label:before{right:0;left:auto}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5!important;border-color:#bbb!important}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb!important}.radio-primary>label:after{border-radius:50%}.radio-primary>label:before{top:7px;left:6px;width:6px;height:6px;content:' ';border:none;border-radius:50%}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:transparent;border-color:#22c98d;border-width:2px}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#22c98d}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:transparent;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li>a{position:relative;border:none!important;border-radius:2px!important}.nav-tabs>li.active>a{font-weight:700;color:#313c52!important}.nav-tabs>li.active>a:before{position:absolute;right:0;bottom:-1px;left:0;display:block;height:2px;content:' ';background:#2e7fff}.nav-tabs-primary>li.active>a{color:#1e6aeb!important}.nav-steps{height:29px;text-align:center}.nav-steps>ul{display:inline-block;margin:0}.nav-steps>ul>li{position:relative;background-color:#fff}.nav-steps>ul>li.active>a{color:#fff;background-color:#18a6fd}.nav-steps>ul>li>a{min-width:119px;padding:5px 20px;text-align:center;border:1px solid transparent;-webkit-transition:none;-o-transition:none;transition:none}.nav-steps>ul>li>a:hover{background-color:transparent}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#2e7fff}.nav-steps>ul>li+li>a{padding-left:34px}.nav-steps>ul>li+li:after,.nav-steps>ul>li+li:before{position:absolute;top:0;left:0;width:-1;height:0;content:' ';border-color:transparent transparent transparent #a6aab8;border-style:solid;border-width:15px 0 15px 15px}.nav-steps>ul>li+li:after{left:-2px;border-left-color:#fff}.nav-steps>ul>li.active+li:after{border-left-color:#18a6fd}.nav-steps>ul>li:hover{background-color:#eceef3}.nav-steps>ul>li:hover+li:after{border-left-color:#eceef3}.nav-steps>ul>li.active:hover+li:after{border-left-color:#2e7fff}.nav-steps.editor-steps-advance>ul>li:last-child:after,.nav-steps.editor-steps-advance>ul>li:last-child:before{display:none}.nav-steps.editor-steps-advance>ul>li:last-child>a{padding-left:19px}.panel{position:relative;margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}.panel-body{padding:20px}.panel-body.has-table{padding:10px}.panel-body.has-table .table{margin-bottom:0;table-layout:fixed}.panel-heading{padding:12px 48px 12px 20px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading+.panel-body{padding-top:0}.panel-title{font-size:14px;font-weight:700;line-height:20px}.panel-title .label{top:-1px}.panel-actions{position:absolute;top:0;right:0;padding:7px 8px}.panel:hover .panel-actions{z-index:10}.panel-actions>li>a{display:inline-block;min-width:30px;padding:0 5px;line-height:30px;color:#a6aab8;text-align:center;border-radius:4px}.panel-actions>li>a:hover{color:#313c52;text-decoration:initial;background-color:#f1f1f1}.panel-actions .btn-icon{color:#a6aab8}.panel-actions .btn.text-primary{color:#2e7fff}.panel .empty-tip{padding:30px 10px 50px;font-size:14px;color:#838a9d;text-align:center}.progress-text-left{position:relative;margin:7px 0;margin-left:35px;overflow:visible}.progress-text-left .progress-text{position:absolute;top:-7px;left:-35px;display:block;width:35px;height:20px;padding-right:5px;line-height:20px;color:#838a9d;text-align:right}.chart-color{width:20px}.chart-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.chart-row{margin-top:10px}.chart-row+.chart-row{padding-top:10px;border-top:1px solid #eee}.chart-wrapper{padding:10px 5px;background:#eee}.chart-wrapper>h4{margin:5px 0 10px}.table-wrapper{max-height:250px;overflow:auto}.table-wrapper .table{margin:0}.progress-pie{position:relative}.progress-pie canvas{display:block}.progress-pie .progress-info{position:absolute;top:0;left:0;width:100%;height:100%;padding-top:25px;text-align:center}.progress-pie .progress-info>small{display:block;line-height:14px;color:#a6aab8}.progress-pie .progress-info>strong{display:block;font-size:36px;line-height:40px}.progress-pie .progress-info>strong>small{font-size:20px}.progress-pie-120 .progress-info{padding-top:30px}.progress-pie-120 .progress-info>small{line-height:18px}.progress-pie-50 .progress-info{padding-top:4px}.progress-pie-50 .progress-info>strong{font-size:20px;font-weight:400}.progress-pie-50 .progress-info>strong>small{font-size:14px}.progress-pie[data-value="100"] .progress-info>strong{-webkit-transform:scale(.7);-ms-transform:scale(.7);-o-transform:scale(.7);transform:scale(.7)}.progress-pie-24 .progress-info{right:-10px;left:-10px;width:auto;padding-top:0;font-size:12px;line-height:24px;-webkit-transform:scale(.9,1);-ms-transform:scale(.9,1);-o-transform:scale(.9,1);transform:scale(.9,1)}.progress-pie-24[data-value="100"] .progress-info{-webkit-transform:scale(.8,1);-ms-transform:scale(.8,1);-o-transform:scale(.8,1);transform:scale(.8,1)}.progress-pie-26 .progress-info{right:-10px;left:-10px;width:auto;padding-top:0;font-size:12px;line-height:26px;-webkit-transform:scale(.9,1);-ms-transform:scale(.9,1);-o-transform:scale(.9,1);transform:scale(.9,1)}.progress-pie-26[data-value="100"] .progress-info{-webkit-transform:scale(.8,1);-ms-transform:scale(.8,1);-o-transform:scale(.8,1);transform:scale(.8,1)}.status-bars{display:table;width:100%;height:140px;padding:5px;padding-top:50px;margin:0;overflow:hidden}.status-bars>li{position:relative;display:table-cell;text-align:center;vertical-align:bottom}.status-bars .bar{position:absolute;bottom:20px;left:50%;display:block;width:10px;margin-left:-5px;background:#2e7fff;border-radius:5px 5px 0 0}.status-bars .bar:after{position:absolute;right:-50px;bottom:0;left:-50px;display:block;height:1px;content:' ';background:#eee}.status-bars .title{font-size:12px;font-weight:400;color:#a6a8b6}.status-bars .value{position:relative;top:-20px;left:-20px;display:inline-block;width:50px;font-size:16px;font-weight:700;text-align:center}.status-bars-h{display:block;padding-right:50px;padding-left:60px;list-style:none}.status-bars-h>li{position:relative;height:40px;border-left:1px solid #eee}.status-bars-h .bar{position:relative;top:15px;display:block;height:10px;line-height:20px;background:#2e7fff;border-radius:0 5px 5px 0}.status-bars-h .title{position:absolute;top:-5px;left:-60px;width:60px;padding-right:10px;font-size:12px;color:#a6a8b6;text-align:right}.status-bars-h .value{position:absolute;top:-5px;right:-50px;display:block;width:40px;font-size:14px;font-weight:700;text-align:left;white-space:nowrap}.ring,[class*=" ring-"],[class^=ring-]{width:24px;height:24px;font-size:12px;line-height:24px;text-align:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACZAAAAAwCAMAAACyyT3hAAAAP1BMVEUAAAAAAAA5rm06sG87snE4q200o2o7sG86r244q2w6r244rWw7snA7sG86rG05rm07snA5qWw7sW86sG48s3ECZypFAAAAFHRSTlMACl2b8TkPtnsqj0fVv4Zt4RrIqxUkbyYAAA1gSURBVHja7NrbbtswEIRhmyJ1IiVS0v/+z9rCbeGkdZodNEnVdHmTxP4wmF1exLB9eXCu12tqLX39cTGcm78use2z5Msx19wLfunGpOZvSv4xh/798tt+dKPSZ+jGMNn9/pWnXp1X7f9e+ynf53Xv3r37j/bLyfq4/1u+n8T8VI8jLWY/hbEbSjT76+2ssH77zeyBJHooom9dkHzssuQ5wvau+YuWz141/87zMoTewP9kP+7d2/31ZPln82e7L/fuP9LnJPk+DDDb/TQvEaDc/1//vk9Yvrl7vmHa+ztk347BXwcA1UMRPXCIfq+b5Jm3d82PneY5guSHG1fmVfu/837m5N69e/fu3T89fRZ9bRTBpyMCLFa/zfG7CU98l1/M/+EBS/59PT//bfD9lCS/pbAeR7bnb1OqC7AI+QWAkiz5Kdd1B6BVLb8Fk891Poox/7bPUNcIwGHrM3YDAHu1zyv0yWHcjfNen++nWvsvANC5d6/468nyz+bPdl/u3es+NFbFjw1A8BGAPUv5xGFMz/382HcAsNy+W9Sb9/PwwbP4ra5J8WluQDb7qQ4Ayybl05nnrQVgSFafB4AyWfvPEaBT57X2Seu3ecX9HBfN75t79+7du/+sPnVBy++A1e6nHaAEsz9ufk7W/gUgrvmBP/pf/bYDtDlp+/x8j4du1XwBFsHvQMlW348NIJjz0yH5bbz1n7R5m71/bUAL2n5iMueHAYjZvXv37t1/Tp8bJMFPDYhCfgTa2Ft9aEDJ5vzUbvnbC3562GcI5j6vf3T43/h+hlnJnwFGs99WgGDPv/lq9yPQsjCv1mcT/aUDGEVf3bt37979v+DH1kk+RIiCrwCz0AeI82bvc8vvzT5HYP1NfnjQv3uL/d+f/X/8ljUfGiD4ChDsPkcgCX0iUMX8UfDDw/6Xl+fV+q8Awb373/rLyfLP5s92X+4/rQ8QFV+BmO0+AyTND0nqT1H6xFf715/zWe35l5fXf3/e/YtnGugUnxsQhD47sNl9Klp+ipq/DmL/ovXPAJN79+7du/9on5dV80An+BEoye4nYLhofu/tPgAtafO26RWfn/chv9F93YX7N/PTDoOSHzW/LVA2Ib9Am+y+34Es5DdYlHmB2Lt37969+4/1fYQs+KlB6e0+Acsm9CnQXTQfJ61PTMI+dyiv99me7pO3u6+7cf9mvj/Ikgc6xRfNXyIcgt8KLIoX+0/A4d69e/fu/8znoPkOBsH3O8Qk5C8wiH12xR9AFvwAUfEzREOf/Wmf6Q3v967cv52fNJ+BIPgg+gmogk/xmb9a+lex/+ze/WN/PVn+2fzZ7sv93/MVVsUHIAn+AKrgV4hK/gxsYv+q7Ycg+AxMFt/d+9vy/QXZP+RHCIrvoGyCr9B6wa/QNq3/ftHyye7df2HP3pbQBKIgihqGmzKA4P7/b02lTOX2EncSEky1z8uungPosYyPj/8Nv8Mk/HaHm/Adzk/AIvy1hUb4vkKR5y0yf33Nd+K89vo+Xfy/81Oj/FahmPwBRuH7CjeTX6GRfUp8fHx8/Fc/UpRvoBpf4L4ZL/MfsLvzUoxfgM6e1/V5vNjn9jl/eLV/FrL/2DcwS1+lZxN+9X3a+Pj4+Pgvvm9B5Q8wyvxV+K11+VdgMv2r810LRZ63MX1m6IwX+ep+eMr49/HL3ChfoTF+eD65r/q+wiTy+zus8fHf+8vJ8s/mz3a94n/im075FarxE7Sby2975+8mf5T9G9gvLp/O9Jf5nfHNcz6vzzMLWfyX1wiz8Ss8ZP5g/A32+Pj4+P/XP0D5GRbjC9xkfjF+l/lV9h9gtP2PnOfN9JntfMQPsCeN/3/9dmc2/gqtym+d74BrfHx8/P/q+xaM34CryZf+CnTCT9Ca/A7YnG+N71V/P89La/r7eZ5pIYj/x35aNuUH6IzfpZ+hiY+Pj38X35dF+Ql241eoxncwGD/K/EbmL8r7/En2X+X8J99/dveb+4L/EB//zX+Wo/EFVunH+Pj4+HfxI0zG3+BmfIHF+AaKzB/VeU+Wv8BwZJ/14P56IbvEx39+bdDIBa4YP8bHx8e/kS/QGb/DZPwDVuMXGGV+Y3yR+QM+X/py5HlvB/e3C1l8/Fe/TYZfJtjNGxoY4uN/8JeT5Z/Nn+16vbVf7kX5Ga7GV+iM32Ey/gHNkfnDyfJnWA+d58H9L+aB/4Tj43/Vb4DxHdT4+Pj4f+WhVb7CZnwrfYWr8Tt0xt9lfj1ZfoVJedvn4P5ZyOL/nn+wGN9DGx8fH/+vPKB8630f/0f9drI+ymchiz+vB5Q/4Qd6fHz8efxCycIU/5G9e9lRHAaAKEr7kZi8nIT7/986UlatWaWGCbjpYn1UKizAQU7sZr0vyOzb9QkUv8Ek+qT4u77ksYv5q5g/tZQv91F9g0ta9j/Loy8RZnv7795LlvYf4b/U/JgWccLur/xBH2EXfbw4v28pP8B8cZ9HgzfR27/Tj9utpZvK7e2f8W09tWdv/8S+aBmi4OWnPis8FF+gKD7o+VHM78X8QfGD3uch+qG1bQ7s3+sDbIqPUEVf7O2/+5a2vWhqHyx7+++vUbwAGsQJfhEnjAhB8UXPLy3l97BcOgF7Y2H7v3yBeuVGqcXe/oW+qaN77O2f8jF2it9hVPwE9eKjpYqYH0S/XJk/ieM5i+P5gLG1o3Ls/7PfllE9Gkj0u3r0jb39q3xbE6q9/Qs9pE7wd+BKn4FNyU8wCn4DsuKT5vPF49Phw+k/389Mm+IT3DWf5MOh7e1f5G/n1ywPaW//MR4eil9EP0AU83sxf1d8Ub3YJ4q+iONZYRDHZ7b/aX6GovgIVfG9kr8ffYbz+fb2z/nbTZnw7O2f8V9N9clV8hMEwW8JRsF3q5i/QlX676rX+mSgqPmKnyGr42n/dh/mRfEjTIoP0Kv53Vlfj/z1tA/29s/5039hDmdv/2s9pE7wBXolv+r5aRP8CIh+UvpHSFnwQXy/GeabmG//fj9DUPyk+Q0IYp+q+ATB3v4lvqkJz96+ZR+pip8gCH5bIUr5ot/hofgIRfAZWK58vzMUxfcw2F/hQ1D8ANMm+Aq9mt8JPsB0Mj8e+UIfe/vn/Olv5KHs7e3P+QC74gdY75onC34BRsFXSEqfCFOn+XUT/KDnk+0v8AGK4LcJouC7FQYlf4VF6b9DEb4vmfP97X+HX859fvT843Vq880D2dv/o7811udyv0AV/IjmK/AQfE6wKB4YxD5B8AGoYp9R8AsQ7f+0a287bsJQFIapTxxssA3/+z9rJVS1VVOmezeDOp1s7mI+LS1bxJZChH7WeAdkpXcKX4Gs8yHqPFXyfC4/jspNlG/+VbyTPD/6/G+X9EAyb9681Dun8SMcCh8D7Enu0wirpk/T+QyMGh90fgiwKPvs5oU+45PCH4DGeyjK/KDpv0Lpyv7z237mp+/jDmRBvvnX8YLn5y/yxd/gU5g3b/4enyF0uU8FWpT7vgIKf56JSe5jgNY1XtlnV+5XQOjmhf6AfVb4AkGR3wuMXe7nBrsiPwN7evf+3xN7AAR9zJt/yst3uPO+efPmb/LbmhXeAwofCzAp8kcgyn0qyj4NcHLflfkzr+494yz3DmhZ7mdgH3T5JSp91/lxeL/+GWC++HyZb/6lfL72+Yl80d8OztvmzYv8I/9gff5/H6DKfQ6ofARwCj+i61MAp+sfstw7gPrZfO4KDzQn9w5A4TMQZrmvQFDkT0DIuv5j1Hku87eH1aiC9TH/Yn678tsT+Vdn5uM98+bNfxDvwyT3KUBwcr/o9oe+BJVPZ76T529AyBf+8jz9bH6BJYn9BLDI8x3A1nX5VZ6fGzAp+yxJ6ZX9t+ufn6m/W5+3+pt/Oe+vnx99/tWxYOM2buOfanyGluU+AHuX+jQ1IERxfi5Ac1Lfz/wmzk9uBML8P/jNO7lfgSL3sQC73DuANiWpzwA+i/Pns//UxflNN1/XgFaTuE8D1sv8/OADMLrLfPPmn/JXO/qX3w+aN2/+P/X1iHK/AZM43xWAsQt9XE5/zEKftwBQoji/nfnpH/m41S72GQg+Cn1aAcZpluYvqPLjCFCqdL59B1jFfvAAYZH2j8r5dq+b77Bd+70/8nQAtOX3+ebNP+Wvd9zz+vWjefNaP3ywPuZFfqNluQcIm9DnndNPIh+nMQDQJL5HN/kVAJY/+TinJPX5OCYXhX4F1hrnPgh8LAAUaX5tnH6rWdTfNXX+yZeaRd4DELaaZetZdwBGf/N8Jyfz+Wp9/Buv8mF97G/e/JP+egt6vAbz5s2/is9J4QthEvsVIBxR5F2A0y9d4Avwzfv8Jw8g9gXk/gDkvtdd5xfuzfdB5d2Iyg9uvHe+PrzD+izxyueLfPPmn/OaLXoYzJv/az98sD7m39XHrPAe1pqEfgUI6zJL/AYAsNc/94mA3O+g8M43lc8+aPxcR+7M73VH5aei7cOd8011fW59Vve2f1wf8+bv84+vmsybN2/+Xfzc5b4fR43i/DWU0U9uFvlpb0HsU578WOR+iJNfFb4r85Nbjjvz58kfe1N4p+wf3Xbsyvmq+9+4Ps68+dv8V5yOdlOUBd3vAAAAAElFTkSuQmCC);background-position:0 0;-webkit-background-size:1224px 24px;background-size:1224px 24px}.ring>span,[class*=" ring-"]>span,[class^=ring-]>span{display:inline-block;-webkit-transform:scale(.9,1);-ms-transform:scale(.9,1);-o-transform:scale(.9,1);transform:scale(.9,1)}.messager{border-radius:4px;-webkit-box-shadow:0 4px 16px rgba(0,0,0,.2),0 2px 8px rgba(0,0,0,.1);box-shadow:0 4px 16px rgba(0,0,0,.2),0 2px 8px rgba(0,0,0,.1)}.messager-icon{vertical-align:middle}.messager-icon>.icon{font-size:24px}.messager-content{padding:18px 20px;font-size:18px;line-height:30px}.messager-content>.icon{font-size:28px;line-height:30px}.messager-actions{vertical-align:middle}.messagger-zt{color:#313c52;background-color:#fff!important}.messagger-zt .messager-icon>.icon{color:#2e7fff}.messagger-zt .messager-actions>.action{color:#838a9d}.messagger-zt.messager-success .messager-icon>.icon{color:#22c98d}.messagger-zt.messager-danger .messager-icon>.icon{color:#fc5959}.messagger-zt.messager-warning .messager-icon>.icon{color:#ff9f46}.messagger-zt.messager-info .messager-icon>.icon{color:#37b2fe}.tree{padding-left:0;overflow:hidden}.tree ul{position:relative;display:none;padding-left:0}.tree li{position:relative;padding:2px 0 2px 15px;list-style:none}.tree li.heading{padding-left:5px;color:#313c52}.tree li>a{display:block;max-width:90%;padding:2px 6px;color:#313c52;word-break:break-all}.tree li>a:hover{color:#313c52}.tree li>a.tree-toggle:hover{background:0 0}.tree li.active>a{position:relative;font-weight:700;color:#2e7fff}.tree li>.list-toggle{position:absolute;top:1px;left:1px;z-index:10;width:20px;font-size:14px;line-height:22px;color:#cbd0db;text-align:center;cursor:pointer;-webkit-transition:all .2s;-o-transition:all .2s;transition:all .2s}.tree li>.list-toggle:before{content:"\f0da"}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#2e7fff}.tree li.has-active-item>.list-toggle{color:#313c52}.tree li.has-list.open>ul{display:block}.tree li.has-list.open>.list-toggle{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.tree li.has-list.open:before{position:absolute;top:16px;bottom:-5px;left:10px;display:block;content:' ';border-left:1px solid #d8d8d8}.tree-actions{display:inline-block;margin-left:5px;vertical-align:middle}.tree-actions a{display:inline-block;margin-left:5px;font-size:13px;opacity:.6}.tree-actions a:hover{opacity:1}.tree li>.module-name{color:#313c52;vertical-align:middle}.tree li>.module-name:hover{background-color:#f0f2f5}.tree li>.module-name:hover>a{color:#313c52}.treemap-node-fold-icon:before{position:relative;left:-4px;min-width:18px}.dropdown-menu{padding:5px 0;border-color:rgba(0,0,0,.1)}.dropdown-menu>li{padding:0 10px}.dropdown-menu>li>a{padding:2px 10px;margin:5px 0;border-radius:3px}.dropdown-menu>li>a>.icon{position:relative;left:-5px;opacity:.5}.dropdown-menu>li>a:hover>.icon{opacity:.8}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{position:relative;color:#fff;background-color:#18a6fd}.dropdown-menu>li.selected>a:after{position:absolute;top:2px;right:4px;display:block;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;line-height:20px;text-transform:none;content:"\e5ca";speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dropdown-menu>li.divider{margin:10px}.dropdown-submenu>a:after{margin-right:-5px}.dropdown-submenu>.dropdown-menu.pull-left{margin-left:-1px}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#e6f0ff}.dropdown-submenu:hover>a:after{border-left-color:#2e7fff}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager .btn{padding:3px 10px}.pager .btn .caret{opacity:.7}.pager>li>.pager-label{padding:2px;line-height:20px}.pager>li>.pager-item{min-width:20px;padding:1px;margin:2px 0;font-size:16px;line-height:20px;text-align:center;background:0 0;border-color:transparent}.pager>li>.pager-item:hover{background-color:rgba(0,0,0,.1)}.pager>li>.pager-item>.icon{position:relative;top:-1px}.pager>li>.btn:hover,.pager>li>a:hover{background:rgba(0,0,0,.1)}.pager>li.disabled>a.pager-item{background:0 0;border-color:transparent;opacity:.5}.pager>li.active>a{background-color:#18a6fd}.pager>li .btn-group .btn{padding:1px;margin:1px 0;border-radius:4px}.pager .dropdown-menu{width:200px}.pager .dropdown-menu>li{float:left;width:33.333333%}.modal-dialog{width:900px;max-width:1360px;border:none;border-radius:0;-webkit-box-shadow:0 0 20px 0 rgba(0,0,0,.25);box-shadow:0 0 20px 0 rgba(0,0,0,.25)}.modal-dialog.modal-md{width:700px}.modal-dialog.modal-xs{width:400px}.modal-dialog.modal-sm{width:500px}.modal-dialog.modal-lg{width:1200px}.modal-dialog.modal-fullscreen{position:fixed;max-width:initial}.modal-header{padding:20px 0;margin:0 20px}.modal-header>.close{color:#838a9d;text-shadow:0 1px 0 rgba(255,255,255,.85);opacity:1}.modal-header>.close:hover{color:#0b0f18}.modal-footer{padding:20px 0;margin:0 20px}.modal-title{font-size:14px;font-weight:400;line-height:20px}.modal-actions{position:absolute;top:16px;right:16px}.modal-actions .divider{position:relative;top:5px;display:inline-block;width:0;height:20px;margin:0 10px;border-left:#eee 1px solid}.modal-actions>.dropdown{display:inline-block}.modal-body{padding:20px}.modal-iframe .modal-body>iframe{border-radius:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-3%);-ms-transform:translate(0,-3%);-o-transform:translate(0,-3%);transform:translate(0,-3%)}.modal.fade.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-simple .modal-footer{padding-top:0;border-top:none}.modal-iframe .modal-header{position:relative;z-index:10;min-height:0;padding:0;border:none}.modal-iframe .modal-title{display:none}.modal-iframe .modal-header .close{position:absolute;top:12px;right:10px;font-size:32px;font-weight:200}.modal-iframe .modal-dialog{overflow:hidden}.modal-inverse .modal-header>.close{color:rgba(255,255,255,.7);text-shadow:none}.modal-inverse .modal-header>.close:hover{color:#fff}.modal-scroll-inside>.modal-dialog{max-height:100%}.hide-modal-close .modal-iframe .modal-header .close{display:none}.tile{text-align:center}.tile-title{line-height:20px;color:#313c52}.tile-amount{font-size:32px;font-weight:700;line-height:56px}.timeline>li{position:relative;list-style:none}.timeline>li:before,.timeline>li>a:after,.timeline>li>div:after{position:absolute;left:-20px;display:block;width:15px;height:15px;content:' ';border-radius:50%}.timeline>li:before{top:12px;left:-16px;z-index:3;width:7px;height:7px;background-color:#c4c4c4;border:none;border:1px solid #c4c4c4}.timeline>li>a:after,.timeline>li>div:after{top:11px;left:-17px;z-index:3;width:9px;height:9px;background-color:#2e7fff;border-radius:50%;opacity:0}.timeline>li+li:after{position:absolute;top:-12px;bottom:20px;left:-13px;z-index:1;display:block;content:' ';border-left:1px solid #eee}.timeline>li.active>a:after,.timeline>li.active>div:after{opacity:1}.timeline>li.active:before{top:8px;left:-20px;width:15px;height:15px;background-color:rgba(46,127,255,.2);border:none}.timeline>li>a,.timeline>li>div{display:block;padding:5px;line-height:20px}.timeline>li.active>a{color:#313c52}.timeline-tag{position:absolute;top:5px;left:-115px;font-size:12px}.timeline-tag-left{padding-left:115px}.timeline-sm{font-size:12px}.timeline-sm>li:before,.timeline-sm>li>a:after,.timeline-sm>li>div:after{top:10px;left:-20px;width:11px;height:11px}.timeline-sm>li.active:before,.timeline-sm>li:before{top:10px;left:-18px;width:11px;height:11px;background:0 0;border:1px solid #eee}.timeline-sm>li>a,.timeline-sm>li>div{line-height:20px}.timeline-sm>li>a:after,.timeline-sm>li>div:after{top:13px;left:-15px;width:5px;height:5px}.form-control{-webkit-box-shadow:none;box-shadow:none}.form-horizontal .form-group>label{padding-right:0}.form-actions{margin-top:20px;margin-bottom:0}.form-actions .btn{margin-right:10px}form label{font-weight:400;color:#313c52}.form-group .btn+.btn{margin-left:5px}.table-form{margin-bottom:0;table-layout:fixed}.table-form>thead>tr>th.required:after{position:relative;top:3px;right:auto;left:4px;display:inline-block;vertical-align:middle}.table-form>tbody>tr>td,.table-form>tbody>tr>th,.table-form>tfoot>tr>td,.table-form>thead>tr>th{padding:7px;vertical-align:middle;border-bottom:none}.table-form>tfoot>tr>td{padding:20px 7px 10px}.table-form>tbody>tr>th{width:100px;font-weight:700;text-align:right}.table-form .input-group{width:100%}.chosen-container-single .chosen-single{position:relative}.chosen-container-single .chosen-single>span{height:20px;line-height:20px;word-break:break-all;white-space:normal}.chosen-container-single .chosen-single div b{position:relative;top:1px;color:#cbd0db;opacity:1}.chosen-container-single .chosen-search:before{top:8px;right:15px}.chosen-container-multi .chosen-choices li.search-choice{font-size:13px;background:#eee;border-color:#cbd0db;-webkit-box-shadow:none;box-shadow:none}.chosen-container-single .chosen-search input[type=text]{height:30px;padding:3px 25px 3px 5px}.chosen-container-single .chosen-search{padding:3px 10px 0}.chosen-container-single .chosen-single{overflow:visible}.chosen-container .chosen-results{max-height:245px;padding:10px}.chosen-container .chosen-results>li{border-radius:4px}.chosen-container .chosen-results li.highlighted em{color:#fff}.table-responsive .chosen-container .chosen-results{max-height:200px}.picker>.picker-selections>.picker-selection>.picker-selection-text{word-break:break-word}.chosen-container .chosen-drop.chosen-no-wrap>.chosen-results>li,.picker-drop-menu>.picker-option-list>.picker-option .picker-option-text{text-overflow:clip;white-space:nowrap!important}.picker-drop-menu>.picker-option-list>.picker-option .picker-option-text{display:block;overflow:hidden;word-break:break-word}.chosen-compact.chosen-container-single .chosen-single>.chosen-search{top:-2px;right:-1px;bottom:-1px;left:-1px;display:none;height:auto;padding:0;opacity:0}.chosen-compact.chosen-container-single .chosen-single>.chosen-search>input{height:31px;padding:5px 26px 5px 8px;font-size:inherit;line-height:20px}.chosen-compact.chosen-container-single .chosen-single>.chosen-search:before{right:8px}.datetimepicker{padding:10px}.datetimepicker td.day.today{background-color:#fc7272}.datetimepicker td.day.active{background-color:#18a6fd}.datetimepicker tfoot th,.datetimepicker thead th{color:#838a9d}.input-control .colorpicker{top:0;z-index:auto;opacity:1}.input-control .colorpicker .btn{padding:5px}.input-control .input-control-icon-right.btn{top:0}.colorpicker .dropdown-menu{min-width:232px;padding:5px 10px 10px 10px}.colorpicker .dropdown-menu>li{display:block;float:left;padding:5px}.colorpicker .dropdown-menu>li.heading{width:100%;margin-bottom:5px;font-size:16px;font-weight:700;text-align:left}.colorpicker .dropdown-menu>li.heading>.icon-close{position:relative;top:4px;float:right;cursor:pointer;opacity:.6}.colorpicker .dropdown-menu>li>a{position:relative;display:block;width:100%;height:100%;padding:0;margin:0;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-align:center;text-transform:none;border:1px solid transparent;border-radius:50%;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.colorpicker .dropdown-menu>li>a:before{position:absolute;top:0;display:block;width:100%;height:20px;line-height:18px}.colorpicker .dropdown-menu>li>a:hover{-webkit-box-shadow:0 1px 4px rgba(0,0,0,.25);box-shadow:0 1px 4px rgba(0,0,0,.25)}.colorpicker .dropdown-menu>li>a.active:before{font-size:14px;content:"\e5ca"}.colorpicker .dropdown-menu>li>a.empty{color:#666;background:#fff}.colorpicker .dropdown-menu>li>a.empty:before{content:"\e90d"}.colorpicker .btn{position:relative}.colorpicker .btn .color-bar{position:absolute;right:5px;bottom:3px;left:5px;height:3px}.colorpicker .btn .color-bar[style*='background: ']+.ic{position:relative;top:-2px}.colorpicker .btn .ic{color:#cbd0db}.colorpicker .btn:hover .ic{color:#838a9d}.input-group .colorpicker{z-index:3}.input-group .chosen-container{display:table-cell}.input-group-addon{border-right-width:0;border-left-width:0}.input-group-addon:first-child{border-left-width:1px}.input-group-addon:last-child{border-right-width:1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin:0}.input-group-cell{display:table-cell;width:1%;padding:0 12px;white-space:nowrap;vertical-align:middle}.ke-container{border-color:#dcdcdc!important;border-radius:2px!important}.ke-container.focus{border-color:#2e7fff!important}.ke-toolbar{border-color:#dcdcdc!important}.required:after{top:6px;right:-10px;font-size:20px}td.required:after{top:12px;right:-5px}.input-group>.chosen-container.required:after,.input-group>.input-control.required:after{top:1px;right:1px;z-index:2}.input-group.required .required:after{display:none}.file-input{position:relative;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.file-input .input-group{width:auto}.file-input .input-group>.input-group-cell:first-child{padding-right:0;padding-left:7px}.file-input input[type=file]{position:absolute;width:0;height:0;opacity:0}.file-input .file-title{display:inline-block;max-width:400px;overflow:hidden;text-overflow:unset;white-space:nowrap;vertical-align:middle}.file-input .file-editbox{min-width:200px;max-width:100%}.file-input .file-size{display:inline-block;vertical-align:middle}.edit .file-input-empty,.file-input-edit,.file-input-normal,.normal .file-input-empty{display:none}.edit .file-input-edit,.normal .file-input-normal{display:block}.edit .file-input-edit.input-group,.normal .file-input-normal.input-group{display:table}.edit .file-input-normal{display:none!important}.file-input-normal>.input-group-btn{width:auto}.input-group .chosen-container-active .chosen-choices{border-color:#2e7fff!important}.input-group .chosen-container{min-width:100px}.input-group .input-group-btn .btn>.icon{line-height:17px}.os-mac select.form-control{-webkit-appearance:none;background-image:url(data:image/gif;base64,R0lGODlhCQAFAIAAAMvQ2////yH5BAEAAAEALAAAAAAJAAUAAAIKhH+BGYoNGWxgFgA7);background-image:url(data:image/gif;base64,R0lGODlhBwAEAIAAAMvQ2////yH5BAEAAAEALAAAAAAHAAQAAAIIhA+BGWoNWSgAOw==);background-repeat:no-repeat;background-position:right 5px top 12px;-moz-appearance:none}input::-webkit-contacts-auto-fill-button{position:absolute;right:0;display:none!important;pointer-events:none;visibility:hidden}.chosen-choices.has-error,.chosen-single.has-error,.form-control.has-error{border-color:#fc5959!important;-webkit-box-shadow:0 0 6px #febdbd!important;box-shadow:0 0 6px #febdbd!important}.popover-success.popover-form-result{font-weight:700;color:#fff;background:#22c98d}.popover-success.popover-form-result.popover.right .arrow:after{border-right-color:#22c98d}textarea.kindeditor{padding:0!important}.form-unsaved{outline:2px solid #ff9f46;-webkit-box-shadow:0 1px 12px #ff9f46;box-shadow:0 1px 12px #ff9f46;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}select[multiple].picker-select,select[multiple][data-toggle=picker]{max-height:32px;visibility:hidden}.picker-selection-remove:before{font-size:18px}.picker-user-option{position:relative;padding-left:40px}.picker-user-option>.avatar{position:absolute;top:5px;left:10px}.picker-user-option>.picker-option-text{display:inline-block;min-width:40px;font-weight:700}.picker-user-option>.dept-name,.picker-user-option>.role-name{display:inline-block;margin-left:10px;font-size:12px;opacity:.6}.picker-user-option>.dept-name{min-width:50px}#mainHeader{height:50px;color:#fff;background:#3785ff;border-top-color:#2e7fff;border-bottom-color:#e6f0ff}#mainHeader>.container{min-width:1200px;padding:0}#heading{position:absolute;top:10px;left:20px}@media (min-width:1400px){#heading{left:40px}}#heading h1{float:left;max-width:250px;margin:0;overflow:hidden;font-size:20px;font-weight:400;line-height:30px;text-overflow:unset;white-space:nowrap}#heading h1 a{color:inherit;text-decoration:inherit}#heading h1.long-name{position:relative;top:-5px;display:table-cell;font-size:16px;line-height:20px;word-break:break-all;white-space:normal}#heading>.btn{display:block;float:left;height:20px;padding:1px 5px;margin:0;margin:5px 0 0 10px;font-size:12px;font-weight:lighter;line-height:18px;background-color:rgba(255,255,255,.2);border:none}#heading>.btn:hover{background-color:rgba(0,0,0,.1)}#navbar{margin:0 auto;text-align:center}#navbar .nav{display:inline-block}#navbar .nav>li>a{padding:10px;line-height:30px;color:#fff;border-radius:0;opacity:.9}@media (max-width:1400px){#navbar .nav>li>a{padding:10px 8px}}#navbar .nav>li>a:focus,#navbar .nav>li>a:hover{background:rgba(0,0,0,.15);opacity:1}#navbar .nav>li.active>a{font-weight:700;background:rgba(0,0,0,.1);opacity:1}#navbar .nav>li.divider{display:block;width:2px;height:20px;margin:15px 8px;background:rgba(255,255,255,.4)}@media (max-width:1400px){#navbar .nav>li.divider{margin:15px 5px}}@media (max-width:1300px){#navbar .nav>li.divider{margin:15px 3px}}#navbar .nav>li.divider:last-child{display:none}#navbar .nav .dropdown-menu li>a{text-align:left}#toolbar{position:absolute;top:12px;right:20px;font-size:12px;color:#fff}@media (min-width:1400px){#toolbar{right:40px}}#extraNav{text-align:right}#extraNav>li{display:inline-block;float:none;text-align:left}#extraNav>li>a{display:block;padding:0;color:#fff;opacity:.75}#extraNav>li>a:hover{text-decoration:unset;background-color:rgba(0,0,0,.1);opacity:1}#extraNav>li.open>a{background-color:rgba(0,0,0,.1)}#extraNav>li+li{margin-left:10px}#showSearchGo{color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.5)}#searchbox{position:relative;float:left;width:150px}#searchbox .input-group-btn .btn{position:relative;padding:1px 4px;font-size:12px;line-height:20px;color:#fff;background-color:rgba(255,255,255,.15);border-right:none;border-radius:2px}#searchbox .input-group-btn .btn:after{position:absolute;top:3px;right:0;bottom:3px;display:block;width:1px;content:' ';background-color:rgba(255,255,255,.15)}#searchbox .input-group-btn .btn:hover{background-color:rgba(255,255,255,.25)}#searchGo{position:absolute;top:0;right:-1px;z-index:9;min-width:24px;height:24px;padding:2px 3px;font-size:12px;line-height:20px;color:#fff;background-color:#18a6fd;border-radius:2px}#searchGo:hover{color:#fff!important;background-color:#2e7fff}#searchInput{height:24px;padding:2px 30px 2px 5px;color:#fff;text-align:left;background:rgba(255,255,255,.15);border-color:transparent;border-radius:0 12px 12px 0;-webkit-transition:background .2s,border .2s;-o-transition:background .2s,border .2s;transition:background .2s,border .2s}#searchInput:hover{background:rgba(255,255,255,.25)}#searchInput:focus{color:#333;background:#fff}#searchInput::-webkit-input-placeholder{font-size:12px;color:#fff;color:rgba(255,255,255,.5)}#searchInput::-moz-placeholder{font-size:12px;color:#fff;color:rgba(255,255,255,.5)}#searchInput:-ms-input-placeholder{font-size:12px;color:#fff;color:rgba(255,255,255,.5)}#searchInput::placeholder{font-size:12px;color:#fff;color:rgba(255,255,255,.5)}#searchInput:focus::-webkit-input-placeholder{color:#838a9d}#searchInput:focus::-moz-placeholder{color:#838a9d}#searchInput:focus:-ms-input-placeholder{color:#838a9d}#searchInput:focus::placeholder{color:#838a9d}#searchTypeMenu{min-width:220px}#searchTypeMenu>li{float:left;width:50%}#searchTypeMenu>li>a{margin:4px 0}#userNav .avatar{display:inline-block;vertical-align:middle}#userNav>li>a{padding:2px 6px;line-height:20px;color:#fff;opacity:.9}#userNav>li>a .user-name{max-width:100px;overflow:hidden;font-size:15px;text-overflow:unset;white-space:nowrap}#userNav>li>a:hover{background-color:rgba(0,0,0,.1);opacity:1}#userNav>li>a:hover>i{opacity:1}#userNav>li>a span{vertical-align:middle}#userNav>li.open>a{background-color:rgba(0,0,0,.1)}#userNav>li.has-new-items>a{position:relative}#userNav>li.has-new-items>a:before{position:absolute;top:3px;right:-1px;display:block;width:4px;height:4px;content:' ';background-color:#fc5959;border-radius:50%}#userNav .dropdown-menu{min-width:150px}#userNav .dropdown-menu>li>a>.icon{position:absolute;top:10px;right:5px;display:block;width:20px;height:20px;line-height:20px;text-align:center}#userNav .user-profile-item>a{position:relative;padding-left:45px}#userNav .user-profile-item .avatar{position:absolute;top:6px;left:5px}#userNav .user-profile-name{font-size:16px}#userNav .user-profile-role{font-size:12px;color:#a9abb8}#userNav .no-role .user-profile-role{display:none}#userNav .no-role .user-profile-name{line-height:40px}#subHeader{min-height:50px;background:#fff}#subHeader>.container{padding:0 20px}@media (min-width:1400px){#subHeader>.container{padding:0 40px}}#pageNav{position:absolute;top:8px;left:0;left:20px}@media (min-width:1400px){#pageNav{left:40px}}#subNavbar{margin-top:5px;font-size:13px;text-align:center}#subNavbar .nav{display:inline-block}#subNavbar .nav>li>a{padding:8px 12px;line-height:24px;color:#313c52}#subNavbar .nav>li>a:hover{color:#313c52;background-color:rgba(0,0,0,.075)}#subNavbar .nav>li.active>a{font-weight:700;color:#2e7fff}#subNavbar .nav>li.divider{display:block;width:2px;height:20px;margin:9px 5px;background-color:rgba(0,0,0,.05)}#subNavbar .dropdown-menu{text-align:left}[lang=en] #subNavbar>.nav>li>a{padding-right:8px;padding-left:8px}#pageActions{position:absolute;top:9px;right:20px}@media (min-width:1400px){#pageActions{right:40px}}.cell{padding:10px;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}.cell+.cell{margin-top:10px}.cell>.panel{margin:0;-webkit-box-shadow:none;box-shadow:none}.cell>.panel>.panel-heading{padding:5px 5px 10px}.cell>.panel>.panel-heading .panel-actions{padding:0}.cell>.panel>.panel-body{padding:5px}.cell>.table{margin:0}#main{min-width:1200px;padding:20px 0}#main>.container{padding:0 20px}@media (min-width:1400px){#main>.container{padding:0 40px}}#header,#header+#main{min-width:1200px}#mainMenu{margin:-10px 0 8px}.main-content{padding:20px;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}@media (min-width:1400px){.main-content>.center-block{max-width:1350px;padding:20px;border:1px solid #eee}.main-content>.center-block .main-header{background-color:#f1f1f1}}.main-content>h2{margin:0 0 20px}.main-content .cell{-webkit-box-shadow:none;box-shadow:none}.main-header{padding:5px 20px;border-bottom:1px solid #eee}.main-header:after,.main-header:before{display:table;content:" "}.main-header:after{clear:both}.main-header>h2{display:block;float:left;margin:0 10px 0 0;font-size:14px;line-height:34px}.main-header>h2 .label-id{margin-right:5px}.main-header>h2 small{font-size:14px;font-weight:400}.main-content .main-header{margin:-20px -20px 10px}.main-header .label{top:-1px}.main-row{display:table;width:100%;table-layout:fixed}.main-row>[class*=" col-"],.main-row>[class*="-col"],.main-row>[class^=col-]{display:table-cell;vertical-align:top}@media (max-width:720px){.main-row{display:block}.main-row>*{display:block;width:100%}.main-row .side-col{width:100%;padding:0}.main-row .main-col+.side-col,.main-row .side-col+.main-col{margin-top:10px}}.main-row.hide-side .side-col{display:none}.main-form{margin:0}@media (min-width:720px){.main-content>.center-block .main-form{padding-right:20px}}#main .side-col .tabs{padding:5px}#main .side-col .nav-tabs{margin:0 5px 5px 5px}#main .side-col .nav-tabs>li{margin:0}#main .side-col .nav-tabs>li+li{margin-left:10px}#main .side-col .nav-tabs>li>a{padding:8px 5px}#main .side-col .tab-content .tab-pane table{border:none}.main-actions .btn-toolbar{display:inline-block;padding:4px 15px;color:#fff;pointer-events:auto;background:#717171;background-color:rgba(90,90,90,.85);border-radius:4px}.main-actions .btn-toolbar .divider{margin-right:15px;margin-left:15px;border-color:rgba(255,255,255,.1)}.main-actions .btn-toolbar .btn{height:30px;padding-right:10px;padding-left:10px;margin-right:0;color:#fff;background-color:transparent;border:none}.main-actions .btn-toolbar .btn+.btn{margin-left:10px}.main-actions .btn-toolbar .btn:focus,.main-actions .btn-toolbar .btn:hover{background-color:rgba(255,255,255,.2)}.main-actions .btn-toolbar .btn.btn-icon{min-width:32px;padding-right:0;padding-left:0}.main-actions .btn-toolbar .btn+.btn-group{margin-right:0;margin-left:10px}#mainContent .main-col>.main-actions{padding:30px 0 0 0;text-align:center}#mainContent .main-col>.main-actions>.btn-toolbar{visibility:visible;opacity:1;-webkit-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}#mainActions{position:fixed;top:0;right:0;bottom:0;left:0;text-align:center;pointer-events:none}#mainActions .btn-toolbar{position:relative;top:-90px}#mainActions .dropdown-menu{text-align:left}#mainActions>.container{height:100%}.main-actions-holder{display:none}.main-actions-fixed .main-actions-holder{display:block}.main-actions-fixed #mainContent .main-col>.main-actions{position:fixed;bottom:10px}.main-actions-fixed.body-modal #mainContent .main-col>.main-actions{bottom:20px}#nextPage,#prevPage{position:absolute;top:50%;left:-10px;width:40px;height:60px;padding:10px 0;margin-top:-30px;line-height:40px;color:#fff;text-align:center;pointer-events:auto;background:#717171;background-color:rgba(90,90,90,.85);-webkit-box-shadow:0 2px 15px 2px rgba(0,0,0,.05);box-shadow:0 2px 15px 2px rgba(0,0,0,.05)}#nextPage:hover,#prevPage:hover{-webkit-box-shadow:0 2px 15px 2px rgba(0,0,0,.15);box-shadow:0 2px 15px 2px rgba(0,0,0,.15)}#nextPage>i,#prevPage>i{display:block;font-size:18px;line-height:36px}#nextPage{right:-10px;left:auto}@media (max-width:1800px){#prevPage{left:-3px}#nextPage{right:-3px}}#sidebarHeader{position:relative;float:left;width:180px;height:34px;padding-right:20px;margin-right:20px;background:#fff;border-left:4px solid #2e7fff;border-radius:4px 2px 2px 4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#sidebarHeader:after{position:absolute;top:-1px;right:-8px;display:block;width:0;height:0;content:' ';border-color:transparent transparent transparent #fff;border-style:solid;border-width:18px 0 18px 8px}#sidebarHeader .title{padding:0 5px;overflow:hidden;font-size:14px;font-weight:700;line-height:32px;color:#2e7fff;text-align:center;text-overflow:unset;white-space:nowrap}#sidebarHeader .title>a{position:absolute;top:0;right:0;width:20px;opacity:.5}#sidebarHeader .title>a:hover{opacity:1}#sidebar{position:relative;-webkit-transition:width .2s,padding .2s;-o-transition:width .2s,padding .2s;transition:width .2s,padding .2s}#sidebar>.sidebar-toggle{position:absolute;top:0;right:5px;bottom:0;width:10px;cursor:pointer;background:0 0;border-radius:5px;-webkit-transition:background-color .2s,opacity .5s;-o-transition:background-color .2s,opacity .5s;transition:background-color .2s,opacity .5s}#sidebar>.sidebar-toggle>.icon{position:absolute;top:50%;left:-1px;width:12px;height:30px;margin-top:-10px;line-height:30px;color:#fff;text-align:center;background:#7dcdfe;border-radius:6px}#sidebar>.sidebar-toggle>.icon:before{position:relative;left:-1px}#sidebar>.sidebar-toggle:before{position:absolute;top:0;right:-5px;bottom:0;left:-5px;display:block;content:' '}#sidebar>.sidebar-toggle:hover{background:rgba(0,0,0,.075)}#sidebar>.cell{position:relative;left:0;width:180px;-webkit-transition:left .2s,opacity .2s;-o-transition:left .2s,opacity .2s;transition:left .2s,opacity .2s}#sidebar.no-animate>.cell{display:none;-webkit-transition:none;-o-transition:none;transition:none}.hide-sidebar #sidebar>.cell{position:absolute;left:-200px;visibility:hidden;opacity:0}.hide-sidebar #sidebar{position:relative;width:0;padding:0}.hide-sidebar #sidebar>.sidebar-toggle>.icon:before{content:"\e315"}@media (max-width:720px){#sidebar>.cell{width:100%}}#queryBox{max-height:0;padding:0;overflow:hidden;-webkit-transition:cubic-bezier(.175,.885,.32,1) .2s;-o-transition:cubic-bezier(.175,.885,.32,1) .2s;transition:cubic-bezier(.175,.885,.32,1) .2s;-webkit-transition-property:padding,max-height,margin;-o-transition-property:padding,max-height,margin;transition-property:padding,max-height,margin}#queryBox>form{visibility:hidden;-webkit-transition:visibility .2s .2s;-o-transition:visibility .2s .2s;transition:visibility .2s .2s}#queryBox.loading{height:50px}#queryBox.show{min-height:110px;max-height:300px;margin-bottom:10px;overflow:visible}#queryBox.show>form{visibility:visible}#queryBox.divider{border-bottom:1px solid #eee}#main .querybox-toggle.querybox-opened{position:relative;color:#2e7fff;background:0 0;border:none}#main .querybox-toggle.querybox-opened:before{position:absolute;bottom:-14px;left:50%;width:0;height:0;content:' ';border-color:transparent transparent #fff transparent;border-style:solid;border-width:0 10px 10px 10px}#contentNav{padding:5px;background:#fff;border-bottom:1px solid #eee}#contentNav .nav>li>a{position:relative;padding:6px 10px;color:#838a9d}#contentNav .nav>li.active>a{font-weight:700;color:#2e7fff}#contentNav .nav>li.active>a:before{position:absolute;right:10px;bottom:3px;left:10px;display:block;height:2px;content:' ';background:#2e7fff}.body-modal{padding-bottom:0}.body-modal #main,.body-modal .container{min-width:0!important}.body-modal #main{padding:0}.body-modal .main-header{position:fixed;top:0;right:20px;left:20px;z-index:100;padding:13px 48px 13px 0;margin:0;background:#fff}.body-modal #mainContent{padding-top:70px}.body-modal .main-header>h2{max-width:100%;overflow:hidden;font-size:14px;text-overflow:unset;white-space:nowrap}.body-modal .cell,.body-modal .main-content{-webkit-box-shadow:none;box-shadow:none}.body-modal #mainMenu{position:fixed;top:0;right:0;left:0;z-index:100;padding:12px 60px 12px 10px;margin:0;background:#fff}.body-modal #mainMenu>.btn-toolbar.pull-left.divider{display:none}.body-modal #mainMenu>.btn-toolbar{width:100%;margin-left:20px}.body-modal #mainMenu>.btn-toolbar>.divider:first-child{display:none}.body-modal #mainMenu>.btn-toolbar .page-title{width:100%;margin-left:0}.body-modal #mainMenu>.btn-toolbar .page-title>.text{position:relative;top:-2px;display:inline-block;max-width:85%;max-width:-webkit-calc(100% - 100px);max-width:calc(100% - 100px);overflow:hidden;text-overflow:unset;white-space:nowrap;vertical-align:middle}.body-modal #mainMenu+#mainContent.main-row{padding:60px 10px 0}.body-modal #mainMenu+#mainContent.main-row .cell{border:1px solid #efefef;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}.body-modal #mainActions{top:auto}.body-modal #mainActions .btn-toolbar{top:auto;bottom:10px}.body-modal.m-bug-view,.body-modal.m-story-view,.body-modal.m-task-view,.body-modal.m-testcase-view,.body-modal.m-testtask-view,.body-modal.m-todo-view{padding-bottom:20px;border-radius:3px}#tabsNav{position:relative}#tabsNav .tab-pane>.actions{position:absolute;top:-8px;right:0}#tabsNav .tab-pane>.cell,#tabsNav .tab-pane>.main-table{padding:0;border:1px solid #c4c4c4;border-top:none;border-radius:0 0 4px 4px}#tabsNav .tab-pane>.cell .detail-title{padding-left:5px}#helpContent{position:fixed;top:50px;right:0;bottom:40px;left:0;display:none;background-color:#fff}#helpContent .load-error{display:none;padding:20px}#helpContent .show-error .load-error{display:block}#mainMenu>.btn-toobar .btn-link .label-light,#mainMenu>.btn-toolBar .btn-link .label-light,#mainMenu>.btn-toolbar .btn-link .label-light{color:#313c52;background:#fff}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#1e6aeb;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text{position:relative;font-size:14px;color:unset;background:unset}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text>span{color:unset}#mainMenu.menu-secondary>.btn-toolbar>a.btn{margin-right:20px}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{position:absolute;content:'';border-bottom:2px solid #2e7fff;inset:0 6px}#menu{background:#415a72}#userNav>li>a>.icon{color:#fff;filter:none;opacity:.25;-webkit-filter:none}.picker-option.picker-option-active,.picker-single .picker-option.picker-option-selected.picker-option-active{background:#2e7fff}select.form-control option.selected,select.form-control option:hover{background:#2e7fff}#guideDialog .project-type-img:hover,#guideDialog .project-type.active img,.kanbans .panel:hover{border-color:#2e7fff}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#3785ff}#assigntomeBlock .nav>li.active>a{color:#1e6aeb}.consumedTotally{color:#2e7fff;background:#e6f0ff}#toggleFoldIcon .icon-border{border:1px solid #d5e5ff}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#2e7fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #2e7fff;box-shadow:0 0 1px 1px #2e7fff}.border-primary-hover:hover{border:1px solid #2e7fff}.menu-hover-primary>li>a:hover{color:#1e6aeb!important;background-color:#d5e5ff!important}.menu-active-primary>li.active>a{color:#2e7fff!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#d5e5ff!important}.text-middle td,.text-middle th{vertical-align:middle}.text-center td,.text-center th{text-align:center}.c-sm{width:40px}.c-id{width:90px}.c-id-sm{width:70px}.c-id-xs{width:55px}.c-date{width:100px}.c-num,.c-pri,.c-type{width:80px;overflow:hidden}.c-begin,.c-end,.c-time{width:65px}.c-hours{width:60px}.c-actions-1{width:50px}.c-actions-2{width:75px}.c-actions-3{width:102px}.c-actions,.c-actions-4{width:128px}.c-actions-5{width:155px}.c-actions-6{width:180px}.c-product,.c-project{width:180px}.c-plan{width:130px}.c-datetime{width:120px}.c-stage,.c-status,.c-user{width:80px}.c-side{width:200px;border-right:10px solid #efefef}.c-assign,.c-assignedTo,.c-openedBy{width:130px}.c-progress{width:155px}.c-assign,.c-assignedTo,.c-openedBy,.c-product,.c-project,.c-status,.c-url,.c-user{overflow:hidden;text-overflow:unset;white-space:nowrap}.assigned-none{color:#1e6aeb!important;background:inherit}.assigned-current{color:#f38f19!important;background:inherit}.assigned-other{color:#313c52!important;background:inherit}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#1e6aeb!important;background:#fff;border-color:#fff!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#1e6aeb!important}td.c-name,td.c-title{overflow:hidden;text-align:left!important;text-overflow:unset;white-space:nowrap}td.c-actions{position:relative;padding-top:0;padding-bottom:0;overflow:hidden;text-overflow:unset;white-space:nowrap;vertical-align:middle}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#2e7fff;background:#e6f0ff}td.c-actions .btn.disabled,td.c-actions .btn[disabled]{pointer-events:auto}td.c-actions .more{position:absolute;top:50%;right:100%;display:none;padding-right:4px;padding-left:20px;margin-top:-15px;margin-right:-6px;white-space:nowrap;background-color:#fafafa;-webkit-transition:opacity .3s,margin .3s;-o-transition:opacity .3s,margin .3s;transition:opacity .3s,margin .3s}tr:hover td.c-actions .more{display:block}td:hover+td.c-actions>.more{margin-right:-15px;pointer-events:none;opacity:.15}tr[data-url]{cursor:pointer}.table tbody>tr>td,.table thead>tr>th{vertical-align:middle}.table tbody>tr>td.has-btn,.table thead>tr>th.has-btn{padding-top:1px;padding-bottom:1px;overflow:visible}.table tbody>tr>td .progress,.table thead>tr>th .progress{height:6px}.table .em,.table em{color:#313c52}.table .divider{border-bottom:10px solid #efefef}.table .divider-top{border-top:10px solid #efefef}.table .btn-icon-left{max-width:100%;padding-left:20px;overflow:hidden;line-height:18px;text-align:left;text-overflow:unset;background:0 0;border-color:#eaf3fc}.table .btn-icon-left>.icon{width:20px;font-size:14px;background:0 0!important;opacity:0}.table .btn-icon-left.btn-sm{height:26px;font-size:13px}.table .btn-icon-left:active,.table .btn-icon-left:focus,.table .btn-icon-left:hover{border-color:rgba(0,0,0,.2)}.table .btn-icon-left:active>.icon,.table .btn-icon-left:focus>.icon,.table .btn-icon-left:hover>.icon{opacity:1}.table .btn-icon-left>.text{padding-left:25px}.table thead>tr>th.c-assign,.table thead>tr>th.c-assignedTo{padding-left:29px}.table a{vertical-align:middle}.table caption{margin-bottom:5px;background:#f1f1f1;border:none}.is-firefox .table .btn-icon-left>.icon{line-height:22px}.table tbody>tr>td.c-name a{color:#2463c7}.table tbody>tr>td.c-name a:hover{color:#1e6aeb}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}.main-table{border-radius:4px}.main-table>.table,.main-table>.table-footer,.main-table>.table-header,.main-table>.table-responsive{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}.main-table .table{font-size:13px;table-layout:fixed;background-color:#fff;border-radius:4px 4px 0 0}.main-table .table.table-lg{font-size:14px}.main-table .table .btn-icon-left{border-color:transparent}.main-table .table .btn-icon-left>.icon{background:0 0;border-radius:4px}.main-table .table .btn-icon-left.btn-sm{height:26px}.main-table .table .btn-icon-left:hover{border-color:rgba(0,0,0,.2)}.main-table .table .btn-icon-left:hover>.icon{background:#e6f0ff;border-radius:4px 0 0 4px}.main-table tbody>tr>td,.main-table thead>tr>th{min-height:36px;padding:2px 8px;line-height:30px}.main-table tbody>tr>td:first-child,.main-table thead>tr>th:first-child{padding-right:4px;padding-left:15px}.main-table thead>tr>th{overflow:hidden;text-overflow:unset;white-space:nowrap}.main-table td,.main-table th{border-bottom:none!important}.main-table thead>tr{background:#fcfdfe;border-bottom:1px solid #f4f5f7}.main-table tbody>tr:last-child>td{border-bottom:1px solid #ddd}.main-table tbody>tr>td{position:relative}.main-table tbody>tr>td .label{max-width:200px;overflow:hidden;text-overflow:unset;white-space:nowrap}.main-table tbody>tr>td>a{line-height:28px;color:#2463c7}.main-table tbody>tr>td>a:not(.btn):visited{color:#003994;opacity:.9}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover{color:#2e7fff}.main-table tbody>tr>td.c-actions{padding-right:10px}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{position:absolute;top:0;bottom:0;left:0;display:block;width:0;content:'';background:#2e7fff;opacity:0;-webkit-transition:.2s linear;-o-transition:.2s linear;transition:.2s linear;-webkit-transition-property:width,opacity,border-radius;-o-transition-property:width,opacity,border-radius;transition-property:width,opacity,border-radius}@-moz-document url-prefix(){.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{bottom:-1px}}.main-table tbody>tr>td.c-side:before{display:none}.main-table tbody>tr>td.c-name a{color:#2463c7}.main-table tbody>tr>td.c-name a:hover{color:#1e6aeb}.main-table tbody>tr{border-bottom:1px solid #f4f5f7;-webkit-transition:.2s cubic-bezier(.175,.885,.32,1);-o-transition:.2s cubic-bezier(.175,.885,.32,1);transition:.2s cubic-bezier(.175,.885,.32,1);-webkit-transition-property:background-color,-webkit-box-shadow;-o-transition-property:box-shadow,background-color;transition-property:background-color,-webkit-box-shadow;transition-property:box-shadow,background-color;transition-property:box-shadow,background-color,-webkit-box-shadow}.main-table tbody>tr:hover{background:rgba(230,240,255,.8)}.main-table .table-grouped tbody>tr:hover{background:#f0f6ff;-webkit-box-shadow:none;box-shadow:none}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f0f6ff}.main-table tbody>tr.checked{background:#fff4ea}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr.checked>td.c-side+td:before,.main-table tbody>tr.checked>td:first-child:before{width:4px;opacity:1}.main-table tbody>tr.checked.row-check-begin{border-top-left-radius:4px;border-top-right-radius:2px}.main-table tbody>tr.checked.row-check-begin>td:first-child:before{border-top-left-radius:4px}.main-table tbody>tr.checked.row-check-end{border-bottom-right-radius:2px;border-bottom-left-radius:4px}.main-table tbody>tr.checked.row-check-end>td:first-child:before{border-bottom-left-radius:4px}.main-table .checkbox-primary{display:inline-block;line-height:20px}.main-table .checkbox-primary label{margin:0}.main-table .table{margin:0}.table-header{padding:4px 0 12px}.table-header .table-statistic{color:#838a9d}.table-header .table-statistic strong{font-size:15px;color:#313c52}.table-header .btn-toolbar{margin-top:-28px}.table-header.fixed-right{position:relative;z-index:5;padding:0}.table-header.fixed-right>.btn-toolbar{position:absolute;top:0;right:1px;z-index:1;padding:1px;margin:0;background:#fff;border-radius:4px}.table-header.fixed-right>.btn-toolbar .btn{opacity:.65}.table-header.fixed-right>.btn-toolbar .btn:hover{opacity:1}.table-header-fixed .table-header{position:fixed;top:0}.table-header-fixed .table-header>.btn-toolbar{background-color:transparent}.table-header-fixed .table-header>.btn-toolbar .btn{color:#fff}.table-footer{position:relative;min-height:40px;padding:6px 15px;background:#fff;border-radius:0 0 4px 4px}.body-modal .table-footer{margin-bottom:20px}.talbe-lg+.table-footer{padding:11px 15px}.table-footer .btn-toolbar,.table-footer .checkbox-primary{float:left}.table-footer .btn-toolbar+.btn-toolbar{margin-left:8px}.table-footer .checkbox-primary{margin:5px 20px 0 0}.table-footer .checkbox-primary.checked label:after{border-color:#22c98d!important}.table-footer .btn{padding:3px 10px;line-height:20px}.table-footer .pager{position:absolute;top:0;right:0;z-index:5;height:40px;padding:6px 5px 6px 10px;margin:0;background:#fff;opacity:1;-webkit-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s}.table-footer .pager:before{position:absolute;top:0;bottom:0;left:-50px;display:block;width:50px;content:' ';background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(#fff));background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-o-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%)}.table-footer .pager .btn,.table-footer .pager>li>.pager-item,.table-footer .pager>li>.pager-label{color:#838a9d;background:0 0;border-color:transparent}.table-footer .pager .btn,.table-footer .pager>li>a{border-radius:3px}.table-footer .pager .btn:hover,.table-footer .pager>li>a:hover{background:rgba(0,0,0,.1)}.table-footer .pager>li.disabled>a.pager-item{opacity:1}.table-footer .form-control{height:28px;padding:3px 8px}.table-footer .table-statistic{position:relative;z-index:2;float:left;padding-right:30px;line-height:28px;color:#838a9d;background:#fff}.table-footer .table-statistic:hover{z-index:4}.table-footer .table-statistic:hover+.pager{z-index:2;opacity:.3}.table-footer .btn-toolbar+.table-statistic,.table-footer .btn-toolbar+.text{margin-left:10px}.table-footer .text{float:left;line-height:28px}.table-footer.fixed-footer{position:fixed;z-index:10;margin:0;background:rgba(75,75,75,.85);border-top-color:transparent}.table-footer.fixed-footer .checkbox-primary label{color:#fff}.table-footer.fixed-footer .checkbox-primary label:after{border-color:rgba(255,255,255,.8)}.table-footer.fixed-footer .table-statistic{color:#fff;background:0 0}.table-footer.fixed-footer .pager{background:#666}.table-footer.fixed-footer .pager:before{background:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,0)),to(#666));background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0,#666 100%);background:-o-linear-gradient(left,rgba(0,0,0,0) 0,#666 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0,#666 100%)}.table-footer.fixed-footer .pager .btn,.table-footer.fixed-footer .pager>li>.pager-item,.table-footer.fixed-footer .pager>li>.pager-label{color:#fff}.table-footer.fixed-footer .pager .btn:hover,.table-footer.fixed-footer .pager>li>a:hover{background:rgba(255,255,255,.3)}.table-footer.fixed-footer .pager>li.disabled>a.pager-item{opacity:.5}.table-actions{display:none;height:28px}.table-actions.show-always{display:block;pointer-events:none;cursor:not-allowed}.has-row-checked .table-actions{display:block;pointer-events:auto!important;cursor:default}.table-lg tbody>tr>td{padding:9px 10px}.table-lg tbody>tr>td .btn+.btn{margin-left:5px}.table.has-sort-head thead>tr>th{padding-right:0}.table.has-sort-head thead>tr>th>a{position:relative;display:inline-block;padding-right:16px;color:#313c52}.table.has-sort-head thead>tr>th>a:after,.table.has-sort-head thead>tr>th>a:before{position:absolute;top:0;right:0;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;line-height:30px;color:#313c52;text-transform:none;content:"\f0de";opacity:.5;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.table.has-sort-head thead>tr>th>a:after{content:"\f0dd"}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up{color:#000;text-decoration:none}.table.has-sort-head thead>tr>th>a:hover,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#2e7fff;opacity:1}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before{color:#000;opacity:1}.head-fixed .datatable-head-span .table,.table.fixed-header-copy{z-index:10;color:#fff;background:rgba(75,75,75,.85)}.head-fixed .datatable-head-span .table thead>tr,.table.fixed-header-copy thead>tr{background:0 0}.head-fixed .datatable-head-span .table thead>tr>th,.table.fixed-header-copy thead>tr>th{color:#eee}.head-fixed .datatable-head-span .table thead>tr>th>a,.table.fixed-header-copy thead>tr>th>a{color:#eee}.head-fixed .datatable-head-span .table thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover{color:#fff}.head-fixed .datatable-head-span .table thead>tr>th>a:after,.head-fixed .datatable-head-span .table thead>tr>th>a:before,.table.fixed-header-copy thead>tr>th>a:after,.table.fixed-header-copy thead>tr>th>a:before{color:#eee}.head-fixed .datatable-head-span .table thead>tr>th>a.sort-down,.head-fixed .datatable-head-span .table thead>tr>th>a.sort-down:after,.head-fixed .datatable-head-span .table thead>tr>th>a.sort-up,.head-fixed .datatable-head-span .table thead>tr>th>a.sort-up:before,.head-fixed .datatable-head-span .table thead>tr>th>a:hover,.head-fixed .datatable-head-span .table thead>tr>th>a:hover:after,.head-fixed .datatable-head-span .table thead>tr>th>a:hover:before,.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#fff}.head-fixed .datatable-head-span .table thead>tr>th>.dropdown>a,.table.fixed-header-copy thead>tr>th>.dropdown>a{color:#eee}.head-fixed .datatable-head-span .table thead>tr>th>.dropdown>a:hover,.table.fixed-header-copy thead>tr>th>.dropdown>a:hover{color:#fff}.head-fixed .datatable-head-span .table .checkbox-primary,.table.fixed-header-copy .checkbox-primary{z-index:1}.head-fixed .datatable-head-span .table .checkbox-primary label,.table.fixed-header-copy .checkbox-primary label{color:#fff}.head-fixed .datatable-head-span .table .checkbox-primary label:after,.table.fixed-header-copy .checkbox-primary label:after{border-color:rgba(255,255,255,.8)}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#22c98d!important}.table-data{margin:0;table-layout:fixed}.table-data tbody>tr>td,.table-data tbody>tr>th{padding:6px 8px;word-break:break-all;border:none}.table-data tbody>tr>th{width:70px;padding-left:0;font-weight:400;color:#838a9d;text-align:right;vertical-align:middle}.table-data tbody>tr>td{padding-right:0}.table-data tbody>tr>td>a{color:#2463c7}.table-data tbody>tr>td>a:not(.btn):visited{color:#003994}.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#2e7fff}.table-data ol,.table-data ul{margin:0}.fixed-head-table{background:rgba(0,0,0,.7);border-bottom:1px solid #ddd}.fixed-head-table thead>tr>th{color:#fff}.table-empty-tip{padding:80px 10px;text-align:center;background:#fff}.not-firefox .table-grouped>tbody>tr>td.c-side{background:#fff!important}.table-grouped .group-toggle{cursor:pointer}.table-grouped .group-toggle.group-summary{border-top:10px solid #efefef}.table-grouped tbody>tr>td:first-child,.table-grouped thead>tr>th:first-child{padding-left:8px}.group-expand-all,.table-group-collapsed .group-collapse-all{display:none}.table-group-collapsed .group-expand-all{display:inline-block}.table-auto{table-layout:auto}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}body.has-fixed-footer{padding-bottom:60px}.table.with-footer-fixed{margin-bottom:20px}.table-nest-hide{display:none!important}th.table-nest-title{position:relative;padding-left:30px!important}.table-nest-icon{position:relative;display:inline-block;width:22px;height:22px;font-size:16px;color:#a6aab8;text-align:center;border-radius:4px}.table-nest-toggle:before{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:12px;color:#888fa1;content:"\e926";-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.table-nest-toggle:after{position:absolute;top:4px;right:4px;bottom:4px;left:4px;display:inline-block;content:"";border:1px solid;border-radius:50%}.table-nest-toggle:hover{color:#2e7fff;background-color:rgba(0,0,0,.1)}.table-nest-child-hide .table-nest-toggle:before{font-size:12px;content:"\e925"}th.table-nest-title .table-nest-toggle{position:absolute!important;top:7px;left:8px}.table-nest-toggle.table-nest-toggle-global{width:22px;height:22px;padding:0!important;line-height:22px;text-align:center;border-radius:4px}.table-nest-toggle.table-nest-toggle-global:before{position:absolute!important;font-size:12px!important;line-height:22px!important;content:"\e959"!important;opacity:1!important}.table-nest-toggle.table-nest-toggle-global:after{display:none!important}.table-nest-collapsed .table-nest-toggle.table-nest-toggle-global:before{font-size:12px!important;content:"\e95a"!important}.disable-empty-nest-row .is-nest-child .table-nest-icon:before,.disable-empty-nest-row .no-nest .table-nest-icon:before{position:relative;top:-1px;width:6px;min-width:6px;height:6px;content:' ';background-color:#c4c4c4;border-radius:1px}.table-nest-child-hover>td:first-child,.table-nest-hover>td:first-child{-webkit-box-shadow:inset 3px 0 0 #c4c4c4;box-shadow:inset 3px 0 0 #c4c4c4}.c-manager .avatar{position:relative;z-index:2;line-height:17px;border:1.5px solid transparent}.c-manager .avatar.avatar-top{border-color:#ffaf65}.c-manager a{position:absolute;top:8px;left:16px;height:20px;padding:0 8px 0 13px;line-height:20px!important;color:#313c52!important;background:#f4f5f7;border-radius:10px}.article-content{overflow:auto}.article-content img{margin-top:0}.article-content table{margin:10px 0}.article-content table td,.article-content table th{border:1px solid #cbd0db!important}.article-content table th{background:#eee}.article-content a{color:#2e7fff}.article-content a:focus,.article-content a:hover{color:#18a6fd}.article-content,.article>.content{word-wrap:break-word}.detail{padding:10px 0;margin:0 10px}.detail+.detail{padding-top:25px;border-top:1px solid #eee}.detail-title{font-size:14px;font-weight:700;line-height:20px}.detail-title>.pull-right{position:relative;top:-8px}h2.detail-title{margin:0;font-size:15px;font-weight:700}h2.detail-title .label,h2.detail-title .label-id{position:relative;top:-1px}.detail-content{padding:0;margin-top:10px}.detail-content em{color:#313c52}.detail-content .list-unstyled>li+li{margin-top:5px}.side-col .detail-content{padding-left:0}details.detail{padding:10px 0}details.detail summary{position:relative;cursor:pointer;outline:0}details.detail summary::-webkit-details-marker{display:none}details.detail summary:after{position:absolute;top:0;right:0;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-transform:none;content:"\e316";opacity:.4;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}details.detail[open] summary:after{content:"\e313"}.files-list{padding-left:0;list-style:none}.files-list>li>a{display:block;line-height:24px}.files-list>li>a>.icon{display:inline-block;margin-right:5px;opacity:.7}.files-list>li>a:hover{color:#2e7fff}.files-list>li>.right-icon{opacity:0;-webkit-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.files-list>li:hover>.right-icon{opacity:1}.histories-list{padding-left:15px;margin-bottom:0}.histories-list>li{position:relative}.histories-list>li+li{margin-top:5px}.histories-list>li strong{color:#313c52}.histories-list .comment,.histories-list .show-form .comment-edit-form{padding:5px 5px 5px 10px;margin:5px 0 0;background-color:rgba(0,0,0,.025);border:1px solid #eee}.histories-list .btn-edit-comment{position:absolute;top:28px;right:2px}.histories-list .comment-edit-form,.histories-list .show-form .btn-edit-comment,.histories-list .show-form .comment{display:none}.histories-list .show-form .comment-edit-form{display:block;padding:10px;border:1px solid #eee}.histories .btn-mini{width:16px;min-width:16px;height:16px;overflow:hidden;line-height:16px;color:#cbd0db;vertical-align:-8%;border-radius:1px}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#2e7fff;border-color:#2e7fff}.histories .show-changes .btn-expand>.icon:before{content:"\e926"}.histories .btn-strip{display:none}.histories .show-changes .btn-strip{display:inline-block}.history-changes{display:none;padding:5px;margin-bottom:-5px;margin-left:5px;font-size:12px;line-height:20px}.history-changes blockquote{padding:5px 5px 5px 10px;margin:5px 0 0;font-size:12px;background-color:rgba(0,0,0,.05);border-left:3px solid #eee}.history-changes blockquote.original{display:none}.show-changes .history-changes,.show-original .history-changes blockquote.original{display:block}.show-original .history-changes blockquote.textdiff{display:none}.syntaxhighlighter{overflow:auto}.list-group{overflow-y:auto}.list-group>a{display:block;padding:2px 10px 2px 5px;overflow:hidden;line-height:20px;text-overflow:unset;white-space:nowrap;border-radius:4px}.list-group>a+a{margin-top:5px}.list-group>a>.icon{display:inline-block;margin-right:3px;opacity:.5}.list-group>a.selected{color:#e6f0ff;background-color:#2e7fff}.list-group>a.active{color:#2e7fff;background-color:#e6f0ff}.list-group>a.active:hover,.list-group>a:hover{color:#fff;background-color:#2e7fff}.list-group>.heading{padding:2px 5px;line-height:20px;color:#838a9d}.list-group>a+.heading{margin-top:4px}.list-group.tab-menu>a{padding:6px 24px}.list-group.tab-menu>a.active{background:unset}.list-group.tab-menu>a.active:hover,.list-group.tab-menu>a:hover{color:#2e7fff;background-color:unset}.dropup .search-box-sink{padding-top:5px;padding-bottom:45px}.dropup .search-box-sink .search-box{position:absolute;right:10px;bottom:10px;left:10px;margin:0}.dropup .search-box-sink .search-box+.list-group{height:auto;max-height:171px}.search-list{min-width:200px;max-width:300px;padding:0}.search-list .search-box{float:none;width:auto;margin:10px}.search-list .search-box .icon-search{opacity:.5}.search-list .list-group{max-height:248px;padding:5px 10px;margin:5px 0}.dropup .search-list .search-box+.list-group{height:171px;padding-top:0}.search-list .search-input{height:30px}.search-list .input-control-icon-right{height:28px;line-height:28px}.search-list .list-group>a.active{color:inherit;background-color:inherit}.search-list.searchbox-focus .list-group>a.active{color:#2e7fff;background-color:#e6f0ff}.search-list .list-group>a.active:hover,.search-list.searchbox-focus .list-group>a.active:hover{color:#fff;background-color:#2e7fff}#dropMenu{width:initial;max-width:initial}#dropMenu>.search-box{width:100%;padding:10px 10px 0;margin:0}#dropMenu>.search-box .icon-search{color:#333}#dropMenu>.search-box.has-icon-right>.form-control{padding-left:26px}#dropMenu .input-control-icon-left{top:10px;left:10px}#dropMenu .input-control-icon-right{top:11px;right:11px}#dropMenu .input-control-icon-right .icon{position:relative;top:2px}#dropMenu .list-group{max-height:initial;margin:0}#dropMenu .table-row{margin:0 -10px;table-layout:auto}#dropMenu .table-col{position:relative;width:100%;min-width:250px;max-width:450px}#dropMenu .table-col .list-group{max-height:300px;padding:0 10px 5px}#dropMenu .col-left{padding-bottom:30px}#dropMenu .col-right{display:none}#dropMenu .col-footer{position:absolute;right:0;bottom:-5px;left:0;padding:8px 10px;border-top:1px solid #eee}#dropMenu .col-footer>a{opacity:.8}#dropMenu .col-footer>a:hover{opacity:1}#dropMenu.show-right-col .table-col{width:50%}#dropMenu.show-right-col .col-right{display:table-cell;border-left:1px solid #eee}#dropMenu.show-right-col .col-right>.list-group{max-height:335px;margin:0}#dropMenu.show-right-col .col-right>.list-group>a{opacity:.7}#dropMenu.show-right-col .col-right>.list-group>a:hover{opacity:1}#dropMenu.show-right-col .toggle-right-col>.icon-angle-right:before{content:"\e314"}#dropMenu.has-search-text .list-group{overflow-x:hidden}#dropMenu.has-search-text>.search-box{width:100%!important}#dropMenu.has-search-text>.list-group>.table-row{display:block}#dropMenu.has-search-text>.list-group>.table-row>.table-col{display:block;width:100%}#dropMenu.has-search-text .col-left{padding-bottom:0}#dropMenu.has-search-text .pull-right.toggle-right-col{display:none}#dropMenu.has-search-text .col-left .list-group{margin-bottom:0}#dropMenu.has-search-text .col-right .list-group{margin-bottom:0}#dropMenu.has-search-text .col-right .list-group>a{opacity:.7}#dropMenu.has-search-text .col-footer,#dropMenu.has-search-text .hide-in-search{display:none}#swapper{position:relative}#swapper #dropMenu .tree li>.selected{color:#2e7fff!important;background:#e6f0ff!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#2e7fff!important}#swapper #dropMenu .tree{margin:0}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#2e7fff!important;background:#e6f0ff!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#2e7fff!important}.release-path{overflow:hidden}.release-line{display:table;width:100%;padding:0;table-layout:fixed}.release-line>li{display:table-cell;list-style:none}.release-line>li>a{position:relative;display:block}.release-line>li>a:before{position:absolute;left:0;display:block;width:13px;height:13px;content:' ';background:#fff;border:2px solid #838a9d;border-radius:50%}.release-line>li>a:after{position:absolute;left:5px;display:block;width:2px;height:30px;content:' ';background:#c2dbff}.release-line>li>a>.icon{position:absolute;left:4px;font-size:24px}.release-line>li>a .title{display:block;font-size:14px;white-space:nowrap}.release-line>li>a .date,.release-line>li>a .info{display:block;max-height:18px;overflow:hidden;font-size:12px;color:#838a9d;text-overflow:unset;white-space:nowrap}.release-line>li>a:hover:before{background-color:#e6f0ff}.release-line>li>a:hover:after{background-color:#838a9d}.release-line>li>a:hover .title{color:#2e7fff}.release-line>li>a:hover .date,.release-line>li>a:hover .info{color:#838a9d}.release-line>li:nth-child(odd){padding-top:80px;vertical-align:top}.release-line>li:nth-child(odd)>a{height:85px;padding-top:36px;border-top:5px solid #c2dbff}.release-line>li:nth-child(odd)>a:before{top:-9px}.release-line>li:nth-child(odd)>a:after{top:6px}.release-line>li:nth-child(odd)>a>.icon{top:-26px}.release-line>li:nth-child(even){padding-bottom:80px;vertical-align:bottom}.release-line>li:nth-child(even)>a{height:85px;padding-bottom:36px;border-bottom:5px solid #c2dbff}.release-line>li:nth-child(even)>a:before{bottom:-9px}.release-line>li:nth-child(even)>a:after{bottom:6px}.release-line>li:nth-child(even)>a>.icon{bottom:-2px}.release-line>li:last-child>a{border-color:transparent}.release-line>li.active>a:before{border-color:#2e7fff}.release-line>li+li>a>.date,.release-line>li+li>a>.info,.release-line>li+li>a>.title{position:relative;left:-36%}#footer{position:fixed;right:0;bottom:0;left:0;z-index:1010;height:40px;background:#fff;border-top:1px solid #eff1f7}#footer .breadcrumb{padding:10px 0;margin:0}#footer .breadcrumb>li{max-width:200px;overflow:hidden;text-overflow:unset;white-space:nowrap}#footer .breadcrumb>.active,#footer .breadcrumb>li>a{color:#838a9e}#footer .breadcrumb>.active>.icon,#footer .breadcrumb>li>a>.icon{display:none}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#18a6fd}#footer .breadcrumb>li+li:before{content:'>'}#footer>.container{padding:0 20px}@media (min-width:1400px){#footer>.container{padding:0 40px}}#poweredBy{position:absolute;top:4px;right:0;padding:5px 10px}#poweredBy .icon-zentao{color:#0097fd}#poweredBy a{color:#313c52}#poweredBy a:hover{color:#2e7fff}#poweredBy a:hover .icon-zentao{color:#2e7fff}#poweredBy a.text-important{color:#ff6f42}#poweredBy a.text-important:hover{color:#fc5959}#poweredBy a.text-primary{color:#2e7fff}#poweredBy a.text-primary:hover{color:#18a6fd}#poweredBy #aiux{color:#cbd0dc}#noticeBox .alert{-webkit-box-shadow:rgba(0,0,0,.15) 0 3px 10px,rgba(0,0,0,.25) 0 3px 10px;box-shadow:rgba(0,0,0,.15) 0 3px 10px,rgba(0,0,0,.25) 0 3px 10px}#heading{top:0}.header-btn{position:relative;padding:8px 0}.header-btn .btn{position:relative;height:34px;padding:1px 6px;margin:0;overflow:visible;font-size:13px;font-weight:400;line-height:28px;color:#fff;background-color:transparent;border-color:transparent!important;border-right:none;-webkit-transition:none;-o-transition:none;transition:none}.header-btn .btn>.caret{margin-left:0;border-width:4px}.header-btn .btn>.text{display:inline-block;max-width:150px;overflow:hidden;text-overflow:unset;vertical-align:middle}.header-btn .btn:hover{-webkit-box-shadow:none;box-shadow:none}.header-btn .btn:hover,.header-btn.active .btn{color:#fff;background:rgba(0,0,0,.15)}.header-btn .btn:hover>.caret,.header-btn.active .btn>.caret{opacity:1}.header-btn+.header-btn{margin-left:10px}.header-btn+.header-btn:before{position:absolute;top:16px;left:-13px;display:block;font-family:ZentaoIcon;font-size:14px;font-size:16px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-transform:none;content:"\e315";opacity:.6;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.header-btn .dropdown-menu{margin-top:-10px}#toolbar{top:0;height:50px}#userNav>li{margin-right:0}#userNav>li>a{padding:10px 5px}#userNav>li>a>.icon{font-size:30px;filter:brightness(1.2) hue-rotate(30deg);opacity:.9;-webkit-filter:brightness(1.2) hue-rotate(30deg)}#userNav>li:hover>a{background-color:rgba(0,0,0,.1)}#userNav .dropdown-menu>li>a{position:relative;padding-left:24px}#userNav .dropdown-menu>li>a>.icon{top:1px;left:0}#userNav .dropdown-menu>li.user-profile-item>a{padding-left:45px} \ No newline at end of file +*/.chosen-container{position:relative;display:block;font-size:13px;vertical-align:middle;zoom:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;z-index:1010;display:none;width:100%;background:#fff;border:1px solid #b2b2b2;border:1px solid rgba(0,0,0,.15);border-top:0;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.chosen-container .chosen-drop.chosen-drop-size-limited{border-top:1px solid rgba(0,0,0,.15)}.chosen-container .chosen-drop.chosen-auto-max-width{min-width:100%;border-top:1px solid rgba(0,0,0,.15);opacity:0}.chosen-container .chosen-drop.chosen-auto-max-width>.chosen-results>li{display:inline-block;white-space:nowrap}.chosen-container .chosen-drop.chosen-auto-max-width.in{opacity:1}.chosen-container .chosen-drop.chosen-auto-max-width.in>.chosen-results>li{display:block;white-space:normal}.chosen-container .chosen-drop.chosen-no-wrap>.chosen-results>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important}.chosen-container.chosen-with-drop .chosen-drop{display:block}.chosen-container a{cursor:pointer}.chosen-container.chosen-up .chosen-drop{top:inherit;bottom:100%;margin-top:auto;margin-bottom:-1px;border-radius:2px 2px 0 0;-webkit-box-shadow:0 -3px 5px rgba(0,0,0,.175);box-shadow:0 -3px 5px rgba(0,0,0,.175)}.chosen-container.chosen-highlight-selected .result-selected{color:#2e7fff;background:#e6f0ff}.chosen-container-single .chosen-single{display:block;width:100%;height:32px;padding:5px 8px;overflow:hidden;line-height:1.42857143;color:#0b0f18;text-decoration:none;white-space:nowrap;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #dcdcdc;border-radius:2px;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.chosen-container-single .chosen-default{color:#838a9d}.chosen-container-single .chosen-single>span{display:block;margin-right:26px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:5px;right:24px;display:block;width:20px;height:20px;font-family:sans-serif;font-size:18px;font-weight:700;line-height:18px;color:#000;text-align:center;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.chosen-container-single .chosen-single abbr:before{display:block;content:'×'}.chosen-container-single .chosen-single abbr:focus,.chosen-container-single .chosen-single abbr:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;height:100%;padding:5px 8px}.chosen-container-single .chosen-single div b{display:inline-block;width:0;height:0;margin-bottom:2px;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent;opacity:.5}.chosen-container-single .chosen-search{position:relative;z-index:1010;padding:3px 4px;margin:0;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{width:100%;height:27px;padding:2px 26px 2px 8px;margin:1px 0;font-size:12px;line-height:1.5;background-color:#fff;border:1px solid #dcdcdc;border-radius:2px;outline:0}.chosen-container-single .chosen-search input[type=text]:focus{border-color:#2e7fff}.chosen-container-single .chosen-search:before{position:absolute;top:10px;right:10px;display:block;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;color:#838a9d;text-transform:none;content:"\e928";speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chosen-container-single .chosen-drop{margin-top:-1px;-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:0 0 4px 4px}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;max-height:240px;padding:0;margin:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;padding:5px 10px;margin:0;line-height:15px;list-style:none;-webkit-transition:background-color .2s cubic-bezier(.175,.885,.32,1);-o-transition:background-color .2s cubic-bezier(.175,.885,.32,1);transition:background-color .2s cubic-bezier(.175,.885,.32,1);-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{color:#fff;background-color:#2e7fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;width:100%;min-height:32px;min-height:30px\9;padding:0;margin:0;overflow:hidden;cursor:text;background-color:#fff;border:1px solid #dcdcdc;border-radius:2px;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.chosen-container-multi .chosen-choices:after,.chosen-container-multi .chosen-choices:before{display:table;content:" "}.chosen-container-multi .chosen-choices:after{clear:both}.chosen-container-multi .chosen-choices li{display:block;float:left;padding:0 6px;margin:5px 4px;list-style:none}.chosen-container-multi .chosen-choices li.search-field{padding:0;line-height:12px;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{height:20px;font-size:100%;color:#838a9d;background:0 0!important;border:0!important;border-radius:0;outline:0;-webkit-box-shadow:none;box-shadow:none}.chosen-container-multi .chosen-choices li.search-field .default{color:#999}.chosen-container-multi .chosen-choices li.search-field:before{position:absolute;right:8px;bottom:8px;display:block;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;color:#838a9d;text-transform:none;content:"\e928";opacity:0;-webkit-transition:opacity .2s cubic-bezier(.175,.885,.32,1);-o-transition:opacity .2s cubic-bezier(.175,.885,.32,1);transition:opacity .2s cubic-bezier(.175,.885,.32,1);speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chosen-container-multi .chosen-choices li.search-choice{position:relative;padding:3px 20px 3px 5px;line-height:12px;cursor:default;background-color:#f1f1f1;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #c4c4c4;border-radius:3px;-webkit-box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);-webkit-transition:all .4s cubic-bezier(.175,.885,.32,1);-o-transition:all .4s cubic-bezier(.175,.885,.32,1);transition:all .4s cubic-bezier(.175,.885,.32,1)}.chosen-container-multi .chosen-choices li.search-choice:hover{background-color:#fff;border-color:#ababab;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 0 rgba(0,0,0,.1)}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:1px;right:0;display:block;width:20px;height:18px;line-height:18px;color:#000;text-align:center;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:before{font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-shadow:0 1px 0 #fff;text-transform:none;content:'\d7';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:focus,.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;color:#666;background-color:#e4e4e4;border:1px solid #ccc}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{padding:5px 0;margin:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border-color:#2e7fff;-webkit-box-shadow:none,0 0 8px rgba(46,127,255,.6);box-shadow:none,0 0 8px rgba(46,127,255,.6)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #b2b2b2;border:1px solid rgba(0,0,0,.15);border-bottom-right-radius:0!important;border-bottom-left-radius:0!important;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.chosen-container-active.chosen-with-drop .chosen-single div{background:0 0;border-left:none}.chosen-container-active.chosen-with-drop .chosen-single div b{content:"";border-top:0 dotted;border-bottom:4px solid}.chosen-container-active.chosen-with-drop.chosen-up .chosen-single{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.chosen-container-active .chosen-choices{border-color:#2e7fff;-webkit-box-shadow:none,0 0 8px rgba(46,127,255,.6);box-shadow:none,0 0 8px rgba(46,127,255,.6)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#111!important}.chosen-container-active .chosen-choices li.search-field:before{opacity:1}.chosen-disabled{cursor:default;opacity:.5!important}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-compact.chosen-container-single .chosen-single>.chosen-search{left:0;display:none;padding:3px 4px;opacity:0}.chosen-compact.chosen-container-single .chosen-single>.chosen-search>input{height:25px;padding:2px 26px 2px 4px;font-size:inherit}.chosen-compact.chosen-container-single .chosen-single>.chosen-search:before{top:9px}.chosen-compact.chosen-with-search.chosen-with-drop .chosen-single>.chosen-search{display:block;opacity:1}select.chosen[multiple]{height:32px;overflow:hidden}select.chosen[multiple] option{visibility:hidden}.picker{min-height:32px;background-color:#eee}.picker:not(.picker-ready)>*{display:none}.picker-selections{position:relative;min-height:32px;color:#0b0f18;background-color:#fff;border:1px solid #dcdcdc;border-radius:2px;-webkit-box-shadow:none;box-shadow:none}.picker-focus .picker-selections{border-color:#2e7fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(46,127,255,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(46,127,255,.6)}.disabled .picker-selections{cursor:not-allowed;background-color:#f5f5f5}.picker-multi .picker-selections{padding:3px}.picker-multi.picker-focus .picker-selections:before{position:absolute;right:0;bottom:8px;display:block;width:24px;height:14px;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-align:center;text-transform:none;content:"\e928";opacity:.4;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.picker-multi.picker-focus.picker-loading .picker-selections::before{display:inline-block;content:"\e982";-webkit-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}.picker-multi .picker-selection{position:relative;display:inline-block;padding:0 20px 0 5px;margin:2px;line-height:18px;background-color:#f1f1f1;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #c4c4c4;border-radius:3px;-webkit-box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05)}.picker-selection-single{max-width:100%;padding:5px 20px 5px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-focus .picker-selection-single .picker-selection-text{display:none}.picker-selection-single:after{position:absolute;top:7px;right:0;display:block;width:24px;height:14px;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-align:center;text-transform:none;content:"\f0d7";opacity:.4;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.picker-focus .picker-selection-single::after{content:"\e928"}.picker-focus.picker-loading .picker-selection-single::after{display:inline-block;content:"\e982";-webkit-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}.picker-selection-remove{position:absolute;top:0;right:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:18px;height:18px;text-align:center;cursor:pointer;opacity:.2;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.picker-selection-remove:before{font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-shadow:0 1px 0 #fff;text-transform:none;content:'\d7';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.picker-selection-remove:hover{opacity:.5}.picker-single .picker-selection-remove{top:5px;right:20px;z-index:1}.picker-no-value .picker-selection-remove,.picker-single.picker-focus .picker-selection-remove{display:none}.picker-multi.picker-sortable .picker-selection-text{cursor:move}.picker-search{color:transparent;background:0 0;border:none}.picker-search:focus{color:inherit;outline:0}.disabled .picker-search{cursor:not-allowed}.picker-single .picker-search{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;padding:5px 8px}.picker-multi .picker-search{display:inline-block;width:10px;min-width:10px;max-width:100%;padding:0 2px;margin:2px 0}.picker-placeholder{position:absolute;top:5px;right:20px;left:8px;z-index:0;display:none;overflow:hidden;color:#838a9d;text-overflow:ellipsis;white-space:nowrap}.picker-no-value.picker-focus .picker-placeholder{display:none}.picker-input-empty.picker-focus.picker-no-value .picker-placeholder,.picker-no-value .picker-placeholder{display:block}.picker-drop-menu{position:fixed;z-index:1200;display:none;min-width:100px;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.1);box-shadow:0 6px 12px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.1);opacity:0}.picker-drop-menu.picker-drop-show{display:block}.picker-option-list{padding:5px 0;margin:0;overflow-y:auto}.picker-no-options .picker-option-list{display:none}.picker-option{display:block;min-height:30px;padding:5px 10px;overflow:hidden;clear:both;font-weight:400;line-height:1.42857143;color:#313c52;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:none;-o-transition:none;transition:none}.picker-single .picker-option.picker-option-selected{color:#2e7fff;background:#e6f0ff}.picker-option:focus,.picker-option:hover{text-decoration:none}.picker-option.picker-option-active,.picker-single .picker-option.picker-option-selected.picker-option-active{color:#fff;background-color:#2e7fff}.picker-multi .picker-option.picker-option-selected,.picker-multi .picker-option.picker-option-selected.picker-option-active{color:#ccc;cursor:not-allowed;background-color:#fff}.picker-option.disabled{cursor:not-allowed!important}.picker-option-text-matched{position:relative;color:#2e7fff}.picker-option-text-matched:before{position:absolute;right:0;bottom:-4px;left:0;display:block;height:2px;content:' ';background-color:#2e7fff;border-radius:2px;opacity:.5}.picker-option-active .picker-option-text-matched,.picker-option:hover .picker-option-text-matched{color:#fff}.picker-option-active .picker-option-text-matched:before,.picker-option:hover .picker-option-text-matched:before{background-color:#fff}.picker-message{display:none;height:22px;padding:2px 5px;overflow:hidden;font-size:12px;color:#838a9d;text-overflow:ellipsis;white-space:nowrap;background-color:#f1f1f1}.picker-has-message .picker-message{display:block}.picker-message[data-type=danger]{color:#fc5959}.picker-actions{padding:5px;border-top:1px solid #eee}.picker-no-actions .picker-actions{display:none}.picker-actions .btn{padding:2px 4px}.picker-actions .btn[disabled]{background-color:transparent;filter:grayscale(1);-webkit-filter:grayscale(1)}.picker-actions .btn+.btn{margin-left:4px}.picker-checkable .picker-option{position:relative;padding-left:32px;color:inherit!important;cursor:pointer!important}.picker-checkable .picker-option>.checkbox-primary{position:absolute;top:4px;left:10px}.picker-checkable .picker-option.picker-option-active{background-color:rgba(0,0,0,.05)!important}.picker-checkable .picker-option:hover{background-color:rgba(0,0,0,.075)!important}.picker-checkable .picker-option.picker-option-selected{background-color:#e6f0ff!important}.picker-checkable .picker-option-active .picker-option-text-matched,.picker-checkable .picker-option:hover .picker-option-text-matched{color:#2e7fff!important}.picker-checkable .picker-option-active .picker-option-text-matched:before,.picker-checkable .picker-option:hover .picker-option-text-matched:before{background:#2e7fff!important}:root{--color-primary:#2e7fff;--color-secondary:#18a6fd;--color-pale:#e6f0ff;--color-fore:#313c52;--color-back:#fff;--color-red:#fc5959;--color-yellow:#ff9f46;--color-green:#22c98d;--color-blue:#37b2fe;--color-purple:#8166ee;--color-brown:#ff6f42;--color-danger:#fc5959;--color-warning:#ff9f46;--color-success:#22c98d;--color-info:#37b2fe;--color-special:#8166ee;--color-important:#ff6f42;--color-green-pale:#ecfff8;--color-yellow-pale:#fff4ea;--color-red-pale:#ffebeb;--color-blue-pale:#e7f6ff;--color-brown-pale:#fff2ed;--color-purple-pale:#efecfa;--link-color:#313c52;--link-hover-color:#2e7fff;--color-gray-darker:#0b0f18;--color-gray-dark:#313c52;--color-gray:#838a9d;--color-gray-light:#c4c4c4;--color-gray-lighter:#eee;--color-gray-pale:#f1f1f1;--border-radius:4px;--border-radius-lg:6px;--border-radius-sm:3px;--bg-gradient:#3785ff}.container,.container-fixed,.container-fluid{position:relative}.container{max-width:1800px!important}body{color:#313c52;background-color:#f4f5f7}body.article-content,body.body-modal{background:0 0}body.body-modal{padding:0}@media screen and (min-width:1920px){body{font-size:14px}}a:active,a:focus,button:active,button:focus{outline:0!important}.strong{font-weight:700}.font-normal{font-weight:400!important}.text-middle{vertical-align:middle!important}.text-bottom{vertical-align:bottom!important}.text-top{vertical-align:top!important}.inline-block{display:inline-block!important}.layer{border-radius:4px;-webkit-box-shadow:0 0 20px 0 #bdc9d8;box-shadow:0 0 20px 0 #bdc9d8}.space{margin-bottom:20px}.space-lg{margin-bottom:30px}.space-sm{margin-bottom:10px}.muted{opacity:.5}.text-muted em{color:#313c52}.no-animate{-webkit-transition:none!important;-o-transition:none!important;transition:none!important}.template{display:none!important}.text-left{text-align:left!important}.text-yellow.icon-folder{color:#ff9f46}.table-row{display:table;width:100%;table-layout:fixed}.table-col,.table-row>.col,.table-row>[class*=col-],.table-row>[class*="-col"]{display:table-cell;float:none;vertical-align:top}.side-col{width:200px;padding-right:20px}.side-col.col-4{width:33.3333333%}.col-lg{width:260px}.col-xl{width:320px}.col-sm{width:150px}.col-xs{width:100px}.main-col+.side-col{padding-right:0;padding-left:20px}.row-grid>[class*=col-],.row-grid>[class*="-col"]{padding-top:6px;padding-bottom:6px}hr.space{margin:10px 0;border:none}hr.space-sm{margin:5px 0;border:none}.text-secondary{color:#18a6fd}a.text-primary{color:#2e7fff}.text-primary-400{color:#3785ff}.text-primary-600{color:#1e6aeb}.text-primary-700{color:#2463c7}.text-primary-900{color:#063072}.text-green-400{color:#48d1a0}.text-yellow-400{color:#ffaf65}.text-blue-400{color:#60c2ff}.text-red-400{color:#ff7c7c}.text-important-400{color:#ff9777}.text-purple-400{color:#8a6ff5}.text-green-600{color:#0dbb7d}.text-yellow-600{color:#f38f19}.text-blue-600{color:#00c0e9}.text-red-600{color:#fb2b2b}.text-important-600{color:#ff6f42}.text-purple-600{color:#7055df}.text-green-700{color:#0ca76f}.text-yellow-700{color:#ed8307}.text-blue-700{color:#1099ed}.text-red-700{color:#d91b1b}.text-important-700{color:#ff4912}.text-purple-700{color:#513baa}.text-green-900{color:#186c4e}.text-yellow-900{color:#af5f01}.text-blue-900{color:#046bab}.text-red-900{color:#a20606}.text-important-900{color:#611700}.text-purple-900{color:#30216f}.text-gray-14,.text-title{color:#0b0f18}.icon-important,.text-color,.text-gray-13{color:#313c52}.text-gray-12{color:#5e626d}.icon-common,.text-gray-11{color:#838a9d}.icon-secondary,.text-gray-10{color:#9ea3b0}.text-disabled{color:#c4c4c4}.nav-primary>li>a{min-width:100px;padding:5px 8px;color:#838a9d;border-color:#e7f1fc}.nav-primary>li.active>a{color:#2e7fff;background-color:#e7f1fc;border-color:#e7f1fc}.nav-primary>li.active>a:hover{color:#2e7fff;background-color:#c3dcf7;border-color:#c3dcf7}.end-marker{margin-bottom:20px;color:#c4c4c4;text-align:center}@-webkit-keyframes highlight{0%{background:#fff;outline:1px solid transparent}100%{background:#fff0d5;outline:2px solid #ffdcbc}}@-o-keyframes highlight{0%{background:#fff;outline:1px solid transparent}100%{background:#fff0d5;outline:2px solid #ffdcbc}}@keyframes highlight{0%{background:#fff;outline:1px solid transparent}100%{background:#fff0d5;outline:2px solid #ffdcbc}}.highlight{-webkit-animation:highlight .5s linear 0s 2 alternate;-o-animation:highlight .5s linear 0s 2 alternate;animation:highlight .5s linear 0s 2 alternate}.progress.inline-block{width:100px;margin:0}.w-p5{width:5%!important}.w-p10{width:10%!important}.w-p15{width:15%!important}.w-p20{width:20%!important}.w-p25{width:25%!important}.w-p30{width:30%!important}.w-p35{width:35%!important}.w-p40{width:40%!important}.w-p45{width:45%!important}.w-p50{width:50%!important}.w-p55{width:55%!important}.w-p60{width:60%!important}.w-p65{width:65%!important}.w-p70{width:70%!important}.w-p75{width:75%!important}.w-p80{width:80%!important}.w-p85{width:85%!important}.w-p90{width:90%!important}.w-p94{width:94%!important}.w-p95{width:95%!important}.w-p98{width:98%!important}.w-p99{width:99%!important}.w-p100{width:100%!important}.w-auto{width:auto!important}.w-10px{width:10px!important}.w-20px{width:20px!important}.w-30px{width:30px!important}.w-35px{width:35px!important}.w-40px{width:40px!important}.w-45px{width:45px!important}.w-50px{width:50px!important}.w-60px{width:60px!important}.w-70px{width:70px!important}.w-80px{width:80px!important}.w-90px{width:90px!important}.w-100px{width:100px!important}.w-110px{width:110px!important}.w-120px{width:120px!important}.w-130px{width:130px!important}.w-140px{width:140px!important}.w-150px{width:150px!important}.w-160px{width:160px!important}.w-180px{width:180px!important}.w-200px{width:200px!important}.w-230px{width:230px!important}.w-250px{width:250px!important}.w-300px{width:300px!important}.w-400px{width:400px!important}.w-500px{width:500px!important}.w-600px{width:600px!important}.w-700px{width:700px!important}.w-800px{width:800px!important}.w-900px{width:900px!important}.mw-200px{max-width:200px!important}.mw-300px{max-width:300px!important}.mw-400px{max-width:400px!important}.mw-500px{max-width:500px!important}.mw-600px{max-width:600px!important}.mw-700px{max-width:700px!important}.mw-800px{max-width:800px!important}.mw-900px{max-width:900px!important}.mw-1400px{max-width:1400px!important}.w-id{width:70px!important}.w-pri{width:40px!important}.w-severity{width:50px!important}.w-hour{width:57px!important}.w-date{width:90px!important}.w-status{width:60px!important}.w-resolution,.w-type,.w-user{width:80px!important}.w-p15-f{width:15%!important;min-width:120px!important}.w-p25-f{width:25%!important;min-width:200px!important}.w-p35-f{width:35%!important;min-width:300px!important}.w-p45-f{width:45%!important;min-width:400px!important}.h-5px{height:5px!important}.h-10px{height:10px!important}.h-20px{height:20px!important}.h-30px{height:30px!important}.h-35px{height:35px!important}.h-40px{height:40px!important}.h-45px{height:45px!important}.h-50px{height:50px!important}.h-60px{height:60px!important}.h-70px{height:70px!important}.h-80px{height:80px!important}.h-100px{height:100px!important}.h-120px{height:120px!important}.h-130px{height:130px!important}.h-140px{height:140px!important}.h-150px{height:150px!important}.h-200px{height:200px!important}.pd-0{padding:0!important}.mg-0{margin:0!important}.mgb-20{margin-bottom:20px!important}.mgb-10{margin-bottom:10px!important}.pdb-20{padding-bottom:20px!important}.pdt-20{padding-top:20px!important}.br-0{border-radius:0!important}.bd-0,.bd-none,.borderless{border:none!important}.bg-none{background:0 0!important}.red{color:#fc5959!important}.icon-pro-version{font-size:14px!important}.icon-pro-version:before{position:relative;top:-1px;font-size:14px;color:#fc5959;content:"\e92b"}.bg-primary{color:#fff;background:#3785ff;border-top-color:#2e7fff}.bg-primary-pure{color:#fff;background-color:#2e7fff}.bg-primary-pale{color:#2e7fff;background-color:#e6f0ff}.bg-secondary{color:#fff;background:#18a6fd}.line-gray-8{background:#d8dbde}.line-gray-5{background:#e3e4e9}.line-gray-7{background:#eee}.bg-gray-1{background:#e3e4e9}.bg-gray-2{background:#edeef2}.bg-gray-3{background:#f8f8f8}.bg-green-400{background:#48d1a0}.bg-yellow-400{background:#ffaf65}.bg-blue-400{background:#60c2ff}.bg-red-400{background:#ff7c7c}.bg-important-400{background:#ff9777}.bg-purple-400{background:#8a6ff5}.bg-green-600{background:#0dbb7d}.bg-yellow-600{background:#f38f19}.bg-blue-600{background:#00c0e9}.bg-red-600{background:#fb2b2b}.bg-important-600{background:#ff6f42}.bg-purple-600{background:#7055df}.bg-green-700{background:#0ca76f}.bg-yellow-700{background:#ed8307}.bg-blue-700{background:#1099ed}.bg-red-700{background:#d91b1b}.bg-important-700{background:#ff4912}.bg-purple-700{background:#513baa}.bg-green-900{background:#186c4e}.bg-yellow-900{background:#af5f01}.bg-blue-900{background:#046bab}.bg-red-900{background:#a20606}.bg-important-900{background:#611700}.bg-purple-900{background:#30216f}.bg-hover{background:#f6f6f6}.bg-active{background:#e6eaf1}.hl-tutorial{position:relative!important;z-index:1010!important;-webkit-box-shadow:0 0 0 0 #000!important;box-shadow:0 0 0 0 #000!important;-webkit-transition:-webkit-box-shadow 1s!important;-o-transition:box-shadow 1s!important;transition:-webkit-box-shadow 1s!important;transition:box-shadow 1s!important;transition:box-shadow 1s,-webkit-box-shadow 1s!important}.hl-tutorial.hl-in{-webkit-box-shadow:0 0 20px 0 #ffff8d,0 0 0 2px #ffd180,0 0 0 3000px rgba(0,0,0,.2)!important;box-shadow:0 0 20px 0 #ffff8d,0 0 0 2px #ffd180,0 0 0 3000px rgba(0,0,0,.2)!important}.btn.tooltip-tutorial,.hl-tutorial.hl-in:hover{position:relative!important;z-index:1010!important;-webkit-box-shadow:0 0 30px 0 #ffff8d,0 0 0 5px #ffd180,0 0 0 3000px rgba(0,0,0,.3)!important;box-shadow:0 0 30px 0 #ffff8d,0 0 0 5px #ffd180,0 0 0 3000px rgba(0,0,0,.3)!important}.tooltip-max .tooltip-inner{max-width:1000px;padding:8px 10px}.transition-all *{-webkit-transition:all .2s!important;-o-transition:all .2s!important;transition:all .2s!important}.scroll-x{overflow-x:auto!important}.scroll-y{overflow-y:auto!important}.divider+.divider{display:none}.ie *{-webkit-transition:none!important;-o-transition:none!important;transition:none!important}@font-face{font-family:Oswald;font-weight:400;src:url(../fonts/Oswald-Regular.ttf)}@font-face{font-family:Oswald;font-weight:500;src:url(../fonts/Oswald-Medium.ttf)}@font-face{font-family:Oswald;font-weight:300;src:url(../fonts/Oswald-Light.ttf)}.num{font-family:Oswald;font-weight:400}@font-face{font-family:ZentaoIcon;font-style:normal;font-weight:400;src:url(../fonts/ZentaoIcon.eot?v=1.34);src:url(../fonts/ZentaoIcon.eot?#iefix&v=1.34) format('embedded-opentype'),url(../fonts/ZentaoIcon.woff?v=1.34) format('woff'),url(../fonts/ZentaoIcon.ttf?v=1.34) format('truetype'),url(../fonts/ZentaoIcon.svg#regular?v=1.34) format('svg')}.icon,[class*=" icon-"],[class^=icon-]{font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-transform:none;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon:before{display:inline-block;min-width:14px;text-align:center}a .icon,a [class*=" icon-"],a [class^=icon-]{display:inline}.icon-lg:before{font-size:1.33333333em;vertical-align:-10%}.icon-2x{font-size:28px}.icon-3x{font-size:42px}.icon-4x{font-size:56px}.icon-5x{font-size:70px}.icon-spin{display:inline-block;-webkit-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}a .icon-spin{display:inline-block;text-decoration:none}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0);transform:rotate(0)}100%{-o-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);-o-transform:rotate(359deg);transform:rotate(359deg)}}.icon-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.icon-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.icon-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.icon-flip-horizontal{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.icon-flip-vertical{-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.icon.icon-flip-horizontal,.icon.icon-flip-vertical,.icon.icon-rotate-180,.icon.icon-rotate-270,.icon.icon-rotate-90{display:inline-block}.icon-zentao:before{content:"\e901"}.icon-zentao-alt:before{content:"\e900"}.icon-help:before{content:"\e968"}.icon-import:before{content:"\e904"}.icon-download:before{content:"\e904"}.icon-export:before{content:"\e905"}.icon-lightbulb:before{content:"\e91c"}.icon-close:before{content:"\e936"}.icon-check:before{content:"\e5ca"}.icon-plus:before{content:"\e925"}.icon-minus:before{content:"\e926"}.icon-expand-alt:before{content:"\e6f1"}.icon-collapse-alt:before{content:"\e6f2"}.icon-fullscreen:before{content:"\e96b"}.icon-star-empty:before{content:"\e94a"}.icon-star:before{content:"\e94b"}.icon-exclamation-sign:before{content:"\e930"}.icon-info-sign:before{content:"\e9d5"}.icon-flag:before{content:"\e937"}.icon-check-circle:before{content:"\e92f"}.icon-check-sign:before{content:"\e938"}.icon-chart-pie:before{content:"\e95b"}.icon-history:before{content:"\e95f"}.icon-pencil:before{content:"\e254"}.icon-search:before{content:"\e928"}.icon-restart:before{content:"\e95e"}.icon-cog:before{content:"\e93b"}.icon-chart-line:before{content:"\e95c"}.icon-chart-bar:before{content:"\e95d"}.icon-bar-chart:before{content:"\e95d"}.icon-exchange:before{content:"\e927"}.icon-severity:before{content:"\e973"}.icon-book:before{content:"\f02d"}.icon-treemap-alt:before{content:"\e971"}.icon-severity-solid:before{content:"\e902"}.icon-chat-line:before{content:"\e998"}.icon-stack:before{content:"\e943"}.icon-cube:before{content:"\e967"}.icon-minus-sign:before{content:"\e939"}.icon-bars-sign:before{content:"\e93a"}.icon-chat:before{content:"\e940"}.icon-message:before{content:"\e940"}.icon-more:before{content:"\e744"}.icon-certificate:before{content:"\f0a3"}.icon-bell:before{content:"\e7f5"}.icon-columns:before{content:"\f0db"}.icon-envelope-o:before{content:"\e92a"}.icon-unfold-all:before{content:"\e931"}.icon-fold-all:before{content:"\e932"}.icon-bars:before{content:"\e948"}.icon-cards-view:before{content:"\e949"}.icon-ellipsis-v:before{content:"\e5d4"}.icon-spinner-indicator:before{content:"\e982"}.icon-up-circle:before{content:"\e92b"}.icon-right-circle:before{content:"\e92c"}.icon-down-circle:before{content:"\e92d"}.icon-left-circle:before{content:"\e92e"}.icon-angle-double-right:before{content:"\f101"}.icon-angle-down:before{content:"\e313"}.icon-angle-left:before{content:"\e314"}.icon-angle-right:before{content:"\e315"}.icon-angle-top:before{content:"\e316"}.icon-first-page:before{content:"\e5dc"}.icon-last-page:before{content:"\e5dd"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.icon-sort:before{content:"\f0dc"}.icon-sort-down:before{content:"\f0dd"}.icon-sort-up:before{content:"\f0de"}.icon-arrow-up:before{content:"\e923"}.icon-arrow-down:before{content:"\e924"}.icon-arrow-left:before{content:"\e952"}.icon-arrow-right:before{content:"\e93e"}.icon-chevron-left:before{content:"\e934"}.icon-chevron-right:before{content:"\e935"}.icon-chevron-double-up:before{content:"\e959"}.icon-chevron-double-down:before{content:"\e95a"}.icon-folder-account:before{content:"\e942"}.icon-folder-move:before{content:"\e960"}.icon-folder-plus:before{content:"\e961"}.icon-folder-upload:before{content:"\e962"}.icon-folder-star:before{content:"\e963"}.icon-folder-edit:before{content:"\e964"}.icon-folder-download:before{content:"\e965"}.icon-folder-outline:before{content:"\e966"}.icon-folder:before{content:"\e944"}.icon-folder-o:before{content:"\e945"}.icon-folder-open-o:before{content:"\e946"}.icon-folder-open:before{content:"\e947"}.icon-color:before{content:"\e93c"}.icon-paper-clip:before{content:"\e93d"}.icon-text:before{content:"\e929"}.icon-share:before{content:"\f064"}.icon-format-list-bulleted:before{content:"\e9a8"}.icon-format-bold:before{content:"\e953"}.icon-format-header-pound:before{content:"\e954"}.icon-format-italic:before{content:"\e955"}.icon-format-list-numbers:before{content:"\e969"}.icon-format-quote-close:before{content:"\e96a"}.icon-image:before{content:"\e96c"}.icon-table-large:before{content:"\e96d"}.icon-aiux:before{content:"\e99e"}.icon-qc:before{content:"\e986"}.icon-qc-q:before{content:"\e985"}.icon-qc-c:before{content:"\e987"}.icon-sonarqube:before{content:"\e9ba"}.icon-college:before{content:"\e9c8"}.icon-ztool:before{content:"\e9c1"}.icon-contacts:before{content:"\e9c3"}.icon-chats:before{content:"\e9c4"}.icon-menu-my:before{content:"\e97a"}.icon-home:before{content:"\e97a"}.icon-program:before{content:"\e9aa"}.icon-lightbulb-alt:before{content:"\e98f"}.icon-product:before{content:"\e98f"}.icon-rocket:before{content:"\e99c"}.icon-project:before{content:"\e99c"}.icon-run:before{content:"\e9a9"}.icon-test:before{content:"\e956"}.icon-infinite:before{content:"\e9a3"}.icon-devops:before{content:"\e9a3"}.icon-ops:before{content:"\e903"}.icon-doc:before{content:"\e99b"}.icon-menu-doc:before{content:"\e99b"}.icon-statistic:before{content:"\e999"}.icon-menu-backend:before{content:"\e993"}.icon-assets:before{content:"\e9ae"}.icon-diamond:before{content:"\e9ae"}.icon-feedback:before{content:"\e991"}.icon-flow:before{content:"\e994"}.icon-oa:before{content:"\e9a1"}.icon-more-circle:before{content:"\e988"}.icon-controls:before{content:"\e995"}.icon-account:before{content:"\e992"}.icon-about:before{content:"\e996"}.icon-info:before{content:"\e996"}.icon-cog-outline:before{content:"\e997"}.icon-backend:before{content:"\e997"}.icon-exit:before{content:"\e99a"}.icon-theme:before{content:"\e9a0"}.icon-globe:before{content:"\f0ac"}.icon-lang:before{content:"\f0ac"}.icon-table-sort:before{content:"\e9e1"}.icon-download-alt:before{content:"\e9ea"}.icon-blame:before{content:"\e9e0"}.icon-draft-edit:before{content:"\e9dd"}.icon-sub-review:before{content:"\e9df"}.icon-sub-review-user:before{content:"\e9db"}.icon-ztf:before{content:"\e9dc"}.icon-save:before{content:"\e9d8"}.icon-list-box:before{content:"\e9b4"}.icon-usecase:before{content:"\e99d"}.icon-code:before{content:"\e990"}.icon-summary:before{content:"\e9ad"}.icon-more-alt:before{content:"\e9a7"}.icon-customer:before{content:"\e9d9"}.icon-horn:before{content:"\e9eb"}.icon-resume:before{content:"\e9e9"}.icon-mirror:before{content:"\e9e6"}.icon-remote:before{content:"\e9e7"}.icon-moon:before{content:"\e9e8"}.icon-ticket:before{content:"\e9e1"}.icon-gantt-alt:before{content:"\e9e2"}.icon-appose:before{content:"\e9e2"}.icon-inline:before{content:"\e9e3"}.icon-tree:before{content:"\e9c9"}.icon-list:before{content:"\e9cb"}.icon-gantt:before{content:"\e9cc"}.icon-group-view:before{content:"\e9cd"}.icon-inherit-space:before{content:"\e9c2"}.icon-card-archive:before{content:"\e9b8"}.icon-col-archive:before{content:"\e9b9"}.icon-col-add-right:before{content:"\e9bb"}.icon-col-add-left:before{content:"\e9bc"}.icon-col-split:before{content:"\e9bd"}.icon-waterfall:before{content:"\e9a4"}.icon-manual:before{content:"\e98d"}.icon-kanban:before{content:"\e983"}.icon-lane:before{content:"\e9b1"}.icon-snap-house:before{content:"\e9e3"}.icon-wrench:before{content:"\e9e4"}.icon-desktop:before{content:"\e9e5"}.icon-back:before{content:"\e9d3"}.icon-back-circle:before{content:"\e9da"}.icon-shield:before{content:"\e9ca"}.icon-meh:before{content:"\e9ce"}.icon-frown:before{content:"\e9cf"}.icon-smile:before{content:"\e9d0"}.icon-unlock-solid:before{content:"\e9d1"}.icon-lock-solid:before{content:"\e9d2"}.icon-ver:before{content:"\e9c6"}.icon-publish:before{content:"\e9c7"}.icon-send:before{content:"\e9c7"}.icon-tag:before{content:"\e9be"}.icon-tag-lock:before{content:"\e9bf"}.icon-code-fork:before{content:"\f126"}.icon-branch-lock:before{content:"\e9c0"}.icon-groups:before{content:"\e9af"}.icon-thumbs-up:before{content:"\f087"}.icon-thumbs-down:before{content:"\f088"}.icon-thumbs-up-solid:before{content:"\e9d6"}.icon-thumbs-down-solid:before{content:"\e9d7"}.icon-hash:before{content:"\e9ab"}.icon-version:before{content:"\e9ab"}.icon-p-square:before{content:"\e97b"}.icon-video-play:before{content:"\e97f"}.icon-plus-solid-circle:before{content:"\e974"}.icon-minuse-solid-circle:before{content:"\e9b6"}.icon-s:before{content:"\e975"}.icon-c:before{content:"\e976"}.icon-t:before{content:"\e977"}.icon-guide:before{content:"\e978"}.icon-todo:before{content:"\e979"}.icon-side-left:before{content:"\e9b3"}.icon-side-right:before{content:"\e9b2"}.icon-fullscreen-exit:before{content:"\e972"}.icon-alert:before{content:"\e99f"}.icon-undo:before{content:"\e93f"}.icon-redo:before{content:"\e9d4"}.icon-swap:before{content:"\e9b0"}.icon-chat-solid:before{content:"\e9b5"}.icon-clock:before{content:"\e97c"}.icon-cost:before{content:"\e97d"}.icon-pencil-alt:before{content:"\e984"}.icon-size-height:before{content:"\e9c5"}.icon-file-log:before{content:"\e9de"}.icon-rich-text:before{content:"\e913"}.icon-markdown:before{content:"\e916"}.icon-excel:before{content:"\e933"}.icon-text-link:before{content:"\e94d"}.icon-ppt:before{content:"\e957"}.icon-word:before{content:"\e958"}.icon-doc-lib:before{content:"\e96f"}.icon-file:before{content:"\f016"}.icon-file-empty:before{content:"\f016"}.icon-file-text:before{content:"\f0f6"}.icon-file-alt:before{content:"\f15b"}.icon-file-text-alt:before{content:"\f15c"}.icon-file-pdf:before{content:"\f1c1"}.icon-file-word:before{content:"\f1c2"}.icon-file-excel:before{content:"\f1c3"}.icon-file-powerpoint:before{content:"\f1c4"}.icon-file-image:before{content:"\f1c5"}.icon-file-archive:before{content:"\f1c6"}.icon-file-audio:before{content:"\f1c7"}.icon-file-video:before{content:"\f1c8"}.icon-file-code:before{content:"\f1c9"}.icon-menu-collapse:before{content:"\e980"}.icon-menu-expand:before{content:"\e981"}.icon-group:before{content:"\e97e"}.icon-menu-users:before{content:"\e97e"}.icon-persons:before{content:"\e97e"}.icon-team:before{content:"\e97e"}.icon-estimate:before{content:"\e9ac"}.icon-sprint:before{content:"\e9a2"}.icon-shield-check:before{content:"\e9a5"}.icon-ok:before{content:"\e9a6"}.icon-printer:before{content:"\e906"}.icon-bullhorn:before{content:"\e910"}.icon-person:before{content:"\e941"}.icon-fields:before{content:"\e989"}.icon-trigger:before{content:"\e98a"}.icon-layout:before{content:"\e98b"}.icon-audit:before{content:"\e98c"}.icon-cancel:before{content:"\e951"}.icon-ban-circle:before{content:"\e951"}.icon-eye:before{content:"\e94e"}.icon-eye-off:before{content:"\e96e"}.icon-unlock:before{content:"\e94f"}.icon-lock:before{content:"\e950"}.icon-private:before{content:"\e950"}.icon-move:before{content:"\e94c"}.icon-hand-right:before{content:"\e907"}.icon-checked:before{content:"\e908"}.icon-off:before{content:"\e909"}.icon-start:before{content:"\e90a"}.icon-play:before{content:"\e90a"}.icon-time:before{content:"\e90b"}.icon-edit:before{content:"\e90c"}.icon-trash:before{content:"\e90d"}.icon-link:before{content:"\e90e"}.icon-unlink:before{content:"\e90f"}.icon-bug:before{content:"\e911"}.icon-list-alt:before{content:"\e912"}.icon-change:before{content:"\e970"}.icon-alter:before{content:"\e970"}.icon-glasses:before{content:"\e914"}.icon-review:before{content:"\e914"}.icon-sitemap:before{content:"\e915"}.icon-testcase:before{content:"\e915"}.icon-pluses:before{content:"\e917"}.icon-report-list:before{content:"\e918"}.icon-magic:before{content:"\e919"}.icon-active:before{content:"\e919"}.icon-treemap:before{content:"\e91a"}.icon-confirm:before{content:"\e91b"}.icon-split:before{content:"\e98e"}.icon-delay:before{content:"\e91d"}.icon-calendar:before{content:"\e91d"}.icon-pause:before{content:"\e91e"}.icon-ban:before{content:"\e91f"}.icon-plus-bold:before{content:"\e920"}.icon-copy:before{content:"\e921"}.icon-refresh:before{content:"\e922"}.icon-diff:before{content:"\e9b7"}.icon-sm:before{font-size:14px;vertical-align:10%}.icon-qc{position:relative}.icon-qc:before{width:1em;color:#7cb938;content:"\e985"}.icon-qc:after{position:absolute;top:0;left:0;width:1em;height:1em;font-family:ZentaoIcon;font-size:14px;font-size:inherit;font-style:normal;font-weight:400;font-variant:normal;line-height:1;color:#36a742;text-transform:none;content:"\e987";speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-message.has-dot{position:relative}.icon-message.has-dot::after{position:absolute;top:-3px;right:-5px;display:block;width:6px;height:6px;content:' ';background-color:#fc5959;border-radius:50%}.icon-project{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.icon-product{-webkit-transform:scale(1.15);-ms-transform:scale(1.15);-o-transform:scale(1.15);transform:scale(1.15)}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:18px;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px;-webkit-transition:.4s cubic-bezier(.175,.885,.32,1);-o-transition:.4s cubic-bezier(.175,.885,.32,1);transition:.4s cubic-bezier(.175,.885,.32,1);-webkit-transition-property:background,border,outline,opacity,-webkit-box-shadow;-o-transition-property:background,border,box-shadow,outline,opacity;transition-property:background,border,outline,opacity,-webkit-box-shadow;transition-property:background,border,box-shadow,outline,opacity;transition-property:background,border,box-shadow,outline,opacity,-webkit-box-shadow}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:focus,.btn:hover{color:#313c52;text-decoration:none}.btn:active{text-decoration:none;background-image:none;outline:0;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.1)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:grayscale(1);-webkit-box-shadow:none;box-shadow:none;opacity:.5;-webkit-filter:grayscale(1)}.btn{color:#313c52;background-color:#fff;border-color:#d8dbde}.btn.active,.btn.hover,.btn:active,.btn:focus,.btn:hover,.open .dropdown-toggle.btn{color:#313c52;background-color:rgba(255,255,255,.8);border-color:#bcc2c7}.btn.active,.btn:active,.open .dropdown-toggle.btn{background-color:#f2f2f2;background-image:none;border-color:#bcc2c7}.btn.disabled,.btn.disabled.active,.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover,.btn[disabled],.btn[disabled].active,.btn[disabled]:active,.btn[disabled]:focus,.btn[disabled]:hover,fieldset[disabled] .btn,fieldset[disabled] .btn.active,fieldset[disabled] .btn:active,fieldset[disabled] .btn:focus,fieldset[disabled] .btn:hover{color:rgba(49,60,82,.3);background-color:#fff;border-color:#d8dbde}.btn-gray{color:#82899f;background-color:#f1f1f1;border-color:#f1f1f1}.btn-gray.active,.btn-gray.hover,.btn-gray:active,.btn-gray:focus,.btn-gray:hover,.open .dropdown-toggle.btn-gray{color:#82899f;background-color:rgba(241,241,241,.8);border-color:#d8d8d8}.btn-gray.active,.btn-gray:active,.open .dropdown-toggle.btn-gray{background-color:#e4e4e4;background-image:none;border-color:#d8d8d8}.btn-gray.disabled,.btn-gray.disabled.active,.btn-gray.disabled:active,.btn-gray.disabled:focus,.btn-gray.disabled:hover,.btn-gray[disabled],.btn-gray[disabled].active,.btn-gray[disabled]:active,.btn-gray[disabled]:focus,.btn-gray[disabled]:hover,fieldset[disabled] .btn-gray,fieldset[disabled] .btn-gray.active,fieldset[disabled] .btn-gray:active,fieldset[disabled] .btn-gray:focus,fieldset[disabled] .btn-gray:hover{color:rgba(130,137,159,.3);background-color:#f1f1f1;border-color:#f1f1f1}.btn-primary{color:#fff;background-color:#2e7fff;border-color:transparent}.btn-primary.active,.btn-primary.hover,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:rgba(46,127,255,.8);border-color:rgba(0,0,0,0)}.btn-primary.active,.btn-primary:active,.open .dropdown-toggle.btn-primary{background-color:#156fff;background-image:none;border-color:rgba(0,0,0,0)}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{color:rgba(255,255,255,.3);background-color:#2e7fff;border-color:transparent}.btn-secondary{color:#fff;background-color:#18a6fd;border-color:transparent}.btn-secondary.active,.btn-secondary.hover,.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover,.open .dropdown-toggle.btn-secondary{color:#fff;background-color:rgba(24,166,253,.8);border-color:rgba(0,0,0,0)}.btn-secondary.active,.btn-secondary:active,.open .dropdown-toggle.btn-secondary{background-color:#029bf9;background-image:none;border-color:rgba(0,0,0,0)}.btn-secondary.disabled,.btn-secondary.disabled.active,.btn-secondary.disabled:active,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary[disabled],.btn-secondary[disabled].active,.btn-secondary[disabled]:active,.btn-secondary[disabled]:focus,.btn-secondary[disabled]:hover,fieldset[disabled] .btn-secondary,fieldset[disabled] .btn-secondary.active,fieldset[disabled] .btn-secondary:active,fieldset[disabled] .btn-secondary:focus,fieldset[disabled] .btn-secondary:hover{color:rgba(255,255,255,.3);background-color:#18a6fd;border-color:transparent}.btn-warning{color:#fff;background-color:#ff9f46;border-color:transparent}.btn-warning.active,.btn-warning.hover,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{color:#fff;background-color:rgba(255,159,70,.8);border-color:rgba(0,0,0,0)}.btn-warning.active,.btn-warning:active,.open .dropdown-toggle.btn-warning{background-color:#ff922c;background-image:none;border-color:rgba(0,0,0,0)}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{color:rgba(255,255,255,.3);background-color:#ff9f46;border-color:transparent}.btn-danger{color:#fff;background-color:#fc5959;border-color:transparent}.btn-danger.active,.btn-danger.hover,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{color:#fff;background-color:rgba(252,89,89,.8);border-color:rgba(0,0,0,0)}.btn-danger.active,.btn-danger:active,.open .dropdown-toggle.btn-danger{background-color:#fc4040;background-image:none;border-color:rgba(0,0,0,0)}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{color:rgba(255,255,255,.3);background-color:#fc5959;border-color:transparent}.btn-success{color:#fff;background-color:#22c98d;border-color:transparent}.btn-success.active,.btn-success.hover,.btn-success:active,.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{color:#fff;background-color:rgba(34,201,141,.8);border-color:rgba(0,0,0,0)}.btn-success.active,.btn-success:active,.open .dropdown-toggle.btn-success{background-color:#1eb37e;background-image:none;border-color:rgba(0,0,0,0)}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{color:rgba(255,255,255,.3);background-color:#22c98d;border-color:transparent}.btn-info{color:#2e7fff;background-color:#e6f0ff;border-color:transparent}.btn-info.active,.btn-info.hover,.btn-info:active,.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{color:#2e7fff;background-color:rgba(230,240,255,.8);border-color:rgba(0,0,0,0)}.btn-info.active,.btn-info:active,.open .dropdown-toggle.btn-info{background-color:#cce1ff;background-image:none;border-color:rgba(0,0,0,0)}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{color:rgba(46,127,255,.3);background-color:#e6f0ff;border-color:transparent}.btn-link{padding-right:6px;padding-left:6px;font-weight:400;color:#313c52;text-shadow:none;cursor:pointer;background:0 0;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled],fieldset[disabled] .btn-link{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{color:#0b0f18;background:#f1f1f1;background:rgba(0,0,0,.075)}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#c4c4c4;text-decoration:none}.btn-lg{padding:11px 16px;font-size:14px;line-height:18px;border-radius:4px}.btn-mini,.btn-sm{padding:3px 8px;font-size:12px;line-height:18px;border-radius:4px}.btn-mini,.btn-xs{padding:0 5px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.btn-wide{min-width:120px}.btn-limit{max-width:180px;padding-right:20px;overflow:hidden;text-overflow:unset;white-space:nowrap}.btn-limit>.caret{position:absolute;top:14px;right:8px}.btn-circle{border-radius:17px}.btn>.label-icon{top:3px;padding:3px;margin:-2px;background-color:rgba(0,0,0,.2);border-radius:12px}.btn>.label-icon>.icon{font-size:16px;line-height:18px}.btn>.icon+.text{margin-left:5px}.btn.btn-sm.btn-circle{border-radius:12px}.btn.btn-sm>.label-icon{top:2px;width:20px;height:20px;padding:1px;line-height:20px}.btn.btn-sm>.label-icon>.icon{position:relative;top:-1px;display:inline-block;font-size:14px;line-height:18px}.btn-icon-left{position:relative;padding-left:35px;overflow:hidden;text-align:right}.btn-icon-left>.label-icon{position:absolute;left:5px;margin:0}.btn-icon-left>.icon{position:absolute;top:0;bottom:0;left:0;display:block;width:30px;line-height:30px;color:#18a6fd;text-align:center;background:#e6f0ff}.btn-icon-left.btn-sm{padding-left:28px}.btn-icon-left.btn-sm>.label-icon{left:2px}.btn-icon-left.btn-sm>.icon{width:24px;line-height:24px}.btn-icon-right{position:relative;padding-right:35px;text-align:left}.btn-icon-right>.label-icon{position:absolute;right:5px;margin:0}.btn-icon-right.btn-sm{padding-right:28px}.btn-icon-right.btn-sm>.label-icon{right:2px}.btn-icon{min-width:32px;padding-right:0;padding-left:0}.btn-icon.btn-sm{width:24px;min-width:24px;height:24px}.btn-group{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group>.btn-group{float:left}.btn-group>.btn{border-radius:0}.btn-group>.btn:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.btn-group>.btn:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.dropdown{float:left;margin-right:10px}.btn-toolbar>.btn-group:last-child,.btn-toolbar>.btn:last-child,.btn-toolbar>.dropdown:last-child{margin-right:0}.btn-toolbar>.divider{float:left;height:20px;margin:7px 5px 4px 10px;border-left:1px solid rgba(0,0,0,.1)}.btn-toolbar .space{float:left;min-height:1px;margin:0 10px 0 10px}.btn-toolbar .input-control{float:left;width:120px}.btn-toolbar .page-title{float:left;line-height:34px}.btn-toolbar .page-title .text{font-size:14px;font-weight:700}.btn-toolbar .page-title .label{top:-2px;margin-right:10px}.btn-toolbar .divider+.page-title{margin-left:15px}.btn-active-line{position:relative;font-weight:700;color:#2e7fff}.btn-active-line:after{position:absolute;right:5px;bottom:1px;left:5px;display:block;content:' ';border-bottom:2px solid #2e7fff}.btn-active-line:hover{color:#2e7fff}.btn-active-text .text{position:relative;top:-1px;display:inline-block;font-weight:700;color:#1e6aeb}.btn-active-text .text:after{position:absolute;bottom:-5px;display:block;width:100%;content:' ';border-bottom:2px solid #2e7fff}.angle-btn{position:relative;padding:1px;background:#fff;border:1px solid #c4c4c4;border-right:none}.angle-btn:first-child{border-radius:2px 0 0 2px}.btn-toolbar>.angle-btn{margin-right:8px}.angle-btn:after,.angle-btn:before{position:absolute;top:-1px;right:-8px;display:block;width:0;height:0;content:' ';border-color:transparent transparent transparent #c4c4c4;border-style:solid;border-width:17px 0 17px 8px}.angle-btn:after{right:-7px;border-color:transparent transparent transparent #fff;border-radius:2px}.angle-btn .btn{padding:6px;font-weight:700;background:#fff;border:none;border-radius:4px!important}.angle-btn .btn.btn-limit{padding-right:16px}.angle-btn .btn.btn-limit>.caret{right:4px}.angle-btn+.angle-btn{border-left:none}.angle-btn+.angle-btn>.btn-group:first-child{padding-left:8px}.angle-btn+.angle-btn>.btn-group:first-child:after,.angle-btn+.angle-btn>.btn-group:first-child:before{position:absolute;top:-2px;left:0;display:block;width:0;height:0;content:' ';border-color:transparent transparent transparent #c4c4c4;border-style:solid;border-width:17px 0 17px 8px}.angle-btn+.angle-btn>.btn-group:first-child:after{left:-1px;border-color:transparent transparent transparent #fff;border-width:17px 0 17px 8px}.btn-toolbar>.angle-btn.active,.btn-toolbar>.angle-btn:last-child{border-color:#2e7fff}.btn-toolbar>.angle-btn.active .btn,.btn-toolbar>.angle-btn:last-child .btn{color:#2e7fff}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn.active:before,.btn-toolbar>.angle-btn:last-child:after,.btn-toolbar>.angle-btn:last-child:before{border-color:transparent transparent transparent #2e7fff}.btn-toolbar>.angle-btn.active:after,.btn-toolbar>.angle-btn:last-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:before,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before{border-color:transparent transparent transparent #2e7fff}.btn-toolbar>.angle-btn+.angle-btn:last-child>.btn-group:first-child:after,.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn,.btn-toolbar>.angle-btn.normal{border-color:#c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn .btn,.btn-toolbar>.angle-btn.normal .btn{color:#313c52}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.active+.angle-btn:before,.btn-toolbar>.angle-btn.normal:after,.btn-toolbar>.angle-btn.normal:before{border-color:transparent transparent transparent #c4c4c4}.btn-toolbar>.angle-btn.active+.angle-btn:after,.btn-toolbar>.angle-btn.normal:after{border-color:transparent transparent transparent #fff}.btn-toolbar>.angle-btn.active+.angle-btn>.btn-group:first-child:before,.btn-toolbar>.angle-btn.normal>.btn-group:first-child:before{border-color:transparent transparent transparent #c4c4c4!important}.nav>li>.btn.btn-primary{color:#fff}.nav>li>.btn.btn-primary:focus,.nav>li>.btn.btn-primary:hover{background:rgba(46,127,255,.8)}.btn.btn-action,.c-actions .btn{display:inline-block;width:26px;padding:2px;overflow:hidden;line-height:20px;color:#18a6fd;background:0 0;border-color:transparent}.btn.btn-action>i,.c-actions .btn>i{position:relative;top:1px;font-size:18px}.btn.btn-action:hover,.c-actions .btn:hover{color:#2e7fff;background-color:#cce1ff}.c-actions .btn+.btn{margin-left:-4px}.label{position:relative;display:inline-block;padding:3px 5px;font-size:12px;font-weight:400;vertical-align:middle;border-radius:2px}.label+.label{margin-left:4px}.label-pale{background:#b3d1ff!important}.label-badge{border-radius:9px}.label-light{color:#3c4353;background-color:#ddd}.label-primary{background:#2e7fff!important}.label-gray{color:#878da0;background:#e8ebef}.label-outline.label-danger{color:#fc5959;background:#ffebeb;border-color:rgba(252,89,89,.25)}.label-outline.label-light{color:#838a9d;background:#f2f5fb;border-color:#e1e5ee}.label-primary.label-outline{background:#e6f0ff!important;border-color:rgba(46,127,255,.25)}.label-outline.label-success{background:#ecfff8;border-color:rgba(34,201,141,.25)}.label-outline.label-info{background:#e7f6ff;border-color:rgba(55,178,254,.25)}.label-outline.label-warning{background:#fff4ea;border-color:rgba(255,159,70,.25)}.label-dot{position:relative;top:-1px;padding:0;border-radius:50%}.label-dot+.status-text{display:inline-block;margin-left:5px}.label-icon{min-width:18px;padding:0;line-height:18px;border-radius:10px}.label-id{display:inline-block;min-width:30px;padding:0 5px;font-size:12px;line-height:16px;color:#838a9d;text-align:center;vertical-align:middle;background-color:transparent;border:1px solid #838a9d;border-radius:2px}.pri-1,.todo-pri-1{color:#fc5959}[class*=" status-"],[class^=status-]{color:#313c52}.status-changed,.status-delayed,.status-doing,.status-fail,.status-investigate{color:#fc5959}.status-changed>.label-dot,.status-delayed>.label-dot,.status-doing>.label-dot,.status-fail>.label-dot,.status-investigate>.label-dot{background-color:#fc5959}.status-wait{color:#838a9d}.status-wait>.label-dot{background-color:#7ec5ff}.status-unclosed{color:#838a9d}.status-unclosed>.label-dot{background-color:#2e7fff}.status-done,.status-normal,.status-pass,.status-resolved{color:#43a047}.status-done>.label-dot,.status-normal>.label-dot,.status-pass>.label-dot,.status-resolved>.label-dot{background-color:#22c98d}.status-postpone{color:#838a9d}.status-postpone>.label-dot{background-color:#fc5959}.status-blocked{position:relative;left:-5px;display:inline-block;padding:0 5px;line-height:20px;color:#313c52;background:0 0;border-radius:10px}.status-blocked>.label-dot{background-color:#ff9f46}.status-pause,.status-suspended{color:#ff9f46}.status-pause>.label-dot,.status-suspended>.label-dot{background-color:#ff9f46}.status-active.status-bug,.status-draft{color:#8166ee}.status-active.status-bug>.label-dot,.status-draft>.label-dot{background-color:#8166ee}.status-closed,.status-terminate{color:#838a9d}.status-closed>.label-dot,.status-terminate>.label-dot{background-color:#838a9d}.status-cancel{color:#838a9d}.status-cancel>.label-dot{background-color:#c4c4c4}.label-pri{display:inline-block;min-width:18px;max-width:100%;height:18px;padding:0 4px;overflow:hidden;font-size:12px;line-height:16px;color:#838a9d;text-align:center;text-overflow:clip;white-space:normal;vertical-align:middle;border:1px solid #838a9d;border-radius:10px}.label-pri-1,.label-selector>.label-pri[data-value="1"]{overflow:visible;color:#ff6f42;border-color:#ff6f42}.label-pri-2,.label-selector>.label-pri[data-value="2"]{color:#f38f19;border-color:#f38f19}.label-pri-3,.label-selector>.label-pri[data-value="3"]{color:#37b2fe;border-color:#37b2fe}.label-pri-4,.label-selector>.label-pri[data-value="4"]{color:#22c98d;border-color:#22c98d}.label-pri-5,.label-selector>.label-pri[data-value="5"]{color:#838a9d;border-color:#838a9d}.label-pri-0,.label-selector>.label-pri.active[data-value="0"]{color:#d5d9df;border-color:#d5d9df}.label-severity{position:relative;display:inline-block;width:24px;height:20px;font-weight:bolder;text-align:center;vertical-align:middle}.label-severity:before{position:absolute;top:-3px;left:0;z-index:0;display:block;font-family:ZentaoIcon;font-size:14px;font-size:24px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;color:inherit;text-transform:none;content:"\e973";speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.label-severity:after{position:absolute;top:7px;left:0;z-index:1;display:block;width:24px;font-size:12px;line-height:12px;text-align:center;content:attr(data-severity)}.label-severity[data-severity],.label-severity[data-value]{color:#ccc}.label-severity[data-severity="0"],.label-severity[data-value="0"]{color:#ccc}.label-severity[data-severity="1"],.label-severity[data-value="1"]{color:#fb2b2b}.label-severity[data-severity="2"],.label-severity[data-value="2"]{color:#c92d79}.label-severity[data-severity="3"],.label-severity[data-value="3"]{color:#f48116}.label-severity[data-severity="4"],.label-severity[data-value="4"]{color:#ffba34}.label-severity[data-severity="5"],.label-severity[data-value="5"]{color:#9ea3b0}.label-severity-custom[data-severity]{color:#d5d9df}.label-severity-custom[data-severity="1"]{color:#c62828}.label-severity-custom[data-severity="2"]{color:#ff8f00}.label-severity-custom[data-severity="3"]{color:#fdd835}.label-severity-custom[data-severity="4"]{color:#cddc39}.label-severity-custom[data-severity="5"]{color:#8bc34a}.label-selector{padding:0 10px}.label-selector>.label{display:inline-block;min-width:24px;height:24px;padding:0 5px;font-size:14px;line-height:20px;text-align:center;cursor:pointer;background:0 0;border:2px solid #d5d9df;border-radius:15px}.label-selector>.label+.label{margin-left:10px}.label-selector>.label.empty{border-color:transparent}.label-selector>.label.label-severity{font-size:12px;line-height:28px;border-color:transparent}.label-selector>.label.label-severity:before{top:-2px;left:-2px}.label-selector>.label.label-severity:after{display:none}.label-selector>.label.label-severity.active{background:0 0;filter:none;-webkit-filter:none}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{margin-top:2px}.ie .checkbox input[type=checkbox],.ie .checkbox-inline input[type=checkbox],.ie .radio input[type=radio],.ie .radio-inline input[type=radio]{margin-top:4px}.is-firefox .checkbox input[type=checkbox],.is-firefox .checkbox-inline input[type=checkbox],.is-firefox .radio input[type=radio],.is-firefox .radio-inline input[type=radio]{margin-top:3px}.checkbox-primary,.radio-primary{position:relative;display:block;vertical-align:middle}.checkbox-primary.inline-block,.radio-primary.inline-block{display:inline-block}.checkbox-primary.inline-block+.inline-block,.radio-primary.inline-block+.inline-block{margin-left:15px}.checkbox-primary>input,.radio-primary>input{position:absolute;top:0;left:0;z-index:3;width:100%;height:100%;margin:0;opacity:0}.checkbox-primary>label,.radio-primary>label{display:block;height:20px;padding-left:20px;margin:0;font-weight:400;line-height:20px;cursor:pointer}.checkbox-primary>label:after,.checkbox-primary>label:before,.radio-primary>label:after,.radio-primary>label:before{position:absolute;top:3px;right:0;left:0;display:block;width:14px;height:14px;line-height:14px;text-align:center;content:' ';border-radius:3px}.checkbox-primary>label:after,.radio-primary>label:after{z-index:1;border:1px solid #d9dbe1;border-color:rgba(0,0,0,.15);-webkit-transition:.4s cubic-bezier(.175,.885,.32,1);-o-transition:.4s cubic-bezier(.175,.885,.32,1);transition:.4s cubic-bezier(.175,.885,.32,1);-webkit-transition-property:border,background-color;-o-transition-property:border,background-color;transition-property:border,background-color}.checkbox-primary>label:before,.radio-primary>label:before{top:3px;z-index:2;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-weight:900;font-variant:normal;line-height:1;text-transform:none;content:"\e5ca";opacity:0;-webkit-transition:.2s cubic-bezier(.175,.885,.32,1);-o-transition:.2s cubic-bezier(.175,.885,.32,1);transition:.2s cubic-bezier(.175,.885,.32,1);-webkit-transition-property:opacity,-webkit-transform;-o-transition-property:opacity,-o-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform,-o-transform;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.checkbox-primary.checked>label:after,.checkbox-primary>input:checked+label:after,.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:#22c98d;border-color:#22c98d;border-width:4px}.checkbox-primary.checked>label:before,.checkbox-primary>input:checked+label:before,.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{color:#fff;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.checkbox-primary input:indeterminate+label:before,.checkbox-primary.indeterminate>label:before,.radio-primary input:indeterminate+label:before,.radio-primary.indeterminate>label:before{top:9px;left:3px;width:8px;height:2px;content:' ';background-color:#a3a2bc;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.checkbox-primary.focus>label:after,.checkbox-primary>input:focus+label:after,.radio-primary.focus>label:after,.radio-primary>input:focus+label:after{border-color:#22c98d;-webkit-box-shadow:0 0 0 3px rgba(34,201,141,.2);box-shadow:0 0 0 3px rgba(34,201,141,.2)}.checkbox-primary:hover>label:after,.radio-primary:hover>label:after{border-color:#22c98d}.checkbox-primary.checkbox-right>label,.radio-primary.checkbox-right>label{padding:0 30px 0 0}.checkbox-primary.checkbox-right>label:after,.checkbox-primary.checkbox-right>label:before,.radio-primary.checkbox-right>label:after,.radio-primary.checkbox-right>label:before{right:0;left:auto}.checkbox-primary input:disabled+label:after,.checkbox-primary.disabled>label:after,.radio-primary input:disabled+label:after,.radio-primary.disabled>label:after{background-color:#e5e5e5!important;border-color:#bbb!important}.checkbox-primary input:disabled:checked+label:after,.checkbox-primary.checked.disabled>label:after,.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:#bbb!important}.radio-primary>label:after{border-radius:50%}.radio-primary>label:before{top:7px;left:6px;width:6px;height:6px;content:' ';border:none;border-radius:50%}.radio-primary.checked>label:after,.radio-primary>input:checked+label:after{background-color:transparent;border-color:#22c98d;border-width:2px}.radio-primary.checked>label:before,.radio-primary>input:checked+label:before{background-color:#22c98d}.radio-primary input:disabled:checked+label:after,.radio-primary.checked.disabled>label:after{background-color:transparent;border-color:#bbb}.radio-primary input:disabled:checked+label:before,.radio-primary.checked.disabled>label:before{background-color:#bbb}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li>a{position:relative;border:none!important;border-radius:2px!important}.nav-tabs>li.active>a{font-weight:700;color:#313c52!important}.nav-tabs>li.active>a:before{position:absolute;right:0;bottom:-1px;left:0;display:block;height:2px;content:' ';background:#2e7fff}.nav-tabs-primary>li.active>a{color:#1e6aeb!important}.nav-steps{height:29px;text-align:center}.nav-steps>ul{display:inline-block;margin:0}.nav-steps>ul>li{position:relative;background-color:#fff}.nav-steps>ul>li.active>a{color:#fff;background-color:#18a6fd}.nav-steps>ul>li>a{min-width:119px;padding:5px 20px;text-align:center;border:1px solid transparent;-webkit-transition:none;-o-transition:none;transition:none}.nav-steps>ul>li>a:hover{background-color:transparent}.nav-steps>ul>li.active>a:focus,.nav-steps>ul>li.active>a:hover{background-color:#2e7fff}.nav-steps>ul>li+li>a{padding-left:34px}.nav-steps>ul>li+li:after,.nav-steps>ul>li+li:before{position:absolute;top:0;left:0;width:-1;height:0;content:' ';border-color:transparent transparent transparent #a6aab8;border-style:solid;border-width:15px 0 15px 15px}.nav-steps>ul>li+li:after{left:-2px;border-left-color:#fff}.nav-steps>ul>li.active+li:after{border-left-color:#18a6fd}.nav-steps>ul>li:hover{background-color:#eceef3}.nav-steps>ul>li:hover+li:after{border-left-color:#eceef3}.nav-steps>ul>li.active:hover+li:after{border-left-color:#2e7fff}.nav-steps.editor-steps-advance>ul>li:last-child:after,.nav-steps.editor-steps-advance>ul>li:last-child:before{display:none}.nav-steps.editor-steps-advance>ul>li:last-child>a{padding-left:19px}.panel{position:relative;margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}.panel-body{padding:20px}.panel-body.has-table{padding:10px}.panel-body.has-table .table{margin-bottom:0;table-layout:fixed}.panel-heading{padding:12px 48px 12px 20px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading+.panel-body{padding-top:0}.panel-title{font-size:14px;font-weight:700;line-height:20px}.panel-title .label{top:-1px}.panel-actions{position:absolute;top:0;right:0;padding:7px 8px}.panel:hover .panel-actions{z-index:10}.panel-actions>li>a{display:inline-block;min-width:30px;padding:0 5px;line-height:30px;color:#a6aab8;text-align:center;border-radius:4px}.panel-actions>li>a:hover{color:#313c52;text-decoration:initial;background-color:#f1f1f1}.panel-actions .btn-icon{color:#a6aab8}.panel-actions .btn.text-primary{color:#2e7fff}.panel .empty-tip{padding:30px 10px 50px;font-size:14px;color:#838a9d;text-align:center}.progress-text-left{position:relative;margin:7px 0;margin-left:35px;overflow:visible}.progress-text-left .progress-text{position:absolute;top:-7px;left:-35px;display:block;width:35px;height:20px;padding-right:5px;line-height:20px;color:#838a9d;text-align:right}.chart-color{width:20px}.chart-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.chart-row{margin-top:10px}.chart-row+.chart-row{padding-top:10px;border-top:1px solid #eee}.chart-wrapper{padding:10px 5px;background:#eee}.chart-wrapper>h4{margin:5px 0 10px}.table-wrapper{max-height:250px;overflow:auto}.table-wrapper .table{margin:0}.progress-pie{position:relative}.progress-pie canvas{display:block}.progress-pie .progress-info{position:absolute;top:0;left:0;width:100%;height:100%;padding-top:25px;text-align:center}.progress-pie .progress-info>small{display:block;line-height:14px;color:#a6aab8}.progress-pie .progress-info>strong{display:block;font-size:36px;line-height:40px}.progress-pie .progress-info>strong>small{font-size:20px}.progress-pie-120 .progress-info{padding-top:30px}.progress-pie-120 .progress-info>small{line-height:18px}.progress-pie-50 .progress-info{padding-top:4px}.progress-pie-50 .progress-info>strong{font-size:20px;font-weight:400}.progress-pie-50 .progress-info>strong>small{font-size:14px}.progress-pie[data-value="100"] .progress-info>strong{-webkit-transform:scale(.7);-ms-transform:scale(.7);-o-transform:scale(.7);transform:scale(.7)}.progress-pie-24 .progress-info{right:-10px;left:-10px;width:auto;padding-top:0;font-size:12px;line-height:24px;-webkit-transform:scale(.9,1);-ms-transform:scale(.9,1);-o-transform:scale(.9,1);transform:scale(.9,1)}.progress-pie-24[data-value="100"] .progress-info{-webkit-transform:scale(.8,1);-ms-transform:scale(.8,1);-o-transform:scale(.8,1);transform:scale(.8,1)}.progress-pie-26 .progress-info{right:-10px;left:-10px;width:auto;padding-top:0;font-size:12px;line-height:26px;-webkit-transform:scale(.9,1);-ms-transform:scale(.9,1);-o-transform:scale(.9,1);transform:scale(.9,1)}.progress-pie-26[data-value="100"] .progress-info{-webkit-transform:scale(.8,1);-ms-transform:scale(.8,1);-o-transform:scale(.8,1);transform:scale(.8,1)}.status-bars{display:table;width:100%;height:140px;padding:5px;padding-top:50px;margin:0;overflow:hidden}.status-bars>li{position:relative;display:table-cell;text-align:center;vertical-align:bottom}.status-bars .bar{position:absolute;bottom:20px;left:50%;display:block;width:10px;margin-left:-5px;background:#2e7fff;border-radius:5px 5px 0 0}.status-bars .bar:after{position:absolute;right:-50px;bottom:0;left:-50px;display:block;height:1px;content:' ';background:#eee}.status-bars .title{font-size:12px;font-weight:400;color:#a6a8b6}.status-bars .value{position:relative;top:-20px;left:-20px;display:inline-block;width:50px;font-size:16px;font-weight:700;text-align:center}.status-bars-h{display:block;padding-right:50px;padding-left:60px;list-style:none}.status-bars-h>li{position:relative;height:40px;border-left:1px solid #eee}.status-bars-h .bar{position:relative;top:15px;display:block;height:10px;line-height:20px;background:#2e7fff;border-radius:0 5px 5px 0}.status-bars-h .title{position:absolute;top:-5px;left:-60px;width:60px;padding-right:10px;font-size:12px;color:#a6a8b6;text-align:right}.status-bars-h .value{position:absolute;top:-5px;right:-50px;display:block;width:40px;font-size:14px;font-weight:700;text-align:left;white-space:nowrap}.ring,[class*=" ring-"],[class^=ring-]{width:24px;height:24px;font-size:12px;line-height:24px;text-align:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACZAAAAAwCAMAAACyyT3hAAAAP1BMVEUAAAAAAAA5rm06sG87snE4q200o2o7sG86r244q2w6r244rWw7snA7sG86rG05rm07snA5qWw7sW86sG48s3ECZypFAAAAFHRSTlMACl2b8TkPtnsqj0fVv4Zt4RrIqxUkbyYAAA1gSURBVHja7NrbbtswEIRhmyJ1IiVS0v/+z9rCbeGkdZodNEnVdHmTxP4wmF1exLB9eXCu12tqLX39cTGcm78use2z5Msx19wLfunGpOZvSv4xh/798tt+dKPSZ+jGMNn9/pWnXp1X7f9e+ynf53Xv3r37j/bLyfq4/1u+n8T8VI8jLWY/hbEbSjT76+2ssH77zeyBJHooom9dkHzssuQ5wvau+YuWz141/87zMoTewP9kP+7d2/31ZPln82e7L/fuP9LnJPk+DDDb/TQvEaDc/1//vk9Yvrl7vmHa+ztk347BXwcA1UMRPXCIfq+b5Jm3d82PneY5guSHG1fmVfu/837m5N69e/fu3T89fRZ9bRTBpyMCLFa/zfG7CU98l1/M/+EBS/59PT//bfD9lCS/pbAeR7bnb1OqC7AI+QWAkiz5Kdd1B6BVLb8Fk891Poox/7bPUNcIwGHrM3YDAHu1zyv0yWHcjfNen++nWvsvANC5d6/468nyz+bPdl/u3es+NFbFjw1A8BGAPUv5xGFMz/382HcAsNy+W9Sb9/PwwbP4ra5J8WluQDb7qQ4Ayybl05nnrQVgSFafB4AyWfvPEaBT57X2Seu3ecX9HBfN75t79+7du/+sPnVBy++A1e6nHaAEsz9ufk7W/gUgrvmBP/pf/bYDtDlp+/x8j4du1XwBFsHvQMlW348NIJjz0yH5bbz1n7R5m71/bUAL2n5iMueHAYjZvXv37t1/Tp8bJMFPDYhCfgTa2Ft9aEDJ5vzUbvnbC3562GcI5j6vf3T43/h+hlnJnwFGs99WgGDPv/lq9yPQsjCv1mcT/aUDGEVf3bt37979v+DH1kk+RIiCrwCz0AeI82bvc8vvzT5HYP1NfnjQv3uL/d+f/X/8ljUfGiD4ChDsPkcgCX0iUMX8UfDDw/6Xl+fV+q8Awb373/rLyfLP5s92X+4/rQ8QFV+BmO0+AyTND0nqT1H6xFf715/zWe35l5fXf3/e/YtnGugUnxsQhD47sNl9Klp+ipq/DmL/ovXPAJN79+7du/9on5dV80An+BEoye4nYLhofu/tPgAtafO26RWfn/chv9F93YX7N/PTDoOSHzW/LVA2Ib9Am+y+34Es5DdYlHmB2Lt37969+4/1fYQs+KlB6e0+Acsm9CnQXTQfJ61PTMI+dyiv99me7pO3u6+7cf9mvj/Ikgc6xRfNXyIcgt8KLIoX+0/A4d69e/fu/8znoPkOBsH3O8Qk5C8wiH12xR9AFvwAUfEzREOf/Wmf6Q3v967cv52fNJ+BIPgg+gmogk/xmb9a+lex/+ze/WN/PVn+2fzZ7sv93/MVVsUHIAn+AKrgV4hK/gxsYv+q7Ycg+AxMFt/d+9vy/QXZP+RHCIrvoGyCr9B6wa/QNq3/ftHyye7df2HP3pbQBKIgihqGmzKA4P7/b02lTOX2EncSEky1z8uungPosYyPj/8Nv8Mk/HaHm/Adzk/AIvy1hUb4vkKR5y0yf33Nd+K89vo+Xfy/81Oj/FahmPwBRuH7CjeTX6GRfUp8fHx8/Fc/UpRvoBpf4L4ZL/MfsLvzUoxfgM6e1/V5vNjn9jl/eLV/FrL/2DcwS1+lZxN+9X3a+Pj4+Pgvvm9B5Q8wyvxV+K11+VdgMv2r810LRZ63MX1m6IwX+ep+eMr49/HL3ChfoTF+eD65r/q+wiTy+zus8fHf+8vJ8s/mz3a94n/im075FarxE7Sby2975+8mf5T9G9gvLp/O9Jf5nfHNcz6vzzMLWfyX1wiz8Ss8ZP5g/A32+Pj4+P/XP0D5GRbjC9xkfjF+l/lV9h9gtP2PnOfN9JntfMQPsCeN/3/9dmc2/gqtym+d74BrfHx8/P/q+xaM34CryZf+CnTCT9Ca/A7YnG+N71V/P89La/r7eZ5pIYj/x35aNuUH6IzfpZ+hiY+Pj38X35dF+Ql241eoxncwGD/K/EbmL8r7/En2X+X8J99/dveb+4L/EB//zX+Wo/EFVunH+Pj4+HfxI0zG3+BmfIHF+AaKzB/VeU+Wv8BwZJ/14P56IbvEx39+bdDIBa4YP8bHx8e/kS/QGb/DZPwDVuMXGGV+Y3yR+QM+X/py5HlvB/e3C1l8/Fe/TYZfJtjNGxoY4uN/8JeT5Z/Nn+16vbVf7kX5Ga7GV+iM32Ey/gHNkfnDyfJnWA+d58H9L+aB/4Tj43/Vb4DxHdT4+Pj4f+WhVb7CZnwrfYWr8Tt0xt9lfj1ZfoVJedvn4P5ZyOL/nn+wGN9DGx8fH/+vPKB8630f/0f9drI+ymchiz+vB5Q/4Qd6fHz8efxCycIU/5G9e9lRHAaAKEr7kZi8nIT7/986UlatWaWGCbjpYn1UKizAQU7sZr0vyOzb9QkUv8Ek+qT4u77ksYv5q5g/tZQv91F9g0ta9j/Loy8RZnv7795LlvYf4b/U/JgWccLur/xBH2EXfbw4v28pP8B8cZ9HgzfR27/Tj9utpZvK7e2f8W09tWdv/8S+aBmi4OWnPis8FF+gKD7o+VHM78X8QfGD3uch+qG1bQ7s3+sDbIqPUEVf7O2/+5a2vWhqHyx7+++vUbwAGsQJfhEnjAhB8UXPLy3l97BcOgF7Y2H7v3yBeuVGqcXe/oW+qaN77O2f8jF2it9hVPwE9eKjpYqYH0S/XJk/ieM5i+P5gLG1o3Ls/7PfllE9Gkj0u3r0jb39q3xbE6q9/Qs9pE7wd+BKn4FNyU8wCn4DsuKT5vPF49Phw+k/389Mm+IT3DWf5MOh7e1f5G/n1ywPaW//MR4eil9EP0AU83sxf1d8Ub3YJ4q+iONZYRDHZ7b/aX6GovgIVfG9kr8ffYbz+fb2z/nbTZnw7O2f8V9N9clV8hMEwW8JRsF3q5i/QlX676rX+mSgqPmKnyGr42n/dh/mRfEjTIoP0Kv53Vlfj/z1tA/29s/5039hDmdv/2s9pE7wBXolv+r5aRP8CIh+UvpHSFnwQXy/GeabmG//fj9DUPyk+Q0IYp+q+ATB3v4lvqkJz96+ZR+pip8gCH5bIUr5ot/hofgIRfAZWK58vzMUxfcw2F/hQ1D8ANMm+Aq9mt8JPsB0Mj8e+UIfe/vn/Olv5KHs7e3P+QC74gdY75onC34BRsFXSEqfCFOn+XUT/KDnk+0v8AGK4LcJouC7FQYlf4VF6b9DEb4vmfP97X+HX859fvT843Vq880D2dv/o7811udyv0AV/IjmK/AQfE6wKB4YxD5B8AGoYp9R8AsQ7f+0a287bsJQFIapTxxssA3/+z9rJVS1VVOmezeDOp1s7mI+LS1bxJZChH7WeAdkpXcKX4Gs8yHqPFXyfC4/jspNlG/+VbyTPD/6/G+X9EAyb9681Dun8SMcCh8D7Enu0wirpk/T+QyMGh90fgiwKPvs5oU+45PCH4DGeyjK/KDpv0Lpyv7z237mp+/jDmRBvvnX8YLn5y/yxd/gU5g3b/4enyF0uU8FWpT7vgIKf56JSe5jgNY1XtlnV+5XQOjmhf6AfVb4AkGR3wuMXe7nBrsiPwN7evf+3xN7AAR9zJt/yst3uPO+efPmb/LbmhXeAwofCzAp8kcgyn0qyj4NcHLflfkzr+494yz3DmhZ7mdgH3T5JSp91/lxeL/+GWC++HyZb/6lfL72+Yl80d8OztvmzYv8I/9gff5/H6DKfQ6ofARwCj+i61MAp+sfstw7gPrZfO4KDzQn9w5A4TMQZrmvQFDkT0DIuv5j1Hku87eH1aiC9TH/Yn678tsT+Vdn5uM98+bNfxDvwyT3KUBwcr/o9oe+BJVPZ76T529AyBf+8jz9bH6BJYn9BLDI8x3A1nX5VZ6fGzAp+yxJ6ZX9t+ufn6m/W5+3+pt/Oe+vnx99/tWxYOM2buOfanyGluU+AHuX+jQ1IERxfi5Ac1Lfz/wmzk9uBML8P/jNO7lfgSL3sQC73DuANiWpzwA+i/Pns//UxflNN1/XgFaTuE8D1sv8/OADMLrLfPPmn/JXO/qX3w+aN2/+P/X1iHK/AZM43xWAsQt9XE5/zEKftwBQoji/nfnpH/m41S72GQg+Cn1aAcZpluYvqPLjCFCqdL59B1jFfvAAYZH2j8r5dq+b77Bd+70/8nQAtOX3+ebNP+Wvd9zz+vWjefNaP3ywPuZFfqNluQcIm9DnndNPIh+nMQDQJL5HN/kVAJY/+TinJPX5OCYXhX4F1hrnPgh8LAAUaX5tnH6rWdTfNXX+yZeaRd4DELaaZetZdwBGf/N8Jyfz+Wp9/Buv8mF97G/e/JP+egt6vAbz5s2/is9J4QthEvsVIBxR5F2A0y9d4Avwzfv8Jw8g9gXk/gDkvtdd5xfuzfdB5d2Iyg9uvHe+PrzD+izxyueLfPPmn/OaLXoYzJv/az98sD7m39XHrPAe1pqEfgUI6zJL/AYAsNc/94mA3O+g8M43lc8+aPxcR+7M73VH5aei7cOd8011fW59Vve2f1wf8+bv84+vmsybN2/+Xfzc5b4fR43i/DWU0U9uFvlpb0HsU578WOR+iJNfFb4r85Nbjjvz58kfe1N4p+wf3Xbsyvmq+9+4Ps68+dv8V5yOdlOUBd3vAAAAAElFTkSuQmCC);background-position:0 0;-webkit-background-size:1224px 24px;background-size:1224px 24px}.ring>span,[class*=" ring-"]>span,[class^=ring-]>span{display:inline-block;-webkit-transform:scale(.9,1);-ms-transform:scale(.9,1);-o-transform:scale(.9,1);transform:scale(.9,1)}.messager{border-radius:4px;-webkit-box-shadow:0 4px 16px rgba(0,0,0,.2),0 2px 8px rgba(0,0,0,.1);box-shadow:0 4px 16px rgba(0,0,0,.2),0 2px 8px rgba(0,0,0,.1)}.messager-icon{vertical-align:middle}.messager-icon>.icon{font-size:24px}.messager-content{padding:18px 20px;font-size:18px;line-height:30px}.messager-content>.icon{font-size:28px;line-height:30px}.messager-actions{vertical-align:middle}.messagger-zt{color:#313c52;background-color:#fff!important}.messagger-zt .messager-icon>.icon{color:#2e7fff}.messagger-zt .messager-actions>.action{color:#838a9d}.messagger-zt.messager-success .messager-icon>.icon{color:#22c98d}.messagger-zt.messager-danger .messager-icon>.icon{color:#fc5959}.messagger-zt.messager-warning .messager-icon>.icon{color:#ff9f46}.messagger-zt.messager-info .messager-icon>.icon{color:#37b2fe}.tree{padding-left:0;overflow:hidden}.tree ul{position:relative;display:none;padding-left:0}.tree li{position:relative;padding:2px 0 2px 15px;list-style:none}.tree li.heading{padding-left:5px;color:#313c52}.tree li>a{display:block;max-width:90%;padding:2px 6px;color:#313c52;word-break:break-all}.tree li>a:hover{color:#313c52}.tree li>a.tree-toggle:hover{background:0 0}.tree li.active>a{position:relative;font-weight:700;color:#2e7fff}.tree li>.list-toggle{position:absolute;top:1px;left:1px;z-index:10;width:20px;font-size:14px;line-height:22px;color:#cbd0db;text-align:center;cursor:pointer;-webkit-transition:all .2s;-o-transition:all .2s;transition:all .2s}.tree li>.list-toggle:before{content:"\f0da"}.tree li>.list-toggle:active,.tree li>.list-toggle:hover{color:#2e7fff}.tree li.has-active-item>.list-toggle{color:#313c52}.tree li.has-list.open>ul{display:block}.tree li.has-list.open>.list-toggle{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.tree li.has-list.open:before{position:absolute;top:16px;bottom:-5px;left:10px;display:block;content:' ';border-left:1px solid #d8d8d8}.tree-actions{display:inline-block;margin-left:5px;vertical-align:middle}.tree-actions a{display:inline-block;margin-left:5px;font-size:13px;opacity:.6}.tree-actions a:hover{opacity:1}.tree li>.module-name{color:#313c52;vertical-align:middle}.tree li>.module-name:hover{background-color:#f0f2f5}.tree li>.module-name:hover>a{color:#313c52}.treemap-node-fold-icon:before{position:relative;left:-4px;min-width:18px}.dropdown-menu{padding:5px 0;border-color:rgba(0,0,0,.1)}.dropdown-menu>li{padding:0 10px}.dropdown-menu>li>a{padding:2px 10px;margin:5px 0;border-radius:3px}.dropdown-menu>li>a>.icon{position:relative;left:-5px;opacity:.5}.dropdown-menu>li>a:hover>.icon{opacity:.8}.dropdown-menu>li.active>a,.dropdown-menu>li.selected>a{position:relative;color:#fff;background-color:#18a6fd}.dropdown-menu>li.selected>a:after{position:absolute;top:2px;right:4px;display:block;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;line-height:20px;text-transform:none;content:"\e5ca";speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dropdown-menu>li.divider{margin:10px}.dropdown-submenu>a:after{margin-right:-5px}.dropdown-submenu>.dropdown-menu.pull-left{margin-left:-1px}.dropdown-submenu:focus>a,.dropdown-submenu:hover>a{color:#313c52;background-color:#e6f0ff}.dropdown-submenu:hover>a:after{border-left-color:#2e7fff}.dropdown-submenu>a:hover:after{border-left-color:#fff}.pager .btn{padding:3px 10px}.pager .btn .caret{opacity:.7}.pager>li>.pager-label{padding:2px;line-height:20px}.pager>li>.pager-item{min-width:20px;padding:1px;margin:2px 0;font-size:16px;line-height:20px;text-align:center;background:0 0;border-color:transparent}.pager>li>.pager-item:hover{background-color:rgba(0,0,0,.1)}.pager>li>.pager-item>.icon{position:relative;top:-1px}.pager>li>.btn:hover,.pager>li>a:hover{background:rgba(0,0,0,.1)}.pager>li.disabled>a.pager-item{background:0 0;border-color:transparent;opacity:.5}.pager>li.active>a{background-color:#18a6fd}.pager>li .btn-group .btn{padding:1px;margin:1px 0;border-radius:4px}.pager .dropdown-menu{width:200px}.pager .dropdown-menu>li{float:left;width:33.333333%}.modal-dialog{width:900px;max-width:1360px;border:none;border-radius:0;-webkit-box-shadow:0 0 20px 0 rgba(0,0,0,.25);box-shadow:0 0 20px 0 rgba(0,0,0,.25)}.modal-dialog.modal-md{width:700px}.modal-dialog.modal-xs{width:400px}.modal-dialog.modal-sm{width:500px}.modal-dialog.modal-lg{width:1200px}.modal-dialog.modal-fullscreen{position:fixed;max-width:initial}.modal-header{padding:20px 0;margin:0 20px}.modal-header>.close{color:#838a9d;text-shadow:0 1px 0 rgba(255,255,255,.85);opacity:1}.modal-header>.close:hover{color:#0b0f18}.modal-footer{padding:20px 0;margin:0 20px}.modal-title{font-size:14px;font-weight:400;line-height:20px}.modal-actions{position:absolute;top:16px;right:16px}.modal-actions .divider{position:relative;top:5px;display:inline-block;width:0;height:20px;margin:0 10px;border-left:#eee 1px solid}.modal-actions>.dropdown{display:inline-block}.modal-body{padding:20px}.modal-iframe .modal-body>iframe{border-radius:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-3%);-ms-transform:translate(0,-3%);-o-transform:translate(0,-3%);transform:translate(0,-3%)}.modal.fade.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-simple .modal-footer{padding-top:0;border-top:none}.modal-iframe .modal-header{position:relative;z-index:10;min-height:0;padding:0;border:none}.modal-iframe .modal-title{display:none}.modal-iframe .modal-header .close{position:absolute;top:12px;right:10px;font-size:32px;font-weight:200}.modal-iframe .modal-dialog{overflow:hidden}.modal-inverse .modal-header>.close{color:rgba(255,255,255,.7);text-shadow:none}.modal-inverse .modal-header>.close:hover{color:#fff}.modal-scroll-inside>.modal-dialog{max-height:100%}.hide-modal-close .modal-iframe .modal-header .close{display:none}.tile{text-align:center}.tile-title{line-height:20px;color:#313c52}.tile-amount{font-size:32px;font-weight:700;line-height:56px}.timeline>li{position:relative;list-style:none}.timeline>li:before,.timeline>li>a:after,.timeline>li>div:after{position:absolute;left:-20px;display:block;width:15px;height:15px;content:' ';border-radius:50%}.timeline>li:before{top:12px;left:-16px;z-index:3;width:7px;height:7px;background-color:#c4c4c4;border:none;border:1px solid #c4c4c4}.timeline>li>a:after,.timeline>li>div:after{top:11px;left:-17px;z-index:3;width:9px;height:9px;background-color:#2e7fff;border-radius:50%;opacity:0}.timeline>li+li:after{position:absolute;top:-12px;bottom:20px;left:-13px;z-index:1;display:block;content:' ';border-left:1px solid #eee}.timeline>li.active>a:after,.timeline>li.active>div:after{opacity:1}.timeline>li.active:before{top:8px;left:-20px;width:15px;height:15px;background-color:rgba(46,127,255,.2);border:none}.timeline>li>a,.timeline>li>div{display:block;padding:5px;line-height:20px}.timeline>li.active>a{color:#313c52}.timeline-tag{position:absolute;top:5px;left:-115px;font-size:12px}.timeline-tag-left{padding-left:115px}.timeline-sm{font-size:12px}.timeline-sm>li:before,.timeline-sm>li>a:after,.timeline-sm>li>div:after{top:10px;left:-20px;width:11px;height:11px}.timeline-sm>li.active:before,.timeline-sm>li:before{top:10px;left:-18px;width:11px;height:11px;background:0 0;border:1px solid #eee}.timeline-sm>li>a,.timeline-sm>li>div{line-height:20px}.timeline-sm>li>a:after,.timeline-sm>li>div:after{top:13px;left:-15px;width:5px;height:5px}.form-control{-webkit-box-shadow:none;box-shadow:none}.form-horizontal .form-group>label{padding-right:0}.form-actions{margin-top:20px;margin-bottom:0}.form-actions .btn{margin-right:10px}form label{font-weight:400;color:#313c52}.form-group .btn+.btn{margin-left:5px}.table-form{margin-bottom:0;table-layout:fixed}.table-form>thead>tr>th.required:after{position:relative;top:3px;right:auto;left:4px;display:inline-block;vertical-align:middle}.table-form>tbody>tr>td,.table-form>tbody>tr>th,.table-form>tfoot>tr>td,.table-form>thead>tr>th{padding:7px;vertical-align:middle;border-bottom:none}.table-form>tfoot>tr>td{padding:20px 7px 10px}.table-form>tbody>tr>th{width:100px;font-weight:700;text-align:right}.table-form .input-group{width:100%}.chosen-container-single .chosen-single{position:relative}.chosen-container-single .chosen-single>span{height:20px;line-height:20px;word-break:break-all;white-space:normal}.chosen-container-single .chosen-single div b{position:relative;top:1px;color:#cbd0db;opacity:1}.chosen-container-single .chosen-search:before{top:8px;right:15px}.chosen-container-multi .chosen-choices li.search-choice{font-size:13px;background:#eee;border-color:#cbd0db;-webkit-box-shadow:none;box-shadow:none}.chosen-container-single .chosen-search input[type=text]{height:30px;padding:3px 25px 3px 5px}.chosen-container-single .chosen-search{padding:3px 10px 0}.chosen-container-single .chosen-single{overflow:visible}.chosen-container .chosen-results{max-height:245px;padding:10px}.chosen-container .chosen-results>li{border-radius:4px}.chosen-container .chosen-results li.highlighted em{color:#fff}.table-responsive .chosen-container .chosen-results{max-height:200px}.picker>.picker-selections>.picker-selection>.picker-selection-text{word-break:break-word}.chosen-container .chosen-drop.chosen-no-wrap>.chosen-results>li,.picker-drop-menu>.picker-option-list>.picker-option .picker-option-text{text-overflow:clip;white-space:nowrap!important}.picker-drop-menu>.picker-option-list>.picker-option .picker-option-text{display:block;overflow:hidden;word-break:break-word}.chosen-compact.chosen-container-single .chosen-single>.chosen-search{top:-2px;right:-1px;bottom:-1px;left:-1px;display:none;height:auto;padding:0;opacity:0}.chosen-compact.chosen-container-single .chosen-single>.chosen-search>input{height:31px;padding:5px 26px 5px 8px;font-size:inherit;line-height:20px}.chosen-compact.chosen-container-single .chosen-single>.chosen-search:before{right:8px}.datetimepicker{padding:10px}.datetimepicker td.day.today{background-color:#fc7272}.datetimepicker td.day.active{background-color:#18a6fd}.datetimepicker tfoot th,.datetimepicker thead th{color:#838a9d}.input-control .colorpicker{top:0;z-index:auto;opacity:1}.input-control .colorpicker .btn{padding:5px}.input-control .input-control-icon-right.btn{top:0}.colorpicker .dropdown-menu{min-width:232px;padding:5px 10px 10px 10px}.colorpicker .dropdown-menu>li{display:block;float:left;padding:5px}.colorpicker .dropdown-menu>li.heading{width:100%;margin-bottom:5px;font-size:16px;font-weight:700;text-align:left}.colorpicker .dropdown-menu>li.heading>.icon-close{position:relative;top:4px;float:right;cursor:pointer;opacity:.6}.colorpicker .dropdown-menu>li>a{position:relative;display:block;width:100%;height:100%;padding:0;margin:0;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-align:center;text-transform:none;border:1px solid transparent;border-radius:50%;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.colorpicker .dropdown-menu>li>a:before{position:absolute;top:0;display:block;width:100%;height:20px;line-height:18px}.colorpicker .dropdown-menu>li>a:hover{-webkit-box-shadow:0 1px 4px rgba(0,0,0,.25);box-shadow:0 1px 4px rgba(0,0,0,.25)}.colorpicker .dropdown-menu>li>a.active:before{font-size:14px;content:"\e5ca"}.colorpicker .dropdown-menu>li>a.empty{color:#666;background:#fff}.colorpicker .dropdown-menu>li>a.empty:before{content:"\e90d"}.colorpicker .btn{position:relative}.colorpicker .btn .color-bar{position:absolute;right:5px;bottom:3px;left:5px;height:3px}.colorpicker .btn .color-bar[style*='background: ']+.ic{position:relative;top:-2px}.colorpicker .btn .ic{color:#cbd0db}.colorpicker .btn:hover .ic{color:#838a9d}.input-group .colorpicker{z-index:3}.input-group .chosen-container{display:table-cell}.input-group-addon{border-right-width:0;border-left-width:0}.input-group-addon:first-child{border-left-width:1px}.input-group-addon:last-child{border-right-width:1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin:0}.input-group-cell{display:table-cell;width:1%;padding:0 12px;white-space:nowrap;vertical-align:middle}.ke-container{border-color:#dcdcdc!important;border-radius:2px!important}.ke-container.focus{border-color:#2e7fff!important}.ke-toolbar{border-color:#dcdcdc!important}.required:after{top:6px;right:-10px;font-size:20px}td.required:after{top:12px;right:-5px}.input-group>.chosen-container.required:after,.input-group>.input-control.required:after{top:1px;right:1px;z-index:2}.input-group.required .required:after{display:none}.file-input{position:relative;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.file-input .input-group{width:auto}.file-input .input-group>.input-group-cell:first-child{padding-right:0;padding-left:7px}.file-input input[type=file]{position:absolute;width:0;height:0;opacity:0}.file-input .file-title{display:inline-block;max-width:400px;overflow:hidden;text-overflow:unset;white-space:nowrap;vertical-align:middle}.file-input .file-editbox{min-width:200px;max-width:100%}.file-input .file-size{display:inline-block;vertical-align:middle}.edit .file-input-empty,.file-input-edit,.file-input-normal,.normal .file-input-empty{display:none}.edit .file-input-edit,.normal .file-input-normal{display:block}.edit .file-input-edit.input-group,.normal .file-input-normal.input-group{display:table}.edit .file-input-normal{display:none!important}.file-input-normal>.input-group-btn{width:auto}.input-group .chosen-container-active .chosen-choices{border-color:#2e7fff!important}.input-group .chosen-container{min-width:100px}.input-group .input-group-btn .btn>.icon{line-height:17px}.os-mac select.form-control{-webkit-appearance:none;background-image:url(data:image/gif;base64,R0lGODlhCQAFAIAAAMvQ2////yH5BAEAAAEALAAAAAAJAAUAAAIKhH+BGYoNGWxgFgA7);background-image:url(data:image/gif;base64,R0lGODlhBwAEAIAAAMvQ2////yH5BAEAAAEALAAAAAAHAAQAAAIIhA+BGWoNWSgAOw==);background-repeat:no-repeat;background-position:right 5px top 12px;-moz-appearance:none}input::-webkit-contacts-auto-fill-button{position:absolute;right:0;display:none!important;pointer-events:none;visibility:hidden}.chosen-choices.has-error,.chosen-single.has-error,.form-control.has-error{border-color:#fc5959!important;-webkit-box-shadow:0 0 6px #febdbd!important;box-shadow:0 0 6px #febdbd!important}.popover-success.popover-form-result{font-weight:700;color:#fff;background:#22c98d}.popover-success.popover-form-result.popover.right .arrow:after{border-right-color:#22c98d}textarea.kindeditor{padding:0!important}.form-unsaved{outline:2px solid #ff9f46;-webkit-box-shadow:0 1px 12px #ff9f46;box-shadow:0 1px 12px #ff9f46;-webkit-transition:all .5s;-o-transition:all .5s;transition:all .5s}select[multiple].picker-select,select[multiple][data-toggle=picker]{max-height:32px;visibility:hidden}.picker-selection-remove:before{font-size:18px}.picker-user-option{position:relative;padding-left:40px}.picker-user-option>.avatar{position:absolute;top:5px;left:10px}.picker-user-option>.picker-option-text{display:inline-block;min-width:40px;font-weight:700}.picker-user-option>.dept-name,.picker-user-option>.role-name{display:inline-block;margin-left:10px;font-size:12px;opacity:.6}.picker-user-option>.dept-name{min-width:50px}#mainHeader{height:50px;color:#fff;background:#3785ff;border-top-color:#2e7fff;border-bottom-color:#e6f0ff}#mainHeader>.container{min-width:1200px;padding:0}#heading{position:absolute;top:10px;left:20px}@media (min-width:1400px){#heading{left:40px}}#heading h1{float:left;max-width:250px;margin:0;overflow:hidden;font-size:20px;font-weight:400;line-height:30px;text-overflow:unset;white-space:nowrap}#heading h1 a{color:inherit;text-decoration:inherit}#heading h1.long-name{position:relative;top:-5px;display:table-cell;font-size:16px;line-height:20px;word-break:break-all;white-space:normal}#heading>.btn{display:block;float:left;height:20px;padding:1px 5px;margin:0;margin:5px 0 0 10px;font-size:12px;font-weight:lighter;line-height:18px;background-color:rgba(255,255,255,.2);border:none}#heading>.btn:hover{background-color:rgba(0,0,0,.1)}#navbar{margin:0 auto;text-align:center}#navbar .nav{display:inline-block}#navbar .nav>li>a{padding:10px;line-height:30px;color:#fff;border-radius:0;opacity:.9}@media (max-width:1400px){#navbar .nav>li>a{padding:10px 8px}}#navbar .nav>li>a:focus,#navbar .nav>li>a:hover{background:rgba(0,0,0,.15);opacity:1}#navbar .nav>li.active>a{font-weight:700;background:rgba(0,0,0,.1);opacity:1}#navbar .nav>li.divider{display:block;width:2px;height:20px;margin:15px 8px;background:rgba(255,255,255,.4)}@media (max-width:1400px){#navbar .nav>li.divider{margin:15px 5px}}@media (max-width:1300px){#navbar .nav>li.divider{margin:15px 3px}}#navbar .nav>li.divider:last-child{display:none}#navbar .nav .dropdown-menu li>a{text-align:left}#toolbar{position:absolute;top:12px;right:20px;font-size:12px;color:#fff}@media (min-width:1400px){#toolbar{right:40px}}#extraNav{text-align:right}#extraNav>li{display:inline-block;float:none;text-align:left}#extraNav>li>a{display:block;padding:0;color:#fff;opacity:.75}#extraNav>li>a:hover{text-decoration:unset;background-color:rgba(0,0,0,.1);opacity:1}#extraNav>li.open>a{background-color:rgba(0,0,0,.1)}#extraNav>li+li{margin-left:10px}#showSearchGo{color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.5)}#searchbox{position:relative;float:left;width:150px}#searchbox .input-group-btn .btn{position:relative;padding:1px 4px;font-size:12px;line-height:20px;color:#fff;background-color:rgba(255,255,255,.15);border-right:none;border-radius:2px}#searchbox .input-group-btn .btn:after{position:absolute;top:3px;right:0;bottom:3px;display:block;width:1px;content:' ';background-color:rgba(255,255,255,.15)}#searchbox .input-group-btn .btn:hover{background-color:rgba(255,255,255,.25)}#searchGo{position:absolute;top:0;right:-1px;z-index:9;min-width:24px;height:24px;padding:2px 3px;font-size:12px;line-height:20px;color:#fff;background-color:#18a6fd;border-radius:2px}#searchGo:hover{color:#fff!important;background-color:#2e7fff}#searchInput{height:24px;padding:2px 30px 2px 5px;color:#fff;text-align:left;background:rgba(255,255,255,.15);border-color:transparent;border-radius:0 12px 12px 0;-webkit-transition:background .2s,border .2s;-o-transition:background .2s,border .2s;transition:background .2s,border .2s}#searchInput:hover{background:rgba(255,255,255,.25)}#searchInput:focus{color:#333;background:#fff}#searchInput::-webkit-input-placeholder{font-size:12px;color:#fff;color:rgba(255,255,255,.5)}#searchInput::-moz-placeholder{font-size:12px;color:#fff;color:rgba(255,255,255,.5)}#searchInput:-ms-input-placeholder{font-size:12px;color:#fff;color:rgba(255,255,255,.5)}#searchInput::placeholder{font-size:12px;color:#fff;color:rgba(255,255,255,.5)}#searchInput:focus::-webkit-input-placeholder{color:#838a9d}#searchInput:focus::-moz-placeholder{color:#838a9d}#searchInput:focus:-ms-input-placeholder{color:#838a9d}#searchInput:focus::placeholder{color:#838a9d}#searchTypeMenu{min-width:220px}#searchTypeMenu>li{float:left;width:50%}#searchTypeMenu>li>a{margin:4px 0}#userNav .avatar{display:inline-block;vertical-align:middle}#userNav>li>a{padding:2px 6px;line-height:20px;color:#fff;opacity:.9}#userNav>li>a .user-name{max-width:100px;overflow:hidden;font-size:15px;text-overflow:unset;white-space:nowrap}#userNav>li>a:hover{background-color:rgba(0,0,0,.1);opacity:1}#userNav>li>a:hover>i{opacity:1}#userNav>li>a span{vertical-align:middle}#userNav>li.open>a{background-color:rgba(0,0,0,.1)}#userNav>li.has-new-items>a{position:relative}#userNav>li.has-new-items>a:before{position:absolute;top:3px;right:-1px;display:block;width:4px;height:4px;content:' ';background-color:#fc5959;border-radius:50%}#userNav .dropdown-menu{min-width:150px}#userNav .dropdown-menu>li>a>.icon{position:absolute;top:10px;right:5px;display:block;width:20px;height:20px;line-height:20px;text-align:center}#userNav .user-profile-item>a{position:relative;padding-left:45px}#userNav .user-profile-item .avatar{position:absolute;top:6px;left:5px}#userNav .user-profile-name{font-size:16px}#userNav .user-profile-role{font-size:12px;color:#a9abb8}#userNav .no-role .user-profile-role{display:none}#userNav .no-role .user-profile-name{line-height:40px}#subHeader{min-height:50px;background:#fff}#subHeader>.container{padding:0 20px}@media (min-width:1400px){#subHeader>.container{padding:0 40px}}#subHeader.admin-tab-menu{background:unset}#subHeader.admin-tab-menu>.container>#subNavbar{text-align:left}#subHeader.admin-tab-menu>.container>#subNavbar>ul>li.active>a{color:unset}#subHeader.admin-tab-menu>.container>#subNavbar>ul>li.active>a:after{position:absolute;content:'';border-bottom:2px solid #2e7fff;inset:0 12px}#pageNav{position:absolute;top:8px;left:0;left:20px}@media (min-width:1400px){#pageNav{left:40px}}#subNavbar{margin-top:5px;font-size:13px;text-align:center}#subNavbar .nav{display:inline-block}#subNavbar .nav>li>a{padding:8px 12px;line-height:24px;color:#313c52}#subNavbar .nav>li>a:hover{color:#313c52;background-color:rgba(0,0,0,.075)}#subNavbar .nav>li.active>a{font-weight:700;color:#2e7fff}#subNavbar .nav>li.divider{display:block;width:2px;height:20px;margin:9px 5px;background-color:rgba(0,0,0,.05)}#subNavbar .dropdown-menu{text-align:left}[lang=en] #subNavbar>.nav>li>a{padding-right:8px;padding-left:8px}#pageActions{position:absolute;top:9px;right:20px}@media (min-width:1400px){#pageActions{right:40px}}.cell{padding:10px;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}.cell+.cell{margin-top:10px}.cell>.panel{margin:0;-webkit-box-shadow:none;box-shadow:none}.cell>.panel>.panel-heading{padding:5px 5px 10px}.cell>.panel>.panel-heading .panel-actions{padding:0}.cell>.panel>.panel-body{padding:5px}.cell>.table{margin:0}#main{min-width:1200px;padding:20px 0}#main>.container{padding:0 20px}@media (min-width:1400px){#main>.container{padding:0 40px}}#header,#header+#main{min-width:1200px}#mainMenu{margin:-10px 0 8px}.main-content{padding:20px;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}@media (min-width:1400px){.main-content>.center-block{max-width:1350px;padding:20px;border:1px solid #eee}.main-content>.center-block .main-header{background-color:#f1f1f1}}.main-content>h2{margin:0 0 20px}.main-content .cell{-webkit-box-shadow:none;box-shadow:none}.main-header{padding:5px 20px;border-bottom:1px solid #eee}.main-header:after,.main-header:before{display:table;content:" "}.main-header:after{clear:both}.main-header>h2{display:block;float:left;margin:0 10px 0 0;font-size:14px;line-height:34px}.main-header>h2 .label-id{margin-right:5px}.main-header>h2 small{font-size:14px;font-weight:400}.main-content .main-header{margin:-20px -20px 10px}.main-header .label{top:-1px}.main-row{display:table;width:100%;table-layout:fixed}.main-row>[class*=" col-"],.main-row>[class*="-col"],.main-row>[class^=col-]{display:table-cell;vertical-align:top}@media (max-width:720px){.main-row{display:block}.main-row>*{display:block;width:100%}.main-row .side-col{width:100%;padding:0}.main-row .main-col+.side-col,.main-row .side-col+.main-col{margin-top:10px}}.main-row.hide-side .side-col{display:none}.main-form{margin:0}@media (min-width:720px){.main-content>.center-block .main-form{padding-right:20px}}#main .side-col .tabs{padding:5px}#main .side-col .nav-tabs{margin:0 5px 5px 5px}#main .side-col .nav-tabs>li{margin:0}#main .side-col .nav-tabs>li+li{margin-left:10px}#main .side-col .nav-tabs>li>a{padding:8px 5px}#main .side-col .tab-content .tab-pane table{border:none}.main-actions .btn-toolbar{display:inline-block;padding:4px 15px;color:#fff;pointer-events:auto;background:#717171;background-color:rgba(90,90,90,.85);border-radius:4px}.main-actions .btn-toolbar .divider{margin-right:15px;margin-left:15px;border-color:rgba(255,255,255,.1)}.main-actions .btn-toolbar .btn{height:30px;padding-right:10px;padding-left:10px;margin-right:0;color:#fff;background-color:transparent;border:none}.main-actions .btn-toolbar .btn+.btn{margin-left:10px}.main-actions .btn-toolbar .btn:focus,.main-actions .btn-toolbar .btn:hover{background-color:rgba(255,255,255,.2)}.main-actions .btn-toolbar .btn.btn-icon{min-width:32px;padding-right:0;padding-left:0}.main-actions .btn-toolbar .btn+.btn-group{margin-right:0;margin-left:10px}#mainContent .main-col>.main-actions{padding:30px 0 0 0;text-align:center}#mainContent .main-col>.main-actions>.btn-toolbar{visibility:visible;opacity:1;-webkit-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}#mainActions{position:fixed;top:0;right:0;bottom:0;left:0;text-align:center;pointer-events:none}#mainActions .btn-toolbar{position:relative;top:-90px}#mainActions .dropdown-menu{text-align:left}#mainActions>.container{height:100%}.main-actions-holder{display:none}.main-actions-fixed .main-actions-holder{display:block}.main-actions-fixed #mainContent .main-col>.main-actions{position:fixed;bottom:10px}.main-actions-fixed.body-modal #mainContent .main-col>.main-actions{bottom:20px}#nextPage,#prevPage{position:absolute;top:50%;left:-10px;width:40px;height:60px;padding:10px 0;margin-top:-30px;line-height:40px;color:#fff;text-align:center;pointer-events:auto;background:#717171;background-color:rgba(90,90,90,.85);-webkit-box-shadow:0 2px 15px 2px rgba(0,0,0,.05);box-shadow:0 2px 15px 2px rgba(0,0,0,.05)}#nextPage:hover,#prevPage:hover{-webkit-box-shadow:0 2px 15px 2px rgba(0,0,0,.15);box-shadow:0 2px 15px 2px rgba(0,0,0,.15)}#nextPage>i,#prevPage>i{display:block;font-size:18px;line-height:36px}#nextPage{right:-10px;left:auto}@media (max-width:1800px){#prevPage{left:-3px}#nextPage{right:-3px}}#sidebarHeader{position:relative;float:left;width:180px;height:34px;padding-right:20px;margin-right:20px;background:#fff;border-left:4px solid #2e7fff;border-radius:4px 2px 2px 4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}#sidebarHeader:after{position:absolute;top:-1px;right:-8px;display:block;width:0;height:0;content:' ';border-color:transparent transparent transparent #fff;border-style:solid;border-width:18px 0 18px 8px}#sidebarHeader .title{padding:0 5px;overflow:hidden;font-size:14px;font-weight:700;line-height:32px;color:#2e7fff;text-align:center;text-overflow:unset;white-space:nowrap}#sidebarHeader .title>a{position:absolute;top:0;right:0;width:20px;opacity:.5}#sidebarHeader .title>a:hover{opacity:1}#sidebar{position:relative;-webkit-transition:width .2s,padding .2s;-o-transition:width .2s,padding .2s;transition:width .2s,padding .2s}#sidebar>.sidebar-toggle{position:absolute;top:0;right:5px;bottom:0;width:10px;cursor:pointer;background:0 0;border-radius:5px;-webkit-transition:background-color .2s,opacity .5s;-o-transition:background-color .2s,opacity .5s;transition:background-color .2s,opacity .5s}#sidebar>.sidebar-toggle>.icon{position:absolute;top:50%;left:-1px;width:12px;height:30px;margin-top:-10px;line-height:30px;color:#fff;text-align:center;background:#7dcdfe;border-radius:6px}#sidebar>.sidebar-toggle>.icon:before{position:relative;left:-1px}#sidebar>.sidebar-toggle:before{position:absolute;top:0;right:-5px;bottom:0;left:-5px;display:block;content:' '}#sidebar>.sidebar-toggle:hover{background:rgba(0,0,0,.075)}#sidebar>.cell{position:relative;left:0;width:180px;-webkit-transition:left .2s,opacity .2s;-o-transition:left .2s,opacity .2s;transition:left .2s,opacity .2s}#sidebar.no-animate>.cell{display:none;-webkit-transition:none;-o-transition:none;transition:none}.hide-sidebar #sidebar>.cell{position:absolute;left:-200px;visibility:hidden;opacity:0}.hide-sidebar #sidebar{position:relative;width:0;padding:0}.hide-sidebar #sidebar>.sidebar-toggle>.icon:before{content:"\e315"}@media (max-width:720px){#sidebar>.cell{width:100%}}#queryBox{max-height:0;padding:0;overflow:hidden;-webkit-transition:cubic-bezier(.175,.885,.32,1) .2s;-o-transition:cubic-bezier(.175,.885,.32,1) .2s;transition:cubic-bezier(.175,.885,.32,1) .2s;-webkit-transition-property:padding,max-height,margin;-o-transition-property:padding,max-height,margin;transition-property:padding,max-height,margin}#queryBox>form{visibility:hidden;-webkit-transition:visibility .2s .2s;-o-transition:visibility .2s .2s;transition:visibility .2s .2s}#queryBox.loading{height:50px}#queryBox.show{min-height:110px;max-height:300px;margin-bottom:10px;overflow:visible}#queryBox.show>form{visibility:visible}#queryBox.divider{border-bottom:1px solid #eee}#main .querybox-toggle.querybox-opened{position:relative;color:#2e7fff;background:0 0;border:none}#main .querybox-toggle.querybox-opened:before{position:absolute;bottom:-14px;left:50%;width:0;height:0;content:' ';border-color:transparent transparent #fff transparent;border-style:solid;border-width:0 10px 10px 10px}#contentNav{padding:5px;background:#fff;border-bottom:1px solid #eee}#contentNav .nav>li>a{position:relative;padding:6px 10px;color:#838a9d}#contentNav .nav>li.active>a{font-weight:700;color:#2e7fff}#contentNav .nav>li.active>a:before{position:absolute;right:10px;bottom:3px;left:10px;display:block;height:2px;content:' ';background:#2e7fff}.body-modal{padding-bottom:0}.body-modal #main,.body-modal .container{min-width:0!important}.body-modal #main{padding:0}.body-modal .main-header{position:fixed;top:0;right:20px;left:20px;z-index:100;padding:13px 48px 13px 0;margin:0;background:#fff}.body-modal #mainContent{padding-top:70px}.body-modal .main-header>h2{max-width:100%;overflow:hidden;font-size:14px;text-overflow:unset;white-space:nowrap}.body-modal .cell,.body-modal .main-content{-webkit-box-shadow:none;box-shadow:none}.body-modal #mainMenu{position:fixed;top:0;right:0;left:0;z-index:100;padding:12px 60px 12px 10px;margin:0;background:#fff}.body-modal #mainMenu>.btn-toolbar.pull-left.divider{display:none}.body-modal #mainMenu>.btn-toolbar{width:100%;margin-left:20px}.body-modal #mainMenu>.btn-toolbar>.divider:first-child{display:none}.body-modal #mainMenu>.btn-toolbar .page-title{width:100%;margin-left:0}.body-modal #mainMenu>.btn-toolbar .page-title>.text{position:relative;top:-2px;display:inline-block;max-width:85%;max-width:-webkit-calc(100% - 100px);max-width:calc(100% - 100px);overflow:hidden;text-overflow:unset;white-space:nowrap;vertical-align:middle}.body-modal #mainMenu+#mainContent.main-row{padding:60px 10px 0}.body-modal #mainMenu+#mainContent.main-row .cell{border:1px solid #efefef;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}.body-modal #mainActions{top:auto}.body-modal #mainActions .btn-toolbar{top:auto;bottom:10px}.body-modal.m-bug-view,.body-modal.m-story-view,.body-modal.m-task-view,.body-modal.m-testcase-view,.body-modal.m-testtask-view,.body-modal.m-todo-view{padding-bottom:20px;border-radius:3px}#tabsNav{position:relative}#tabsNav .tab-pane>.actions{position:absolute;top:-8px;right:0}#tabsNav .tab-pane>.cell,#tabsNav .tab-pane>.main-table{padding:0;border:1px solid #c4c4c4;border-top:none;border-radius:0 0 4px 4px}#tabsNav .tab-pane>.cell .detail-title{padding-left:5px}#helpContent{position:fixed;top:50px;right:0;bottom:40px;left:0;display:none;background-color:#fff}#helpContent .load-error{display:none;padding:20px}#helpContent .show-error .load-error{display:block}#mainMenu>.btn-toobar .btn-link .label-light,#mainMenu>.btn-toolBar .btn-link .label-light,#mainMenu>.btn-toolbar .btn-link .label-light{color:#313c52;background:#fff}#mainMenu>.btn-toobar .btn-active-text,#mainMenu>.btn-toolBar .btn-active-text,#mainMenu>.btn-toolbar .btn-active-text{color:#1e6aeb;background:#e6eaf1}#mainMenu>.btn-toobar .btn-active-text .text,#mainMenu>.btn-toolBar .btn-active-text .text,#mainMenu>.btn-toolbar .btn-active-text .text{top:0}#mainMenu>.btn-toobar .btn-active-text .text:after,#mainMenu>.btn-toolBar .btn-active-text .text:after,#mainMenu>.btn-toolbar .btn-active-text .text:after{border:none}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text{position:relative;font-size:14px;color:unset;background:unset}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text>span{color:unset}#mainMenu.menu-secondary>.btn-toolbar>a.btn{margin-right:10px}#mainMenu.menu-secondary>.btn-toolbar .btn-active-text:after{position:absolute;content:'';border-bottom:2px solid #2e7fff;inset:0 6px}#menu{background:#415a72}#userNav>li>a>.icon{color:#fff;filter:none;opacity:.25;-webkit-filter:none}.picker-option.picker-option-active,.picker-single .picker-option.picker-option-selected.picker-option-active{background:#2e7fff}select.form-control option.selected,select.form-control option:hover{background:#2e7fff}#guideDialog .project-type-img:hover,#guideDialog .project-type.active img,.kanbans .panel:hover{border-color:#2e7fff}#dashboard .block-welcome .progress{background:#edeef2}#dashboard .block-welcome .progress>.progress-bar{background:#3785ff}#assigntomeBlock .nav>li.active>a{color:#1e6aeb}.consumedTotally{color:#2e7fff;background:#e6f0ff}#toggleFoldIcon .icon-border{border:1px solid #d5e5ff}#createEffort .table tbody .date-group .input-group-addon .icon,#recordForm .table tbody .date-group .input-group-addon .icon,#toggleFoldIcon{color:#2e7fff}.shadow-primary-hover:hover{-webkit-box-shadow:0 0 1px 1px #2e7fff;box-shadow:0 0 1px 1px #2e7fff}.border-primary-hover:hover{border:1px solid #2e7fff}.menu-hover-primary>li>a:hover{color:#1e6aeb!important;background-color:#d5e5ff!important}.menu-active-primary>li.active>a{color:#2e7fff!important;background-color:unset}.menu-active-primary>li.disabled>a:hover{color:#c4c4c4!important;background-color:unset!important}.bg-primary-100{background-color:#d5e5ff!important}.text-middle td,.text-middle th{vertical-align:middle}.text-center td,.text-center th{text-align:center}.c-sm{width:40px}.c-id{width:90px}.c-id-sm{width:70px}.c-id-xs{width:55px}.c-date{width:100px}.c-num,.c-pri,.c-type{width:80px;overflow:hidden}.c-begin,.c-end,.c-time{width:65px}.c-hours{width:60px}.c-actions-1{width:50px}.c-actions-2{width:75px}.c-actions-3{width:102px}.c-actions,.c-actions-4{width:128px}.c-actions-5{width:155px}.c-actions-6{width:180px}.c-product,.c-project{width:180px}.c-plan{width:130px}.c-datetime{width:120px}.c-stage,.c-status,.c-user{width:80px}.c-side{width:200px;border-right:10px solid #efefef}.c-assign,.c-assignedTo,.c-openedBy{width:130px}.c-progress{width:155px}.c-assign,.c-assignedTo,.c-openedBy,.c-product,.c-project,.c-status,.c-url,.c-user{overflow:hidden;text-overflow:unset;white-space:nowrap}.assigned-none{color:#1e6aeb!important;background:inherit}.assigned-current{color:#f38f19!important;background:inherit}.assigned-other{color:#313c52!important;background:inherit}a.assigned-current:hover,a.assigned-none:hover,a.assigned-other:hover{color:#1e6aeb!important;background:#fff;border-color:#fff!important}a.assigned-current:hover .icon,a.assigned-none:hover .icon,a.assigned-other:hover .icon{color:#1e6aeb!important}td.c-name,td.c-title{overflow:hidden;text-align:left!important;text-overflow:unset;white-space:nowrap}td.c-actions{position:relative;padding-top:0;padding-bottom:0;overflow:hidden;text-overflow:unset;white-space:nowrap;vertical-align:middle}td.c-actions .btn-link{color:#313c52;background:0 0}td.c-actions .btn-link:hover{color:#2e7fff;background:#e6f0ff}td.c-actions .btn.disabled,td.c-actions .btn[disabled]{pointer-events:auto}td.c-actions .more{position:absolute;top:50%;right:100%;display:none;padding-right:4px;padding-left:20px;margin-top:-15px;margin-right:-6px;white-space:nowrap;background-color:#fafafa;-webkit-transition:opacity .3s,margin .3s;-o-transition:opacity .3s,margin .3s;transition:opacity .3s,margin .3s}tr:hover td.c-actions .more{display:block}td:hover+td.c-actions>.more{margin-right:-15px;pointer-events:none;opacity:.15}tr[data-url]{cursor:pointer}.table tbody>tr>td,.table thead>tr>th{vertical-align:middle}.table tbody>tr>td.has-btn,.table thead>tr>th.has-btn{padding-top:1px;padding-bottom:1px;overflow:visible}.table tbody>tr>td .progress,.table thead>tr>th .progress{height:6px}.table .em,.table em{color:#313c52}.table .divider{border-bottom:10px solid #efefef}.table .divider-top{border-top:10px solid #efefef}.table .btn-icon-left{max-width:100%;padding-left:20px;overflow:hidden;line-height:18px;text-align:left;text-overflow:unset;background:0 0;border-color:#eaf3fc}.table .btn-icon-left>.icon{width:20px;font-size:14px;background:0 0!important;opacity:0}.table .btn-icon-left.btn-sm{height:26px;font-size:13px}.table .btn-icon-left:active,.table .btn-icon-left:focus,.table .btn-icon-left:hover{border-color:rgba(0,0,0,.2)}.table .btn-icon-left:active>.icon,.table .btn-icon-left:focus>.icon,.table .btn-icon-left:hover>.icon{opacity:1}.table .btn-icon-left>.text{padding-left:25px}.table thead>tr>th.c-assign,.table thead>tr>th.c-assignedTo{padding-left:29px}.table a{vertical-align:middle}.table caption{margin-bottom:5px;background:#f1f1f1;border:none}.is-firefox .table .btn-icon-left>.icon{line-height:22px}.table tbody>tr>td.c-name a{color:#2463c7}.table tbody>tr>td.c-name a:hover{color:#1e6aeb}.table.table-data tbody>tr:hover,.table.table-form tbody>tr:hover{background:0 0}.main-table{border-radius:4px}.main-table>.table,.main-table>.table-footer,.main-table>.table-header,.main-table>.table-responsive{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045);box-shadow:0 1px 1px rgba(0,0,0,.05),0 2px 6px 0 rgba(0,0,0,.045)}.main-table .table{font-size:13px;table-layout:fixed;background-color:#fff;border-radius:4px 4px 0 0}.main-table .table.table-lg{font-size:14px}.main-table .table .btn-icon-left{border-color:transparent}.main-table .table .btn-icon-left>.icon{background:0 0;border-radius:4px}.main-table .table .btn-icon-left.btn-sm{height:26px}.main-table .table .btn-icon-left:hover{border-color:rgba(0,0,0,.2)}.main-table .table .btn-icon-left:hover>.icon{background:#e6f0ff;border-radius:4px 0 0 4px}.main-table tbody>tr>td,.main-table thead>tr>th{min-height:36px;padding:2px 8px;line-height:30px}.main-table tbody>tr>td:first-child,.main-table thead>tr>th:first-child{padding-right:4px;padding-left:15px}.main-table thead>tr>th{overflow:hidden;text-overflow:unset;white-space:nowrap}.main-table td,.main-table th{border-bottom:none!important}.main-table thead>tr{background:#fcfdfe;border-bottom:1px solid #f4f5f7}.main-table tbody>tr:last-child>td{border-bottom:1px solid #ddd}.main-table tbody>tr>td{position:relative}.main-table tbody>tr>td .label{max-width:200px;overflow:hidden;text-overflow:unset;white-space:nowrap}.main-table tbody>tr>td>a{line-height:28px;color:#2463c7}.main-table tbody>tr>td>a:not(.btn):visited{color:#003994;opacity:.9}.main-table tbody>tr>td>a:hover,.main-table tbody>tr>td>a:visited:hover{color:#2e7fff}.main-table tbody>tr>td.c-actions{padding-right:10px}.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{position:absolute;top:0;bottom:0;left:0;display:block;width:0;content:'';background:#2e7fff;opacity:0;-webkit-transition:.2s linear;-o-transition:.2s linear;transition:.2s linear;-webkit-transition-property:width,opacity,border-radius;-o-transition-property:width,opacity,border-radius;transition-property:width,opacity,border-radius}@-moz-document url-prefix(){.main-table tbody>tr>td.c-side+td:before,.main-table tbody>tr>td:first-child:before{bottom:-1px}}.main-table tbody>tr>td.c-side:before{display:none}.main-table tbody>tr>td.c-name a{color:#2463c7}.main-table tbody>tr>td.c-name a:hover{color:#1e6aeb}.main-table tbody>tr{border-bottom:1px solid #f4f5f7;-webkit-transition:.2s cubic-bezier(.175,.885,.32,1);-o-transition:.2s cubic-bezier(.175,.885,.32,1);transition:.2s cubic-bezier(.175,.885,.32,1);-webkit-transition-property:background-color,-webkit-box-shadow;-o-transition-property:box-shadow,background-color;transition-property:background-color,-webkit-box-shadow;transition-property:box-shadow,background-color;transition-property:box-shadow,background-color,-webkit-box-shadow}.main-table tbody>tr:hover{background:rgba(230,240,255,.8)}.main-table .table-grouped tbody>tr:hover{background:#f0f6ff;-webkit-box-shadow:none;box-shadow:none}.main-table .table-grouped tbody>tr:hover td.c-actions .more{background:#f0f6ff}.main-table tbody>tr.checked{background:#fff4ea}.main-table tbody>tr.checked:hover{background:#ffe6c6}.main-table tbody>tr.checked>td.c-side+td:before,.main-table tbody>tr.checked>td:first-child:before{width:4px;opacity:1}.main-table tbody>tr.checked.row-check-begin{border-top-left-radius:4px;border-top-right-radius:2px}.main-table tbody>tr.checked.row-check-begin>td:first-child:before{border-top-left-radius:4px}.main-table tbody>tr.checked.row-check-end{border-bottom-right-radius:2px;border-bottom-left-radius:4px}.main-table tbody>tr.checked.row-check-end>td:first-child:before{border-bottom-left-radius:4px}.main-table .checkbox-primary{display:inline-block;line-height:20px}.main-table .checkbox-primary label{margin:0}.main-table .table{margin:0}.table-header{padding:4px 0 12px}.table-header .table-statistic{color:#838a9d}.table-header .table-statistic strong{font-size:15px;color:#313c52}.table-header .btn-toolbar{margin-top:-28px}.table-header.fixed-right{position:relative;z-index:5;padding:0}.table-header.fixed-right>.btn-toolbar{position:absolute;top:0;right:1px;z-index:1;padding:1px;margin:0;background:#fff;border-radius:4px}.table-header.fixed-right>.btn-toolbar .btn{opacity:.65}.table-header.fixed-right>.btn-toolbar .btn:hover{opacity:1}.table-header-fixed .table-header{position:fixed;top:0}.table-header-fixed .table-header>.btn-toolbar{background-color:transparent}.table-header-fixed .table-header>.btn-toolbar .btn{color:#fff}.table-footer{position:relative;min-height:40px;padding:6px 15px;background:#fff;border-radius:0 0 4px 4px}.body-modal .table-footer{margin-bottom:20px}.talbe-lg+.table-footer{padding:11px 15px}.table-footer .btn-toolbar,.table-footer .checkbox-primary{float:left}.table-footer .btn-toolbar+.btn-toolbar{margin-left:8px}.table-footer .checkbox-primary{margin:5px 20px 0 0}.table-footer .checkbox-primary.checked label:after{border-color:#22c98d!important}.table-footer .btn{padding:3px 10px;line-height:20px}.table-footer .pager{position:absolute;top:0;right:0;z-index:5;height:40px;padding:6px 5px 6px 10px;margin:0;background:#fff;opacity:1;-webkit-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s}.table-footer .pager:before{position:absolute;top:0;bottom:0;left:-50px;display:block;width:50px;content:' ';background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(#fff));background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-o-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%)}.table-footer .pager .btn,.table-footer .pager>li>.pager-item,.table-footer .pager>li>.pager-label{color:#838a9d;background:0 0;border-color:transparent}.table-footer .pager .btn,.table-footer .pager>li>a{border-radius:3px}.table-footer .pager .btn:hover,.table-footer .pager>li>a:hover{background:rgba(0,0,0,.1)}.table-footer .pager>li.disabled>a.pager-item{opacity:1}.table-footer .form-control{height:28px;padding:3px 8px}.table-footer .table-statistic{position:relative;z-index:2;float:left;padding-right:30px;line-height:28px;color:#838a9d;background:#fff}.table-footer .table-statistic:hover{z-index:4}.table-footer .table-statistic:hover+.pager{z-index:2;opacity:.3}.table-footer .btn-toolbar+.table-statistic,.table-footer .btn-toolbar+.text{margin-left:10px}.table-footer .text{float:left;line-height:28px}.table-footer.fixed-footer{position:fixed;z-index:10;margin:0;background:rgba(75,75,75,.85);border-top-color:transparent}.table-footer.fixed-footer .checkbox-primary label{color:#fff}.table-footer.fixed-footer .checkbox-primary label:after{border-color:rgba(255,255,255,.8)}.table-footer.fixed-footer .table-statistic{color:#fff;background:0 0}.table-footer.fixed-footer .pager{background:#666}.table-footer.fixed-footer .pager:before{background:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,0)),to(#666));background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0,#666 100%);background:-o-linear-gradient(left,rgba(0,0,0,0) 0,#666 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0,#666 100%)}.table-footer.fixed-footer .pager .btn,.table-footer.fixed-footer .pager>li>.pager-item,.table-footer.fixed-footer .pager>li>.pager-label{color:#fff}.table-footer.fixed-footer .pager .btn:hover,.table-footer.fixed-footer .pager>li>a:hover{background:rgba(255,255,255,.3)}.table-footer.fixed-footer .pager>li.disabled>a.pager-item{opacity:.5}.table-actions{display:none;height:28px}.table-actions.show-always{display:block;pointer-events:none;cursor:not-allowed}.has-row-checked .table-actions{display:block;pointer-events:auto!important;cursor:default}.table-lg tbody>tr>td{padding:9px 10px}.table-lg tbody>tr>td .btn+.btn{margin-left:5px}.table.has-sort-head thead>tr>th{padding-right:0}.table.has-sort-head thead>tr>th>a{position:relative;display:inline-block;padding-right:16px;color:#313c52}.table.has-sort-head thead>tr>th>a:after,.table.has-sort-head thead>tr>th>a:before{position:absolute;top:0;right:0;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;line-height:30px;color:#313c52;text-transform:none;content:"\f0de";opacity:.5;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.table.has-sort-head thead>tr>th>a:after{content:"\f0dd"}.table.has-sort-head thead>tr>th>a.sort-down,.table.has-sort-head thead>tr>th>a.sort-up{color:#000;text-decoration:none}.table.has-sort-head thead>tr>th>a:hover,.table.has-sort-head thead>tr>th>a:hover:after,.table.has-sort-head thead>tr>th>a:hover:before{color:#2e7fff;opacity:1}.table.has-sort-head thead>tr>th>a.sort-down:after,.table.has-sort-head thead>tr>th>a.sort-up:before{color:#000;opacity:1}.head-fixed .datatable-head-span .table,.table.fixed-header-copy{z-index:10;color:#fff;background:rgba(75,75,75,.85)}.head-fixed .datatable-head-span .table thead>tr,.table.fixed-header-copy thead>tr{background:0 0}.head-fixed .datatable-head-span .table thead>tr>th,.table.fixed-header-copy thead>tr>th{color:#eee}.head-fixed .datatable-head-span .table thead>tr>th>a,.table.fixed-header-copy thead>tr>th>a{color:#eee}.head-fixed .datatable-head-span .table thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover{color:#fff}.head-fixed .datatable-head-span .table thead>tr>th>a:after,.head-fixed .datatable-head-span .table thead>tr>th>a:before,.table.fixed-header-copy thead>tr>th>a:after,.table.fixed-header-copy thead>tr>th>a:before{color:#eee}.head-fixed .datatable-head-span .table thead>tr>th>a.sort-down,.head-fixed .datatable-head-span .table thead>tr>th>a.sort-down:after,.head-fixed .datatable-head-span .table thead>tr>th>a.sort-up,.head-fixed .datatable-head-span .table thead>tr>th>a.sort-up:before,.head-fixed .datatable-head-span .table thead>tr>th>a:hover,.head-fixed .datatable-head-span .table thead>tr>th>a:hover:after,.head-fixed .datatable-head-span .table thead>tr>th>a:hover:before,.table.fixed-header-copy thead>tr>th>a.sort-down,.table.fixed-header-copy thead>tr>th>a.sort-down:after,.table.fixed-header-copy thead>tr>th>a.sort-up,.table.fixed-header-copy thead>tr>th>a.sort-up:before,.table.fixed-header-copy thead>tr>th>a:hover,.table.fixed-header-copy thead>tr>th>a:hover:after,.table.fixed-header-copy thead>tr>th>a:hover:before{color:#fff}.head-fixed .datatable-head-span .table thead>tr>th>.dropdown>a,.table.fixed-header-copy thead>tr>th>.dropdown>a{color:#eee}.head-fixed .datatable-head-span .table thead>tr>th>.dropdown>a:hover,.table.fixed-header-copy thead>tr>th>.dropdown>a:hover{color:#fff}.head-fixed .datatable-head-span .table .checkbox-primary,.table.fixed-header-copy .checkbox-primary{z-index:1}.head-fixed .datatable-head-span .table .checkbox-primary label,.table.fixed-header-copy .checkbox-primary label{color:#fff}.head-fixed .datatable-head-span .table .checkbox-primary label:after,.table.fixed-header-copy .checkbox-primary label:after{border-color:rgba(255,255,255,.8)}.head-fixed .datatable-head-span .table .checkbox-primary.checked label:after,.table.fixed-header-copy .checkbox-primary.checked label:after{border-color:#22c98d!important}.table-data{margin:0;table-layout:fixed}.table-data tbody>tr>td,.table-data tbody>tr>th{padding:6px 8px;word-break:break-all;border:none}.table-data tbody>tr>th{width:70px;padding-left:0;font-weight:400;color:#838a9d;text-align:right;vertical-align:middle}.table-data tbody>tr>td{padding-right:0}.table-data tbody>tr>td>a{color:#2463c7}.table-data tbody>tr>td>a:not(.btn):visited{color:#003994}.table-data tbody>tr>td>a:hover,.table-data tbody>tr>td>a:visited:hover{color:#2e7fff}.table-data ol,.table-data ul{margin:0}.fixed-head-table{background:rgba(0,0,0,.7);border-bottom:1px solid #ddd}.fixed-head-table thead>tr>th{color:#fff}.table-empty-tip{padding:80px 10px;text-align:center;background:#fff}.not-firefox .table-grouped>tbody>tr>td.c-side{background:#fff!important}.table-grouped .group-toggle{cursor:pointer}.table-grouped .group-toggle.group-summary{border-top:10px solid #efefef}.table-grouped tbody>tr>td:first-child,.table-grouped thead>tr>th:first-child{padding-left:8px}.group-expand-all,.table-group-collapsed .group-collapse-all{display:none}.table-group-collapsed .group-expand-all{display:inline-block}.table-auto{table-layout:auto}.datatable .table>tbody>tr.checked.hover>td,.datatable .table>tbody>tr.checked>td.col-hover{background:#ffe6c6}body.has-fixed-footer{padding-bottom:60px}.table.with-footer-fixed{margin-bottom:20px}.table-nest-hide{display:none!important}th.table-nest-title{position:relative;padding-left:30px!important}.table-nest-icon{position:relative;display:inline-block;width:22px;height:22px;font-size:16px;color:#a6aab8;text-align:center;border-radius:4px}.table-nest-toggle:before{position:absolute;top:0;right:0;bottom:0;left:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:12px;color:#888fa1;content:"\e926";-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.table-nest-toggle:after{position:absolute;top:4px;right:4px;bottom:4px;left:4px;display:inline-block;content:"";border:1px solid;border-radius:50%}.table-nest-toggle:hover{color:#2e7fff;background-color:rgba(0,0,0,.1)}.table-nest-child-hide .table-nest-toggle:before{font-size:12px;content:"\e925"}th.table-nest-title .table-nest-toggle{position:absolute!important;top:7px;left:8px}.table-nest-toggle.table-nest-toggle-global{width:22px;height:22px;padding:0!important;line-height:22px;text-align:center;border-radius:4px}.table-nest-toggle.table-nest-toggle-global:before{position:absolute!important;font-size:12px!important;line-height:22px!important;content:"\e959"!important;opacity:1!important}.table-nest-toggle.table-nest-toggle-global:after{display:none!important}.table-nest-collapsed .table-nest-toggle.table-nest-toggle-global:before{font-size:12px!important;content:"\e95a"!important}.disable-empty-nest-row .is-nest-child .table-nest-icon:before,.disable-empty-nest-row .no-nest .table-nest-icon:before{position:relative;top:-1px;width:6px;min-width:6px;height:6px;content:' ';background-color:#c4c4c4;border-radius:1px}.table-nest-child-hover>td:first-child,.table-nest-hover>td:first-child{-webkit-box-shadow:inset 3px 0 0 #c4c4c4;box-shadow:inset 3px 0 0 #c4c4c4}.c-manager .avatar{position:relative;z-index:2;line-height:17px;border:1.5px solid transparent}.c-manager .avatar.avatar-top{border-color:#ffaf65}.c-manager a{position:absolute;top:8px;left:16px;height:20px;padding:0 8px 0 13px;line-height:20px!important;color:#313c52!important;background:#f4f5f7;border-radius:10px}.article-content{overflow:auto}.article-content img{margin-top:0}.article-content table{margin:10px 0}.article-content table td,.article-content table th{border:1px solid #cbd0db!important}.article-content table th{background:#eee}.article-content a{color:#2e7fff}.article-content a:focus,.article-content a:hover{color:#18a6fd}.article-content,.article>.content{word-wrap:break-word}.detail{padding:10px 0;margin:0 10px}.detail+.detail{padding-top:25px;border-top:1px solid #eee}.detail-title{font-size:14px;font-weight:700;line-height:20px}.detail-title>.pull-right{position:relative;top:-8px}h2.detail-title{margin:0;font-size:15px;font-weight:700}h2.detail-title .label,h2.detail-title .label-id{position:relative;top:-1px}.detail-content{padding:0;margin-top:10px}.detail-content em{color:#313c52}.detail-content .list-unstyled>li+li{margin-top:5px}.side-col .detail-content{padding-left:0}details.detail{padding:10px 0}details.detail summary{position:relative;cursor:pointer;outline:0}details.detail summary::-webkit-details-marker{display:none}details.detail summary:after{position:absolute;top:0;right:0;font-family:ZentaoIcon;font-size:14px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-transform:none;content:"\e316";opacity:.4;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}details.detail[open] summary:after{content:"\e313"}.files-list{padding-left:0;list-style:none}.files-list>li>a{display:block;line-height:24px}.files-list>li>a>.icon{display:inline-block;margin-right:5px;opacity:.7}.files-list>li>a:hover{color:#2e7fff}.files-list>li>.right-icon{opacity:0;-webkit-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.files-list>li:hover>.right-icon{opacity:1}.histories-list{padding-left:15px;margin-bottom:0}.histories-list>li{position:relative}.histories-list>li+li{margin-top:5px}.histories-list>li strong{color:#313c52}.histories-list .comment,.histories-list .show-form .comment-edit-form{padding:5px 5px 5px 10px;margin:5px 0 0;background-color:rgba(0,0,0,.025);border:1px solid #eee}.histories-list .btn-edit-comment{position:absolute;top:28px;right:2px}.histories-list .comment-edit-form,.histories-list .show-form .btn-edit-comment,.histories-list .show-form .comment{display:none}.histories-list .show-form .comment-edit-form{display:block;padding:10px;border:1px solid #eee}.histories .btn-mini{width:16px;min-width:16px;height:16px;overflow:hidden;line-height:16px;color:#cbd0db;vertical-align:-8%;border-radius:1px}.histories .btn-mini:focus,.histories .btn-mini:hover{color:#2e7fff;border-color:#2e7fff}.histories .show-changes .btn-expand>.icon:before{content:"\e926"}.histories .btn-strip{display:none}.histories .show-changes .btn-strip{display:inline-block}.history-changes{display:none;padding:5px;margin-bottom:-5px;margin-left:5px;font-size:12px;line-height:20px}.history-changes blockquote{padding:5px 5px 5px 10px;margin:5px 0 0;font-size:12px;background-color:rgba(0,0,0,.05);border-left:3px solid #eee}.history-changes blockquote.original{display:none}.show-changes .history-changes,.show-original .history-changes blockquote.original{display:block}.show-original .history-changes blockquote.textdiff{display:none}.syntaxhighlighter{overflow:auto}.list-group{overflow-y:auto}.list-group>a{display:block;padding:2px 10px 2px 5px;overflow:hidden;line-height:20px;text-overflow:unset;white-space:nowrap;border-radius:4px}.list-group>a+a{margin-top:5px}.list-group>a>.icon{display:inline-block;margin-right:3px;opacity:.5}.list-group>a.selected{color:#e6f0ff;background-color:#2e7fff}.list-group>a.active{color:#2e7fff;background-color:#e6f0ff}.list-group>a.active:hover,.list-group>a:hover{color:#fff;background-color:#2e7fff}.list-group>.heading{padding:2px 5px;line-height:20px;color:#838a9d}.list-group>a+.heading{margin-top:4px}.list-group.tab-menu>a{padding:6px 24px}.list-group.tab-menu>a.active{background:unset}.list-group.tab-menu>a.active:hover,.list-group.tab-menu>a:hover{color:#2e7fff;background-color:unset}.dropup .search-box-sink{padding-top:5px;padding-bottom:45px}.dropup .search-box-sink .search-box{position:absolute;right:10px;bottom:10px;left:10px;margin:0}.dropup .search-box-sink .search-box+.list-group{height:auto;max-height:171px}.search-list{min-width:200px;max-width:300px;padding:0}.search-list .search-box{float:none;width:auto;margin:10px}.search-list .search-box .icon-search{opacity:.5}.search-list .list-group{max-height:248px;padding:5px 10px;margin:5px 0}.dropup .search-list .search-box+.list-group{height:171px;padding-top:0}.search-list .search-input{height:30px}.search-list .input-control-icon-right{height:28px;line-height:28px}.search-list .list-group>a.active{color:inherit;background-color:inherit}.search-list.searchbox-focus .list-group>a.active{color:#2e7fff;background-color:#e6f0ff}.search-list .list-group>a.active:hover,.search-list.searchbox-focus .list-group>a.active:hover{color:#fff;background-color:#2e7fff}#dropMenu{width:initial;max-width:initial}#dropMenu>.search-box{width:100%;padding:10px 10px 0;margin:0}#dropMenu>.search-box .icon-search{color:#333}#dropMenu>.search-box.has-icon-right>.form-control{padding-left:26px}#dropMenu .input-control-icon-left{top:10px;left:10px}#dropMenu .input-control-icon-right{top:11px;right:11px}#dropMenu .input-control-icon-right .icon{position:relative;top:2px}#dropMenu .list-group{max-height:initial;margin:0}#dropMenu .table-row{margin:0 -10px;table-layout:auto}#dropMenu .table-col{position:relative;width:100%;min-width:250px;max-width:450px}#dropMenu .table-col .list-group{max-height:300px;padding:0 10px 5px}#dropMenu .col-left{padding-bottom:30px}#dropMenu .col-right{display:none}#dropMenu .col-footer{position:absolute;right:0;bottom:-5px;left:0;padding:8px 10px;border-top:1px solid #eee}#dropMenu .col-footer>a{opacity:.8}#dropMenu .col-footer>a:hover{opacity:1}#dropMenu.show-right-col .table-col{width:50%}#dropMenu.show-right-col .col-right{display:table-cell;border-left:1px solid #eee}#dropMenu.show-right-col .col-right>.list-group{max-height:335px;margin:0}#dropMenu.show-right-col .col-right>.list-group>a{opacity:.7}#dropMenu.show-right-col .col-right>.list-group>a:hover{opacity:1}#dropMenu.show-right-col .toggle-right-col>.icon-angle-right:before{content:"\e314"}#dropMenu.has-search-text .list-group{overflow-x:hidden}#dropMenu.has-search-text>.search-box{width:100%!important}#dropMenu.has-search-text>.list-group>.table-row{display:block}#dropMenu.has-search-text>.list-group>.table-row>.table-col{display:block;width:100%}#dropMenu.has-search-text .col-left{padding-bottom:0}#dropMenu.has-search-text .pull-right.toggle-right-col{display:none}#dropMenu.has-search-text .col-left .list-group{margin-bottom:0}#dropMenu.has-search-text .col-right .list-group{margin-bottom:0}#dropMenu.has-search-text .col-right .list-group>a{opacity:.7}#dropMenu.has-search-text .col-footer,#dropMenu.has-search-text .hide-in-search{display:none}#swapper{position:relative}#swapper #dropMenu .tree li>.selected{color:#2e7fff!important;background:#e6f0ff!important}#swapper #dropMenu .list-group>a.active:hover,#swapper #dropMenu .search-box .list-group>a.active,#swapper #dropMenu .tree li>.clickable:hover,#swapper #dropMenu.searchbox-focus .list-group>a.active:hover{color:#fff!important;background:#2e7fff!important}#swapper #dropMenu .tree{margin:0}#pageNav #dropMenu .list-group>a.active{color:inherit;background-color:inherit}#pageNav #dropMenu .list-group>a.active:hover,#pageNav #dropMenu.searchbox-focus .list-group>a.active:hover{color:#2e7fff!important;background:#e6f0ff!important}#pageNav #dropMenu .list-group>a.active.selected,#pageNav #dropMenu .list-group>a.active.selected:hover{color:#fff!important;background:#2e7fff!important}.release-path{overflow:hidden}.release-line{display:table;width:100%;padding:0;table-layout:fixed}.release-line>li{display:table-cell;list-style:none}.release-line>li>a{position:relative;display:block}.release-line>li>a:before{position:absolute;left:0;display:block;width:13px;height:13px;content:' ';background:#fff;border:2px solid #838a9d;border-radius:50%}.release-line>li>a:after{position:absolute;left:5px;display:block;width:2px;height:30px;content:' ';background:#c2dbff}.release-line>li>a>.icon{position:absolute;left:4px;font-size:24px}.release-line>li>a .title{display:block;font-size:14px;white-space:nowrap}.release-line>li>a .date,.release-line>li>a .info{display:block;max-height:18px;overflow:hidden;font-size:12px;color:#838a9d;text-overflow:unset;white-space:nowrap}.release-line>li>a:hover:before{background-color:#e6f0ff}.release-line>li>a:hover:after{background-color:#838a9d}.release-line>li>a:hover .title{color:#2e7fff}.release-line>li>a:hover .date,.release-line>li>a:hover .info{color:#838a9d}.release-line>li:nth-child(odd){padding-top:80px;vertical-align:top}.release-line>li:nth-child(odd)>a{height:85px;padding-top:36px;border-top:5px solid #c2dbff}.release-line>li:nth-child(odd)>a:before{top:-9px}.release-line>li:nth-child(odd)>a:after{top:6px}.release-line>li:nth-child(odd)>a>.icon{top:-26px}.release-line>li:nth-child(even){padding-bottom:80px;vertical-align:bottom}.release-line>li:nth-child(even)>a{height:85px;padding-bottom:36px;border-bottom:5px solid #c2dbff}.release-line>li:nth-child(even)>a:before{bottom:-9px}.release-line>li:nth-child(even)>a:after{bottom:6px}.release-line>li:nth-child(even)>a>.icon{bottom:-2px}.release-line>li:last-child>a{border-color:transparent}.release-line>li.active>a:before{border-color:#2e7fff}.release-line>li+li>a>.date,.release-line>li+li>a>.info,.release-line>li+li>a>.title{position:relative;left:-36%}#footer{position:fixed;right:0;bottom:0;left:0;z-index:1010;height:40px;background:#fff;border-top:1px solid #eff1f7}#footer .breadcrumb{padding:10px 0;margin:0}#footer .breadcrumb>li{max-width:200px;overflow:hidden;text-overflow:unset;white-space:nowrap}#footer .breadcrumb>.active,#footer .breadcrumb>li>a{color:#838a9e}#footer .breadcrumb>.active>.icon,#footer .breadcrumb>li>a>.icon{display:none}#footer .breadcrumb>.active:hover,#footer .breadcrumb>li>a:hover{color:#18a6fd}#footer .breadcrumb>li+li:before{content:'>'}#footer>.container{padding:0 20px}@media (min-width:1400px){#footer>.container{padding:0 40px}}#poweredBy{position:absolute;top:4px;right:0;padding:5px 10px}#poweredBy .icon-zentao{color:#0097fd}#poweredBy a{color:#313c52}#poweredBy a:hover{color:#2e7fff}#poweredBy a:hover .icon-zentao{color:#2e7fff}#poweredBy a.text-important{color:#ff6f42}#poweredBy a.text-important:hover{color:#fc5959}#poweredBy a.text-primary{color:#2e7fff}#poweredBy a.text-primary:hover{color:#18a6fd}#poweredBy #aiux{color:#cbd0dc}#noticeBox .alert{-webkit-box-shadow:rgba(0,0,0,.15) 0 3px 10px,rgba(0,0,0,.25) 0 3px 10px;box-shadow:rgba(0,0,0,.15) 0 3px 10px,rgba(0,0,0,.25) 0 3px 10px}#heading{top:0}.header-btn{position:relative;padding:8px 0}.header-btn .btn{position:relative;height:34px;padding:1px 6px;margin:0;overflow:visible;font-size:13px;font-weight:400;line-height:28px;color:#fff;background-color:transparent;border-color:transparent!important;border-right:none;-webkit-transition:none;-o-transition:none;transition:none}.header-btn .btn>.caret{margin-left:0;border-width:4px}.header-btn .btn>.text{display:inline-block;max-width:150px;overflow:hidden;text-overflow:unset;vertical-align:middle}.header-btn .btn:hover{-webkit-box-shadow:none;box-shadow:none}.header-btn .btn:hover,.header-btn.active .btn{color:#fff;background:rgba(0,0,0,.15)}.header-btn .btn:hover>.caret,.header-btn.active .btn>.caret{opacity:1}.header-btn+.header-btn{margin-left:10px}.header-btn+.header-btn:before{position:absolute;top:16px;left:-13px;display:block;font-family:ZentaoIcon;font-size:14px;font-size:16px;font-style:normal;font-weight:400;font-variant:normal;line-height:1;text-transform:none;content:"\e315";opacity:.6;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.header-btn .dropdown-menu{margin-top:-10px}#toolbar{top:0;height:50px}#userNav>li{margin-right:0}#userNav>li>a{padding:10px 5px}#userNav>li>a>.icon{font-size:30px;filter:brightness(1.2) hue-rotate(30deg);opacity:.9;-webkit-filter:brightness(1.2) hue-rotate(30deg)}#userNav>li:hover>a{background-color:rgba(0,0,0,.1)}#userNav .dropdown-menu>li>a{position:relative;padding-left:24px}#userNav .dropdown-menu>li>a>.icon{top:1px;left:0}#userNav .dropdown-menu>li.user-profile-item>a{padding-left:45px} \ No newline at end of file From bf85280dcd4ef393d8d1014cfe567f06f7c2ac60 Mon Sep 17 00:00:00 2001 From: liuhong Date: Wed, 8 Feb 2023 02:07:02 +0000 Subject: [PATCH 54/61] * Adjust code for 329. --- module/story/model.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/module/story/model.php b/module/story/model.php index 45ce2b584b..ad65094439 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -3022,6 +3022,11 @@ class storyModel extends model */ public function getProductStoryPairs($productID = 0, $branch = 'all', $moduleIdList = 0, $status = 'all', $order = 'id_desc', $limit = 0, $type = 'full', $storyType = 'story', $hasParent = true) { + if($moduleIdList) + { + $moduleInfo = $this->loadModel('tree')->getByID($moduleIdList); + $moduleIdList = $moduleInfo->type == bug ? 0 : $moduleIdList; + } $stories = $this->dao->select('t1.id, t1.title, t1.module, t1.pri, t1.estimate, t2.name AS product') ->from(TABLE_STORY)->alias('t1')->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product = t2.id') ->where('1=1') From 7342444023f6a99e535d8501a3c8c7edb7b28dff Mon Sep 17 00:00:00 2001 From: liuhong Date: Wed, 8 Feb 2023 02:24:05 +0000 Subject: [PATCH 55/61] * Adjust code for 329. --- module/story/model.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/story/model.php b/module/story/model.php index ad65094439..391168a6f9 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -3025,7 +3025,7 @@ class storyModel extends model if($moduleIdList) { $moduleInfo = $this->loadModel('tree')->getByID($moduleIdList); - $moduleIdList = $moduleInfo->type == bug ? 0 : $moduleIdList; + $moduleIdList = $moduleInfo->type == 'bug' ? 0 : $moduleIdList; } $stories = $this->dao->select('t1.id, t1.title, t1.module, t1.pri, t1.estimate, t2.name AS product') ->from(TABLE_STORY)->alias('t1')->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product = t2.id') From 025aa5dc4b7461fd4ed35f3c67f6ee2400b3879c Mon Sep 17 00:00:00 2001 From: hufangzhou Date: Wed, 8 Feb 2023 02:44:44 +0000 Subject: [PATCH 56/61] * Add the new version. --- VERSION | 2 +- config/config.php | 2 +- db/standard/zentao18.1.sql | 3645 +++++++++++++++++++++++++++++++ db/zentao.sql | 1 + doc/CHANGELOG | 174 ++ module/misc/lang/de.php | 2 + module/misc/lang/en.php | 2 + module/misc/lang/fr.php | 2 + module/misc/lang/zh-cn.php | 2 + module/upgrade/config.php | 6 +- module/upgrade/lang/version.php | 9 +- module/upgrade/model.php | 4 +- tools/prepareupdate.php | 1 + xuanxuan/XUANVERSION | 2 +- xuanxuan/XVERSION | 2 +- 15 files changed, 3846 insertions(+), 10 deletions(-) create mode 100644 db/standard/zentao18.1.sql diff --git a/VERSION b/VERSION index 0034b6527f..9dc4015447 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -18.0 +18.1 \ No newline at end of file diff --git a/config/config.php b/config/config.php index 7cf0660c76..818e72dde7 100644 --- a/config/config.php +++ b/config/config.php @@ -16,7 +16,7 @@ if(!class_exists('config')){class config{}} if(!function_exists('getWebRoot')){function getWebRoot(){}} /* 基本设置。Basic settings. */ -$config->version = '18.0'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it. +$config->version = '18.1'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it. $config->liteVersion = '1.2'; // 迅捷版版本。 The version of Lite. $config->charset = 'UTF-8'; // ZenTaoPHP的编码。 The encoding of ZenTaoPHP. $config->cookieLife = time() + 2592000; // Cookie的生存时间。The cookie life time. diff --git a/db/standard/zentao18.1.sql b/db/standard/zentao18.1.sql new file mode 100644 index 0000000000..afc013276e --- /dev/null +++ b/db/standard/zentao18.1.sql @@ -0,0 +1,3645 @@ +CREATE TABLE `zt_account` ( + `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `type` varchar(255) NOT NULL, + `provider` varchar(255) NOT NULL, + `adminURI` varchar(255) NOT NULL, + `account` varchar(255) NOT NULL, + `password` varchar(255) NOT NULL, + `email` varchar(255) NOT NULL, + `mobile` varchar(255) NOT NULL, + `extra` text NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `status` varchar(30) NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `name` (`name`), + KEY `provider` (`provider`), + KEY `status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_acl` ( + `id` mediumint(9) NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `objectType` char(30) NOT NULL, + `objectID` mediumint(9) NOT NULL DEFAULT '0', + `type` char(40) NOT NULL DEFAULT 'whitelist', + `source` char(30) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_action` ( + `id` int(9) unsigned NOT NULL AUTO_INCREMENT, + `objectType` varchar(30) NOT NULL DEFAULT '', + `objectID` mediumint(8) unsigned NOT NULL DEFAULT '0', + `product` text NOT NULL, + `project` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `actor` varchar(100) NOT NULL DEFAULT '', + `action` varchar(80) NOT NULL DEFAULT '', + `date` datetime NOT NULL, + `comment` text NOT NULL, + `extra` text, + `read` enum('0','1') NOT NULL DEFAULT '0', + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `efforted` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `date` (`date`), + KEY `actor` (`actor`), + KEY `project` (`project`), + KEY `action` (`action`), + KEY `objectID` (`objectID`) +) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_activity` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `process` mediumint(9) NOT NULL, + `name` varchar(255) NOT NULL, + `optional` varchar(255) NOT NULL, + `tailorNorm` varchar(255) NOT NULL, + `content` mediumtext NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `status` varchar(30) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `assignedBy` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `order` mediumint(8) DEFAULT '0', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=90 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_api` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `product` varchar(255) NOT NULL DEFAULT '', + `lib` int(10) unsigned NOT NULL DEFAULT '0', + `module` int(10) unsigned NOT NULL DEFAULT '0', + `title` varchar(100) NOT NULL DEFAULT '', + `path` varchar(255) NOT NULL DEFAULT '', + `protocol` varchar(10) NOT NULL DEFAULT '', + `method` varchar(10) NOT NULL DEFAULT '', + `requestType` varchar(100) NOT NULL DEFAULT '', + `responseType` varchar(100) NOT NULL DEFAULT '', + `status` varchar(20) NOT NULL DEFAULT '', + `owner` varchar(30) NOT NULL DEFAULT '0', + `desc` mediumtext, + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `params` text, + `paramsExample` text, + `responseExample` text, + `response` text, + `commonParams` text, + `addedBy` varchar(30) NOT NULL DEFAULT '0', + `addedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '0', + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_api_lib_release` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `lib` int(10) unsigned NOT NULL DEFAULT '0', + `desc` varchar(255) NOT NULL DEFAULT '', + `version` varchar(255) NOT NULL DEFAULT '', + `snap` mediumtext NOT NULL, + `addedBy` varchar(30) NOT NULL DEFAULT '0', + `addedDate` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_apispec` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `doc` int(10) unsigned NOT NULL DEFAULT '0', + `module` int(10) unsigned NOT NULL DEFAULT '0', + `title` varchar(100) NOT NULL DEFAULT '', + `path` varchar(255) NOT NULL DEFAULT '', + `protocol` varchar(10) NOT NULL DEFAULT '', + `method` varchar(10) NOT NULL DEFAULT '', + `requestType` varchar(100) NOT NULL DEFAULT '', + `responseType` varchar(100) NOT NULL DEFAULT '', + `status` varchar(20) NOT NULL DEFAULT '', + `owner` varchar(255) NOT NULL DEFAULT '0', + `desc` mediumtext, + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `params` text, + `paramsExample` text, + `responseExample` text, + `response` text, + `addedBy` varchar(30) NOT NULL DEFAULT '0', + `addedDate` datetime DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=176 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_apistruct` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `lib` int(10) unsigned NOT NULL DEFAULT '0', + `name` varchar(30) NOT NULL DEFAULT '', + `type` varchar(50) NOT NULL DEFAULT '', + `desc` mediumtext NOT NULL, + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `attribute` text, + `addedBy` varchar(30) NOT NULL DEFAULT '0', + `addedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '0', + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_apistruct_spec` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `type` varchar(50) NOT NULL DEFAULT '', + `desc` varchar(255) NOT NULL DEFAULT '', + `attribute` text, + `version` smallint(5) unsigned NOT NULL DEFAULT '0', + `addedBy` varchar(30) NOT NULL DEFAULT '0', + `addedDate` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_approval` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `flow` mediumint(8) NOT NULL, + `objectType` varchar(30) NOT NULL, + `objectID` mediumint(9) NOT NULL, + `nodes` mediumtext NOT NULL, + `version` mediumint(9) NOT NULL, + `status` varchar(20) NOT NULL DEFAULT 'doing', + `result` varchar(20) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `deleted` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_approvalflow` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `code` varchar(100) NOT NULL, + `desc` mediumtext NOT NULL, + `version` mediumint(8) NOT NULL DEFAULT '1', + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `type` varchar(30) NOT NULL, + `deleted` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_approvalflowobject` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `root` int(8) NOT NULL, + `flow` int(8) NOT NULL, + `objectType` char(30) NOT NULL, + `objectID` mediumint(9) NOT NULL, + `extra` varchar(255) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_approvalflowspec` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `flow` mediumint(8) NOT NULL, + `version` mediumint(8) NOT NULL, + `nodes` mediumtext NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_approvalnode` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `approval` mediumint(8) NOT NULL, + `type` enum('review','cc') NOT NULL, + `title` varchar(255) NOT NULL, + `account` char(30) NOT NULL, + `node` varchar(100) NOT NULL, + `reviewType` varchar(100) NOT NULL DEFAULT 'manual', + `multipleType` enum('and','or') NOT NULL DEFAULT 'and', + `prev` mediumtext NOT NULL, + `next` mediumtext NOT NULL, + `status` varchar(20) NOT NULL DEFAULT 'wait', + `result` varchar(10) NOT NULL, + `date` date NOT NULL, + `opinion` mediumtext NOT NULL, + `extra` mediumtext NOT NULL, + `reviewedBy` char(30) NOT NULL, + `reviewedDate` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `idx_reviewed_date` (`reviewedDate`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_approvalobject` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `approval` int(8) NOT NULL, + `objectType` char(30) NOT NULL, + `objectID` mediumint(8) NOT NULL, + `extra` varchar(255) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_approvalrole` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `code` char(30) NOT NULL, + `name` varchar(255) NOT NULL, + `desc` text NOT NULL, + `users` longtext NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_assetlib` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `type` varchar(255) NOT NULL, + `desc` mediumtext NOT NULL, + `order` smallint(5) unsigned NOT NULL DEFAULT '0', + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_attend` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `date` date NOT NULL, + `signIn` time NOT NULL, + `signOut` time NOT NULL, + `status` varchar(30) NOT NULL DEFAULT '', + `ip` varchar(15) NOT NULL, + `device` varchar(30) NOT NULL, + `client` varchar(20) NOT NULL, + `manualIn` time NOT NULL, + `manualOut` time NOT NULL, + `reason` varchar(30) NOT NULL DEFAULT '', + `desc` text NOT NULL, + `reviewStatus` varchar(30) NOT NULL DEFAULT '', + `reviewedBy` char(30) NOT NULL, + `reviewedDate` datetime NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `attend` (`date`,`account`), + KEY `account` (`account`), + KEY `date` (`date`), + KEY `status` (`status`), + KEY `reason` (`reason`), + KEY `reviewStatus` (`reviewStatus`), + KEY `reviewedBy` (`reviewedBy`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_attendstat` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `month` char(10) NOT NULL DEFAULT '', + `normal` decimal(12,2) NOT NULL DEFAULT '0.00', + `late` decimal(12,2) NOT NULL DEFAULT '0.00', + `early` decimal(12,2) NOT NULL DEFAULT '0.00', + `absent` decimal(12,2) NOT NULL DEFAULT '0.00', + `trip` decimal(12,2) NOT NULL DEFAULT '0.00', + `egress` decimal(12,2) NOT NULL DEFAULT '0.00', + `lieu` decimal(12,2) NOT NULL DEFAULT '0.00', + `paidLeave` decimal(12,2) NOT NULL DEFAULT '0.00', + `unpaidLeave` decimal(12,2) NOT NULL DEFAULT '0.00', + `timeOvertime` decimal(12,2) NOT NULL DEFAULT '0.00', + `restOvertime` decimal(12,2) NOT NULL DEFAULT '0.00', + `holidayOvertime` decimal(12,2) NOT NULL DEFAULT '0.00', + `deserve` decimal(12,2) NOT NULL DEFAULT '0.00', + `actual` decimal(12,2) NOT NULL DEFAULT '0.00', + `status` char(30) NOT NULL DEFAULT '', + PRIMARY KEY (`id`), + UNIQUE KEY `attend` (`month`,`account`), + KEY `account` (`account`), + KEY `month` (`month`), + KEY `status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_auditcl` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `model` char(30) NOT NULL DEFAULT 'waterfall', + `practiceArea` char(30) NOT NULL, + `type` char(30) NOT NULL, + `title` varchar(255) NOT NULL, + `objectType` char(30) NOT NULL, + `objectID` int(10) DEFAULT NULL, + `assignedTo` varchar(30) NOT NULL, + `status` varchar(30) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `assignedBy` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_auditplan` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `dateType` char(30) DEFAULT NULL, + `config` text, + `objectID` mediumint(9) NOT NULL, + `objectType` char(30) NOT NULL, + `process` mediumint(9) NOT NULL, + `processType` char(30) NOT NULL, + `checkDate` date NOT NULL, + `checkedBy` varchar(30) NOT NULL, + `realCheckDate` date NOT NULL, + `result` char(30) NOT NULL, + `project` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `status` varchar(30) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `assignedBy` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + `checkBy` varchar(30) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_auditresult` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `auditplan` mediumint(8) NOT NULL, + `listID` mediumint(8) NOT NULL, + `result` char(30) NOT NULL, + `checkedBy` varchar(30) NOT NULL, + `checkedDate` date NOT NULL, + `comment` text NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `status` varchar(30) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `assignedBy` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_automation` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `node` int(11) unsigned NOT NULL DEFAULT '0', + `product` int(11) unsigned NOT NULL DEFAULT '0', + `scriptPath` varchar(255) NOT NULL DEFAULT '', + `shell` mediumtext NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_basicmeas` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `purpose` varchar(50) NOT NULL, + `scope` char(30) NOT NULL, + `object` char(30) NOT NULL, + `name` varchar(90) NOT NULL, + `code` char(30) NOT NULL, + `unit` varchar(10) NOT NULL, + `configure` text, + `params` text, + `definition` text, + `source` varchar(255) DEFAULT NULL, + `collectType` varchar(30) NOT NULL, + `collectConf` text NOT NULL, + `execTime` varchar(30) NOT NULL, + `collectedBy` varchar(10) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `order` mediumint(8) unsigned NOT NULL DEFAULT '0', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `code` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=54 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_block` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `module` varchar(20) NOT NULL, + `type` char(30) NOT NULL, + `title` varchar(100) NOT NULL, + `source` varchar(20) NOT NULL, + `block` varchar(30) NOT NULL, + `params` text NOT NULL, + `order` tinyint(3) unsigned NOT NULL DEFAULT '0', + `grid` tinyint(3) unsigned NOT NULL DEFAULT '0', + `height` smallint(5) unsigned NOT NULL DEFAULT '0', + `hidden` tinyint(1) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `account_vision_module_type_order` (`account`,`vision`,`module`,`type`,`order`), + KEY `account` (`account`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_branch` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `product` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `default` enum('0','1') NOT NULL DEFAULT '0', + `status` enum('active','closed') NOT NULL DEFAULT 'active', + `desc` varchar(255) NOT NULL, + `createdDate` date NOT NULL, + `closedDate` date NOT NULL, + `order` smallint(5) unsigned NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_budget` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `stage` char(30) NOT NULL, + `subject` mediumint(8) NOT NULL, + `amount` char(30) NOT NULL, + `name` varchar(255) NOT NULL, + `desc` mediumtext NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `lastEditedBy` char(30) NOT NULL, + `lastEditedDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_bug` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL DEFAULT '0', + `injection` mediumint(8) unsigned NOT NULL, + `identify` mediumint(8) unsigned NOT NULL, + `branch` mediumint(8) unsigned NOT NULL DEFAULT '0', + `module` mediumint(8) unsigned NOT NULL DEFAULT '0', + `execution` mediumint(8) unsigned NOT NULL DEFAULT '0', + `plan` mediumint(8) unsigned NOT NULL DEFAULT '0', + `story` mediumint(8) unsigned NOT NULL DEFAULT '0', + `storyVersion` smallint(6) NOT NULL DEFAULT '1', + `task` mediumint(8) unsigned NOT NULL DEFAULT '0', + `toTask` mediumint(8) unsigned NOT NULL DEFAULT '0', + `toStory` mediumint(8) NOT NULL DEFAULT '0', + `title` varchar(255) NOT NULL, + `keywords` varchar(255) NOT NULL, + `severity` tinyint(4) NOT NULL DEFAULT '0', + `pri` tinyint(3) unsigned NOT NULL, + `type` varchar(30) NOT NULL DEFAULT '', + `os` varchar(255) NOT NULL DEFAULT '', + `browser` varchar(255) NOT NULL DEFAULT '', + `hardware` varchar(30) NOT NULL, + `found` varchar(30) NOT NULL DEFAULT '', + `steps` mediumtext NOT NULL, + `status` enum('active','resolved','closed') NOT NULL DEFAULT 'active', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `color` char(7) NOT NULL, + `confirmed` tinyint(1) NOT NULL DEFAULT '0', + `activatedCount` smallint(6) NOT NULL, + `activatedDate` datetime NOT NULL, + `feedbackBy` varchar(100) NOT NULL, + `notifyEmail` varchar(100) NOT NULL, + `mailto` text, + `openedBy` varchar(30) NOT NULL DEFAULT '', + `openedDate` datetime NOT NULL, + `openedBuild` varchar(255) NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NOT NULL, + `deadline` date NOT NULL, + `resolvedBy` varchar(30) NOT NULL DEFAULT '', + `resolution` varchar(30) NOT NULL DEFAULT '', + `resolvedBuild` varchar(30) NOT NULL DEFAULT '', + `resolvedDate` datetime NOT NULL, + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` datetime NOT NULL, + `duplicateBug` mediumint(8) unsigned NOT NULL, + `linkBug` varchar(255) NOT NULL, + `case` mediumint(8) unsigned NOT NULL, + `caseVersion` smallint(6) NOT NULL DEFAULT '1', + `feedback` mediumint(8) unsigned NOT NULL DEFAULT '0', + `result` mediumint(8) unsigned NOT NULL, + `repo` mediumint(8) unsigned NOT NULL, + `mr` mediumint(8) unsigned NOT NULL, + `entry` text NOT NULL, + `lines` varchar(10) NOT NULL, + `v1` varchar(40) NOT NULL, + `v2` varchar(40) NOT NULL, + `repoType` varchar(30) NOT NULL DEFAULT '', + `issueKey` varchar(50) NOT NULL DEFAULT '', + `testtask` mediumint(8) unsigned NOT NULL, + `lastEditedBy` varchar(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `execution` (`execution`), + KEY `status` (`status`), + KEY `plan` (`plan`), + KEY `story` (`story`), + KEY `case` (`case`), + KEY `toStory` (`toStory`), + KEY `result` (`result`), + KEY `assignedTo` (`assignedTo`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_build` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL DEFAULT '0', + `branch` varchar(255) NOT NULL DEFAULT '0', + `execution` mediumint(8) unsigned NOT NULL DEFAULT '0', + `builds` varchar(255) NOT NULL, + `name` char(150) NOT NULL, + `scmPath` char(255) NOT NULL, + `filePath` char(255) NOT NULL, + `date` date NOT NULL, + `stories` text NOT NULL, + `bugs` text NOT NULL, + `builder` char(30) NOT NULL DEFAULT '', + `desc` mediumtext NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `execution` (`execution`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_burn` ( + `execution` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `task` mediumint(8) unsigned NOT NULL DEFAULT '0', + `date` date NOT NULL, + `estimate` float NOT NULL, + `left` float NOT NULL, + `consumed` float NOT NULL, + `storyPoint` float NOT NULL, + PRIMARY KEY (`execution`,`date`,`task`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_case` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL DEFAULT '0', + `execution` mediumint(8) unsigned NOT NULL, + `branch` mediumint(8) unsigned NOT NULL DEFAULT '0', + `lib` mediumint(8) unsigned NOT NULL DEFAULT '0', + `module` mediumint(8) unsigned NOT NULL DEFAULT '0', + `path` mediumint(8) unsigned NOT NULL DEFAULT '0', + `story` mediumint(30) unsigned NOT NULL DEFAULT '0', + `storyVersion` smallint(6) NOT NULL DEFAULT '1', + `title` varchar(255) NOT NULL, + `precondition` text NOT NULL, + `keywords` varchar(255) NOT NULL, + `pri` tinyint(3) unsigned NOT NULL DEFAULT '3', + `type` char(30) NOT NULL DEFAULT '1', + `auto` varchar(10) NOT NULL DEFAULT 'no', + `frame` varchar(10) NOT NULL, + `stage` varchar(255) NOT NULL, + `howRun` varchar(30) NOT NULL, + `script` longtext NOT NULL, + `scriptedBy` varchar(30) NOT NULL, + `scriptedDate` date NOT NULL, + `scriptStatus` varchar(30) NOT NULL, + `scriptLocation` varchar(255) NOT NULL, + `status` char(30) NOT NULL DEFAULT '1', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `color` char(7) NOT NULL, + `frequency` enum('1','2','3') NOT NULL DEFAULT '1', + `order` tinyint(30) unsigned NOT NULL DEFAULT '0', + `openedBy` char(30) NOT NULL DEFAULT '', + `openedDate` datetime NOT NULL, + `reviewedBy` varchar(255) NOT NULL, + `reviewedDate` date NOT NULL, + `lastEditedBy` char(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NOT NULL, + `version` tinyint(3) unsigned NOT NULL DEFAULT '0', + `linkCase` varchar(255) NOT NULL, + `fromBug` mediumint(8) unsigned NOT NULL, + `fromCaseID` mediumint(8) unsigned NOT NULL, + `fromCaseVersion` mediumint(8) unsigned NOT NULL DEFAULT '1', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + `lastRunner` varchar(30) NOT NULL, + `lastRunDate` datetime NOT NULL, + `lastRunResult` char(30) NOT NULL, + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `story` (`story`), + KEY `fromBug` (`fromBug`), + KEY `module` (`module`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_casestep` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `parent` mediumint(8) unsigned NOT NULL DEFAULT '0', + `case` mediumint(8) unsigned NOT NULL DEFAULT '0', + `version` smallint(3) unsigned NOT NULL DEFAULT '0', + `type` varchar(10) NOT NULL DEFAULT 'step', + `desc` text NOT NULL, + `expect` text NOT NULL, + PRIMARY KEY (`id`), + KEY `case` (`case`), + KEY `version` (`version`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_cfd` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `execution` int(8) NOT NULL, + `type` char(30) NOT NULL, + `name` char(30) NOT NULL, + `count` smallint(6) NOT NULL, + `date` date NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `execution_type_name_date` (`execution`,`type`,`name`,`date`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_chart` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `dimension` mediumint(8) unsigned NOT NULL DEFAULT '0', + `type` varchar(30) NOT NULL, + `group` mediumint(8) unsigned NOT NULL DEFAULT '0', + `dataset` varchar(30) NOT NULL, + `desc` text NOT NULL, + `settings` mediumtext NOT NULL, + `filters` mediumtext NOT NULL, + `fields` mediumtext, + `sql` mediumtext, + `builtin` tinyint(1) unsigned NOT NULL, + `objects` mediumtext NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_cmcl` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `type` char(30) NOT NULL, + `title` int(11) NOT NULL, + `contents` text NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `status` varchar(30) NOT NULL, + `order` int(11) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_company` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` char(120) DEFAULT NULL, + `phone` char(20) DEFAULT NULL, + `fax` char(20) DEFAULT NULL, + `address` char(120) DEFAULT NULL, + `zipcode` char(10) DEFAULT NULL, + `website` char(120) DEFAULT NULL, + `backyard` char(120) DEFAULT NULL, + `guest` enum('1','0') NOT NULL DEFAULT '0', + `admins` char(255) DEFAULT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_compile` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `job` mediumint(8) unsigned NOT NULL, + `queue` mediumint(8) NOT NULL, + `status` varchar(255) NOT NULL, + `logs` text, + `atTime` varchar(10) NOT NULL, + `testtask` mediumint(8) unsigned NOT NULL, + `tag` varchar(255) NOT NULL, + `times` tinyint(3) unsigned NOT NULL DEFAULT '0', + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `updateDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_config` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `owner` char(30) NOT NULL DEFAULT '', + `module` varchar(30) NOT NULL, + `section` char(30) NOT NULL DEFAULT '', + `key` char(30) NOT NULL DEFAULT '', + `value` longtext NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique` (`vision`,`owner`,`module`,`section`,`key`) +) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_cron` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `m` varchar(20) NOT NULL, + `h` varchar(20) NOT NULL, + `dom` varchar(20) NOT NULL, + `mon` varchar(20) NOT NULL, + `dow` varchar(20) NOT NULL, + `command` text NOT NULL, + `remark` varchar(255) NOT NULL, + `type` varchar(20) NOT NULL, + `buildin` tinyint(1) NOT NULL DEFAULT '0', + `status` varchar(20) NOT NULL, + `lastTime` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `lastTime` (`lastTime`) +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_dashboard` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `dimension` int(8) NOT NULL DEFAULT '0', + `module` mediumint(9) NOT NULL, + `desc` mediumtext NOT NULL, + `layout` mediumtext NOT NULL, + `filters` mediumtext NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `deleted` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_dataset` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(155) NOT NULL, + `sql` text NOT NULL, + `fields` mediumtext NOT NULL, + `objects` mediumtext NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `deleted` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_dataview` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `group` mediumint(8) unsigned NOT NULL, + `name` varchar(155) NOT NULL, + `code` varchar(50) NOT NULL, + `view` varchar(57) NOT NULL, + `sql` text NOT NULL, + `fields` mediumtext NOT NULL, + `objects` mediumtext NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_deploy` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `begin` datetime NOT NULL, + `end` datetime NOT NULL, + `name` varchar(255) NOT NULL, + `desc` mediumtext NOT NULL, + `status` varchar(20) NOT NULL, + `owner` char(30) NOT NULL, + `members` text NOT NULL, + `notify` text NOT NULL, + `cases` text NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `result` varchar(20) NOT NULL, + `deleted` enum('0','1') NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_deployproduct` ( + `deploy` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `release` mediumint(8) unsigned NOT NULL, + `package` varchar(255) NOT NULL, + UNIQUE KEY `deploy_product_release` (`deploy`,`product`,`release`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_deployscope` ( + `deploy` mediumint(8) unsigned NOT NULL, + `service` mediumint(8) unsigned NOT NULL, + `hosts` text NOT NULL, + `remove` text NOT NULL, + `add` text NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_deploystep` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `deploy` mediumint(8) unsigned NOT NULL, + `title` varchar(255) NOT NULL, + `begin` datetime NOT NULL, + `end` datetime NOT NULL, + `stage` varchar(30) NOT NULL, + `content` text NOT NULL, + `status` varchar(30) NOT NULL, + `assignedTo` char(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `finishedBy` char(30) NOT NULL, + `finishedDate` datetime NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_dept` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` char(60) NOT NULL, + `parent` mediumint(8) unsigned NOT NULL DEFAULT '0', + `path` char(255) NOT NULL DEFAULT '', + `grade` tinyint(3) unsigned NOT NULL DEFAULT '0', + `order` smallint(4) unsigned NOT NULL DEFAULT '0', + `position` char(30) NOT NULL DEFAULT '', + `function` char(255) NOT NULL DEFAULT '', + `manager` char(30) NOT NULL DEFAULT '', + PRIMARY KEY (`id`), + KEY `parent` (`parent`), + KEY `path` (`path`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_design` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` varchar(255) NOT NULL, + `product` varchar(255) NOT NULL, + `commit` text NOT NULL, + `commitedBy` varchar(30) NOT NULL, + `execution` mediumint(8) unsigned NOT NULL DEFAULT '0', + `name` varchar(255) NOT NULL, + `status` varchar(30) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `assignedBy` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + `story` char(30) NOT NULL, + `desc` mediumtext NOT NULL, + `version` smallint(6) NOT NULL, + `type` char(30) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_designspec` ( + `design` mediumint(8) NOT NULL, + `version` smallint(6) NOT NULL, + `name` varchar(255) NOT NULL, + `desc` mediumtext NOT NULL, + `files` varchar(255) NOT NULL, + UNIQUE KEY `design` (`design`,`version`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_dimension` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(90) NOT NULL, + `code` varchar(45) NOT NULL, + `desc` text NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `code` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_doc` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `lib` varchar(30) NOT NULL, + `template` varchar(30) NOT NULL, + `templateType` varchar(30) NOT NULL, + `chapterType` varchar(30) NOT NULL, + `module` varchar(30) NOT NULL, + `title` varchar(255) NOT NULL, + `keywords` varchar(255) NOT NULL, + `type` varchar(30) NOT NULL, + `status` varchar(30) NOT NULL, + `parent` smallint(5) unsigned NOT NULL DEFAULT '0', + `path` char(255) NOT NULL DEFAULT '', + `grade` tinyint(3) unsigned NOT NULL DEFAULT '0', + `order` smallint(5) unsigned NOT NULL DEFAULT '0', + `views` smallint(5) unsigned NOT NULL, + `assetLib` mediumint(8) unsigned NOT NULL DEFAULT '0', + `assetLibType` varchar(30) NOT NULL DEFAULT '', + `from` mediumint(8) unsigned NOT NULL DEFAULT '0', + `fromVersion` smallint(6) NOT NULL DEFAULT '1', + `draft` longtext NOT NULL, + `collector` text NOT NULL, + `addedBy` varchar(30) NOT NULL, + `addedDate` datetime NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `approvedDate` date NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `mailto` text, + `acl` varchar(10) NOT NULL DEFAULT 'open', + `groups` varchar(255) NOT NULL, + `users` text NOT NULL, + `version` smallint(5) unsigned NOT NULL DEFAULT '1', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `execution` (`execution`), + KEY `lib` (`lib`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_doccontent` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `doc` mediumint(8) unsigned NOT NULL, + `title` varchar(255) NOT NULL, + `digest` varchar(255) NOT NULL, + `content` longtext NOT NULL, + `files` text NOT NULL, + `type` varchar(10) NOT NULL, + `version` smallint(5) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `doc_version` (`doc`,`version`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_doclib` ( + `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `type` varchar(30) NOT NULL, + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `product` mediumint(8) unsigned NOT NULL, + `project` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `name` varchar(60) NOT NULL, + `baseUrl` varchar(255) NOT NULL DEFAULT '', + `acl` varchar(10) NOT NULL DEFAULT 'open', + `groups` varchar(255) NOT NULL, + `users` text NOT NULL, + `main` enum('0','1') NOT NULL DEFAULT '0', + `collector` text NOT NULL, + `desc` mediumtext NOT NULL, + `order` tinyint(5) unsigned NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `execution` (`execution`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_domain` ( + `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `domain` varchar(255) NOT NULL, + `adminURI` varchar(255) NOT NULL, + `resolverURI` varchar(255) NOT NULL, + `register` varchar(255) NOT NULL, + `expiredDate` datetime NOT NULL, + `renew` varchar(255) NOT NULL, + `account` varchar(255) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `domain` (`domain`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_durationestimation` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `stage` mediumint(9) NOT NULL, + `workload` varchar(255) NOT NULL, + `worktimeRate` varchar(255) NOT NULL, + `people` varchar(255) NOT NULL, + `startDate` date NOT NULL, + `endDate` date NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_effort` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `objectType` varchar(30) NOT NULL, + `objectID` mediumint(8) unsigned NOT NULL, + `product` text NOT NULL, + `project` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `account` varchar(30) NOT NULL, + `work` text, + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `date` date NOT NULL, + `left` float NOT NULL, + `consumed` float NOT NULL, + `begin` smallint(4) unsigned zerofill NOT NULL, + `end` smallint(4) unsigned zerofill NOT NULL, + `extra` text NOT NULL, + `order` tinyint(3) unsigned NOT NULL DEFAULT '0', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `execution` (`execution`), + KEY `objectID` (`objectID`), + KEY `date` (`date`), + KEY `account` (`account`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_entry` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `account` varchar(30) NOT NULL DEFAULT '', + `code` varchar(20) NOT NULL, + `key` varchar(32) NOT NULL, + `freePasswd` enum('0','1') NOT NULL DEFAULT '0', + `ip` varchar(100) NOT NULL, + `desc` mediumtext NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `calledTime` int(10) unsigned NOT NULL DEFAULT '0', + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_expect` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `userID` mediumint(8) NOT NULL, + `project` mediumint(8) NOT NULL DEFAULT '0', + `expect` text NOT NULL, + `progress` text NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_extension` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(150) NOT NULL, + `code` varchar(30) NOT NULL, + `version` varchar(50) NOT NULL, + `author` varchar(100) NOT NULL, + `desc` mediumtext NOT NULL, + `license` text NOT NULL, + `type` varchar(20) NOT NULL DEFAULT 'extension', + `site` varchar(150) NOT NULL, + `zentaoCompatible` varchar(100) NOT NULL, + `installedTime` datetime NOT NULL, + `depends` varchar(100) NOT NULL, + `dirs` mediumtext NOT NULL, + `files` mediumtext NOT NULL, + `status` varchar(20) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `code` (`code`), + KEY `name` (`name`), + KEY `installedTime` (`installedTime`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_faq` ( + `id` mediumint(9) NOT NULL AUTO_INCREMENT, + `module` mediumint(9) NOT NULL, + `product` mediumint(9) NOT NULL, + `question` varchar(255) NOT NULL, + `answer` text NOT NULL, + `addedtime` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_feedback` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `product` mediumint(8) unsigned NOT NULL, + `module` mediumint(8) unsigned NOT NULL, + `title` varchar(255) NOT NULL, + `type` char(30) NOT NULL, + `solution` char(30) NOT NULL, + `desc` text NOT NULL, + `pri` tinyint(3) unsigned NOT NULL DEFAULT '2', + `status` varchar(30) NOT NULL, + `subStatus` varchar(30) NOT NULL DEFAULT '', + `public` enum('0','1') NOT NULL DEFAULT '0', + `notify` enum('0','1') NOT NULL DEFAULT '0', + `notifyEmail` varchar(100) NOT NULL, + `source` varchar(255) NOT NULL, + `likes` text NOT NULL, + `result` mediumint(8) unsigned NOT NULL, + `faq` mediumint(8) unsigned NOT NULL, + `openedBy` char(30) NOT NULL, + `openedDate` datetime NOT NULL, + `reviewedBy` varchar(255) NOT NULL, + `reviewedDate` datetime NOT NULL, + `processedBy` char(30) NOT NULL, + `processedDate` datetime NOT NULL, + `closedBy` char(30) NOT NULL, + `closedDate` datetime NOT NULL, + `closedReason` varchar(30) NOT NULL, + `editedBy` char(30) NOT NULL, + `editedDate` datetime NOT NULL, + `assignedTo` varchar(255) NOT NULL, + `assignedDate` datetime NOT NULL, + `activatedBy` varchar(30) NOT NULL, + `activatedDate` datetime NOT NULL, + `feedbackBy` varchar(100) NOT NULL, + `repeatFeedback` mediumint(8) NOT NULL DEFAULT '0', + `mailto` varchar(255) NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_feedbackview` ( + `account` char(30) NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + UNIQUE KEY `account_product` (`account`,`product`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_file` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `pathname` char(100) NOT NULL, + `title` varchar(255) NOT NULL, + `extension` char(30) NOT NULL, + `size` int(10) unsigned NOT NULL DEFAULT '0', + `objectType` char(30) NOT NULL, + `objectID` mediumint(9) NOT NULL, + `addedBy` char(30) NOT NULL DEFAULT '', + `addedDate` datetime NOT NULL, + `downloads` mediumint(8) unsigned NOT NULL DEFAULT '0', + `extra` varchar(255) NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `objectType` (`objectType`), + KEY `objectID` (`objectID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_gapanalysis` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `account` varchar(30) NOT NULL, + `role` varchar(20) NOT NULL, + `analysis` mediumtext NOT NULL, + `needTrain` enum('no','yes') NOT NULL DEFAULT 'no', + `createdBy` char(30) DEFAULT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `project_account` (`project`,`account`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_group` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL DEFAULT '0', + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `name` char(30) NOT NULL, + `role` char(30) NOT NULL DEFAULT '', + `desc` char(255) NOT NULL DEFAULT '', + `acl` text, + `developer` enum('0','1') NOT NULL DEFAULT '1', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_grouppriv` ( + `group` mediumint(8) unsigned NOT NULL DEFAULT '0', + `module` char(30) NOT NULL DEFAULT '', + `method` char(30) NOT NULL DEFAULT '', + UNIQUE KEY `group` (`group`,`module`,`method`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_history` ( + `id` int(9) unsigned NOT NULL AUTO_INCREMENT, + `action` mediumint(8) unsigned NOT NULL DEFAULT '0', + `field` varchar(30) NOT NULL DEFAULT '', + `old` text NOT NULL, + `new` text NOT NULL, + `diff` mediumtext NOT NULL, + PRIMARY KEY (`id`), + KEY `action` (`action`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_holiday` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(30) NOT NULL DEFAULT '', + `type` enum('holiday','working') NOT NULL DEFAULT 'holiday', + `desc` mediumtext NOT NULL, + `year` char(4) NOT NULL, + `begin` date NOT NULL, + `end` date NOT NULL, + PRIMARY KEY (`id`), + KEY `year` (`year`), + KEY `name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_host` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL DEFAULT '', + `type` varchar(30) NOT NULL DEFAULT 'normal', + `hostType` varchar(30) NOT NULL DEFAULT '', + `mac` varchar(128) NOT NULL, + `memory` varchar(30) NOT NULL, + `diskSize` varchar(30) NOT NULL, + `status` varchar(50) NOT NULL, + `secret` varchar(50) NOT NULL DEFAULT '', + `desc` text NOT NULL, + `tokenSN` varchar(50) NOT NULL DEFAULT '', + `tokenTime` datetime NOT NULL, + `oldTokenSN` varchar(50) NOT NULL DEFAULT '', + `vsoft` varchar(30) NOT NULL DEFAULT '', + `heartbeat` datetime NOT NULL, + `zap` varchar(10) NOT NULL, + `provider` varchar(255) NOT NULL DEFAULT '', + `vnc` int(11) NOT NULL, + `ztf` int(11) NOT NULL, + `zd` int(11) NOT NULL, + `ssh` int(11) NOT NULL, + `parent` int(11) unsigned NOT NULL DEFAULT '0', + `image` int(11) unsigned NOT NULL DEFAULT '0', + `admin` smallint(5) unsigned NOT NULL DEFAULT '0', + `serverRoom` mediumint(8) unsigned NOT NULL, + `serverModel` varchar(256) NOT NULL, + `hardwareType` varchar(64) NOT NULL, + `cpuBrand` varchar(128) NOT NULL, + `cpuModel` varchar(128) NOT NULL, + `cpuNumber` varchar(16) NOT NULL, + `cpuCores` varchar(30) NOT NULL, + `intranet` varchar(128) NOT NULL, + `extranet` varchar(128) NOT NULL, + `osName` varchar(64) NOT NULL, + `osVersion` varchar(64) NOT NULL, + `group` varchar(128) NOT NULL DEFAULT '', + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_im_chat` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `gid` char(40) NOT NULL DEFAULT '', + `name` varchar(60) NOT NULL DEFAULT '', + `type` varchar(20) NOT NULL DEFAULT 'group', + `admins` varchar(255) NOT NULL DEFAULT '', + `committers` varchar(255) NOT NULL DEFAULT '', + `subject` mediumint(8) unsigned NOT NULL DEFAULT '0', + `public` enum('0','1') NOT NULL DEFAULT '0', + `createdBy` varchar(30) NOT NULL DEFAULT '', + `createdDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `ownedBy` varchar(30) NOT NULL DEFAULT '', + `editedBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `mergedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastActiveTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastMessage` int(11) unsigned NOT NULL DEFAULT '0', + `lastMessageIndex` int(11) unsigned NOT NULL DEFAULT '0', + `dismissDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `pinnedMessages` text NOT NULL, + `mergedChats` text NOT NULL, + `adminInvite` enum('0','1') NOT NULL DEFAULT '0', + `avatar` text NOT NULL, + `archiveDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + KEY `gid` (`gid`), + KEY `name` (`name`), + KEY `type` (`type`), + KEY `public` (`public`), + KEY `createdBy` (`createdBy`), + KEY `editedBy` (`editedBy`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_im_chat_message_index` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `gid` char(40) NOT NULL, + `tableName` char(64) NOT NULL, + `start` int(11) unsigned NOT NULL, + `end` int(11) unsigned NOT NULL, + `startIndex` int(11) unsigned NOT NULL, + `endIndex` int(11) unsigned NOT NULL, + `startDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `endDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `count` mediumint(8) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `chattable` (`gid`,`tableName`), + KEY `start` (`start`), + KEY `end` (`end`), + KEY `startDate` (`startDate`), + KEY `endDate` (`endDate`), + KEY `chatstartindex` (`gid`,`startIndex`), + KEY `chatendindex` (`gid`,`endIndex`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_im_chatuser` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `cgid` char(40) NOT NULL DEFAULT '', + `user` mediumint(8) NOT NULL DEFAULT '0', + `order` smallint(5) NOT NULL DEFAULT '0', + `star` enum('0','1') NOT NULL DEFAULT '0', + `hide` enum('0','1') NOT NULL DEFAULT '0', + `mute` enum('0','1') NOT NULL DEFAULT '0', + `freeze` enum('0','1') NOT NULL DEFAULT '0', + `join` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `quit` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `category` varchar(40) NOT NULL DEFAULT '', + `lastReadMessage` int(11) unsigned NOT NULL DEFAULT '0', + `lastReadMessageIndex` int(11) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `chatuser` (`cgid`,`user`), + KEY `cgid` (`cgid`), + KEY `user` (`user`), + KEY `order` (`order`), + KEY `star` (`star`), + KEY `hide` (`hide`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_im_client` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `version` char(30) NOT NULL DEFAULT '', + `desc` varchar(100) NOT NULL DEFAULT '', + `changeLog` text NOT NULL, + `strategy` varchar(10) NOT NULL DEFAULT '', + `downloads` text NOT NULL, + `createdDate` datetime NOT NULL, + `createdBy` varchar(30) NOT NULL DEFAULT '', + `editedDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL DEFAULT '', + `status` enum('released','wait') NOT NULL DEFAULT 'wait', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_im_conference` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `rid` char(40) NOT NULL DEFAULT '', + `cgid` char(40) NOT NULL DEFAULT '', + `status` enum('closed','open') NOT NULL DEFAULT 'closed', + `participants` text NOT NULL, + `invitee` text NOT NULL, + `openedBy` mediumint(8) NOT NULL DEFAULT '0', + `openedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_im_conferenceaction` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `rid` char(40) NOT NULL DEFAULT '', + `type` enum('create','invite','join','leave','close','publish') NOT NULL DEFAULT 'create', + `data` text NOT NULL, + `user` mediumint(8) NOT NULL DEFAULT '0', + `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `device` char(40) NOT NULL DEFAULT 'default', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_im_message` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `gid` char(40) NOT NULL DEFAULT '', + `cgid` char(40) NOT NULL DEFAULT '', + `user` varchar(30) NOT NULL DEFAULT '', + `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `index` int(11) unsigned NOT NULL DEFAULT '0', + `type` enum('normal','broadcast','notify','bulletin','botcommand') NOT NULL DEFAULT 'normal', + `content` text NOT NULL, + `contentType` enum('text','plain','emotion','image','file','object','code') NOT NULL DEFAULT 'text', + `data` text NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `mgid` (`gid`), + KEY `mcgid` (`cgid`), + KEY `muser` (`user`), + KEY `mtype` (`type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_im_message_backup` ( + `id` int(11) unsigned NOT NULL, + `gid` char(40) NOT NULL DEFAULT '', + `cgid` char(40) NOT NULL DEFAULT '', + `user` varchar(30) NOT NULL DEFAULT '', + `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `index` int(11) unsigned NOT NULL DEFAULT '0', + `type` enum('normal','broadcast','notify') NOT NULL DEFAULT 'normal', + `content` text NOT NULL, + `contentType` enum('text','plain','emotion','image','file','object','code') NOT NULL DEFAULT 'text', + `data` text NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_im_message_index` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `tableName` char(64) NOT NULL, + `start` int(11) unsigned NOT NULL, + `end` int(11) unsigned NOT NULL, + `startDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `endDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `chats` text NOT NULL, + PRIMARY KEY (`id`), + KEY `tableName` (`tableName`), + KEY `start` (`start`), + KEY `end` (`end`), + KEY `startDate` (`startDate`), + KEY `endDate` (`endDate`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_im_messagestatus` ( + `user` mediumint(8) NOT NULL DEFAULT '0', + `message` int(11) unsigned NOT NULL, + `status` enum('waiting','sent','readed','deleted') NOT NULL DEFAULT 'waiting', + UNIQUE KEY `user` (`user`,`message`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_im_queue` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `type` char(30) NOT NULL, + `content` text NOT NULL, + `addDate` datetime NOT NULL, + `processDate` datetime NOT NULL, + `result` text NOT NULL, + `status` char(30) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_im_userdevice` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `user` mediumint(8) NOT NULL DEFAULT '0', + `device` char(40) NOT NULL DEFAULT 'default', + `deviceID` char(40) NOT NULL DEFAULT '', + `token` char(64) NOT NULL DEFAULT '', + `validUntil` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastLogin` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastLogout` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id`), + UNIQUE KEY `userdevice` (`user`,`device`), + KEY `user` (`user`), + KEY `lastLogin` (`lastLogin`), + KEY `lastLogout` (`lastLogout`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_image` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `host` int(11) unsigned NOT NULL DEFAULT '0', + `name` varchar(64) NOT NULL DEFAULT '', + `localName` VARCHAR(64) NOT NULL, + `address` varchar(64) NOT NULL DEFAULT '', + `path` varchar(64) NOT NULL DEFAULT '', + `status` varchar(20) NOT NULL DEFAULT '', + `osName` varchar(32) NOT NULL DEFAULT '', + `from` varchar(10) NOT NULL DEFAULT 'zentao', + `memory` float unsigned NOT NULL, + `disk` float unsigned NOT NULL, + `fileSize` float unsigned NOT NULL, + `md5` varchar(64) NOT NULL, + `desc` text NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `restoreDate` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_intervention` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `activity` mediumint(8) NOT NULL, + `status` char(30) NOT NULL, + `partake` text NOT NULL, + `begin` date NOT NULL, + `realBegin` date NOT NULL, + `situation` varchar(255) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `project` (`project`,`activity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_issue` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `resolvedBy` varchar(30) NOT NULL, + `project` varchar(255) NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `title` varchar(255) NOT NULL, + `desc` mediumtext NOT NULL, + `pri` char(30) NOT NULL, + `severity` char(30) NOT NULL, + `type` char(30) NOT NULL, + `activity` varchar(255) NOT NULL, + `deadline` date NOT NULL, + `resolution` char(30) NOT NULL, + `resolutionComment` text NOT NULL, + `objectID` varchar(255) NOT NULL, + `resolvedDate` date NOT NULL, + `status` varchar(30) NOT NULL, + `owner` varchar(255) NOT NULL, + `lib` mediumint(8) unsigned NOT NULL DEFAULT '0', + `from` mediumint(8) unsigned NOT NULL DEFAULT '0', + `version` smallint(6) NOT NULL DEFAULT '1', + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `activateBy` varchar(30) NOT NULL, + `activateDate` date NOT NULL, + `closedBy` varchar(30) NOT NULL, + `closedDate` date NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `assignedBy` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `approvedDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_job` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `repo` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `frame` varchar(20) NOT NULL, + `engine` varchar(20) NOT NULL, + `server` mediumint(8) unsigned NOT NULL, + `pipeline` varchar(500) NOT NULL, + `triggerType` varchar(255) NOT NULL, + `sonarqubeServer` mediumint(8) unsigned NOT NULL, + `projectKey` varchar(255) NOT NULL, + `svnDir` varchar(255) NOT NULL, + `atDay` varchar(255) DEFAULT NULL, + `atTime` varchar(10) DEFAULT NULL, + `customParam` text NOT NULL, + `comment` varchar(255) DEFAULT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `lastExec` datetime DEFAULT NULL, + `lastStatus` varchar(255) DEFAULT NULL, + `lastTag` varchar(255) DEFAULT NULL, + `lastSyncDate` datetime DEFAULT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_kanban` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `space` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `owner` varchar(30) NOT NULL, + `team` text NOT NULL, + `desc` mediumtext NOT NULL, + `acl` char(30) NOT NULL DEFAULT 'open', + `whitelist` text NOT NULL, + `archived` enum('0','1') NOT NULL DEFAULT '1', + `performable` enum('0','1') NOT NULL DEFAULT '0', + `status` enum('active','closed') NOT NULL DEFAULT 'active', + `order` mediumint(8) NOT NULL DEFAULT '0', + `displayCards` smallint(6) NOT NULL DEFAULT '0', + `showWIP` enum('0','1') NOT NULL DEFAULT '1', + `fluidBoard` enum('0','1') NOT NULL DEFAULT '0', + `colWidth` smallint(4) NOT NULL DEFAULT '264', + `minColWidth` smallint(4) NOT NULL DEFAULT '200', + `maxColWidth` smallint(4) NOT NULL DEFAULT '384', + `object` varchar(255) NOT NULL, + `alignment` varchar(10) NOT NULL DEFAULT 'center', + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `lastEditedBy` char(30) NOT NULL, + `lastEditedDate` datetime NOT NULL, + `closedBy` char(30) NOT NULL, + `closedDate` datetime NOT NULL, + `activatedBy` char(30) NOT NULL, + `activatedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_kanbancard` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `kanban` mediumint(8) unsigned NOT NULL, + `region` mediumint(8) unsigned NOT NULL, + `group` mediumint(8) unsigned NOT NULL, + `fromID` mediumint(8) unsigned NOT NULL, + `fromType` varchar(30) NOT NULL, + `name` varchar(255) NOT NULL, + `status` varchar(30) NOT NULL DEFAULT 'doing', + `pri` mediumint(8) unsigned NOT NULL, + `assignedTo` text NOT NULL, + `desc` mediumtext NOT NULL, + `begin` date NOT NULL, + `end` date NOT NULL, + `estimate` float unsigned NOT NULL, + `progress` float unsigned NOT NULL DEFAULT '0', + `color` char(7) NOT NULL, + `acl` char(30) NOT NULL DEFAULT 'open', + `whitelist` text NOT NULL, + `order` mediumint(8) NOT NULL DEFAULT '0', + `archived` enum('0','1') NOT NULL DEFAULT '0', + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `lastEditedBy` char(30) NOT NULL, + `lastEditedDate` datetime NOT NULL, + `archivedBy` char(30) NOT NULL, + `archivedDate` datetime NOT NULL, + `assignedBy` char(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_kanbancell` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `kanban` mediumint(8) NOT NULL, + `lane` mediumint(8) NOT NULL, + `column` mediumint(8) NOT NULL, + `type` char(30) NOT NULL, + `cards` text NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `card_group` (`kanban`,`type`,`lane`,`column`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_kanbancolumn` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `parent` mediumint(8) NOT NULL DEFAULT '0', + `type` char(30) NOT NULL, + `region` mediumint(8) unsigned NOT NULL, + `group` mediumint(8) NOT NULL DEFAULT '0', + `name` varchar(255) NOT NULL DEFAULT '', + `color` char(30) NOT NULL, + `limit` smallint(6) NOT NULL DEFAULT '-1', + `order` mediumint(8) NOT NULL DEFAULT '0', + `archived` enum('0','1') NOT NULL DEFAULT '0', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_kanbangroup` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `kanban` mediumint(8) unsigned NOT NULL, + `region` mediumint(8) unsigned NOT NULL, + `order` smallint(6) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_kanbanlane` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `execution` mediumint(8) NOT NULL DEFAULT '0', + `type` char(30) NOT NULL, + `region` mediumint(8) unsigned NOT NULL, + `group` mediumint(8) unsigned NOT NULL, + `groupby` char(30) NOT NULL, + `extra` char(30) NOT NULL, + `name` varchar(255) NOT NULL DEFAULT '', + `color` char(30) NOT NULL, + `order` smallint(6) NOT NULL DEFAULT '0', + `lastEditedTime` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_kanbanregion` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `space` mediumint(8) unsigned NOT NULL, + `kanban` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `order` mediumint(8) NOT NULL DEFAULT '0', + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `lastEditedBy` char(30) NOT NULL, + `lastEditedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_kanbanspace` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `type` varchar(50) NOT NULL, + `owner` varchar(30) NOT NULL, + `team` text NOT NULL, + `desc` mediumtext NOT NULL, + `acl` char(30) NOT NULL DEFAULT 'open', + `whitelist` text NOT NULL, + `status` enum('active','closed') NOT NULL DEFAULT 'active', + `order` mediumint(8) NOT NULL DEFAULT '0', + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `lastEditedBy` char(30) NOT NULL, + `lastEditedDate` datetime NOT NULL, + `closedBy` char(30) NOT NULL, + `closedDate` datetime NOT NULL, + `activatedBy` char(30) NOT NULL, + `activatedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_lang` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `lang` varchar(30) NOT NULL, + `module` varchar(30) NOT NULL, + `section` varchar(30) NOT NULL, + `key` varchar(60) NOT NULL, + `value` text NOT NULL, + `system` enum('0','1') NOT NULL DEFAULT '1', + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + PRIMARY KEY (`id`), + UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`,`vision`) +) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_leave` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `year` char(4) NOT NULL, + `begin` date NOT NULL, + `end` date NOT NULL, + `start` time NOT NULL, + `finish` time NOT NULL, + `hours` float(4,1) unsigned NOT NULL DEFAULT '0.0', + `backDate` datetime NOT NULL, + `type` varchar(30) NOT NULL DEFAULT '', + `desc` text NOT NULL, + `status` varchar(30) NOT NULL DEFAULT '', + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `reviewedBy` char(30) NOT NULL, + `reviewedDate` datetime NOT NULL, + `level` tinyint(3) NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `reviewers` text NOT NULL, + `backReviewers` text NOT NULL, + PRIMARY KEY (`id`), + KEY `year` (`year`), + KEY `type` (`type`), + KEY `status` (`status`), + KEY `createdBy` (`createdBy`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_lieu` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `year` char(4) NOT NULL, + `begin` date NOT NULL, + `end` date NOT NULL, + `start` time NOT NULL, + `finish` time NOT NULL, + `hours` float(4,1) unsigned NOT NULL DEFAULT '0.0', + `overtime` char(255) NOT NULL, + `trip` char(255) NOT NULL, + `desc` text NOT NULL, + `status` varchar(30) NOT NULL DEFAULT '', + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `reviewedBy` char(30) NOT NULL, + `reviewedDate` datetime NOT NULL, + `level` tinyint(3) NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `reviewers` text NOT NULL, + PRIMARY KEY (`id`), + KEY `year` (`year`), + KEY `status` (`status`), + KEY `createdBy` (`createdBy`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_log` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `objectType` varchar(30) NOT NULL, + `objectID` mediumint(8) unsigned NOT NULL, + `action` mediumint(8) unsigned NOT NULL, + `date` datetime NOT NULL, + `url` varchar(255) NOT NULL, + `contentType` varchar(30) NOT NULL, + `data` text NOT NULL, + `result` text NOT NULL, + PRIMARY KEY (`id`), + KEY `objectType` (`objectType`), + KEY `obejctID` (`objectID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_measqueue` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `type` varchar(30) NOT NULL, + `mid` mediumint(8) unsigned NOT NULL, + `status` varchar(255) NOT NULL, + `logs` text, + `execTime` varchar(10) NOT NULL, + `params` text, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `updateDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_measrecords` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `type` varchar(30) NOT NULL, + `mid` mediumint(8) NOT NULL, + `measCode` char(50) NOT NULL DEFAULT '', + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `params` text NOT NULL, + `year` char(4) NOT NULL, + `month` char(6) NOT NULL, + `week` char(8) NOT NULL, + `day` char(8) NOT NULL, + `value` varchar(255) NOT NULL, + `date` date NOT NULL, + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `project` (`project`), + KEY `time` (`year`,`month`,`day`,`week`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_meastemplate` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `model` char(30) NOT NULL, + `name` varchar(255) NOT NULL, + `content` mediumtext NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_meeting` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) NOT NULL, + `execution` mediumint(8) NOT NULL, + `name` varchar(255) NOT NULL, + `type` varchar(255) NOT NULL, + `begin` time NOT NULL, + `end` time NOT NULL, + `dept` mediumint(8) NOT NULL, + `mode` varchar(255) NOT NULL, + `host` varchar(30) NOT NULL, + `participant` text NOT NULL, + `date` date NOT NULL, + `room` int(11) NOT NULL, + `minutes` text NOT NULL, + `minutedBy` varchar(30) NOT NULL, + `minutedDate` datetime NOT NULL, + `objectType` varchar(30) NOT NULL, + `objectID` mediumint(8) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_meetingroom` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `position` varchar(30) NOT NULL, + `seats` int(11) NOT NULL, + `equipment` varchar(255) NOT NULL, + `openTime` varchar(255) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_module` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `root` mediumint(8) unsigned NOT NULL DEFAULT '0', + `branch` mediumint(8) unsigned NOT NULL DEFAULT '0', + `name` char(60) NOT NULL DEFAULT '', + `parent` mediumint(8) unsigned NOT NULL DEFAULT '0', + `path` char(255) NOT NULL DEFAULT '', + `grade` tinyint(3) unsigned NOT NULL DEFAULT '0', + `order` smallint(5) unsigned NOT NULL DEFAULT '0', + `type` char(30) NOT NULL, + `from` mediumint(8) unsigned NOT NULL DEFAULT '0', + `owner` varchar(30) NOT NULL, + `collector` text NOT NULL, + `short` varchar(30) NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `root` (`root`), + KEY `type` (`type`), + KEY `path` (`path`) +) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_mr` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `hostID` mediumint(8) unsigned NOT NULL, + `sourceProject` varchar(50) NOT NULL, + `sourceBranch` varchar(100) NOT NULL, + `targetProject` varchar(50) NOT NULL, + `targetBranch` varchar(100) NOT NULL, + `mriid` int(10) unsigned NOT NULL, + `title` varchar(255) NOT NULL, + `description` text NOT NULL, + `assignee` varchar(255) NOT NULL, + `reviewer` varchar(255) NOT NULL, + `approver` varchar(255) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + `status` char(30) NOT NULL, + `mergeStatus` char(30) NOT NULL, + `approvalStatus` char(30) NOT NULL, + `needApproved` enum('0','1') NOT NULL DEFAULT '0', + `needCI` enum('0','1') NOT NULL DEFAULT '0', + `repoID` mediumint(8) unsigned NOT NULL, + `jobID` mediumint(8) unsigned NOT NULL, + `compileID` mediumint(8) unsigned NOT NULL, + `compileStatus` char(30) NOT NULL, + `removeSourceBranch` enum('0','1') NOT NULL DEFAULT '0', + `synced` enum('0','1') NOT NULL DEFAULT '1', + `syncError` varchar(255) NOT NULL, + `hasNoConflict` enum('0','1') NOT NULL DEFAULT '0', + `diffs` longtext, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_mrapproval` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `mrID` mediumint(8) unsigned NOT NULL, + `account` varchar(255) NOT NULL, + `date` datetime NOT NULL, + `action` char(30) NOT NULL, + `comment` text NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_nc` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `auditplan` mediumint(8) NOT NULL, + `listID` mediumint(8) NOT NULL, + `title` varchar(255) NOT NULL, + `desc` mediumtext NOT NULL, + `type` char(30) NOT NULL, + `status` varchar(30) NOT NULL DEFAULT 'active', + `severity` char(30) NOT NULL, + `deadline` date NOT NULL, + `resolvedBy` varchar(30) NOT NULL, + `resolution` char(30) NOT NULL, + `resolvedDate` date NOT NULL, + `closedBy` varchar(30) NOT NULL, + `closedDate` date NOT NULL, + `parent` mediumint(8) unsigned NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `assignedDate` date NOT NULL, + `activateDate` date NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_notify` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `objectType` varchar(50) NOT NULL, + `objectID` mediumint(8) unsigned NOT NULL, + `action` mediumint(9) NOT NULL, + `toList` varchar(255) NOT NULL, + `ccList` text NOT NULL, + `subject` varchar(255) NOT NULL, + `data` text NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `sendTime` datetime NOT NULL, + `status` varchar(10) NOT NULL DEFAULT 'wait', + `failReason` text NOT NULL, + PRIMARY KEY (`id`), + KEY `objectType_toList_status` (`objectType`,`toList`,`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_oauth` ( + `account` varchar(30) NOT NULL, + `openID` varchar(255) NOT NULL, + `providerType` varchar(30) NOT NULL, + `providerID` mediumint(8) unsigned NOT NULL, + KEY `account` (`account`), + KEY `providerType` (`providerType`), + KEY `providerID` (`providerID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_object` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) NOT NULL, + `from` mediumint(8) NOT NULL, + `title` varchar(255) NOT NULL, + `category` char(30) NOT NULL, + `version` varchar(255) NOT NULL, + `type` enum('reviewed','taged') NOT NULL, + `range` text NOT NULL, + `data` text NOT NULL, + `storyEst` char(30) NOT NULL, + `taskEst` char(30) NOT NULL, + `requestEst` char(30) NOT NULL, + `testEst` char(30) NOT NULL, + `devEst` char(30) NOT NULL, + `designEst` char(30) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_opportunity` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `source` char(30) NOT NULL, + `type` char(30) NOT NULL, + `strategy` char(30) NOT NULL, + `status` varchar(30) NOT NULL DEFAULT 'active', + `impact` mediumint(8) NOT NULL, + `chance` mediumint(8) NOT NULL, + `ratio` mediumint(8) NOT NULL, + `pri` char(30) NOT NULL, + `identifiedDate` date NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `assignedDate` date NOT NULL, + `approvedDate` date NOT NULL, + `prevention` mediumtext NOT NULL, + `plannedClosedDate` date NOT NULL, + `actualClosedDate` date NOT NULL, + `lib` mediumint(8) unsigned NOT NULL DEFAULT '0', + `from` mediumint(8) unsigned NOT NULL DEFAULT '0', + `version` smallint(6) NOT NULL DEFAULT '1', + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `activatedBy` varchar(30) NOT NULL, + `activatedDate` datetime NOT NULL, + `closedBy` varchar(30) NOT NULL, + `closedDate` datetime NOT NULL, + `canceledBy` varchar(30) NOT NULL, + `canceledDate` datetime NOT NULL, + `cancelReason` char(30) NOT NULL, + `hangupedBy` varchar(30) NOT NULL, + `hangupedDate` datetime NOT NULL, + `resolution` mediumtext NOT NULL, + `resolvedBy` varchar(30) NOT NULL, + `resolvedDate` datetime NOT NULL, + `lastCheckedBy` varchar(30) NOT NULL, + `lastCheckedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_overtime` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `year` char(4) NOT NULL, + `begin` date NOT NULL, + `end` date NOT NULL, + `start` time NOT NULL, + `finish` time NOT NULL, + `hours` float(4,1) unsigned NOT NULL DEFAULT '0.0', + `leave` varchar(255) NOT NULL, + `type` varchar(30) NOT NULL DEFAULT '', + `desc` text NOT NULL, + `status` varchar(30) NOT NULL DEFAULT '', + `rejectReason` varchar(100) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `reviewedBy` char(30) NOT NULL, + `reviewedDate` datetime NOT NULL, + `level` tinyint(3) NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `reviewers` text NOT NULL, + PRIMARY KEY (`id`), + KEY `year` (`year`), + KEY `type` (`type`), + KEY `status` (`status`), + KEY `createdBy` (`createdBy`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_pipeline` ( + `id` smallint(8) unsigned NOT NULL AUTO_INCREMENT, + `type` char(30) NOT NULL, + `name` varchar(50) NOT NULL, + `url` varchar(255) DEFAULT NULL, + `account` varchar(30) DEFAULT NULL, + `password` varchar(255) NOT NULL, + `token` varchar(255) DEFAULT NULL, + `private` char(32) DEFAULT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_planstory` ( + `plan` mediumint(8) unsigned NOT NULL, + `story` mediumint(8) unsigned NOT NULL, + `order` mediumint(9) NOT NULL, + UNIQUE KEY `plan_story` (`plan`,`story`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_process` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `model` char(30) NOT NULL DEFAULT 'waterfall', + `name` varchar(255) NOT NULL, + `type` char(30) NOT NULL, + `abbr` char(30) NOT NULL, + `desc` mediumtext NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `status` varchar(30) NOT NULL, + `order` mediumint(9) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `assignedBy` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_product` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `program` mediumint(8) unsigned NOT NULL, + `name` varchar(90) NOT NULL, + `code` varchar(45) NOT NULL, + `shadow` tinyint(1) unsigned NOT NULL, + `bind` enum('0','1') NOT NULL DEFAULT '0', + `line` mediumint(8) NOT NULL, + `type` varchar(30) NOT NULL DEFAULT 'normal', + `status` varchar(30) NOT NULL DEFAULT '', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `desc` mediumtext NOT NULL, + `PO` varchar(30) NOT NULL, + `QD` varchar(30) NOT NULL, + `RD` varchar(30) NOT NULL, + `feedback` varchar(30) NOT NULL, + `ticket` varchar(30) NOT NULL, + `acl` enum('open','private','custom') NOT NULL DEFAULT 'open', + `whitelist` text NOT NULL, + `reviewer` text NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `createdVersion` varchar(20) NOT NULL, + `order` mediumint(8) unsigned NOT NULL, + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `acl` (`acl`), + KEY `order` (`order`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_productplan` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `product` mediumint(8) unsigned NOT NULL, + `branch` varchar(255) NOT NULL DEFAULT '0', + `parent` mediumint(9) NOT NULL DEFAULT '0', + `title` varchar(90) NOT NULL, + `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait', + `desc` mediumtext NOT NULL, + `begin` date NOT NULL, + `end` date NOT NULL, + `order` text NOT NULL, + `closedReason` varchar(20) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `end` (`end`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_programactivity` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `process` mediumint(8) NOT NULL, + `activity` mediumint(8) NOT NULL, + `name` varchar(255) NOT NULL, + `content` text NOT NULL, + `reason` varchar(255) NOT NULL, + `result` char(30) NOT NULL, + `linkedBy` char(30) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_programoutput` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `process` mediumint(8) NOT NULL, + `activity` mediumint(8) NOT NULL, + `output` mediumint(8) NOT NULL, + `content` text NOT NULL, + `name` varchar(255) NOT NULL, + `reason` varchar(255) NOT NULL, + `result` char(30) NOT NULL, + `linkedBy` char(30) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_programprocess` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `process` mediumint(8) NOT NULL, + `name` varchar(255) NOT NULL, + `type` char(30) NOT NULL, + `abbr` char(30) NOT NULL, + `desc` text NOT NULL, + `reason` varchar(255) NOT NULL, + `linkedBy` char(30) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_programreport` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `template` mediumint(8) NOT NULL, + `project` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `params` text NOT NULL, + `content` text NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_project` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) NOT NULL DEFAULT '0', + `model` char(30) NOT NULL, + `type` char(30) NOT NULL DEFAULT 'sprint', + `lifetime` char(30) NOT NULL DEFAULT '', + `budget` varchar(30) NOT NULL DEFAULT '0', + `budgetUnit` char(30) NOT NULL DEFAULT 'CNY', + `attribute` varchar(30) NOT NULL DEFAULT '', + `percent` float unsigned NOT NULL DEFAULT '0', + `milestone` enum('0','1') NOT NULL DEFAULT '0', + `output` text NOT NULL, + `auth` char(30) NOT NULL, + `parent` mediumint(8) unsigned NOT NULL DEFAULT '0', + `path` varchar(255) NOT NULL, + `grade` tinyint(3) unsigned NOT NULL, + `name` varchar(90) NOT NULL, + `code` varchar(45) NOT NULL, + `hasProduct` tinyint(1) unsigned NOT NULL DEFAULT '1', + `begin` date NOT NULL, + `end` date NOT NULL, + `realBegan` date NOT NULL, + `realEnd` date NOT NULL, + `days` smallint(5) unsigned NOT NULL, + `status` varchar(10) NOT NULL, + `subStatus` varchar(30) NOT NULL DEFAULT '', + `pri` enum('1','2','3','4') NOT NULL DEFAULT '1', + `desc` mediumtext NOT NULL, + `version` smallint(6) NOT NULL, + `parentVersion` smallint(6) NOT NULL, + `planDuration` int(11) NOT NULL, + `realDuration` int(11) NOT NULL, + `openedBy` varchar(30) NOT NULL DEFAULT '', + `openedDate` datetime NOT NULL, + `openedVersion` varchar(20) NOT NULL, + `lastEditedBy` varchar(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NOT NULL, + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` datetime NOT NULL, + `canceledBy` varchar(30) NOT NULL DEFAULT '', + `canceledDate` datetime NOT NULL, + `suspendedDate` date NOT NULL, + `PO` varchar(30) NOT NULL DEFAULT '', + `PM` varchar(30) NOT NULL DEFAULT '', + `QD` varchar(30) NOT NULL DEFAULT '', + `RD` varchar(30) NOT NULL DEFAULT '', + `team` varchar(90) NOT NULL, + `acl` char(30) NOT NULL DEFAULT 'open', + `whitelist` text NOT NULL, + `order` mediumint(8) unsigned NOT NULL, + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `division` enum('0','1') NOT NULL DEFAULT '1', + `displayCards` smallint(6) NOT NULL DEFAULT '0', + `fluidBoard` enum('0','1') NOT NULL DEFAULT '0', + `multiple` enum('0','1') NOT NULL DEFAULT '1', + `colWidth` smallint(4) NOT NULL DEFAULT '264', + `minColWidth` smallint(4) NOT NULL DEFAULT '200', + `maxColWidth` smallint(4) NOT NULL DEFAULT '384', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `parent` (`parent`), + KEY `begin` (`begin`), + KEY `end` (`end`), + KEY `status` (`status`), + KEY `acl` (`acl`), + KEY `order` (`order`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_projectadmin` ( + `group` smallint(6) NOT NULL, + `account` char(30) NOT NULL, + `programs` text NOT NULL, + `projects` text NOT NULL, + `products` text NOT NULL, + `executions` text NOT NULL, + UNIQUE KEY `group_account` (`group`,`account`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_projectcase` ( + `project` mediumint(8) unsigned NOT NULL DEFAULT '0', + `product` mediumint(8) unsigned NOT NULL DEFAULT '0', + `case` mediumint(8) unsigned NOT NULL DEFAULT '0', + `count` mediumint(8) unsigned NOT NULL DEFAULT '1', + `version` smallint(6) NOT NULL DEFAULT '1', + `order` smallint(6) unsigned NOT NULL, + UNIQUE KEY `project` (`project`,`case`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_projectproduct` ( + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `branch` mediumint(8) unsigned NOT NULL, + `plan` varchar(255) NOT NULL, + PRIMARY KEY (`project`,`product`,`branch`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_projectspec` ( + `project` mediumint(8) NOT NULL, + `version` smallint(6) NOT NULL, + `name` varchar(255) NOT NULL, + `milestone` enum('0','1') NOT NULL DEFAULT '0', + `begin` date NOT NULL, + `end` date NOT NULL, + UNIQUE KEY `project` (`project`,`version`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_projectstory` ( + `project` mediumint(8) unsigned NOT NULL DEFAULT '0', + `product` mediumint(8) unsigned NOT NULL, + `branch` mediumint(8) unsigned NOT NULL, + `story` mediumint(8) unsigned NOT NULL DEFAULT '0', + `version` smallint(6) NOT NULL DEFAULT '1', + `order` smallint(6) unsigned NOT NULL, + UNIQUE KEY `project` (`project`,`story`), + KEY `story` (`story`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_relation` ( + `id` int(8) NOT NULL AUTO_INCREMENT, + `project` mediumint(8) NOT NULL, + `product` mediumint(8) NOT NULL, + `execution` mediumint(8) NOT NULL, + `AType` char(30) NOT NULL, + `AID` mediumint(8) NOT NULL, + `AVersion` char(30) NOT NULL, + `relation` char(30) NOT NULL, + `BType` char(30) NOT NULL, + `BID` mediumint(8) NOT NULL, + `BVersion` char(30) NOT NULL, + `extra` char(30) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `relation` (`product`,`relation`,`AType`,`BType`,`AID`,`BID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_relationoftasks` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `execution` mediumint(8) unsigned NOT NULL, + `pretask` mediumint(8) unsigned NOT NULL, + `condition` enum('begin','end') NOT NULL, + `task` mediumint(8) unsigned NOT NULL, + `action` enum('begin','end') NOT NULL, + PRIMARY KEY (`id`), + KEY `relationoftasks` (`execution`,`task`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_release` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` varchar(255) NOT NULL, + `product` mediumint(8) unsigned NOT NULL DEFAULT '0', + `branch` varchar(255) NOT NULL, + `shadow` mediumint(8) unsigned NOT NULL DEFAULT '0', + `build` varchar(255) NOT NULL, + `name` varchar(255) NOT NULL DEFAULT '', + `marker` enum('0','1') NOT NULL DEFAULT '0', + `date` date NOT NULL, + `stories` text NOT NULL, + `bugs` text NOT NULL, + `leftBugs` text NOT NULL, + `desc` mediumtext NOT NULL, + `mailto` text, + `notify` varchar(255) DEFAULT NULL, + `status` varchar(20) NOT NULL DEFAULT 'normal', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `build` (`build`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_repo` ( + `id` mediumint(9) NOT NULL AUTO_INCREMENT, + `product` varchar(255) NOT NULL, + `projects` varchar(255) NOT NULL, + `name` varchar(255) NOT NULL, + `path` varchar(255) NOT NULL, + `prefix` varchar(100) NOT NULL, + `encoding` varchar(20) NOT NULL, + `SCM` varchar(10) NOT NULL, + `client` varchar(100) NOT NULL, + `serviceHost` varchar(50) NOT NULL, + `serviceProject` varchar(100) NOT NULL, + `commits` mediumint(8) unsigned NOT NULL, + `account` varchar(30) NOT NULL, + `password` varchar(30) NOT NULL, + `encrypt` varchar(30) NOT NULL DEFAULT 'plain', + `acl` text NOT NULL, + `synced` tinyint(1) NOT NULL DEFAULT '0', + `lastSync` datetime NOT NULL, + `desc` text NOT NULL, + `extra` char(30) NOT NULL, + `preMerge` enum('0','1') NOT NULL DEFAULT '0', + `job` mediumint(8) unsigned NOT NULL, + `fileServerUrl` text, + `fileServerAccount` varchar(40) NOT NULL DEFAULT '', + `fileServerPassword` varchar(100) NOT NULL DEFAULT '', + `deleted` tinyint(1) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_repobranch` ( + `repo` mediumint(8) unsigned NOT NULL, + `revision` mediumint(8) unsigned NOT NULL, + `branch` varchar(255) NOT NULL, + UNIQUE KEY `repo_revision_branch` (`repo`,`revision`,`branch`), + KEY `branch` (`branch`), + KEY `revision` (`revision`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_repofiles` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `repo` mediumint(8) unsigned NOT NULL, + `revision` mediumint(8) unsigned NOT NULL, + `path` varchar(255) NOT NULL, + `oldPath` varchar(255) DEFAULT '', + `parent` varchar(255) NOT NULL, + `type` varchar(20) NOT NULL, + `action` char(1) NOT NULL, + PRIMARY KEY (`id`), + KEY `path` (`path`), + KEY `parent` (`parent`), + KEY `repo` (`repo`), + KEY `revision` (`revision`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_repohistory` ( + `id` mediumint(9) NOT NULL AUTO_INCREMENT, + `repo` mediumint(9) NOT NULL, + `revision` varchar(40) NOT NULL, + `commit` mediumint(8) unsigned NOT NULL, + `comment` text NOT NULL, + `committer` varchar(100) NOT NULL, + `time` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `repo` (`repo`), + KEY `revision` (`revision`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_report` ( + `id` mediumint(9) NOT NULL AUTO_INCREMENT, + `code` varchar(100) NOT NULL, + `name` text NOT NULL, + `dimension` int(8) NOT NULL DEFAULT '0', + `module` varchar(100) NOT NULL, + `sql` text NOT NULL, + `vars` text NOT NULL, + `langs` text NOT NULL, + `params` text NOT NULL, + `step` tinyint(1) NOT NULL DEFAULT '2', + `desc` text NOT NULL, + `addedBy` char(30) NOT NULL, + `addedDate` datetime NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `code` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_researchplan` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `customer` varchar(255) NOT NULL, + `stakeholder` varchar(255) NOT NULL, + `objective` varchar(255) NOT NULL, + `begin` datetime NOT NULL, + `end` datetime NOT NULL, + `location` varchar(255) NOT NULL, + `team` varchar(255) NOT NULL, + `method` enum('','videoConference','interview','questionnaire','telephoneInterview') NOT NULL, + `outline` mediumtext NOT NULL, + `schedule` mediumtext NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_researchreport` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `relatedPlan` mediumint(8) unsigned NOT NULL, + `title` varchar(255) NOT NULL, + `author` varchar(30) NOT NULL, + `content` mediumtext NOT NULL, + `customer` varchar(255) NOT NULL, + `researchObjects` varchar(255) NOT NULL, + `begin` datetime NOT NULL, + `end` datetime NOT NULL, + `location` varchar(255) NOT NULL, + `method` enum('','videoConference','interview','questionnaire','telephoneInterview') NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_review` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `title` varchar(255) NOT NULL, + `object` mediumint(8) NOT NULL, + `template` mediumint(8) NOT NULL, + `doc` mediumint(8) DEFAULT NULL, + `docVersion` smallint(6) NOT NULL, + `status` char(30) NOT NULL, + `reviewedBy` varchar(255) NOT NULL, + `auditedBy` varchar(255) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `deadline` date NOT NULL, + `lastReviewedBy` varchar(255) DEFAULT NULL, + `lastReviewedDate` date NOT NULL, + `lastAuditedBy` varchar(255) NOT NULL, + `lastAuditedDate` date NOT NULL, + `lastEditedBy` varchar(255) NOT NULL, + `lastEditedDate` date NOT NULL, + `result` char(30) NOT NULL, + `auditResult` char(30) NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_reviewcl` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `title` varchar(255) NOT NULL, + `object` char(30) NOT NULL, + `category` char(30) NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `order` mediumint(8) DEFAULT '0', + `status` varchar(30) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `assignedBy` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_reviewissue` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `review` mediumint(8) NOT NULL, + `approval` mediumint(8) NOT NULL, + `injection` mediumint(8) NOT NULL, + `identify` mediumint(8) NOT NULL, + `type` char(30) NOT NULL DEFAULT 'review', + `listID` mediumint(8) NOT NULL, + `title` varchar(255) NOT NULL, + `opinion` varchar(255) NOT NULL, + `opinionDate` date NOT NULL, + `status` char(30) NOT NULL, + `resolution` char(30) NOT NULL, + `resolutionBy` char(30) NOT NULL, + `resolutionDate` date NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_reviewlist` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `title` varchar(255) NOT NULL, + `object` char(30) NOT NULL, + `category` char(30) NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `status` varchar(30) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `assignedBy` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_reviewresult` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `review` mediumint(8) NOT NULL, + `type` char(30) NOT NULL DEFAULT 'review', + `result` char(30) NOT NULL, + `opinion` text NOT NULL, + `reviewer` char(30) NOT NULL, + `remainIssue` char(30) NOT NULL, + `createdDate` date NOT NULL, + `consumed` float NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `reviewer` (`review`,`reviewer`,`type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_risk` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` varchar(255) NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `source` char(30) NOT NULL, + `category` char(30) NOT NULL, + `strategy` char(30) NOT NULL, + `status` varchar(30) NOT NULL DEFAULT 'active', + `impact` char(30) NOT NULL, + `probability` char(30) NOT NULL, + `rate` char(30) NOT NULL, + `pri` char(30) NOT NULL, + `identifiedDate` date NOT NULL, + `prevention` mediumtext NOT NULL, + `remedy` mediumtext NOT NULL, + `plannedClosedDate` date NOT NULL, + `actualClosedDate` date NOT NULL, + `lib` mediumint(8) unsigned NOT NULL DEFAULT '0', + `from` mediumint(8) unsigned NOT NULL DEFAULT '0', + `version` smallint(6) NOT NULL DEFAULT '1', + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `resolution` mediumtext NOT NULL, + `resolvedBy` varchar(30) NOT NULL, + `activateBy` varchar(30) NOT NULL, + `activateDate` date NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `closedBy` varchar(30) NOT NULL, + `closedDate` date NOT NULL, + `cancelBy` varchar(30) NOT NULL, + `cancelDate` date NOT NULL, + `cancelReason` char(30) NOT NULL, + `hangupBy` varchar(30) NOT NULL, + `hangupDate` date NOT NULL, + `trackedBy` varchar(30) NOT NULL, + `trackedDate` date NOT NULL, + `assignedDate` date NOT NULL, + `approvedDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_riskissue` ( + `risk` mediumint(8) unsigned NOT NULL, + `issue` mediumint(8) unsigned NOT NULL, + UNIQUE KEY `risk_issue` (`risk`,`issue`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_score` ( + `id` bigint(12) unsigned NOT NULL AUTO_INCREMENT, + `account` varchar(30) NOT NULL, + `module` varchar(30) NOT NULL DEFAULT '', + `method` varchar(30) NOT NULL, + `desc` varchar(250) NOT NULL DEFAULT '', + `before` int(11) NOT NULL DEFAULT '0', + `score` int(11) NOT NULL DEFAULT '0', + `after` int(11) NOT NULL DEFAULT '0', + `time` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `account` (`account`), + KEY `model` (`module`), + KEY `method` (`method`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_searchdict` ( + `key` smallint(5) unsigned NOT NULL, + `value` char(3) NOT NULL, + PRIMARY KEY (`key`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_searchindex` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `objectType` char(20) NOT NULL, + `objectID` mediumint(9) NOT NULL, + `title` text NOT NULL, + `content` text NOT NULL, + `addedDate` datetime NOT NULL, + `editedDate` datetime NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `object` (`objectType`,`objectID`), + KEY `addedDate` (`addedDate`), + FULLTEXT KEY `content` (`content`), + FULLTEXT KEY `title` (`title`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_serverroom` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(128) NOT NULL, + `city` varchar(128) NOT NULL, + `line` varchar(20) NOT NULL, + `bandwidth` varchar(128) NOT NULL, + `provider` varchar(128) NOT NULL, + `owner` varchar(30) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` char(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_service` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `external` enum('0','1') NOT NULL DEFAULT '0', + `port` smallint(5) unsigned NOT NULL, + `entry` varchar(255) NOT NULL, + `deploy` varchar(255) NOT NULL, + `version` varchar(64) NOT NULL, + `color` char(7) NOT NULL, + `desc` mediumtext, + `dept` varchar(128) NOT NULL, + `devel` varchar(30) NOT NULL, + `qa` varchar(30) NOT NULL, + `ops` varchar(30) NOT NULL, + `hosts` text, + `softName` varchar(128) NOT NULL, + `softVersion` varchar(128) NOT NULL, + `type` varchar(20) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` char(30) NOT NULL, + `editedDate` datetime NOT NULL, + `parent` mediumint(8) unsigned NOT NULL DEFAULT '0', + `path` char(255) NOT NULL DEFAULT '', + `grade` tinyint(3) unsigned NOT NULL DEFAULT '0', + `order` smallint(5) unsigned NOT NULL DEFAULT '0', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_solutions` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `contents` text NOT NULL COMMENT '问题描述', + `support` text NOT NULL COMMENT '是否需要高层支持', + `measures` text NOT NULL COMMENT '解决建议', + `type` char(30) NOT NULL, + `addedBy` varchar(30) NOT NULL, + `addedDate` date NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_sqlview` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(90) NOT NULL, + `code` varchar(45) NOT NULL, + `sql` text NOT NULL, + `desc` text NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_stage` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `percent` varchar(255) NOT NULL, + `type` varchar(255) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_stakeholder` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `objectID` mediumint(8) NOT NULL, + `objectType` char(30) NOT NULL, + `user` char(30) NOT NULL, + `type` char(30) NOT NULL, + `key` enum('0','1') NOT NULL, + `from` char(30) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` date NOT NULL, + `editedBy` char(30) NOT NULL, + `editedDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL, + PRIMARY KEY (`id`), + KEY `objectID` (`objectID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_story` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `parent` mediumint(9) NOT NULL DEFAULT '0', + `product` mediumint(8) unsigned NOT NULL DEFAULT '0', + `branch` mediumint(8) unsigned NOT NULL DEFAULT '0', + `module` mediumint(8) unsigned NOT NULL DEFAULT '0', + `plan` text, + `source` varchar(20) NOT NULL, + `sourceNote` varchar(255) NOT NULL, + `fromBug` mediumint(8) unsigned NOT NULL DEFAULT '0', + `feedback` mediumint(8) unsigned NOT NULL DEFAULT '0', + `title` varchar(255) NOT NULL, + `keywords` varchar(255) NOT NULL, + `type` varchar(30) NOT NULL DEFAULT 'story', + `category` varchar(30) NOT NULL DEFAULT 'feature', + `pri` tinyint(3) unsigned NOT NULL DEFAULT '3', + `estimate` float unsigned NOT NULL, + `status` enum('','changing','active','draft','closed','reviewing') NOT NULL DEFAULT '', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `color` char(7) NOT NULL, + `stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released','closed') NOT NULL DEFAULT 'wait', + `stagedBy` char(30) NOT NULL, + `mailto` text, + `lib` mediumint(8) unsigned NOT NULL DEFAULT '0', + `fromStory` mediumint(8) unsigned NOT NULL DEFAULT '0', + `fromVersion` smallint(6) NOT NULL DEFAULT '1', + `openedBy` varchar(30) NOT NULL DEFAULT '', + `openedDate` datetime NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NOT NULL, + `approvedDate` date NOT NULL, + `lastEditedBy` varchar(30) NOT NULL DEFAULT '', + `lastEditedDate` datetime NOT NULL, + `changedBy` varchar(30) NOT NULL, + `changedDate` datetime NOT NULL, + `reviewedBy` varchar(255) NOT NULL, + `reviewedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` datetime NOT NULL, + `closedReason` varchar(30) NOT NULL, + `activatedDate` datetime NOT NULL, + `toBug` mediumint(8) unsigned NOT NULL, + `childStories` varchar(255) NOT NULL, + `linkStories` varchar(255) NOT NULL, + `linkRequirements` varchar(255) NOT NULL, + `twins` varchar(255) NOT NULL, + `duplicateStory` mediumint(8) unsigned NOT NULL, + `version` smallint(6) NOT NULL DEFAULT '1', + `storyChanged` enum('0','1') NOT NULL DEFAULT '0', + `feedbackBy` varchar(100) NOT NULL, + `notifyEmail` varchar(100) NOT NULL, + `URChanged` enum('0','1') NOT NULL DEFAULT '0', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `status` (`status`), + KEY `assignedTo` (`assignedTo`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_storyestimate` ( + `story` mediumint(9) NOT NULL, + `round` smallint(6) NOT NULL, + `estimate` text NOT NULL, + `average` float NOT NULL, + `openedBy` varchar(30) NOT NULL, + `openedDate` datetime NOT NULL, + UNIQUE KEY `story` (`story`,`round`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_storyreview` ( + `story` mediumint(9) NOT NULL, + `version` smallint(6) NOT NULL, + `reviewer` varchar(30) NOT NULL, + `result` varchar(30) NOT NULL, + `reviewDate` datetime NOT NULL, + UNIQUE KEY `story` (`story`,`version`,`reviewer`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_storyspec` ( + `story` mediumint(9) NOT NULL, + `version` smallint(6) NOT NULL, + `title` varchar(255) NOT NULL, + `spec` mediumtext NOT NULL, + `verify` mediumtext NOT NULL, + `files` text NOT NULL, + UNIQUE KEY `story` (`story`,`version`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_storystage` ( + `story` mediumint(8) unsigned NOT NULL, + `branch` mediumint(8) unsigned NOT NULL, + `stage` varchar(50) NOT NULL, + `stagedBy` char(30) NOT NULL, + UNIQUE KEY `story_branch` (`story`,`branch`), + KEY `story` (`story`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_suitecase` ( + `suite` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `case` mediumint(8) unsigned NOT NULL, + `version` smallint(5) unsigned NOT NULL, + UNIQUE KEY `suitecase` (`suite`,`case`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_task` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `parent` mediumint(8) NOT NULL DEFAULT '0', + `execution` mediumint(8) unsigned NOT NULL DEFAULT '0', + `module` mediumint(8) unsigned NOT NULL DEFAULT '0', + `design` mediumint(8) unsigned NOT NULL, + `story` mediumint(8) unsigned NOT NULL DEFAULT '0', + `storyVersion` smallint(6) NOT NULL DEFAULT '1', + `designVersion` smallint(6) unsigned NOT NULL, + `fromBug` mediumint(8) unsigned NOT NULL DEFAULT '0', + `fromIssue` mediumint(8) unsigned NOT NULL DEFAULT '0', + `feedback` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `type` varchar(20) NOT NULL, + `mode` varchar(10) NOT NULL, + `pri` tinyint(3) unsigned NOT NULL DEFAULT '0', + `estimate` float unsigned NOT NULL, + `consumed` float unsigned NOT NULL, + `left` float unsigned NOT NULL, + `deadline` date NOT NULL, + `status` enum('wait','doing','done','pause','cancel','closed') NOT NULL DEFAULT 'wait', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `color` char(7) NOT NULL, + `mailto` text, + `desc` mediumtext NOT NULL, + `version` smallint(6) NOT NULL, + `openedBy` varchar(30) NOT NULL, + `openedDate` datetime NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `estStarted` date NOT NULL, + `realStarted` datetime NOT NULL, + `finishedBy` varchar(30) NOT NULL, + `finishedDate` datetime NOT NULL, + `finishedList` text NOT NULL, + `canceledBy` varchar(30) NOT NULL, + `canceledDate` datetime NOT NULL, + `closedBy` varchar(30) NOT NULL, + `closedDate` datetime NOT NULL, + `planDuration` int(11) NOT NULL, + `realDuration` int(11) NOT NULL, + `closedReason` varchar(30) NOT NULL, + `lastEditedBy` varchar(30) NOT NULL, + `lastEditedDate` datetime NOT NULL, + `activatedDate` datetime NOT NULL, + `order` mediumint(8) NOT NULL DEFAULT '0', + `repo` mediumint(8) unsigned NOT NULL, + `mr` mediumint(8) unsigned NOT NULL, + `entry` varchar(255) NOT NULL, + `lines` varchar(10) NOT NULL, + `v1` varchar(40) NOT NULL, + `v2` varchar(40) NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + PRIMARY KEY (`id`), + KEY `execution` (`execution`), + KEY `story` (`story`), + KEY `parent` (`parent`), + KEY `assignedTo` (`assignedTo`), + KEY `order` (`order`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_taskestimate` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `task` mediumint(8) unsigned NOT NULL DEFAULT '0', + `date` date NOT NULL, + `left` float unsigned NOT NULL DEFAULT '0', + `consumed` float unsigned NOT NULL, + `account` char(30) NOT NULL DEFAULT '', + `work` text, + `order` tinyint(3) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `task` (`task`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_taskspec` ( + `task` mediumint(8) NOT NULL, + `version` smallint(6) NOT NULL, + `name` varchar(255) NOT NULL, + `estStarted` date NOT NULL, + `deadline` date NOT NULL, + UNIQUE KEY `task` (`task`,`version`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_taskteam` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `task` mediumint(8) unsigned NOT NULL, + `account` char(30) NOT NULL, + `estimate` decimal(12,2) NOT NULL, + `consumed` decimal(12,2) NOT NULL, + `left` decimal(12,2) NOT NULL, + `transfer` char(30) NOT NULL, + `status` enum('wait','doing','done') NOT NULL DEFAULT 'wait', + `order` tinyint(3) NOT NULL, + PRIMARY KEY (`id`), + KEY `task` (`task`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_team` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `root` mediumint(8) unsigned NOT NULL DEFAULT '0', + `type` enum('project','task','execution') NOT NULL DEFAULT 'project', + `account` char(30) NOT NULL DEFAULT '', + `role` char(30) NOT NULL DEFAULT '', + `position` varchar(30) NOT NULL, + `limited` char(8) NOT NULL DEFAULT 'no', + `join` date NOT NULL DEFAULT '0000-00-00', + `days` smallint(5) unsigned NOT NULL, + `hours` float(3,1) unsigned NOT NULL DEFAULT '0.0', + `estimate` decimal(12,2) unsigned NOT NULL DEFAULT '0.00', + `consumed` decimal(12,2) unsigned NOT NULL DEFAULT '0.00', + `left` decimal(12,2) unsigned NOT NULL DEFAULT '0.00', + `order` tinyint(3) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `team` (`root`,`type`,`account`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_testreport` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `execution` mediumint(8) unsigned NOT NULL, + `tasks` varchar(255) NOT NULL, + `builds` varchar(255) NOT NULL, + `title` varchar(255) NOT NULL, + `begin` date NOT NULL, + `end` date NOT NULL, + `owner` char(30) NOT NULL, + `members` text NOT NULL, + `stories` text NOT NULL, + `bugs` text NOT NULL, + `cases` text NOT NULL, + `report` text NOT NULL, + `objectType` varchar(20) NOT NULL, + `objectID` mediumint(8) unsigned NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_testresult` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `run` mediumint(8) unsigned NOT NULL, + `case` mediumint(8) unsigned NOT NULL, + `version` smallint(5) unsigned NOT NULL, + `job` mediumint(8) unsigned NOT NULL, + `compile` mediumint(8) unsigned NOT NULL, + `caseResult` char(30) NOT NULL, + `stepResults` text NOT NULL, + `ZTFResult` text NOT NULL, + `node` int(8) unsigned NOT NULL DEFAULT '0', + `lastRunner` varchar(30) NOT NULL, + `date` datetime NOT NULL, + `duration` float NOT NULL, + `xml` text NOT NULL, + `deploy` mediumint(8) unsigned NOT NULL, + PRIMARY KEY (`id`), + KEY `case` (`case`), + KEY `version` (`version`), + KEY `run` (`run`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_testrun` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `task` mediumint(8) unsigned NOT NULL DEFAULT '0', + `case` mediumint(8) unsigned NOT NULL DEFAULT '0', + `version` tinyint(3) unsigned NOT NULL DEFAULT '0', + `assignedTo` char(30) NOT NULL DEFAULT '', + `lastRunner` varchar(30) NOT NULL, + `lastRunDate` datetime NOT NULL, + `lastRunResult` char(30) NOT NULL, + `status` char(30) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `task` (`task`,`case`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_testsuite` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `desc` mediumtext NOT NULL, + `type` varchar(20) NOT NULL, + `order` smallint(5) unsigned NOT NULL DEFAULT '0', + `addedBy` char(30) NOT NULL, + `addedDate` datetime NOT NULL, + `lastEditedBy` char(30) NOT NULL, + `lastEditedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL, + PRIMARY KEY (`id`), + KEY `product` (`product`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_testtask` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `product` mediumint(8) unsigned NOT NULL, + `name` char(90) NOT NULL, + `execution` mediumint(8) unsigned NOT NULL DEFAULT '0', + `build` char(30) NOT NULL, + `type` varchar(255) NOT NULL DEFAULT '', + `owner` varchar(30) NOT NULL, + `pri` tinyint(3) unsigned NOT NULL DEFAULT '0', + `begin` date NOT NULL, + `end` date NOT NULL, + `realFinishedDate` datetime NOT NULL, + `mailto` text, + `desc` mediumtext NOT NULL, + `report` text NOT NULL, + `status` enum('blocked','doing','wait','done') NOT NULL DEFAULT 'wait', + `testreport` mediumint(8) unsigned NOT NULL, + `auto` varchar(10) NOT NULL DEFAULT 'no', + `subStatus` varchar(30) NOT NULL DEFAULT '', + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`), + KEY `build` (`build`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_ticket` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `product` mediumint(8) unsigned NOT NULL, + `module` mediumint(8) unsigned NOT NULL, + `title` varchar(255) NOT NULL, + `type` varchar(30) NOT NULL, + `desc` text NOT NULL, + `openedBuild` varchar(255) NOT NULL, + `feedback` mediumint(8) NOT NULL, + `assignedTo` varchar(255) NOT NULL, + `assignedDate` datetime NOT NULL, + `realStarted` datetime NOT NULL, + `startedBy` varchar(255) NOT NULL, + `startedDate` datetime NOT NULL, + `deadline` date NOT NULL, + `pri` tinyint(3) unsigned NOT NULL DEFAULT '0', + `estimate` float unsigned NOT NULL, + `consumed` float unsigned NOT NULL, + `left` float unsigned NOT NULL, + `status` varchar(30) NOT NULL, + `openedBy` varchar(30) NOT NULL, + `openedDate` datetime NOT NULL, + `activatedCount` int(10) NOT NULL, + `activatedBy` varchar(30) NOT NULL, + `activatedDate` datetime NOT NULL, + `closedBy` varchar(30) NOT NULL, + `closedDate` datetime NOT NULL, + `closedReason` varchar(30) NOT NULL, + `finishedBy` varchar(30) NOT NULL, + `finishedDate` datetime NOT NULL, + `resolvedBy` varchar(30) NOT NULL, + `resolvedDate` datetime NOT NULL, + `resolution` text NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `keywords` varchar(255) NOT NULL, + `repeatTicket` mediumint(8) NOT NULL DEFAULT '0', + `mailto` varchar(255) NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product` (`product`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_ticketrelation` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `ticketId` mediumint(8) unsigned NOT NULL, + `objectId` mediumint(9) NOT NULL, + `objectType` varchar(100) NOT NULL, + PRIMARY KEY (`id`), + KEY `ticketId` (`ticketId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_ticketsource` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `ticketId` mediumint(8) unsigned NOT NULL, + `customer` varchar(100) NOT NULL, + `contact` varchar(100) NOT NULL, + `notifyEmail` varchar(100) NOT NULL, + `createdDate` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `ticketId` (`ticketId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_todo` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `date` date NOT NULL, + `begin` smallint(4) unsigned zerofill NOT NULL, + `end` smallint(4) unsigned zerofill NOT NULL, + `feedback` mediumint(8) unsigned NOT NULL, + `type` char(15) NOT NULL, + `cycle` tinyint(3) unsigned NOT NULL DEFAULT '0', + `idvalue` mediumint(8) unsigned NOT NULL DEFAULT '0', + `pri` tinyint(3) unsigned NOT NULL, + `name` char(150) NOT NULL, + `desc` mediumtext NOT NULL, + `status` enum('wait','doing','done','closed') NOT NULL DEFAULT 'wait', + `private` tinyint(1) NOT NULL, + `config` varchar(255) NOT NULL, + `assignedTo` varchar(30) NOT NULL DEFAULT '', + `assignedBy` varchar(30) NOT NULL DEFAULT '', + `assignedDate` datetime NOT NULL, + `finishedBy` varchar(30) NOT NULL DEFAULT '', + `finishedDate` datetime NOT NULL, + `closedBy` varchar(30) NOT NULL DEFAULT '', + `closedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + PRIMARY KEY (`id`), + KEY `account` (`account`), + KEY `assignedTo` (`assignedTo`), + KEY `finishedBy` (`finishedBy`), + KEY `date` (`date`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_traincategory` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `name` char(30) NOT NULL DEFAULT '', + `parent` mediumint(8) unsigned NOT NULL DEFAULT '0', + `path` char(255) NOT NULL DEFAULT '', + `grade` tinyint(3) NOT NULL, + `order` mediumint(8) NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `parent` (`parent`), + KEY `path` (`path`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_traincontents` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `code` varchar(50) NOT NULL, + `course` mediumint(8) unsigned NOT NULL DEFAULT '0', + `name` varchar(255) NOT NULL, + `type` varchar(30) NOT NULL, + `parent` mediumint(8) unsigned NOT NULL DEFAULT '0', + `path` char(255) NOT NULL DEFAULT '', + `desc` text NOT NULL, + `order` mediumint(8) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` tinyint(1) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_traincourse` ( + `id` mediumint(8) NOT NULL AUTO_INCREMENT, + `code` varchar(50) NOT NULL, + `category` mediumint(8) NOT NULL, + `name` varchar(255) NOT NULL, + `status` varchar(10) NOT NULL, + `teacher` varchar(30) NOT NULL DEFAULT '', + `desc` mediumtext NOT NULL, + `createdBy` varchar(255) NOT NULL, + `createdDate` date NOT NULL, + `editedBy` varchar(255) NOT NULL, + `editedDate` date NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_trainplan` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `begin` date NOT NULL, + `end` date NOT NULL, + `place` varchar(255) NOT NULL, + `trainee` text NOT NULL, + `lecturer` varchar(20) NOT NULL, + `type` enum('inside','outside') NOT NULL DEFAULT 'inside', + `status` varchar(20) NOT NULL, + `summary` mediumtext NOT NULL, + `createdBy` char(30) DEFAULT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_trainrecords` ( + `user` char(30) NOT NULL, + `objectId` mediumint(8) unsigned NOT NULL, + `objectType` varchar(10) NOT NULL, + `status` varchar(10) NOT NULL, + PRIMARY KEY (`user`,`objectId`,`objectType`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_trip` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `type` enum('trip','egress') NOT NULL DEFAULT 'trip', + `customers` varchar(20) NOT NULL, + `name` char(30) NOT NULL, + `desc` text NOT NULL, + `year` char(4) NOT NULL, + `begin` date NOT NULL, + `end` date NOT NULL, + `start` time NOT NULL, + `finish` time NOT NULL, + `from` char(50) NOT NULL, + `to` char(50) NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `year` (`year`), + KEY `createdBy` (`createdBy`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_user` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `company` mediumint(8) unsigned NOT NULL, + `type` char(30) NOT NULL DEFAULT 'inside', + `dept` mediumint(8) unsigned NOT NULL DEFAULT '0', + `account` char(30) NOT NULL DEFAULT '', + `password` char(32) NOT NULL DEFAULT '', + `role` char(10) NOT NULL DEFAULT '', + `realname` varchar(100) NOT NULL DEFAULT '', + `pinyin` varchar(255) NOT NULL DEFAULT '', + `nickname` char(60) NOT NULL DEFAULT '', + `commiter` varchar(100) NOT NULL, + `avatar` text NOT NULL, + `birthday` date NOT NULL DEFAULT '0000-00-00', + `gender` enum('f','m') NOT NULL DEFAULT 'f', + `email` char(90) NOT NULL DEFAULT '', + `skype` char(90) NOT NULL DEFAULT '', + `qq` char(20) NOT NULL DEFAULT '', + `mobile` char(11) NOT NULL DEFAULT '', + `phone` char(20) NOT NULL DEFAULT '', + `weixin` varchar(90) NOT NULL DEFAULT '', + `dingding` varchar(90) NOT NULL DEFAULT '', + `slack` varchar(90) NOT NULL DEFAULT '', + `whatsapp` varchar(90) NOT NULL DEFAULT '', + `address` char(120) NOT NULL DEFAULT '', + `zipcode` char(10) NOT NULL DEFAULT '', + `nature` text NOT NULL, + `analysis` text NOT NULL, + `strategy` text NOT NULL, + `join` date NOT NULL DEFAULT '0000-00-00', + `visits` mediumint(8) unsigned NOT NULL DEFAULT '0', + `visions` varchar(20) NOT NULL DEFAULT 'rnd,lite', + `ip` char(15) NOT NULL DEFAULT '', + `last` int(10) unsigned NOT NULL DEFAULT '0', + `fails` tinyint(5) NOT NULL DEFAULT '0', + `locked` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `feedback` enum('0','1') NOT NULL DEFAULT '0', + `ranzhi` char(30) NOT NULL DEFAULT '', + `ldap` char(30) NOT NULL, + `score` int(11) NOT NULL DEFAULT '0', + `scoreLevel` int(11) NOT NULL DEFAULT '0', + `resetToken` varchar(50) NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + `clientStatus` enum('online','away','busy','offline','meeting') NOT NULL DEFAULT 'offline', + `clientLang` varchar(10) NOT NULL DEFAULT 'zh-cn', + PRIMARY KEY (`id`), + UNIQUE KEY `account` (`account`), + KEY `dept` (`dept`), + KEY `email` (`email`), + KEY `commiter` (`commiter`), + KEY `deleted` (`deleted`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_usercontact` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `listName` varchar(60) NOT NULL, + `userList` text NOT NULL, + PRIMARY KEY (`id`), + KEY `account` (`account`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_usergroup` ( + `account` char(30) NOT NULL DEFAULT '', + `group` mediumint(8) unsigned NOT NULL DEFAULT '0', + `project` text NOT NULL, + UNIQUE KEY `account` (`account`,`group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_userquery` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `module` varchar(30) NOT NULL, + `title` varchar(90) NOT NULL, + `form` text NOT NULL, + `sql` text NOT NULL, + `shortcut` enum('0','1') NOT NULL DEFAULT '0', + `common` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `account` (`account`), + KEY `module` (`module`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_usertpl` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `account` char(30) NOT NULL, + `type` char(30) NOT NULL, + `title` varchar(150) NOT NULL, + `content` text NOT NULL, + `public` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `account` (`account`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_userview` ( + `account` char(30) NOT NULL, + `programs` mediumtext NOT NULL, + `products` mediumtext NOT NULL, + `projects` mediumtext NOT NULL, + `sprints` mediumtext NOT NULL, + UNIQUE KEY `account` (`account`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_webhook` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `type` varchar(15) NOT NULL DEFAULT 'default', + `name` varchar(50) NOT NULL, + `url` varchar(255) NOT NULL, + `domain` varchar(255) NOT NULL, + `secret` varchar(255) NOT NULL, + `contentType` varchar(30) NOT NULL DEFAULT 'application/json', + `sendType` enum('sync','async') NOT NULL DEFAULT 'sync', + `products` text NOT NULL, + `executions` text NOT NULL, + `params` varchar(100) NOT NULL, + `actions` text NOT NULL, + `desc` text NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_weeklyreport` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `weekStart` date NOT NULL, + `pv` float(9,2) NOT NULL, + `ev` float(9,2) NOT NULL, + `ac` float(9,2) NOT NULL, + `sv` float(9,2) NOT NULL, + `cv` float(9,2) NOT NULL, + `staff` smallint(5) unsigned NOT NULL, + `progress` varchar(255) NOT NULL, + `workload` varchar(255) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `week` (`project`,`weekStart`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workestimation` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `project` mediumint(8) unsigned NOT NULL, + `scale` decimal(10,2) unsigned NOT NULL, + `productivity` decimal(10,2) unsigned NOT NULL, + `duration` decimal(10,2) unsigned NOT NULL, + `unitLaborCost` decimal(10,2) unsigned NOT NULL, + `totalLaborCost` decimal(10,2) unsigned NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `assignedTo` varchar(30) NOT NULL, + `assignedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + `dayHour` decimal(10,2) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflow` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `parent` varchar(30) NOT NULL, + `child` varchar(30) NOT NULL, + `type` varchar(10) NOT NULL DEFAULT 'flow', + `navigator` varchar(10) NOT NULL, + `app` varchar(20) NOT NULL, + `position` varchar(30) NOT NULL, + `module` varchar(30) NOT NULL, + `table` varchar(50) NOT NULL, + `name` varchar(30) NOT NULL, + `titleField` varchar(30) NOT NULL, + `contentField` text NOT NULL, + `flowchart` text NOT NULL, + `js` text NOT NULL, + `css` text NOT NULL, + `order` smallint(5) unsigned NOT NULL, + `buildin` tinyint(1) unsigned NOT NULL, + `administrator` text NOT NULL, + `desc` text NOT NULL, + `version` varchar(10) NOT NULL DEFAULT '1.0', + `status` varchar(10) NOT NULL DEFAULT 'wait', + `approval` enum('enabled','disabled') NOT NULL DEFAULT 'disabled', + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique` (`app`,`module`,`vision`), + KEY `type` (`type`), + KEY `app` (`app`), + KEY `module` (`module`), + KEY `order` (`order`) +) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflowaction` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `module` varchar(30) NOT NULL, + `action` varchar(50) NOT NULL, + `method` varchar(50) NOT NULL, + `name` varchar(50) NOT NULL, + `type` enum('single','batch') NOT NULL DEFAULT 'single', + `batchMode` enum('same','different') NOT NULL DEFAULT 'different', + `extensionType` varchar(10) NOT NULL DEFAULT 'override' COMMENT 'none | extend | override', + `open` varchar(20) NOT NULL, + `position` enum('menu','browseandview','browse','view') NOT NULL DEFAULT 'browseandview', + `layout` char(20) NOT NULL, + `show` enum('dropdownlist','direct') NOT NULL DEFAULT 'dropdownlist', + `order` smallint(5) unsigned NOT NULL, + `buildin` tinyint(1) unsigned NOT NULL, + `role` varchar(10) NOT NULL DEFAULT 'custom', + `virtual` tinyint(1) unsigned NOT NULL, + `conditions` text NOT NULL, + `verifications` text NOT NULL, + `hooks` text NOT NULL, + `linkages` text NOT NULL, + `js` text NOT NULL, + `css` text NOT NULL, + `toList` char(255) NOT NULL, + `blocks` text NOT NULL, + `desc` text NOT NULL, + `status` varchar(10) NOT NULL DEFAULT 'enable', + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique` (`module`,`action`,`vision`), + KEY `module` (`module`), + KEY `action` (`action`), + KEY `order` (`order`) +) ENGINE=InnoDB AUTO_INCREMENT=190 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflowdatasource` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `type` enum('system','sql','func','option','lang','category') NOT NULL DEFAULT 'option', + `name` varchar(30) NOT NULL, + `code` varchar(30) NOT NULL, + `datasource` text NOT NULL, + `view` varchar(20) NOT NULL, + `keyField` varchar(50) NOT NULL, + `valueField` varchar(50) NOT NULL, + `buildin` tinyint(1) unsigned NOT NULL, + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` char(30) NOT NULL, + `editedDate` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `type` (`type`) +) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflowfield` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `module` varchar(30) NOT NULL, + `field` varchar(50) NOT NULL, + `type` varchar(20) NOT NULL DEFAULT 'varchar', + `length` varchar(10) NOT NULL, + `name` varchar(50) NOT NULL, + `control` varchar(20) NOT NULL, + `expression` text NOT NULL, + `options` text NOT NULL, + `default` varchar(100) NOT NULL, + `rules` varchar(255) NOT NULL, + `placeholder` varchar(100) NOT NULL, + `order` smallint(5) unsigned NOT NULL, + `searchOrder` smallint(5) unsigned NOT NULL DEFAULT '0', + `exportOrder` smallint(5) unsigned NOT NULL DEFAULT '0', + `canExport` enum('0','1') NOT NULL DEFAULT '0', + `canSearch` enum('0','1') NOT NULL DEFAULT '0', + `isValue` enum('0','1') NOT NULL DEFAULT '0', + `readonly` enum('0','1') NOT NULL DEFAULT '0', + `buildin` tinyint(1) unsigned NOT NULL, + `role` varchar(10) NOT NULL DEFAULT 'custom', + `desc` text NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique` (`module`,`field`), + KEY `module` (`module`), + KEY `field` (`field`), + KEY `order` (`order`) +) ENGINE=InnoDB AUTO_INCREMENT=360 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflowlabel` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `module` varchar(30) NOT NULL, + `action` varchar(30) NOT NULL DEFAULT 'browse', + `code` varchar(30) NOT NULL, + `label` varchar(255) NOT NULL, + `params` text NOT NULL, + `orderBy` text NOT NULL, + `order` tinyint(3) NOT NULL, + `buildin` tinyint(1) unsigned NOT NULL, + `role` varchar(10) NOT NULL DEFAULT 'custom', + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` char(30) NOT NULL, + `editedDate` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `module` (`module`) +) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflowlayout` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `module` varchar(30) NOT NULL, + `action` varchar(50) NOT NULL, + `field` varchar(50) NOT NULL, + `order` smallint(5) unsigned NOT NULL, + `width` smallint(5) NOT NULL, + `position` text NOT NULL, + `readonly` enum('0','1') NOT NULL DEFAULT '0', + `mobileShow` enum('0','1') NOT NULL DEFAULT '1', + `summary` varchar(20) NOT NULL, + `defaultValue` text NOT NULL, + `layoutRules` varchar(255) NOT NULL, + `vision` varchar(10) NOT NULL DEFAULT 'rnd', + PRIMARY KEY (`id`), + UNIQUE KEY `unique` (`module`,`action`,`field`,`vision`), + KEY `module` (`module`), + KEY `action` (`action`), + KEY `order` (`order`) +) ENGINE=InnoDB AUTO_INCREMENT=138 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflowlinkdata` ( + `objectType` varchar(30) NOT NULL, + `objectID` mediumint(8) unsigned NOT NULL, + `linkedType` varchar(30) NOT NULL, + `linkedID` mediumint(8) unsigned NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + UNIQUE KEY `unique` (`objectType`,`objectID`,`linkedType`,`linkedID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflowrelation` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `prev` varchar(30) NOT NULL, + `next` varchar(30) NOT NULL, + `field` varchar(50) NOT NULL, + `actions` varchar(20) NOT NULL, + `actionCodes` text NOT NULL, + `buildin` enum('0','1') NOT NULL DEFAULT '0', + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflowrelationlayout` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `prev` varchar(30) NOT NULL, + `next` varchar(30) NOT NULL, + `action` varchar(50) NOT NULL, + `field` varchar(50) NOT NULL, + `order` smallint(5) unsigned NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `unique` (`prev`,`next`,`action`,`field`), + KEY `prev` (`prev`), + KEY `next` (`next`), + KEY `action` (`action`), + KEY `order` (`order`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflowreport` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `module` varchar(30) NOT NULL COMMENT 'module name', + `name` varchar(100) NOT NULL COMMENT 'report name', + `type` enum('pie','line','bar') NOT NULL DEFAULT 'pie' COMMENT 'report type', + `countType` enum('sum','count') NOT NULL DEFAULT 'sum' COMMENT 'report count method', + `displayType` enum('value','percent') NOT NULL DEFAULT 'value' COMMENT 'report display method', + `dimension` varchar(130) NOT NULL COMMENT 'dimension field code of zt_workflowfield', + `fields` text NOT NULL COMMENT 'count fileds code of zt_workflowfield,use comma split', + `order` smallint(5) unsigned NOT NULL DEFAULT '0', + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflowrule` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `type` enum('system','regex','func') NOT NULL DEFAULT 'regex', + `name` varchar(30) NOT NULL, + `rule` text NOT NULL, + `createdBy` char(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` char(30) NOT NULL, + `editedDate` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `type` (`type`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflowsql` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `module` varchar(30) NOT NULL, + `field` varchar(50) NOT NULL, + `action` varchar(50) NOT NULL, + `sql` text NOT NULL, + `vars` text NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + PRIMARY KEY (`id`), + KEY `module` (`module`), + KEY `field` (`field`), + KEY `action` (`action`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_workflowversion` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `module` varchar(30) NOT NULL, + `version` varchar(10) NOT NULL, + `fields` text NOT NULL, + `actions` text NOT NULL, + `layouts` text NOT NULL, + `sqls` text NOT NULL, + `labels` text NOT NULL, + `table` text NOT NULL, + `datas` text NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `moduleversion` (`module`,`version`), + KEY `module` (`module`), + KEY `version` (`version`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `zt_zoutput` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `activity` mediumint(8) NOT NULL, + `name` varchar(255) NOT NULL, + `content` mediumtext NOT NULL, + `optional` char(20) NOT NULL, + `tailorNorm` varchar(255) NOT NULL, + `status` varchar(30) NOT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `order` mediumint(8) DEFAULT '0', + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=130 DEFAULT CHARSET=utf8; diff --git a/db/zentao.sql b/db/zentao.sql index 58cda08c37..9d5ffb171a 100755 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -7372,6 +7372,7 @@ CREATE TABLE `zt_image` ( `desc` text NOT NULL, `createdBy` varchar(30) NOT NULL, `createdDate` datetime NOT NULL, + `restoreDate` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/doc/CHANGELOG b/doc/CHANGELOG index 071c0b7b99..24ba44acbd 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -1,3 +1,177 @@ +2023-02-08 18.1 +完成的需求 +开源版: +41313 解除需求和bug的关联后保持列表排序 +40637 用例执行失败转Bug时,将结果附件带到bug创建页面中 +41312 产品的项目列表种修改“我参与的”逻辑 +33347 测试单按照需求关联用例的列表中增加关联需求字段 +41209 运行自动化测试方案的示例测试 +41623 优化自动化测试解决方案页面 +41624 调整执行节点详情页中手册的跳转逻辑 +41625 优化远程桌面执行节点页面 +41626 优化宿主机初始化脚本 +41210 还原执行节点快照 +41215 创建执行节点快照 +41423 浏览执行节点快照 +41424 编辑执行节点快照 +41425 删除执行节点快照 +41818 调整宿主机和执行节点详情页面按钮禁用的样式 +41819 将宿主机详情页面中的执行节点列表放到独立区块中 +41820 执行节点详情页面默认密码密文显示 +修复的Bug +31406 执行节点详情页点击SSH复制按钮复制信息不全 +31336 执行节点执行休眠/恢复/关闭/启动/重启操作后对应的历史信息记录不正确 +31348 宿主机详情页执行节点列表建议添加执行节点详情页跳转超链接 +31329 英文语言项下宿主机详情页的执行节点列表字段显示不全 +27651 bug搜索条件选择从属于某个模块,数据不正确 +28463 全文检索无法按项目名称搜索项目 +30787 权限列表有代码报错 +30679 用户需求列表的操作栏显示不正确 +31392 项目型项目中创建迭代,保存成功后提示导入计划关联的相关研发需求 +30537 邮件列表中失败原因文案错误 +30381 看板项目设置团队会提示迭代代号不能为空 +30379 编辑看板项目,保存会提示代号不能为空 +28513 通过URL链接访问项目需求时不能跳转到正确的项目 +31403 无产品无执行项目的看板中提Bug模块加载不对 +28516 激活后的需求再次变更无论评审结果如何状态均为“激活” +31343 计划的需求列表中批量编辑需求时所属计划信息丢失 +28536 批量修改已解决Bug截止日期会联动修改解决日期 +31359 创建完宿主机或者执行节点后,在跳转的详情页点击返回按钮又跳转回创建页面 +28805 项目干系人无法查看到项目 +28809 编辑任务工时后,工时数不正确 +29999 无迭代项目Bug转任务时错误提示,转任务不成功 +29118 看板卡片历史记录缺少语言项 +29629 关闭用户需求后,研发需求自定义设置中可配置SR,UR字段 +30267 创建测试类型任务选择研发需求,点击保存页面转圈后不能返回到列表页面 +30289 关闭迭代代号后,编辑项目,保存时会提示:『迭代代号』不能为空。 +30918 拥有全部权限的admin管理员无法对版本做操作 +30401 bug编辑页面中,点击关联bug,弹窗中不加载数据 +29956 无迭代项目下新建测试任务,保存后无法返回页面 +31498 导出镜像成功后,提示文案需要调整更清晰 +31493 导出镜像等候时间过长,需要加上提示文案 +31432 执行节点已关闭,导出镜像时还提示需要关闭执行 +31421 宿主机的执行节点排序查看时,整个页面刷新 +31347 初次进入宿主机列表显示的架构图英文语言项下显示中文 +31718 api反馈数据中teammember字段值全部为空 +31948 按项目创建的瀑布项目,关联新的产品,阶段不会自动关联 +26538 主机分组维护页面导航高亮错误 +29380 甘特图页面进入任务编辑页面抄送给下拉样式问题 +24928 后台自定义反馈页面代码报错 +30382 地盘--日志,新增日志无法保存 +24628 导入8个用户导入页面有报错 +27438 计划详情页弹窗中需求名称未显示出来 +26536 编辑主机页面代码报错 +25723 升级后测试单关联的用例数据没有了 +30452 进入工单页面1.5级会选中一个产品列表中显示全部产品的工单 +24530 新增流程页面显示空白 +30936 反馈转工单时同步产品模块后页面未返回到创建工单页面 +31107 导出多分支产品Bug模板,系统数据中没有分支 +31844 组织中查看所有人日志、待办不生效 +30377 备份完成后不关闭备份弹窗,代码备份显示0个文件 +30970 无产品无迭代项目下导出日志设置字段中显示了“执行” +30997 导入任务页面默认展示了相关研发需求 +30939 反馈转多人任务后任务详情页样式问题 +30904 反馈或工单转孪生需求,历史记录中只列出了ID最小的需求 +30827 地盘新增日志-所属任务下拉无法搜索多人任务 +31161 点击搜索结果的工单标题,提示无权访问 +29348 工单后没显示数量 +30111 反馈进行产品设置后,设置列表页产品数量统计错误 +30064 分组视图导出弹窗样式需优化 +29236 同时高亮了年度总结和透视表两个2级导航 +28875 导出的需求模板中分支/平台下拉中没有数据 +28765 显示设置为‘只显示最后一级模块’,但是标题仍然显示第一级模块。 +28704 创建工单页面没有显示产品的1.5级下拉框 +28799 反馈编辑页面,之前添加的附件没有带出 +29244 处理中状态列表和详情页展示的颜色不一致 +28272 产品需求导入评审者设置非评审人也可以导入成功 +26875 显示设置中没有默认选中项 +23754 英文下导出用例模板时按钮换行 +28270 产品研发需求导出模板评审者错误 +23817 反馈列表页滚动条被遮挡 +23823 反馈列表在简单表格默认列表字段下有横向滑动条 +22182 地盘-待处理-问题 没有【确认】按钮 +22251 项目>评审>发起评审,添加附件>保存,附件没有保存到附件库 +22299 审批流列表底部未显示数量统计和翻页控件 +30834 通过编辑方式修改产品库文档所属于WIKI下的文档库时,该文档丢失。 +22332 打基线和编辑基线页面必填标识显示不一致 +22334 编辑基线必填校验显示异常 +22335 会签评审流程一人评审后,该评审还是待评审状态 +22389 问题库列表中列字段显示重叠 +22494 项目问题转任务后,任务所属执行信息丢失,导致打开异常 +22583 设计无法根据相关需求进行搜索 +22598 查看评审节点和结果有横向滑动条 +22599 取消选择后,保存成功但角色成员没清空 +22606 基本度量项语言项缺失 +22727 已取消的风险没法关闭 +22742 执行过程裁剪执行按钮不对齐 +22902 检查对象的下拉框遮挡所属过程下拉框 +23097 提交评审动态中缺少中文语言项 +23131 任务详情页面无法切换版本 +23212 添加产品时添加白名单用户列表已填写内容消失 +23515 评审的Markdown文档正文中换行丢失 +23603 偶发性bug:点击导航中的执行,标题是执行,但是内容还停留在产品研发需求中 +23529 发起评审页面缺少英文语言项 +23532 评审页面,文档中的附件和评审附件位置颠倒 +23640 在项目、执行点击某一个BUG详情,会显示到测试-BUG页面 +23644 产品下拉列表顶部显示了空白 +24224 需求库导入需求时筛选条件选择版本号搜索报错 +23688 英文模式下,仪表盘最新动态报错 +23753 访问执行的任务,导航不正确 +23779 顶级导航菜单没有折叠显示 +24306 活动详情弹窗中显示不全 +24567 瀑布项目审批设置可以关联工作流审批 +24695 导出测试报告,概况缺少部分内容 +24713 问题库问题列表严重程度字段换行显示了 +24716 最佳实践库/组件库导入时样式问题 +24727 质量保证计划列表页简单表格下,底部滚动条被遮挡 +24749 日程右侧更多下拉中选择测试单后样式不对 +24755 markdown文档在资产库中没有显示为markdown格式 +24772 项目搜索结果列表中无法正确点击打开项目 +24871 风险详情中创建日期和编辑日期时间总是显示00:00:00 +25156 问题页面无数据时,字体颜色跟其他模块不一致 +25310 研发需求批量拆分的子需求自动进入已立项阶段 +25339 用户需求细分的研发需求阶段显示为“已立项” +25612 任务详情页无法切换版本 +25617 日志页面,部门字段应该显示具体的部门 +25684 权限维护页面选择更多下的菜单后建议显示已选择的菜单名称 +25413 切换估算单位保存成功后,提示有未提交的表单 +25384 访问产品文档的附件库,提示没有所属产品权限 +24603 创建审批流页面按钮未居中 +24605 项目审批设置页面报错按钮未居中 +25470 编辑质量保证计划时显示了已删除的过程 +25634 后台敏捷模型中不能创建过程 +25479 批量新建QA检查内容时页面样式错乱 +25538 阶段的编辑页面增加负责人字段 +25767 任务列表中状态显示不全 +26127 Bug详情页的返回页面样式不正确 +25623 创建人名字较长时,列表显示不规整 +26030 会议记录页面附件名称较长时操作按钮换行显示了 +25980 修改Bug解决版本,历史记录从版本中移除 +25509 编辑已检查的质量保证计划,修改检查对象后检查结果报错 +25702 内禅部分过程裁剪后仍可以创建计划 +26040 会议记录页面重命名附件后再次上传附件保存时sql错误 +26069 项目周报中项目成本计算所取的单位人工成本是后台数值而非项目所设 +29669 瀑布项目中对提交审计的基线进行审计操作,修改后再次审计操作没有了 +25460 地盘贡献评审列表中审批进度弹窗显示空白 +24936 新建工作流中发起评审,评审后动态有报错 +27332 已被删除的活动/文档还能建质量保证计划 +28872 已删除评审问题详情页点击返回后二级导航缺失 +31423 评审项目计划动态详情页面返回链接不对 +24269 审批流程中设置评审人员直属上级后发起评审页面不显示 +22634 发起评审时并行分支中角色的审批人员未显示 +25991 阶段信息确认页面多个相同阶段的ID号重复显示 +23527 重新发起评审,评审文档未更新 +29766 瀑布项目结束后不应再继续计算挣值数据 +28443 执行下创建/批量创建QA计划页面指派给与列表中指派给列出的用户不一致 +24299 点击动态中的过程/活动/文档名称无法跳转 +27199 点击动态中的已删除问题名称,跳转后页面报错 +22608 自动通过评审时查看评审结果页面的评审人员为空 +22614 审批人重复显示 +22733 max2.5升级到max3.1beta1评审中的审批节点只显示待评审人 +22814 项目审批撤销编辑之后无法选择评审人 +31320 复制敏捷项目时切换步骤会提示连接超时 +24665 升级到max3.3后,敏捷模型的文档列表显示了内置数据 + 2023-01-03 18.0 完成的需求 开源版: diff --git a/module/misc/lang/de.php b/module/misc/lang/de.php index 70032d81da..6ec25b4dd1 100644 --- a/module/misc/lang/de.php +++ b/module/misc/lang/de.php @@ -103,6 +103,7 @@ $lang->misc->feature->themeDesc = '

    ZenTao 15.0+ a new "Youth Blue" theme $lang->misc->feature->visionsDesc = "

    The concept of interface has been added since 16.5. Users can deal with R&D affairs in [Full Feature Interface] and daily office affairs in [Operation Management Interface].

    You can view the current interface on the avatar, and click the name of the interface to view and switch other interfaces.

    "; $lang->misc->feature->visionsImage = 'theme/default/images/main/visions_en.png'; +$lang->misc->releaseDate['18.1'] = '2023-02-08'; $lang->misc->releaseDate['18.0'] = '2023-01-03'; $lang->misc->releaseDate['18.0.beta3'] = '2022-12-26'; $lang->misc->releaseDate['18.0.beta2'] = '2022-12-14'; @@ -196,6 +197,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22'; $lang->misc->releaseDate['7.1.stable'] = '2015-03-07'; $lang->misc->releaseDate['6.3.stable'] = '2014-11-07'; +$lang->misc->feature->all['18.1'][] = array('title' => 'Fix bugs.', 'desc' => ''); $lang->misc->feature->all['18.0'][] = array('title' => "Automated test solutions are proposed. Work order related functions are added to the Operation Management Interface. Approval workflow support for adding all types of notifications. And at the same time, we have further improved the earned value calculation rules.", 'desc' => ''); $lang->misc->feature->all['18.0.beta3'][] = array('title' => "The module Statistic is upgraded to BI, with 5 built-in large screens of macro management dimensions.", 'desc' => ''); $lang->misc->feature->all['18.0.beta2'][] = array('title' => "We have optimized the product with multi-branches/multi-platforms. It's supported to create siblings stories. It's possible for Plan, Build, and Release to link requirements or bugs beyond their parent branch. ZenTao Client has implemented the robot chatting mechanism.", 'desc' => ''); diff --git a/module/misc/lang/en.php b/module/misc/lang/en.php index 05b63da8ea..02920c48c4 100644 --- a/module/misc/lang/en.php +++ b/module/misc/lang/en.php @@ -103,6 +103,7 @@ $lang->misc->feature->themeDesc = '

    ZenTao 15.0+ a new "Youth Blue" theme $lang->misc->feature->visionsDesc = "

    The concept of interface has been added since 16.5. Users can deal with R&D affairs in [Full Feature Interface] and daily office affairs in [Operation Management Interface].

    You can view the current interface on the avatar, and click the name of the interface to view and switch other interfaces.

    "; $lang->misc->feature->visionsImage = 'theme/default/images/main/visions_en.png'; +$lang->misc->releaseDate['18.1'] = '2023-02-08'; $lang->misc->releaseDate['18.0'] = '2023-01-03'; $lang->misc->releaseDate['18.0.beta3'] = '2022-12-26'; $lang->misc->releaseDate['18.0.beta2'] = '2022-12-14'; @@ -196,6 +197,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22'; $lang->misc->releaseDate['7.1.stable'] = '2015-03-07'; $lang->misc->releaseDate['6.3.stable'] = '2014-11-07'; +$lang->misc->feature->all['18.1'][] = array('title' => 'Fix bugs.', 'desc' => ''); $lang->misc->feature->all['18.0'][] = array('title' => "Automated test solutions are proposed. Work order related functions are added to the Operation Management Interface. Approval workflow support for adding all types of notifications. And at the same time, we have further improved the earned value calculation rules.", 'desc' => ''); $lang->misc->feature->all['18.0.beta3'][] = array('title' => "The module Statistic is upgraded to BI, with 5 built-in large screens of macro management dimensions.", 'desc' => ''); $lang->misc->feature->all['18.0.beta2'][] = array('title' => "We have optimized the product with multi-branches/multi-platforms. It's supported to create siblings stories. It's possible for Plan, Build, and Release to link requirements or bugs beyond their parent branch. ZenTao Client has implemented the robot chatting mechanism.", 'desc' => ''); diff --git a/module/misc/lang/fr.php b/module/misc/lang/fr.php index 677325cea1..7f91e7267d 100644 --- a/module/misc/lang/fr.php +++ b/module/misc/lang/fr.php @@ -103,6 +103,7 @@ $lang->misc->feature->themeDesc = '

    ZenTao 15.0+ a new "Youth Blue" theme $lang->misc->feature->visionsDesc = "

    The concept of interface has been added since 16.5. Users can deal with R&D affairs in [Full Feature Interface] and daily office affairs in [Operation Management Interface].

    You can view the current interface on the avatar, and click the name of the interface to view and switch other interfaces.

    "; $lang->misc->feature->visionsImage = 'theme/default/images/main/visions_en.png'; +$lang->misc->releaseDate['18.1'] = '2023-02-08'; $lang->misc->releaseDate['18.0'] = '2023-01-03'; $lang->misc->releaseDate['18.0.beta3'] = '2022-12-26'; $lang->misc->releaseDate['18.0.beta2'] = '2022-12-14'; @@ -196,6 +197,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22'; $lang->misc->releaseDate['7.1.stable'] = '2015-03-07'; $lang->misc->releaseDate['6.3.stable'] = '2014-11-07'; +$lang->misc->feature->all['18.1'][] = array('title' => 'Fix bugs.', 'desc' => ''); $lang->misc->feature->all['18.0'][] = array('title' => "Automated test solutions are proposed. Work order related functions are added to the Operation Management Interface. Approval workflow support for adding all types of notifications. And at the same time, we have further improved the earned value calculation rules.", 'desc' => ''); $lang->misc->feature->all['18.0.beta3'][] = array('title' => "The module Statistic is upgraded to BI, with 5 built-in large screens of macro management dimensions.", 'desc' => ''); $lang->misc->feature->all['18.0.beta2'][] = array('title' => "We have optimized the product with multi-branches/multi-platforms. It's supported to create siblings stories. It's possible for Plan, Build, and Release to link requirements or bugs beyond their parent branch. ZenTao Client has implemented the robot chatting mechanism.", 'desc' => ''); diff --git a/module/misc/lang/zh-cn.php b/module/misc/lang/zh-cn.php index cba8934b11..5781513e6f 100644 --- a/module/misc/lang/zh-cn.php +++ b/module/misc/lang/zh-cn.php @@ -104,6 +104,7 @@ $lang->misc->feature->visionsDesc = "

    从16.5开始增加了界面概念, $lang->misc->feature->visionsImage = 'theme/default/images/main/visions.png'; /* Release Date. */ +$lang->misc->releaseDate['18.1'] = '2023-02-08'; $lang->misc->releaseDate['18.0'] = '2023-01-03'; $lang->misc->releaseDate['18.0.beta3'] = '2022-12-26'; $lang->misc->releaseDate['18.0.beta2'] = '2022-12-14'; @@ -198,6 +199,7 @@ $lang->misc->releaseDate['7.1.stable'] = '2015-03-07'; $lang->misc->releaseDate['6.3.stable'] = '2014-11-07'; /* Release Detail. */ +$lang->misc->feature->all['18.1'][] = array('title' => '修复Bug。', 'desc' => ''); $lang->misc->feature->all['18.0'][] = array('title' => '推出自动化测试解决方案;运营管理界面增加工单功能;审批流支持增加所有类型的通知以及挣值计算规则完善。', 'desc' => ''); $lang->misc->feature->all['18.0.beta3'][] = array('title' => '统计模块升级为BI,内置5张宏观管理维度大屏。', 'desc' => ''); $lang->misc->feature->all['18.0.beta2'][] = array('title' => '优化多分支/多平台产品,支持创建孪生需求,计划、版本、发布支持跨分支关联需求和bug,并且禅道客户端实现了机器人会话机制。', 'desc' => ''); diff --git a/module/upgrade/config.php b/module/upgrade/config.php index 35b0b28421..9682233fa7 100644 --- a/module/upgrade/config.php +++ b/module/upgrade/config.php @@ -31,7 +31,8 @@ $config->upgrade->maxVersion['max3_8'] = '17_8'; $config->upgrade->maxVersion['max4_0_beta1'] = '18_0_beta1'; $config->upgrade->maxVersion['max4_0_beta2'] = '18_0_beta2'; $config->upgrade->maxVersion['max4_0_beta3'] = '18_0_beta3'; -$config->upgrade->maxVersion['max4_0'] = '18_0'; // max insert position. +$config->upgrade->maxVersion['max4_0'] = '18_0'; +$config->upgrade->maxVersion['max4_1'] = '18_1'; // max insert position. $config->upgrade->bizVersion = array(); $config->upgrade->bizVersion['biz1_0'] = '9_5_1'; @@ -101,7 +102,8 @@ $config->upgrade->bizVersion['biz7_8'] = '17_8'; $config->upgrade->bizVersion['biz8_0_beta1'] = '18_0_beta1'; $config->upgrade->bizVersion['biz8_0_beta2'] = '18_0_beta2'; $config->upgrade->bizVersion['biz8_0_beta3'] = '18_0_beta3'; -$config->upgrade->bizVersion['biz8_0'] = '18_0'; // biz insert position. +$config->upgrade->bizVersion['biz8_0'] = '18_0'; +$config->upgrade->bizVersion['biz8_1'] = '18_1'; // biz insert position. $config->upgrade->proVersion = array(); $config->upgrade->proVersion['pro1_0'] = '3_1'; diff --git a/module/upgrade/lang/version.php b/module/upgrade/lang/version.php index 3decb4404e..5720896112 100644 --- a/module/upgrade/lang/version.php +++ b/module/upgrade/lang/version.php @@ -172,7 +172,8 @@ $lang->upgrade->fromVersions['17_8'] = '17.8'; $lang->upgrade->fromVersions['18_0_beta1'] = '18.0.beta1'; $lang->upgrade->fromVersions['18_0_beta2'] = '18.0.beta2'; $lang->upgrade->fromVersions['18_0_beta3'] = '18.0.beta3'; -$lang->upgrade->fromVersions['18_0'] = '18.0'; // pms insert position. +$lang->upgrade->fromVersions['18_0'] = '18.0'; +$lang->upgrade->fromVersions['18_1'] = '18.1'; // pms insert position. global $config; /* Lite. */ @@ -349,7 +350,8 @@ $lang->upgrade->fromVersions['biz7_8'] = 'Biz7.8'; $lang->upgrade->fromVersions['biz8_0_beta1'] = 'Biz8.0.beta1'; $lang->upgrade->fromVersions['biz8_0_beta2'] = 'Biz8.0.beta2'; $lang->upgrade->fromVersions['biz8_0_beta3'] = 'Biz8.0.beta3'; -$lang->upgrade->fromVersions['biz8_0'] = 'Biz8.0'; // biz insert position. +$lang->upgrade->fromVersions['biz8_0'] = 'Biz8.0'; +$lang->upgrade->fromVersions['biz8_1'] = 'Biz8.1'; // biz insert position. /* Max. */ $lang->upgrade->fromVersions['max2_0_beta4'] = 'Max2.0.beta4'; @@ -382,4 +384,5 @@ $lang->upgrade->fromVersions['max3_7'] = 'Max3.7'; $lang->upgrade->fromVersions['max3_8'] = 'Max3.8'; $lang->upgrade->fromVersions['max4_0_beta1'] = 'Max4.0.beta1'; $lang->upgrade->fromVersions['max4_0_beta2'] = 'Max4.0.beta2'; -$lang->upgrade->fromVersions['max4_0_beta3'] = 'Max4.0.beta3'; // max insert position. +$lang->upgrade->fromVersions['max4_0_beta3'] = 'Max4.0.beta3'; +$lang->upgrade->fromVersions['max4_0'] = 'Max4.0'; // max insert position. diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 78083a4260..8e8bdf6763 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -1080,7 +1080,9 @@ class upgradeModel extends model case '18_0_beta2': $confirmContent .= file_get_contents($this->getUpgradeFile('18.0.beta2')); case '18_0_beta3': - $confirmContent .= file_get_contents($this->getUpgradeFile('18.0.beta3')); // confirm insert position. + $confirmContent .= file_get_contents($this->getUpgradeFile('18.0.beta3')); + case '18_0': + $confirmContent .= file_get_contents($this->getUpgradeFile('18.0')); // confirm insert position. } return $confirmContent; diff --git a/tools/prepareupdate.php b/tools/prepareupdate.php index e63de0e5c2..e975c9bdea 100755 --- a/tools/prepareupdate.php +++ b/tools/prepareupdate.php @@ -15,6 +15,7 @@ class prepareUpdate public function __construct() { $this->initZT(); + $this->initMysql(); $this->addChangelog(); $this->changeVersion(); $this->addReleaseDetail(); diff --git a/xuanxuan/XUANVERSION b/xuanxuan/XUANVERSION index d18077c214..2d88a61bac 100644 --- a/xuanxuan/XUANVERSION +++ b/xuanxuan/XUANVERSION @@ -1 +1 @@ -v7.0.0 +v7.1.0 diff --git a/xuanxuan/XVERSION b/xuanxuan/XVERSION index 4fedf1d20e..0f0fefae5a 100644 --- a/xuanxuan/XVERSION +++ b/xuanxuan/XVERSION @@ -1 +1 @@ -7.0 +7.1 From 37ae4b9af54a7a398982710882f3e266266c62b2 Mon Sep 17 00:00:00 2001 From: zhaoke Date: Wed, 8 Feb 2023 03:07:09 +0000 Subject: [PATCH 57/61] * Add show/hide password. --- module/zanode/js/view.js | 17 +++++++++++++++++ module/zanode/lang/de.php | 2 ++ module/zanode/lang/en.php | 2 ++ module/zanode/lang/fr.php | 2 ++ module/zanode/lang/zh-cn.php | 2 ++ module/zanode/view/view.html.php | 9 +++++++-- 6 files changed, 32 insertions(+), 2 deletions(-) diff --git a/module/zanode/js/view.js b/module/zanode/js/view.js index 4ffb70440e..3904442d28 100644 --- a/module/zanode/js/view.js +++ b/module/zanode/js/view.js @@ -160,6 +160,23 @@ $('.btn-pwd-copy').live('click', function() }, 2000) }) +$('.btn-pwd-show').live('click', function() +{ + var pwd = $('#pwd-copy').text(); + var pwdStar = "******".padEnd(pwd.length, '*') + var html = $(this).html() + if(html.indexOf('icon-eye-off') != -1) + { + $('#pwd-text').text(pwdStar) + $(this).html("") + } + else + { + $('#pwd-text').text(pwd) + $(this).html("") + } +}) + $('#jumpManual').click(function() { var encodedHelpPageUrl = encodeURIComponent('https://www.zentao.net/book/zentaopms/974.html?fullScreen=zentao'); diff --git a/module/zanode/lang/de.php b/module/zanode/lang/de.php index 35fb26c602..a1c25e8d70 100644 --- a/module/zanode/lang/de.php +++ b/module/zanode/lang/de.php @@ -59,6 +59,8 @@ $lang->zanode->copy = 'Click to copy'; $lang->zanode->copied = 'Copy successful'; $lang->zanode->manual = 'Manual'; $lang->zanode->initializing = 'Initializing'; +$lang->zanode->showPwd = 'Show Password'; +$lang->zanode->hidePwd = 'Hide Password'; $lang->automation = new stdClass(); $lang->automation->scriptPath = $lang->zanode->scriptPath; diff --git a/module/zanode/lang/en.php b/module/zanode/lang/en.php index 5c671c31a1..4b6dcc9ca9 100644 --- a/module/zanode/lang/en.php +++ b/module/zanode/lang/en.php @@ -61,6 +61,8 @@ $lang->zanode->copy = 'Click to copy'; $lang->zanode->copied = 'Copy successful'; $lang->zanode->manual = 'Manual'; $lang->zanode->initializing = 'Initializing'; +$lang->zanode->showPwd = 'Show Password'; +$lang->zanode->hidePwd = 'Hide Password'; $lang->automation = new stdClass(); $lang->automation->scriptPath = $lang->zanode->scriptPath; diff --git a/module/zanode/lang/fr.php b/module/zanode/lang/fr.php index 35fb26c602..a1c25e8d70 100644 --- a/module/zanode/lang/fr.php +++ b/module/zanode/lang/fr.php @@ -59,6 +59,8 @@ $lang->zanode->copy = 'Click to copy'; $lang->zanode->copied = 'Copy successful'; $lang->zanode->manual = 'Manual'; $lang->zanode->initializing = 'Initializing'; +$lang->zanode->showPwd = 'Show Password'; +$lang->zanode->hidePwd = 'Hide Password'; $lang->automation = new stdClass(); $lang->automation->scriptPath = $lang->zanode->scriptPath; diff --git a/module/zanode/lang/zh-cn.php b/module/zanode/lang/zh-cn.php index a000f90a49..e4fb671ac6 100644 --- a/module/zanode/lang/zh-cn.php +++ b/module/zanode/lang/zh-cn.php @@ -60,6 +60,8 @@ $lang->zanode->copy = '复制'; $lang->zanode->copied = '复制成功'; $lang->zanode->manual = '手册'; $lang->zanode->initializing = '初始化中'; +$lang->zanode->showPwd = '显示密码'; +$lang->zanode->hidePwd = '隐藏密码'; $lang->automation = new stdClass(); $lang->automation->scriptPath = $lang->zanode->scriptPath; diff --git a/module/zanode/view/view.html.php b/module/zanode/view/view.html.php index ace6c719fc..30fbf3e3ea 100644 --- a/module/zanode/view/view.html.php +++ b/module/zanode/view/view.html.php @@ -96,7 +96,12 @@ $account = strpos($zanode->osName, "windows") ? $config->zanode->defaultWinAccou

    zanode->defaultPwd; ?>:
    -
    zanode->defaultPwd)) . ' ' . ""; ?>
    +
    ' . str_repeat('*', strlen($config->zanode->defaultPwd)) . '' + . ' ' + . "" + . ""; + ?>
    @@ -155,7 +160,7 @@ $account = strpos($zanode->osName, "windows") ? $config->zanode->defaultWinAccou
    zanode->browseSnapshot;?>
    - createLink('zanode', 'browseSnapshot', "nodeID=$zanode->id", '', true) . "' frameborder='no' allowfullscreen='true' mozallowfullscreen='true' webkitallowfullscreen='true' allowtransparency='true' scrolling='auto' onload='setIframeHeight(this)' style='min-height:300px;'>";?> + createLink('zanode', 'browseSnapshot', "nodeID=$zanode->id", '', true) . "' frameborder='no' allowfullscreen='true' mozallowfullscreen='true' webkitallowfullscreen='true' allowtransparency='true' scrolling='auto' style='min-height:300px;'>";?>
    noData; ?>
    From 1546a7da88eb5d637054cb62709d96981f6c0506 Mon Sep 17 00:00:00 2001 From: hufangzhou Date: Wed, 8 Feb 2023 13:16:39 +0800 Subject: [PATCH 58/61] * Complete changelog. --- doc/CHANGELOG | 61 ++++++++++++++++++++++++++++++++++++++ module/misc/lang/de.php | 2 +- module/misc/lang/en.php | 2 +- module/misc/lang/fr.php | 2 +- module/misc/lang/zh-cn.php | 2 +- 5 files changed, 65 insertions(+), 4 deletions(-) diff --git a/doc/CHANGELOG b/doc/CHANGELOG index 24ba44acbd..22963940df 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -18,6 +18,43 @@ 41818 调整宿主机和执行节点详情页面按钮禁用的样式 41819 将宿主机详情页面中的执行节点列表放到独立区块中 41820 执行节点详情页面默认密码密文显示 +禅道客户端: +41193 实现系统群设置音视频是否开启的功能 +40934 实现侧边栏会议模式优化 +40933 实现协作文件发送入口优化 +40932 实现协作文件编辑入口优化 +40625 实现发言人动态排序 +40548 实现共享屏幕时显示成员名称及开麦标识 +40538 实现离开音视频会议时不再显示会议状态 +40282 实现视频会议的开麦标识 +40229 删除参会人员会议电话标识 +40227 实现语音会议的开麦标识功能 +40215 实现PPT文件的在线编辑功能 +40214 实现音视频会议全屏显示优化 +40205 实现定时清理消息列表上方的旧消息 +40204 实现会议视频放大后侧边栏模式设计 +40199 实现音视频会议展示顺序 +40197 实现会议视频展示排版优化 +40185 实现增加会议独立窗口邀请成员功能 +40039 实现XXB后台可配置升级通知 +39895 实现点对点文件传输断线增加提示 +39841 实现禅道客户端全文搜索正常显示待选框 +39833 实现无权访问禅道页面时链接跳转不显示重新登录界面 +39831 实现无权访问禅道页面时不显示重新登录界面 +39723 实现增加点对点文件重传功能 +39722 实现会议通话与SRS/OWT断连处理 +39721 实现会议通话与XXD断连处理 +39720 实现音视频断线重连交互设计 +39719 实现音视频断连情况下不要自动关闭窗口 +39567 实现加快短暂离线时消息无法发送的提醒 +39565 实现短暂离线时消息记录窗口不关闭 +39563 实现短暂离线时独立文件窗口不关闭 +39560 实现短暂离线时独立看图窗口不关闭 +39557 实现优化XXD处理XXB输出数据问题 +39554 实现喧喧白屏问题处理 +39509 删除禅道客户端“签退”入口 +39508 实现从会话中进入聊天记录时定位到最新的消息 +39506 实现GIF动图复制功能 修复的Bug 31406 执行节点详情页点击SSH复制按钮复制信息不全 31336 执行节点执行休眠/恢复/关闭/启动/重启操作后对应的历史信息记录不正确 @@ -171,6 +208,30 @@ 22814 项目审批撤销编辑之后无法选择评审人 31320 复制敏捷项目时切换步骤会提示连接超时 24665 升级到max3.3后,敏捷模型的文档列表显示了内置数据 +20080 网络不好时加入会议失败,再次加入会议看不到屏幕分享 +26805 同分组下合并会话报错 +27082 群管理中demo数据加载不出群主 +27414 登录账号admin提示登录不上 +29109 聊天窗口最小化打开成员列表侧边栏查看按钮重叠 +29115 群组操作菜单项出现双分割线 +29425 用户状态为非在线时,在小喧喧输入搜人指令后,状态栏为空数据 +29450 小喧喧会话框发送截图、文件返回错误信息 +29475 小喧喧会话发送查看 任务发送失败 +29506 账号接收禅道通知点击查看界面崩溃报错 +29510 小喧喧未识别到包含大小写的指令 +29536 禅道客户端的讨论组管理界面刷新不出来 +29538 禅道客户端的群设置功能不能正常使用 +29690 离线状态下用户点击“预览”文件弹窗报错 +30023 内网禅道客户端登录后白屏需要二次登录才能正常显示 +30083 消息卡片在列表存在不显示的情况 +30084 存在偶发点击后没有跳转到相应会话的情况 +30306 讨论组@相关成员后,草稿状态下,会展示用户ID +30370 xxd断连再重启,会议中的用户重新登录后,会议窗口关闭,会议结束 +30372 反复开关闭视频会复制出多个卡片 +30497 通过阿道发送完成任务指令,完成任务后,返回的工时记录中,消耗时间展示有误 +30499 登录禅道客户端后,阿道机器人在聊天列表中的头像未展示 +30509 阿道任务列表下,需要将父任务相关按钮置为只读 +30514 禅道客户端机器人名称为:阿道@阿道 2023-01-03 18.0 完成的需求 diff --git a/module/misc/lang/de.php b/module/misc/lang/de.php index 6ec25b4dd1..da70c63661 100644 --- a/module/misc/lang/de.php +++ b/module/misc/lang/de.php @@ -197,7 +197,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22'; $lang->misc->releaseDate['7.1.stable'] = '2015-03-07'; $lang->misc->releaseDate['6.3.stable'] = '2014-11-07'; -$lang->misc->feature->all['18.1'][] = array('title' => 'Fix bugs.', 'desc' => ''); +$lang->misc->feature->all['18.1'][] = array('title' => 'The automation testing solution interaction is optimized, while a new snapshot management function is newly added. ZenTao IM implemented online collaboration of PPT documents.Fix bugs.', 'desc' => ''); $lang->misc->feature->all['18.0'][] = array('title' => "Automated test solutions are proposed. Work order related functions are added to the Operation Management Interface. Approval workflow support for adding all types of notifications. And at the same time, we have further improved the earned value calculation rules.", 'desc' => ''); $lang->misc->feature->all['18.0.beta3'][] = array('title' => "The module Statistic is upgraded to BI, with 5 built-in large screens of macro management dimensions.", 'desc' => ''); $lang->misc->feature->all['18.0.beta2'][] = array('title' => "We have optimized the product with multi-branches/multi-platforms. It's supported to create siblings stories. It's possible for Plan, Build, and Release to link requirements or bugs beyond their parent branch. ZenTao Client has implemented the robot chatting mechanism.", 'desc' => ''); diff --git a/module/misc/lang/en.php b/module/misc/lang/en.php index 02920c48c4..44ad6f731e 100644 --- a/module/misc/lang/en.php +++ b/module/misc/lang/en.php @@ -197,7 +197,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22'; $lang->misc->releaseDate['7.1.stable'] = '2015-03-07'; $lang->misc->releaseDate['6.3.stable'] = '2014-11-07'; -$lang->misc->feature->all['18.1'][] = array('title' => 'Fix bugs.', 'desc' => ''); +$lang->misc->feature->all['18.1'][] = array('title' => 'The automation testing solution interaction is optimized, while a new snapshot management function is newly added. ZenTao IM implemented online collaboration of PPT documents.Fix bugs.', 'desc' => ''); $lang->misc->feature->all['18.0'][] = array('title' => "Automated test solutions are proposed. Work order related functions are added to the Operation Management Interface. Approval workflow support for adding all types of notifications. And at the same time, we have further improved the earned value calculation rules.", 'desc' => ''); $lang->misc->feature->all['18.0.beta3'][] = array('title' => "The module Statistic is upgraded to BI, with 5 built-in large screens of macro management dimensions.", 'desc' => ''); $lang->misc->feature->all['18.0.beta2'][] = array('title' => "We have optimized the product with multi-branches/multi-platforms. It's supported to create siblings stories. It's possible for Plan, Build, and Release to link requirements or bugs beyond their parent branch. ZenTao Client has implemented the robot chatting mechanism.", 'desc' => ''); diff --git a/module/misc/lang/fr.php b/module/misc/lang/fr.php index 7f91e7267d..5cb30cdd2f 100644 --- a/module/misc/lang/fr.php +++ b/module/misc/lang/fr.php @@ -197,7 +197,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22'; $lang->misc->releaseDate['7.1.stable'] = '2015-03-07'; $lang->misc->releaseDate['6.3.stable'] = '2014-11-07'; -$lang->misc->feature->all['18.1'][] = array('title' => 'Fix bugs.', 'desc' => ''); +$lang->misc->feature->all['18.1'][] = array('title' => 'The automation testing solution interaction is optimized, while a new snapshot management function is newly added. ZenTao IM implemented online collaboration of PPT documents.Fix bugs.', 'desc' => ''); $lang->misc->feature->all['18.0'][] = array('title' => "Automated test solutions are proposed. Work order related functions are added to the Operation Management Interface. Approval workflow support for adding all types of notifications. And at the same time, we have further improved the earned value calculation rules.", 'desc' => ''); $lang->misc->feature->all['18.0.beta3'][] = array('title' => "The module Statistic is upgraded to BI, with 5 built-in large screens of macro management dimensions.", 'desc' => ''); $lang->misc->feature->all['18.0.beta2'][] = array('title' => "We have optimized the product with multi-branches/multi-platforms. It's supported to create siblings stories. It's possible for Plan, Build, and Release to link requirements or bugs beyond their parent branch. ZenTao Client has implemented the robot chatting mechanism.", 'desc' => ''); diff --git a/module/misc/lang/zh-cn.php b/module/misc/lang/zh-cn.php index 5781513e6f..d100ef5e59 100644 --- a/module/misc/lang/zh-cn.php +++ b/module/misc/lang/zh-cn.php @@ -199,7 +199,7 @@ $lang->misc->releaseDate['7.1.stable'] = '2015-03-07'; $lang->misc->releaseDate['6.3.stable'] = '2014-11-07'; /* Release Detail. */ -$lang->misc->feature->all['18.1'][] = array('title' => '修复Bug。', 'desc' => ''); +$lang->misc->feature->all['18.1'][] = array('title' => '自动化测试解决方案交互优化、新增快照管理功能。禅道客户端实现了 PPT文档在线协作。修复Bug。', 'desc' => ''); $lang->misc->feature->all['18.0'][] = array('title' => '推出自动化测试解决方案;运营管理界面增加工单功能;审批流支持增加所有类型的通知以及挣值计算规则完善。', 'desc' => ''); $lang->misc->feature->all['18.0.beta3'][] = array('title' => '统计模块升级为BI,内置5张宏观管理维度大屏。', 'desc' => ''); $lang->misc->feature->all['18.0.beta2'][] = array('title' => '优化多分支/多平台产品,支持创建孪生需求,计划、版本、发布支持跨分支关联需求和bug,并且禅道客户端实现了机器人会话机制。', 'desc' => ''); From 3e70f86ca234d07d4c2b9918929f8670e99c6395 Mon Sep 17 00:00:00 2001 From: tanghucheng Date: Wed, 8 Feb 2023 13:55:25 +0800 Subject: [PATCH 59/61] * Fix bug for import testcase. --- module/story/css/common.css | 1 - module/transfer/control.php | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/module/story/css/common.css b/module/story/css/common.css index bd99600afe..202f6dd39f 100644 --- a/module/story/css/common.css +++ b/module/story/css/common.css @@ -25,7 +25,6 @@ .popover.bottom .arrow{border-bottom-color:#ffffff;} .popover-icon {float:left;} .popover .content {margin-left:25px;overflow: overlay;} -.hide {display:none !important;} .twins > a.viewlink {padding:6px;white-space: nowrap;overflow: hidden;display: inline-flex;max-width: 70%;} .twins > span {max-width: 60px;white-space: nowrap;overflow: hidden;} .tooltip-inner {max-width: 500px;} diff --git a/module/transfer/control.php b/module/transfer/control.php index 65d13bbc52..aa379ba074 100755 --- a/module/transfer/control.php +++ b/module/transfer/control.php @@ -152,7 +152,7 @@ class transfer extends control $this->loadModel($model); $importFields = !empty($_SESSION[$model . 'TemplateFields']) ? $_SESSION[$model . 'TemplateFields'] : $this->config->$model->templateFields; - if($model == 'testcase' and !empty($_SESSION[$model . 'TemplateFields'])) $this->config->$model->templateFields = implode(',', $importFields); + if($model == 'testcase' and !empty($_SESSION[$model . 'TemplateFields']) and is_array($importFields)) $this->config->$model->templateFields = implode(',', $importFields); $fields = $this->transfer->initFieldList($model, $importFields, false); $formatDatas = $this->transfer->format($model, $filter); $datas = $this->transfer->getPageDatas($formatDatas, $pagerID); From 8a645d03aeecda43ba24b6be8cc4bc9960b87af5 Mon Sep 17 00:00:00 2001 From: zenggang Date: Wed, 8 Feb 2023 05:55:45 +0000 Subject: [PATCH 60/61] * Fix bug#31963 --- module/zanode/lang/zh-cn.php | 1 + 1 file changed, 1 insertion(+) diff --git a/module/zanode/lang/zh-cn.php b/module/zanode/lang/zh-cn.php index a000f90a49..e3718645af 100644 --- a/module/zanode/lang/zh-cn.php +++ b/module/zanode/lang/zh-cn.php @@ -89,6 +89,7 @@ $lang->zanode->deleteSnapshot = '删除快照'; $lang->zanode->snapshotEmpty = '无快照'; $lang->zanode->confirmDeleteSnapshot = "快照被删除后无法从回收站中还原,您确定继续么?"; +$lang->zanode->snapshot = new stdClass(); $lang->zanode->snapshot->statusList['creating'] = '创建中'; $lang->zanode->snapshot->statusList['completed'] = '创建完成'; $lang->zanode->snapshot->statusList['failed'] = '创建失败'; From e00862dd0c5d633b995280112bfa61c18d7481aa Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 8 Feb 2023 16:16:33 +0800 Subject: [PATCH 61/61] * Code for bug#29159. --- module/programplan/view/gantt.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/programplan/view/gantt.html.php b/module/programplan/view/gantt.html.php index 117b8a131b..169b4272b5 100755 --- a/module/programplan/view/gantt.html.php +++ b/module/programplan/view/gantt.html.php @@ -96,7 +96,7 @@ form {display: block; margin-top: 0em; margin-block-end: 1em;} foreach($productList as $key => $productName) { $class = $productID == $key ? 'class="active"' : ''; - echo "
  • " . html::a($this->createLink('programplan', 'browse', "projectID=$projectID&productID=$key&type=gantt"), $productName) . "
  • "; + echo "
  • " . html::a($this->createLink('programplan', 'browse', "projectID=$projectID&productID=$key&type=gantt"), $productName, '', "title='$productName' class='text-ellipsis'") . "
  • "; } ?>