/*building SAAS 0.1*/ /*bootstrap 初始化*/ body { font-size: 0.9rem; overflow: hidden; background: #e4e7ea; } .text-warning { color: #da9500 !important; } .dropdown-menu { font-size: 12px } .btn.text-primary.disabled, .btn.text-primary:disabled { color:#666!important } .btn,.btn-group { vertical-align: baseline; } .nav-pills .nav-link.active, .nav-pills .show > .nav-link{ background-color: #e4e7ea; color:#333; font-weight: 600 } .nav-padding .nav-link.active, .nav-padding .show > .nav-link{ color: #fff; background-color: #007bff; } .custom-file-sm,.custom-file-sm .custom-file-label{ height: calc(1.5em + .5rem + 2px); padding-top: .25rem; padding-bottom: .25rem; padding-left: .5rem; } .custom-file-sm .custom-file-label:after{ height: calc(1.4em + .5rem + 2px); padding-top: .25rem; padding-bottom: .25rem; font-size: .875rem; } .custom-file-sm input{ height: calc(1.5em + .5rem + 2px); font-size: .875rem; } .table th { background: #e9ecef; font-weight: normal; color:#000; vertical-align: middle; } .table td{ vertical-align: middle; } .table.table-dark th { background:none; font-weight: normal; color:#fff; } .form-check,.form-check-label{ cursor: pointer; line-height: 22px; } .input-group-text .group-checkbox[type="checkbox"],.input-group-text .group-checkbox[type="radio"]{ margin-top: .3rem; } .custom-control-label::before { top:.1rem; } .custom-control-label::after{ top:.1rem; } .custom-switch .custom-control-label::after{ top:.25rem; } .custom-control { min-height: 1.2rem; line-height: 1.2rem } .custom-control-label { cursor: pointer; } .popover { background-color: #000 } .popover-body{ color:#fff; } .bs-popover-auto[x-placement^="bottom"] .arrow::after, .bs-popover-bottom .arrow::after{ border-bottom-color:#000; } .custom-control-warning-input:checked ~ .custom-control-warning-label::before{ border-color:#da9500 ; background-color:#da9500 } .custom-control-warning-label{ color:#da9500; } /* .btn.disabled, .btn:disabled { opacity:.4 }*/ .btn-primary.disabled, .btn-primary:disabled { color:#fff; border-color:#666; background: #666 } .btn-outline-primary.disabled, .btn-outline-primary:disabled { color:#666; border-color:#666; background: #ddd } .btn-outline-primary.disabled .badge, .btn-outline-primary:disabled .badge{ background: #999 } .group-tab .btn-light{ color:#007bff; border-color:#d3d9df; cursor: pointer; } .group-tab .btn-light.active{ cursor: default; } .text-info-50{ color: #bee5eb; } .text-danger-50{ color: #ed969e; } .text-success-50{ color: #c3e6cb; } .text-primary-50{ color: #cce5ff; } .text-warning-50{ color: #ffddc5; } .text-secondary-50{ color: #dcdcdc; } .bg-info-50{ background-color: #d0f6fd; } .bg-danger-50{ background-color: #f8d7da; } .bg-success-50{ background-color: #d4edda; } .bg-primary-50{ background-color: #cce5ff; } .bg-warning-50{ background-color: #ffddc5; } .bg-secondary-50{ background-color: #dcdcdc; } .border-info-50{ border:1px solid #9be6f4; } .border-danger-50{ border:1px solid #f5c6cb; } .border-success-50{ border:1px solid #c3e6cb; } .border-primary-50{ border:1px solid #b8daff; } .border-warning-50{ border:1px solid #fbc7a3; } .border-secondary-50{ border:1px solid #ccc; } .input-group-cancel{ position: absolute; margin-left: -15px; margin-top: 2px; font-size: 14px } /*在谷歌下移除input[number]的上下箭头*/ input.nospin[type='number']::-webkit-outer-spin-button, input.nospin[type='number']::-webkit-inner-spin-button{ -webkit-appearance: none !important; margin: 0; } /*在firefox下移除input[number]的上下箭头*/ input.nospin[type="number"]{-moz-appearance:textfield;} /*自定义css*/ .in-1{padding-left:5px!important} .in-2{padding-left:21px!important} .in-3{padding-left:42px!important} .in-4{padding-left:63px!important} .in-5{padding-left:84px!important} .in-6{padding-left:105px!important} .in-7{padding-left:126px!important} .in-8{padding-left:147px!important} .in-9{padding-left:168px!important} .in-10{padding-left:189px!important} /*滚动条*/ /* 滚动条 */ /*水平滚动条的样式*/ /*::-webkit-scrollbar-thumb:horizontal { width: 5px; background-color: #e9ecef; -webkit-border-radius: 0; }*/ /*滚动条的背景颜色,滚动条的圆角宽度*/ /*::-webkit-scrollbar-track-piece { background-color: #efefef; -webkit-border-radius: 0; }*/ /*滚动条的宽度,滚动条的高度*/ /*::-webkit-scrollbar { width: 14px; height: 14px; }*/ /*垂直滚动条的样式*/ /*::-webkit-scrollbar-thumb:vertical { height: 50px; background-color: #e9ecef; -webkit-border-radius: 0; outline: 1px solid #fff; outline-offset: -1px; border: 1px solid #ced4da; }*/ /*滚动条的hover样式*/ /*::-webkit-scrollbar-thumb:hover { height: 50px; background-color: #ced4da; -webkit-border-radius: 0; }*/ .sjs-height-1,.sjs-height-2,.sjs-sh,.sjs-sh-1,.sjs-sh-2,.sjs-sh-3,.sjs-sh-4,.sjs-sh-5{ overflow: hidden; } .sjs-height-4,.sjs-height-5,.sjs-height-6,.sjs-option-height{ overflow: auto; } .sjs-bar-1,.sjs-bar-2,.sjs-bar-3,.sjs-bar-4,.sjs-bar-5{ height:30px; padding-top:3px; } .sjs-bar{ height:30px; padding-top:3px; } .sjs-bar .nav { margin-top:-3px; } .sjs-bottom{ height:250px; } .sjs-bottom-2{ height:360px; overflow-y: auto; } .form-signin { max-width:400px; margin-left:auto; background: #fff; padding:30px; border:1px solid #ddd; border-radius: .25rem } .bg-404{ background:#dcdcdc url("404.png") bottom center no-repeat; } .has-danger { -webkit-animation: shake 1s .2s ease both; -moz-animation: shake 1s .2s ease both; animation: shake 1s .2s ease both; } @-webkit-keyframes shake { 0%, 100% { -webkit-transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { -webkit-transform: translateX(-10px); } 20%, 40%, 60%, 80% { -webkit-transform: translateX(10px); } } @-moz-keyframes shake { 0%, 100% { -moz-transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { -moz-transform: translateX(-10px); } 20%, 40%, 60%, 80% { -moz-transform: translateX(10px); } } @keyframes shake { 0%, 100% { transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { transform: translateX(-10px); } 20%, 40%, 60%, 80% { transform: translateX(10px); } } /*2.主体框架*/ .header { background:#fff; position: fixed; z-index: 10; width: 100%; height: 50px; top: 0; left: 0 } .main{ position: relative; z-index: 4; } .main-nav { position: fixed; z-index: 99; width:110px; left: 0; top: 0; height: 100%; background: #33425b; } .main-panel{ padding-left:110px; box-sizing: border-box; } .panel-sidebar{ box-sizing: border-box; background: #fbfcfd; position: fixed; height: 100%; z-index: 4; left:110px; /*padding-top:50px;*/ border-right: 1px solid #ddd; width: 200px; } .side-fold{ position: absolute; bottom:10px; right:20px; } .min-side .side-fold{ position: absolute; bottom:15px; right:5px; height: 20px } .min-side{ border-right: 1px solid #ddd; margin-right:10px; padding-right:15px; position: relative; } .min-side .side-switch i{ font-size: 20px } .min-side .side-menu{ position: absolute; left:-15px; top:50px; background:#fff; width:150px; border-right:1px solid #ddd; border-bottom:1px solid #ddd; box-shadow: 0 1px 3px rgba(0,0,0,.1); } .panel-content{ padding:65px 0 0; position: relative; z-index: 3; box-sizing: border-box; overflow-y: auto; height: 100vh; } .panel-content .content-wrap{ margin:0 15px 15px; position: relative; } .panel-sidebar+.panel-content{ padding: 65px 0 0 200px; } .panel-title, .panel-title>.title-bar { height:50px; line-height: 50px } .panel-title .dropdown-item,.panel-title .dropdown-item-text,.panel-title .form-group { line-height: normal; } .panel-title{ position: fixed; top:0px; z-index: 98; width: 100%; box-sizing: border-box; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.05); border-top: 1px solid #ddd; } .panel-sidebar .panel-title{ width:200px; border-right: 1px solid #ddd; box-shadow: 0 1px 3px rgba(0,0,0,.1); } .panel-content .panel-title{ left: 0; padding-left: 255px; padding-right: 20px; } .panel-content .panel-title.fluid{ padding-left:110px } .panel-title>.title-bar{ padding-left: 20px } .panel-title>.title-bar>h2,.panel-title>.title-main>h2{ font-size: 16px; margin:0; height: 50px; line-height: 50px; display:block } .panel-title>.title-bar>h2 .btn{ margin-right:15px } .panel-title>.title-main .btn.pull-right { margin:10px 0 0 10px } .panel-title>.title-main .form-control { margin:10px 0 0 0 } .panel-title>.title-main{ padding-left: 15px } .panel-title .alert { line-height: normal; z-index: 999 } .sidebar-title{ padding: 10px; border-bottom: 1px solid #ddd; margin-bottom: 10px; } .side-menu{ position: fixed; right:15px; top:65px } .side-menu .nav-link{ line-height: 16px; font-size: 14px; color:#007bff; } .side-menu .nav-link:hover{ background:#dcdee3; color:#333; } .sub-content{ margin:0; } .pr-46{ padding-right:36px } .bcontent-wrap{ height: 350px } @media only screen and (max-height: 768px) { .bcontent-wrap{ height: 250px } } .modal-xl { max-width: 1200px } .modal-full{ max-width: 99%; margin:10px auto; max-height:97%; } .border-right-1 { border-right:1px solid #dee2e6; } .border-left-1 { border-left:1px solid #dee2e6; } .border-top-1 { border-top:1px solid #dee2e6; } .border-bottom-1 { border-bottom:1px solid #dee2e6; } .save-confirm { position:absolute; } .nav-tabs.panel-card-tabs .nav-link{ color:#ccc; font-size:1rem; padding-top:0; } .nav-tabs.panel-card-tabs .nav-link.active{ color:#fff; background:none ; border:none ; border-bottom:2px solid #fff; } .nav-tabs.panel-card-tabs .nav-link:hover{ background:none ; border:none ; border-bottom:2px solid #fff; } .nav-tabs.nav-white-tabs.panel-card-tabs .nav-link{ color:#495057; } .nav-tabs.nav-white-tabs.panel-card-tabs .nav-link.active{ color:#495057; border-bottom:2px solid #007bff; } .nav-tabs.nav-white-tabs.panel-card-tabs .nav-link:hover{ color:#007bff; border-bottom:2px solid #007bff; } .panel-card-header { background-image: linear-gradient(to top, #586579, #2c3237 ); } /*滚动*/ .scrollbar-auto { overflow-y: auto; position: absolute; bottom: 0; left: 0; top: 0; right: 0; } .panel-sidebar .scrollbar-auto{ padding-top: 20px; box-sizing: border-box; } .panel-sidebar .scrollbar-auto { height: calc(100vh - 50px); width: 100%; overflow-y: auto; position: static; } /*结构宽度高度调整条*/ .resize-y{ height:5px; width:100%; float: left; margin-top:-5px; cursor: s-resize; z-index: 999 } .resize-x{ width:5px; height:100%; float: left; margin-left:-5px; cursor: w-resize; z-index: 999 } /*头部*/ .header .logo { float: left; box-shadow: 1px 0 6px rgba(0,0,0,.06); margin-right: 20px; margin:0 } .header .logo>a{ width:120px; height:50px; line-height: 50px; display: inline-block; color:#fff; font-size:24px; padding:0 10px; transition: all ease .4s; background:#207fd1 url(logo.png) no-repeat; text-indent: -9999px; vertical-align: top } .header .logo>a:hover{ background-color:#5596cf; text-decoration: none; } .logo .poj-info { position: absolute; width: 20px; height: 20px; border-radius: 10px; text-align: center; border:1px solid #000; right: 2px; top:34px; line-height: 16px } .logo .poj-info i{ } .header-user > div { float:left } .avatar .pic { height: 35px; width: 35px; border-radius: 100%; display: inline-block; float:left; margin:7px 7px 0 0 } .avatar .pic img{ display: block; width: 100%; height: 100%; border-radius: 100%; } .avatar > a,.msg >a{ display: block; height:50px; line-height: 50px; color:#666; padding:0 15px; cursor: pointer; } .avatar > a:hover,.msg > a:hover{ text-decoration: none; box-shadow: inset 0 3px 5px rgba(0,0,0,.125) } .header-user .msg{ border-left:1px solid #eee } .header-user .msg .glyphicon{ font-size:20px; vertical-align: middle; } .header-user .msg .badge{ margin:0 0 0 5px } .header .poj-name { float:left; padding:0 0 0 15px; font-size:18px } .header .poj-name a{ color:#666 } .header .poj-name > span{ height:50px; line-height:50px; } /*登陆相关*/ .login-body{ background:linear-gradient(#192948,#33425b); height:100% } .login-infoinput { margin-top:15% } .login-body .container{ position:absolute; top:10%; margin:0 auto; left:0; right:0; } .login-bg.img-1{ background:url("undraw_all_the_data_h4ki.svg") no-repeat; } .login-bg.img-2{ background:url("undraw_order_a_car_3tww.svg") no-repeat; } .login-bg.img-3{ background:url("undraw_work_chat_erdt.svg") no-repeat; } .login-body .login-bg{ width: 100%; height: 100%; background-position:25% 95%; background-size: 40% auto; display: inline-block; opacity: .8 } /*侧栏主菜单*/ .nav-top,.nav-bottom{ width: 110px } .bg-nav a{ display: flex; align-items: center; /* 垂直居中 */ justify-content: flex-start; /* 图标和文字水平排列 */ color:#fff; width:110px; text-align: center; /*display: inline-block;*/ padding:10px 0; font-size: 12px } .bg-nav a i{ margin: 0 5px 0 8px; width: 25px; font-size:15px; } .bg-nav a span{ display: block; } .bg-nav > li{ width:120px } .bg-nav > li.active{ background: #192948 } .bg-nav > li.active a{ border-radius: 0; background: #192948 } .bg-nav > li.active > a,.bg-nav > li > a:hover,.bg-nav > li.active > a:hover{ background: #192948; color:#f2f2f2; text-decoration: none; } .bg-nav > li > a.maintain-icon:hover{ background:none; color:none; text-decoration: none; } .bg-nav > li.active a span{ display: block; } .bg-nav > li + li { margin-top:0; } .bg-nav .sub-menu { list-style:none; padding:0 0 0 20px; width:120px; display: none } .bg-nav .sub-menu a { width:100px; height:30px; line-height:30px } .bg-nav .sub-menu:last-child{ margin:0 0 20px 0 } .bg-nav .menu-arrow{ margin:22px 8px 0 0 } .bg-nav .child-bg { /*background-color: #10354D;*/ } .child-up-down { width: 12px!important; margin: 0 0 0 8px!important; font-size: 12px!important; } .nav-padding{ margin-top: 30px; } .nav-padding a{ padding: 0.5rem 1rem; } .nav-box { padding-top: 5px } .nav-box ul{ margin-bottom:0; } .nav-box h3{ font-size: 14px; font-weight: 700; border-bottom: 1px solid #e2eaec; padding-right: 5px; margin-bottom:0px; margin-left: 17px; height: 30px; line-height: 30px } .nav-box .h3{ font-size: 14px; font-weight: 700; padding-left:12px; } .nav-box > .sub-list > li > a{ padding-left: 40px } .nav-box .tips-dot { right:20px; top:8px } .nav-box .nav-list li{ position: relative; } .contarl-box{ padding:1rem 2rem 1rem 2rem; border-top:1px solid #ddd; } .nav-list li a{ color: #333; display: block; height: 35px; line-height: 35px; box-sizing: border-box; padding-left: 17px; padding-right: 45px; text-overflow: ellipsis; position: relative; } .nav-list li a:hover{ text-decoration: none; background:#e4e7ea; cursor: pointer; } .nav-list li a .badge{ position: absolute; right:17px; top:9px } .nav-list li.active a{ background:#e4e7ea; font-weight: 600; } .side-menu .nav-link{ padding:.5rem .6rem; } /*内容区*/ .c-header { padding:0 0 5px } .c-body{ padding:1px; background:#fff; } .c-body-white{ background: #e4e7ea; } .right-nav{ width:36px } .right-nav .nav-link.active{ background: #fff; color:#495057 } .form-group .necessary{ font-size:18px; color:#f90000 } .bg-gray { background-color:#bbb!important; } .datepickers-container { z-index: 9999 } .modal-height-600{ height:600px; overflow: hidden } .modal-height-500{ height:450px; overflow: hidden } .modal-height-400{ height:400px; overflow: hidden } .file-rela-tender-spread-wrap{ width:100%; } .file-rela-tender-spread{ width:100%; height:100%; } .modal-height-300{ height:300px; overflow:auto } .modal-height-250{ height:250px; overflow:auto } .modal-height-150{ height: 150px; overflow: auto; } .modal-height-max100{ max-height: 100px; overflow: auto; } .modal-height-max150{ max-height: 150px; overflow: auto; } .modal-fullscreen{ overflow: auto; } .scroll-y { overflow-y: auto; } .scroll-x { overflow-x: auto; } .modal-lgx { max-width:1000px } .title-main .nav{ line-height: 16px; margin-top:8px } .msg-content { font-size: 14px } .bd-toc { position: sticky; top:3rem; height: calc(100vh - 10rem); overflow-y: auto; } /*草图编辑器*/ .img-view{ height:400px; border:.2rem solid #ccc; position: relative; width:100%; overflow: hidden; } .img-view::after{ content:"草图编辑区"; color:#ddd; position: absolute; left:50%; top:50%; margin-left:-80px; margin-top:-24px; font-size:36px } .img-view .img-item{ position: absolute; } .img-view .img-item .img-bar{ position:absolute; right:0; top:0; display:none } .img-item:hover .img-bar{ display: block; } .batch-l-t{ height: 180px; overflow: hidden } .batch-l-b{ height: 320px; overflow: hidden } .batch-r { height:522px; overflow: hidden } /*打印工具栏*/ .print-toolsbar{ padding-bottom:5px } .print-toolsbar .panel { display:inline-block; vertical-align:top; background:#f7f7f9 } .print-toolsbar .panel .panel-body{ height:22px; } .print-toolsbar .panel .panel-foot{ text-align: center; font-size: 12px } .print-list { border-right:1px solid #ccc } .print-list .form-list { overflow: auto } .print-list .list-tools{ height:50px; padding:10px 0; border-bottom:1px solid #f2f2f2 } .pageContainer { background: #ededed; text-align: center } .pageContainer .page{ border:9px solid transparent; display: inline-block; } .pageContainer .page img{ width:inherit; height: inherit; } .pageContainer canvas{ background: #fff } .m-close-side{ position: absolute; right:-1px; top:250px; background: #f2f2f2; padding:30px 3px; } .m-close-side:hover{ background:#eae9e9; } .baobiao-close-side{ position: absolute; left:15px; top:250px; background: #e1e1e1 } .baobiao-close-side a{ color:#007bff; height:80px; line-height: 80px; display: inline-block } .baobiao-close-side:hover{ background:#007bff; } .baobiao-close-side:hover a{ color:#fff; } .edit-tag-btn{ display: none } .tag-item:hover .edit-tag-btn{ display: block } /*电子签名*/ .add-sign-list-item{ padding:.5rem .5rem .5rem 1rem; } .add-sign-list-item:hover{ box-shadow:0 0 3px rgba(0,0,0,.18) } .add-sign-list-item .btn-link { display: none } .add-sign-list-item:hover .btn-link { display: block } /*标段类表折叠收起*/ .fold-switch { cursor: pointer; } .fold-switch:hover{ color:#0056b3; } /*界面紧凑相关代码*/ body{ font-size:12px; } .btn-group-sm > .btn, .btn-sm{ font-size: 12px; padding:1px 0.6rem; } .panel-title, .panel-title > .title-bar{ height:34px; line-height: 30px; } .panel-title > .title-main .btn.pull-right { margin: 5px 0 0 0 } .panel-content{ padding-top:35px; overflow: hidden } .panel-content .content-wrap{ margin:0; } .table td, .table th { padding:.3rem; } .form-control-sm { font-size:12px; } label{ margin-bottom:.3rem; color:#757575; } .form-control-plaintext.form-control-lg, .form-control-plaintext.form-control-sm { padding-left:.5rem; background: #f2f2f280 } .invalid-feedback{ font-size:100%; } .modal-header{ padding:.5rem 1rem; cursor: move; } .modal-title{ font-size:16px; } .modal-footer { padding:.5rem 1rem } .modal-body h6,.modal-body h5{ font-size:12px; } .panel-title > .title-bar{ padding-left:10px; } .panel-sidebar .panel-title{ width:120px; } .panel-title > .title-bar > h2, .panel-title > .title-main > h2{ height:34px; line-height: 34px; font-size: 12px } .panel-title > .title-main .form-control { margin: 4px 0 0 0; } .panel-sidebar { width:120px; } .panel-sidebar .scrollbar-auto{ padding-top: 0; /*padding-top:35px;*/ } .panel-sidebar .show-back{ padding-top: 35px; } .nav-list li a{ padding-right:0px; height:30px; line-height: 30px } .nav-box h3{ margin-left:12px; } .nav-box > .sub-list > li > a{ padding-left:32px; } .panel-sidebar + .panel-content{ padding:35px 0 0 120px; overflow: hidden; } .contarl-box{ padding:1rem 1rem; } .min-side .side-menu { top:34px; } .panel-content .panel-title{ padding-left:230px; background: linear-gradient( #ccc,2%, #ffffff); } .nav-link{ padding:.3rem .5rem; } .side-menu .nav-link{ font-size:12px; } legend { font-size:16px; } .input-group-sm > .custom-select, .input-group-sm > .form-control:not(textarea) { height: calc(1.4125rem - 1px); } .input-group-sm>.form-control, .input-group-sm>.input-group-append>.btn, .input-group-sm>.input-group-append>.input-group-text, .input-group-sm>.input-group-prepend>.btn, .input-group-sm>.input-group-prepend>.input-group-text{ height: calc(1.4125rem - 1px); } .input-group-sm > .custom-select, .input-group-sm > .form-control, .input-group-sm > .input-group-append > .btn, .input-group-sm > .input-group-append > .input-group-text, .input-group-sm > .input-group-prepend > .btn, .input-group-sm > .input-group-prepend > .input-group-text { font-size:12px; padding:0rem .5rem; } .side-menu{ right:0; top:35px; } .form-control-sm{ /*height:calc(1.4125rem - 1px);*/ } .form-group { margin-bottom:.5rem; } .badge{ font-size:100%; } .sjs-height-0{ overflow: auto; } .nav-box h3{ margin-bottom:5px; } .min-side .side-menu{ padding-bottom:10px; } .side-show { position: absolute; z-index:8; right:0; top: 0; width: 15px; height: calc(100vh); } .side-fold { /*right:50px;*/ /*bottom:5px;*/ display:none; z-index:9; border-radius:2px; right:0; bottom:50%; width:6px; height:60px; line-height:60px; text-align:center; cursor:pointer; background-color: #2E6BE5; color: #fff; } .side-fold i{ font-size: 20px; vertical-align: text-bottom; } .side-fold a{ font-size:24px; } .min-side { /*padding-bottom:5px;*/ } .min-side .side-fold{ bottom:10px; } .min-side .side-fold a{ font-size:18px; } .form-text{ font-size:12px; } .btn-sm .badge{ font-size:10px; padding:.2em .4em; top:0; } .search-group { position: relative; } .search-group .remove-btn { position:absolute; right:10px; top:3px; } /*菜单栏系统维护图标*/ a.maintain-icon{ position:relative; } a.maintain-icon span{ position: absolute; left:110px; height:35px; line-height: 35px; width:390px; top:0; display:none; font-size:14px; } a.maintain-icon:hover span{ display: inline-block; } a.maintain-icon .fa{ -webkit-animation: shake_a 2s .2s ease both; -moz-animation: shake_a 2s .2s ease both; animation: shake_a 2s .2s ease both; animation-iteration-count:infinite } @-webkit-keyframes shake_a { 0%, 100% { -webkit-transform: rotate(0); } 10%, 30%, 50%, 70%, 90% { -webkit-transform: rotate(5deg); } 20%, 40%, 60%, 80% { -webkit-transform: rotate(-5deg); } } @-moz-keyframes shake_a { 0%, 100% { -moz-transform: rotate(0); } 10%, 30%, 50%, 70%, 90% { -moz-transform: rotate(5deg); } 20%, 40%, 60%, 80% { -moz-transform: rotate(-5deg); } } @keyframes shake_a { 0%, 100% { transform: rotate(0); } 10%, 30%, 50%, 70%, 90% { transform: rotate(5deg); } 20%, 40%, 60%, 80% { transform: rotate(-5deg); } } a.maintain-icon:hover .fa{ animation-iteration-count:0 } /*审批列表*/ .timeline-list .timeline-list-item{ position: relative; } .timeline-list-item .timeline-item-date{ width:50px; position:absolute; left:0px; text-align: center; color:#ccc; } .timeline-list-item .timeline-item-date span{ display: block; color: #333; text-align: center; } .timeline-list-item .timeline-item-tail{ position: absolute; top: 10px; left: 55px; height: calc(100% - 10px); border-left: 1px solid #ddd ; } .timeline-list-item .timeline-item-icon{ width:20px; height:20px; position: absolute; border-radius: 100px; text-align: center; line-height: 20px; left:45px; } .timeline-list-item .timeline-item-content{ position: relative; margin: 0 0 0 70px; word-break: break-word; } .book-list{ padding: 0; margin: 0; height: 285px; overflow-y: auto; } .book-list dt{ padding:5px 0 5px 5px; background-color: #f2f2f2; } .book-list dd{ padding-left:15px; cursor: pointer; } .book-list dd:hover{ background-color: #f2f2f2 } .dd-content { display: none; } .fold-card { display: none; } .att-file-btn { display: none; } .list-table tr:hover .att-file-btn{ display: inline-block; } .context-menu-icon.context-menu-icon--fa.text-success::before { color: #28a745;!important; } .context-menu-icon.context-menu-icon--fa.text-danger::before { color: #dc3545;!important; } .context-menu-icon.context-menu-icon--fa.text-warning::before { color: #da9500;!important; } .context-menu-icon.context-menu-icon--fa.text-info::before { color: #17a2b8;!important; } .context-menu-icon.context-menu-icon--fa.fa-tag span{ color: #2f2f2f;!important; } .context-menu-icon.context-menu-hover.context-menu-icon--fa.fa-tag span{ color: #fff;!important; } /*.auto-main-height{ height: calc(100vh - 34px); display: flex; flex-direction: column; } .auto-main-height .main-height-one{ flex-grow: 10; } .auto-main-height .main-height-two{ flex-grow: 30; } .auto-main-height .main-height-three{ flex-grow: 1; } .bottom-height{ height:300px; }*/ .bottom-height-two{ height: 300px; } .card-big-title{ font-size: 1.23rem; margin-bottom: .30rem; position: relative; } .card-big-title small{ position: absolute; right: -15px; top: -20px; } .circle-box{ float: left; position: relative; } .circle{ width: 62px; height: 62px; border-radius: 50%; background: none; border: 4px solid #D7B014; } .circle-num{ position: absolute; top: 50%; margin-top: -32px; width: 62px; text-align: center; font-size: 42px; font-weight: 500; } .circle-text{ float: right; margin-right: 20px; margin-top: 10px; font-size: 24px; } .dropdown-wd{ width: 80px; text-align: center; } .btn-blueOne{ color: #fff; background-color: rgba(24,144,255); border-color: rgba(24,144,255); } .btn-blueOne:hover,.btn-blueOne:active { color: #fff; background-color: rgba(24,144,255); border-color: rgba(24,144,255); box-shadow: 0 0 0 0.2rem rgba(24,144,255); } .btn-green{ color: #fff; background-color: rgba(69,183,149); border-color: rgba(69,183,149); } .btn-green:hover,.btn-green:active{ color: #fff; background-color: rgba(69,183,149); border-color: rgba(69,183,149); box-shadow: 0 0 0 0.2rem rgba(69,183,149); } .btn-yellow{ color: #fff; background-color: rgba(250,204,20); border-color: rgba(250,204,20); } .btn-yellow:hover,.btn-yellow:active{ color: #fff; background-color: rgba(250,204,20); border-color: rgba(250,204,20); box-shadow: 0 0 0 0.2rem rgba(250,204,20); } .btn-purple{ color: #fff; background-color: rgba(145,82,225); border-color: rgba(145,82,225); } .btn-purple:hover,.btn-purple:active { color: #fff; background-color: rgba(145,82,225); border-color: rgba(145,82,225); box-shadow: 0 0 0 0.2rem rgba(145,82,225); } .btn-blueTwo{ color: #fff; background-color: rgba(58,207,221); border-color: rgba(58,207,221); } .btn-blueTwo:hover,.btn-blueTwo:active { color: #fff; background-color: rgba(58,207,221); border-color: rgba(58,207,221); box-shadow: 0 0 0 0.2rem rgba(58,207,221); } .btn-red{ color: #fff; background-color: rgba(204,73,80); border-color: rgba(204,73,80); } .btn-red:hover,.btn-red:active { color: #fff; background-color: rgba(204,73,80); border-color: rgba(204,73,80); box-shadow: 0 0 0 0.2rem rgba(204,73,80); } .bg-blueOne{ color: #fff; background-color: rgba(24,144,255) !important; border-color: rgba(24,144,255) !important; } .bg-green{ color: #fff; background-color: rgba(69,183,149) !important; border-color: rgba(69,183,149,1) !important; } .bg-yellow{ color: #fff; background-color: rgba(250,204,20) !important; border-color: rgba(250,204,20,1) !important; } .bg-purple{ color: #fff; background-color: rgba(145,82,225) !important; border-color: rgba(145,82,225) !important; } .bg-blueTwo{ color: #fff; background-color: rgba(58,207,221) !important; border-color: rgba(58,207,221) !important; } .bg-red{ color: #fff; background-color: rgba(204,73,80) !important; border-color: rgba(204,73,80) !important; } .btn-relative{ position: relative; } .icon-absolute{ position: absolute; left: -3px; top: -9px; } .icon-size{ font-size: 38px !important; } .text-blueOne{ color: rgba(24,144,255); } .text-green{ color: rgba(69,183,149); } .text-yellow{ color: rgba(250,204,20); } .text-purple{ color: rgba(145,82,225); } .text-blueTwo{ color: rgba(58,207,221); } .text-red{ color: rgba(204,73,80); } .flex-content{ height: 98%; } .left-content,.center-content,.right-content{ height: 100vh; } .left-card-content,.center-chart-content,.right-chart-content{ height: 65%; } .center-di{ height: 49%; } .center-chart,.right-month,.right-chart{ height: 50%; } .di-content{ height: 100%; } .left-chart,.center-table,.right-biaoduan{ height: 30%; } .card .card-small-body{ padding: 0; } .card-per-body{ width: 100%; height: 100%; padding: 0; } .card .card-approve-title{ font-size: 2.80rem; position: relative; } .card .card-approve-title .card-approve-big{ position: absolute; left: 45%; bottom: -8px; } .card .card-approve-title small{ position: absolute; font-size: 0.15rem; bottom: -8px; left: 70%; } .card-case-title{ height: 50%; line-height: 200%; font-size: 1.50rem; } .card-case-text{ height: 50%; line-height: 200%; } .border-bottom-grey-1{ border-bottom: 1px solid rgba(0,0,0,.125); } .height-100{ height: 100%; } .height-99{ height: 99%; } .height-60{ height: 60%; } .height-50{ height: 50%; } .height-30{ height: 30%; } .height-36{ height: 38.7%; } .height-20{ height: 19%; } .height-25 { height: 24%; } .review_box{ height: 100%; overflow: hidden; } .right-bottom-50-fl{ width: 50%; float: left; } .right-month-height{ height: -webkit-calc(100% - 53px); height: -moz-calc(100% - 53px); height: calc(100% - 53px); } .list-comment{ margin: 0; padding: 0; } .tablebox { width: 100%; height: 100%; overflow: hidden; } .tablebox table { width:100%; } .tablebox table th,.tablebox table td { padding: 5px 10px; } .tablebox table th { color:#fff; /*background-color:#fff;*/ background-color:#2C3034; } .tablebox table tbody tr{ background-color:#2C3034; color: #fff; border-bottom: 1px solid rgba(0,0,0,.125); } .left-small-card-content,.right-small-card-content{ height: 12%; } .left-big-chart-content,.right-big-chart-content{ height: 83%; } .login-new-body{ width: 100%; height: 100%; /*background-position:25% 95%; background-size: 40% auto; display: inline-block; opacity: .8*/ /*animation: change 60s steps(1) infinite;*/ } .login-new-body.img-1{ width: 100%; height: 100%; /*background: url(bg/bg_001.jpg) no-repeat;*/ background:#192948 url(https://jiliang-qa.oss-cn-shenzhen.aliyuncs.com/loginimg/bg_01.jpg) no-repeat; background-size: 100% 100%; background-size:cover; /*background-size: contain;*/ } .login-new-body.img-2{ background:#192948 url(https://jiliang-qa.oss-cn-shenzhen.aliyuncs.com/loginimg/bg_02.jpg) no-repeat; background-size: 100% 100%; background-size:cover; /*background-size: contain;*/ } .login-new-body.img-3{ background:#192948 url(https://jiliang-qa.oss-cn-shenzhen.aliyuncs.com/loginimg/bg_03.jpg) no-repeat; background-size: 100% 100%; background-size:cover; /*background-size: contain;*/ } .login-new-body.img-4{ background:#192948 url(https://jiliang-qa.oss-cn-shenzhen.aliyuncs.com/loginimg/bg_04.jpg) no-repeat; background-size: 100% 100%; background-size:cover; /*background-size: contain;*/ } .login-new-body.img-5{ background:#192948 url(https://jiliang-qa.oss-cn-shenzhen.aliyuncs.com/loginimg/bg_05.jpg) no-repeat; background-size: 100% 100%; background-size:cover; /*background-size: contain;*/ } .login-new-body.img-6{ background:#192948 url(https://jiliang-qa.oss-cn-shenzhen.aliyuncs.com/loginimg/bg_06.jpg) no-repeat; background-size: 100% 100%; background-size:cover; /*background-size: contain;*/ } .login-new-body.img-7{ background:#192948 url(https://jiliang-qa.oss-cn-shenzhen.aliyuncs.com/loginimg/bg_07.jpg) no-repeat; background-size: 100% 100%; background-size:cover; /*background-size: contain;*/ } .login-new-body.img-8{ background:#192948 url(https://jiliang-qa.oss-cn-shenzhen.aliyuncs.com/loginimg/bg_08.jpg) no-repeat; background-size: 100% 100%; background-size:cover; /*background-size: contain;*/ } .login-new-body.img-9{ background:#192948 url(https://jiliang-qa.oss-cn-shenzhen.aliyuncs.com/loginimg/bg_09.jpg) no-repeat; background-size: 100% 100%; background-size:cover; /*background-size: contain;*/ } /*@keyframes change { 0% { background-image: url(bg/bg_06.png); } 16% { background-image: url(bg/bg_01.png); } 32% { background-image: url(bg/bg_02.png) } 48% { background-image: url(bg/bg_03.png) } 64% { background-image: url(bg/bg_04.png) } 80% { background-image: url(bg/bg_05.png) } }*/ /*.login-new-b{ border-right: 2px solid rgba(255, 255, 255, 0.6); }*/ .logo-big-title{ font-size: 20px; } .logo-sm-title{ font-size: 14px; color: rgba(255, 255, 255, 0.8); } .logo-parent{ display: flex; align-items: center; /* 🔹让图标和文字整体上下居中 */ justify-content: flex-start; box-sizing: border-box; height: 55px; /* 固定高度 */ overflow: hidden; /* 防止内容超出 */ box-sizing: border-box; } .logo-project-name{ flex: 1; line-height: 1.4; /* 行高 */ display: -webkit-box; /* Flex-like box for WebKit */ -webkit-box-orient: vertical; -webkit-line-clamp: 2; /* 最多显示3行 */ overflow: hidden; text-overflow: ellipsis; word-break: break-word; } .side-border{ width: 2px; height: 24px; background: rgba(255, 255, 255, 0.6); } .top-subtitle{ font-size: 20px; font-weight: 500; color: rgb(255, 255, 255); } .login-new-body .container{ width: 936px; margin: 0 auto; } .login-new-body .content-center{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -45%); } .left-login{ width: 428px; height: 462px; border-radius: 8px; background: rgba(51, 119, 255, 0.9); box-shadow: 6px 0px 6px rgba(0, 0, 0, 0.16); } .right-login{ width: 414px; height: 418px; border-radius: 0 8px 8px 0; background: rgba(255, 255, 255, 1); } .right-login .position-absolute{ right: 12px; top: 12px; } .left-login-title{ font-size: 24px; line-height: 48px; } .login-border{ width: 48px; height: 4px; background: rgba(255, 255, 255, 1); } .erweima img{ width: 240px; height: 240px; padding: 12px; background: #fff; border: 1px solid rgba(0, 0, 0, 0.12); border-radius: 4px; } .right-login .bottom-text{ padding-top: 5px; font-size: 14px; line-height: 18px; color: rgba(0, 0, 0, 0.6); } .card-icon{ display: inline-block; width: 4px; height: 12px; background: rgba(51, 119, 255, 1); } .agency-partheight{ height: calc((100vh - 155px) / 2); /*background:rgba(82, 196, 26, 1);*/ } .contant-height-one{ height: calc(((100vh - 165px) / 2) - 65px); overflow-y: auto; } .contant-height-two{ height: calc(((100vh - 165px) / 2) - 178px); overflow-y: auto; } .contant-height-three{ height: calc(((100vh - 165px) / 2) - 118px); overflow-y: auto; } .btn-table{ width: 70px; text-align: center; } .bg-new-advance{ background: rgba(241, 82, 91, 0.08) !important; } .bg-new-ledger{ background: rgba(250, 140, 22, 0.08) !important; } .bg-new-revise{ background: rgba(251, 182, 45, 0.08) !important; } .bg-new-stage{ background: rgba(82, 196, 26, 0.08) !important; } .bg-new-changeProject{ background: rgba(51, 119, 255, 0.08) !important; } .bg-new-changePlan{ background: rgba(114, 46, 209, 0.08) !important; } .bg-new-change{ background: rgba(22, 208, 208, 0.08) !important; } .bg-new-changeApply{ background: rgba(41, 58, 210, 0.08) !important; } .bg-new-material{ background: rgba(187, 41, 210, 0.08) !important; } .bg-new-payment{ background: rgba(128, 128, 0, 0.08) !important; } .bg-new-financial{ background: rgba(58, 88, 50, 0.08) !important; } .bg-new-inspection{ background: rgba(158, 88, 80, 0.08) !important; } .bg-new-phasepay{ background: rgba(200, 51, 6, 0.08) !important; } .bg-new-coststage{ background: rgba(0, 14, 126, 0.08) !important; } .bg-new-19{ background: rgba(23, 144, 180, 0.08) !important; } .bg-new-20{ background: rgba(120, 98, 83, 0.08) !important; } .bg-new-21{ background: rgba(196, 90, 101, 0.08) !important; } .bg-new-22{ background: rgba(211, 162, 55, 0.08) !important; } .bg-new-23{ background: rgba(46, 32, 29, 0.08) !important; } .text-new-advance{ color: rgba(241, 82, 91, 1) !important; } .text-new-ledger{ color: rgba(250, 140, 22, 1) !important; } .text-new-revise{ color: rgba(251, 182, 45, 1) !important; } .text-new-stage{ color: rgba(82, 196, 26, 1) !important; } .text-new-changeProject{ color: rgba(51, 119, 255, 1) !important; } .text-new-changePlan{ color: rgba(114, 46, 209, 1) !important; } .text-new-change{ color: rgba(22, 208, 208, 1) !important; } .text-new-changeApply{ color: rgba(41, 58, 210, 1) !important; } .text-new-material{ color: rgba(187, 41, 210, 1); !important; } .text-new-payment{ color: rgba(128, 128, 0, 1) !important; } .text-new-financial{ color: rgba(58, 88, 50, 1) !important; } .text-new-inspection{ color: rgba(158, 58, 80, 1) !important; } .text-new-phasepay{ color: rgba(200, 51, 6, 1) !important; } .text-new-coststage{ color: rgba(0, 14, 126, 1) !important; } /* 以下为待使用颜色, 使用时请修改名称 */ .text-new-19{ /* 群青 */ color: rgba(23, 144, 180, 1) !important; } .text-new-20{ /* 沉香 */ color: rgba(120, 98, 83, 1) !important; } .text-new-21{ /* 梅红 */ color: rgba(196, 90, 101, 1) !important; } .text-new-22{ /* 鞠衣 */ color: rgba(211, 162, 55, 1) !important; } .text-new-23{ /* 玄天 */ color: rgba(46, 32, 29, 1) !important; } .text-width{ width: 66px; text-align: center; } .table-middle td, .table-middle th{ padding: 0.6rem; } .table-middle .thead-light th { color: #495057; background-color: rgba(250, 250, 250, 1); border-color: #dee2e6; } .table-middle thead th{ border-bottom: none; } .card-big-htext{ font-size: 18px; } .card-white{ background: rgba(255, 255, 255, 1) !important; border-bottom: none; } .canyu-width{ height: 98px; } .canyu-pill{ height: 72px; border-radius: 40px; } .canyu-pill .icon{ width: 40px; height:40px; line-height: 40px; text-align: center; border-radius: 40px; background: #fff; display: inline-block; float: left; font-size:24px; } .canyu-pill h5{ margin-left:50px; margin-bottom: 4px } .canyu-pill h6{ margin-left:50px; font-size: 12px } .canyu-bg-blue{ background: url(bg_participate_blue.png) no-repeat ; background-size: 100% 100%; } .canyu-bg-yellow{ background: url(bg_participate_orange.png) no-repeat ; background-size: 100% 100%; } .canyu-pill.canyu-bg-blue{ background: url(bg_participate_blue2.png) no-repeat ; background-size: 100% 100%; } .canyu-pill.canyu-bg-yellow{ background: url(bg_participate_orange2.png) no-repeat ; background-size: 100% 100%; } .canyu-bg-yellow .icon{ color:#ff8033; } .canyu-bg-blue .icon{ color:#009DFF; } .canyu-text{ font-size: 36px; } .canyu-band{ height: 100%; padding-top: 5% } .canyu-band h1{ text-align: center; font-size:72px; } .canyu-band h3{ text-align: center; font-size:18px; } .canyu-band.text-success{ background:linear-gradient(#fff 30%, #28a745 350%); } .canyu-band.text-danger{ background:linear-gradient(#fff 30%, #dc3545 350%); } .list-text-vertical{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .about-text i{ margin-top: -5px; display: inline-block; width: 24px; height: 24px; vertical-align:middle; } .about-text i.about-qq{ background: url(about.png) no-repeat -8px -10px; } .about-text i.about-phone{ background: url(about.png) no-repeat -8px -40px; } .about-text i.about-tel{ background: url(about.png) no-repeat -8px -70px; } .about-text span{ font-size: 1.2rem; } /*@media (min-width: 768px){ .weixin-erweima img{ width:90%; height:auto; } }*/ .weixin-erweima img{ width:75%; height:auto; } .weixin-erweima span{ display: inline-block; width: 75%; } .small-text{ font-size: 0.75rem !important; font-weight: 400; } .chaosong{ margin: 0 0 0 70px; height: 300px; } .inputErrow{ -webkit-animation:shake 1s .2s ease both; -moz-animation:shake 1s .2s ease both; animation:shake 1s .2s ease both;} @-webkit-keyframes shake{ 0%,100%{-webkit-transform:translateX(0);} 10%,30%,50%,70%, 90%{-webkit-transform:translateX(-10px);} 20%,40%,60%,80%{-webkit-transform:translateX(10px);} } @-moz-keyframes shake{ 0%,100%{-moz-transform:translateX(0);} 10%,30%,50%,70%, 90%{-moz-transform:translateX(-10px);} 20%,40%,60%,80%{-moz-transform:translateX(10px);} } @keyframes shake{ 0%,100%{transform:translateX(0);} 10%,30%,50%,70%, 90%{transform:translateX(-10px);} 20%,40%,60%,80%{transform:translateX(10px);} } .margin-inputbox{ margin-top: -4px; } .margin-inputbox .height-inputbox{ height: 30px !important; } .card-gk-width{ width: 352px; border: none; cursor: pointer; } .card-gk-width:hover{ background: #f7f7f7; } .modal-body .card-gk-title{ font-size: 16px; } .card-gk-active{ border: 1px solid #3377FF; } .card-upload-width{ width: 130px; height:130px; } .card-upload-width:hover{ background: #f7f7f7; border: none; } .card-upload-active{ border: 1px solid; } .sel-width{ width: 20px; height: 20px; } .sel-blue{ background: url(sel_blue.png); } .card-gk-width:hover .sel-gary{ background: url(sel_gary.png); } .card-gk-bottom{ display:none ; } .card-gk-active .card-gk-bottom{ display: inline-block; } .stamp-img{ cursor: pointer; } .private-stamp-img{ display: inline-block; margin: auto; vertical-align: middle; } .private-stamp-img .check-state{ position: absolute; right: 10px; top: 10px; } .signatureRptBar{ position: absolute; top: 0; bottom: 0; background: transparent; left: 0; right: 0; } .signatureCavans{ background: transparent!important; } .span-grey{ background: #657798; } .span-red{ background: #EE6666; } .span-blue{ background: #74CBED; } .span-yellow{ background: #FAC858; } .span-green{ background: #62DAAB; } .form-control-width{ min-width: 450px; } .form-control-s-width{ min-width: 280px; } .vertical-middle{ display: flex; margin: auto; } .list-waring{ background-color: #ffeeba!important; } .permission-div { border: 1px solid rgba(0,0,0,.1); margin: .5rem 0; padding: .5rem; } .permission-title { font-size: 14px; padding-bottom: .5rem; margin-bottom: .5rem; border-bottom: 1px solid rgba(0,0,0,.1); } .right-duiqi { display: inline-block; width: 70px; text-align: right; line-height: 25px; } .ws-icon{ width: 30px; height: 30px; border-radius: 20%; text-align: center; vertical-align: middle; margin-top: auto; line-height: 30px; /* border: 1px solid #000;*/ /* border-color: #f5c6cb;*/ } .ws-icon-danger{ color: rgb(251, 56, 56); background-color: rgb(253, 205, 197); } .ws-icon-primary{ color: rgb(22, 93, 255); background-color: rgb(232, 243, 255); } .ws-icon-warning{ color: rgb(253, 172, 33); background-color: rgb(255, 228, 186); } .nav-tabs-wrapper { overflow-x: auto; overflow-y: hidden; white-space: nowrap; } /* 去掉滚动条(可选) */ .nav-tabs-wrapper::-webkit-scrollbar { height: 6px; } .nav-tabs-wrapper::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; } .ai-upload-area { border: 2px dashed #d9d9d9; border-radius: 8px; padding: 24px; text-align: center; cursor: pointer; transition: border-color 0.2s; border-color: #007bff; color: #007bff; } .ai-upload-area:hover, .ai-upload-area.dragover { border-color: #0069d9; background: #f3f8ff; } .ai-upload-result { display: flex; align-items: center; justify-content: center; padding: 8px 0; font-size: 14px; } .ai-notice { background: #fff8ec; border: 1px solid #ffe6b8; border-radius: 6px; padding: 10px 14px; font-size: 13px; } .ai-notice-title { font-weight: 500; color: #b8780a; margin-bottom: 4px; } .ai-notice-list { margin: 0; padding-left: 18px; color: #6b6b6b; } .ai-notice-list li { margin-bottom: 2px; } .ai-notice-divider { border-top: 1px solid #ffe6b8; margin: 8px 0; } /* ai按钮css */ .ai-btn { position: relative; border: 1px solid rgba(255,255,255,0.15); color: #fff; cursor: pointer; overflow: hidden; background: linear-gradient( 270deg, #a855f7, #ec4899, #f59e0b, #a855f7 ); background-size: 400% 400%; animation: aiGradient 6s ease infinite; box-shadow: 0 0 6px rgba(0, 245, 255, 0.5), 0 0 12px rgba(139, 92, 246, 0.35); transition: all 0.3s ease; } .ai-btn::before { content: ''; position: absolute; top: 0; left: -120%; width: 80%; height: 100%; background: linear-gradient( 120deg, transparent, rgba(255,255,255,0.35), transparent ); transform: skewX(-25deg); animation: shine 3s infinite; } .ai-btn:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 0 8px rgba(0, 245, 255, 0.8), 0 0 14px rgba(139, 92, 246, 0.6); } @keyframes aiGradient { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } @keyframes shine { 0% { left: -120%; } 100% { left: 150%; } } .ai-section-label { font-size: 13px; font-weight: 500; color: #555; margin-bottom: 6px; } .ai-existing-files-list { max-height: 160px; overflow-y: auto; border: 1px solid #eee; border-radius: 6px; padding: 4px 8px; } .ai-existing-file-item { padding: 4px 0; border-bottom: 1px solid #f5f5f5; } .ai-existing-file-item:last-child { border-bottom: none; } .ai-existing-file-item label { margin-bottom: 0; cursor: pointer; } .attribute-scroll-area { max-height: 180px; overflow-y: auto; overflow-x: hidden; padding: 10px 10px 0; border: 1px solid #dee2e6; border-radius: 4px; /*background: #fafafa;*/ } .attribute-fields-group .btn { text-align: left; } .attribute-fields-group .form-group { margin-bottom: .75rem; } /* 项目大屏与模块管理 */ .project-screen-page { overflow: hidden; background: #fff; } .project-screen-manage-body { min-height: 0; height: calc(100vh - 142px); max-height: calc(100% - 58px); flex: 0 0 auto !important; } .project-screen-panel-card { min-height: 0; } .project-screen-card-title { height: 53px; background: #fff; } .project-screen-module-title { font-size: 14px; font-weight: 600; } .project-screen-detail-title { font-size: 14px; font-weight: 600; } .project-screen-panel-card > .card-header { flex-shrink: 0; } .project-screen-panel-card > .card-body { min-height: 0; } .project-screen-module-tabs .nav-link { height: 100%; display: flex; align-items: center; padding: 0 18px; border: 0; border-bottom: 2px solid transparent; color: #6c757d; background: transparent; font-size: 14px; } .project-screen-module-tabs .nav-link:hover { color: #007bff; border-bottom-color: #b8d4ff; } .project-screen-module-tabs .nav-link.active { color: #007bff; border-bottom-color: #007bff; background: transparent; font-weight: 600; } .project-screen-module-item { width: auto; margin: 4px 10px; border: 1px solid transparent !important; border-radius: 4px !important; font-size: 14px; } .project-screen-module-item > span:first-child { font-weight: 600; } .project-screen-module-item > span:last-child { font-size: 12px; font-weight: 400; } .project-screen-module-item.active { color: #007bff; border-color: #cfe0ff !important; background: #eaf2ff; } .project-screen-setting-content { min-height: 0; overflow: hidden; } .project-screen-config-columns { position: relative; } .project-screen-config-columns:after { content: ""; position: absolute; top: 20px; bottom: 20px; left: 25%; width: 1px; background: #e6e9f0; pointer-events: none; } .project-screen-list-item { width: auto; margin: 4px 10px; border: 1px solid transparent !important; border-radius: 4px !important; } .project-screen-list-item.active { color: #212529; border-color: #cfe0ff !important; background: #eaf2ff; } .project-screen-list-item.active > span:first-child { font-weight: 600; } .project-screen-search { width: 280px; } .project-screen-sticky-head { position: sticky; top: 0; z-index: 10; background: #fff; } .project-screen-preview-stage { width: calc(100% - 32px); max-height: calc(100% - 32px); aspect-ratio: 1.05 / 1; margin: 16px; border-radius: 4px; background: #dfe2ec; } .project-screen-preview { width: 86%; max-width: 650px; min-width: 360px; height: auto; aspect-ratio: 16 / 9; display: grid; grid-template-columns: 22% 1fr; overflow: hidden; border: 6px solid #f1f2f7; background: #f8f9fa; } .project-screen-preview-nav { padding: 16px 12px; background: #4d7881; } .project-screen-preview-nav span { display: block; width: 30px; height: 30px; margin-bottom: 24px; border-radius: 4px; background: #6f8cff; } .project-screen-preview-nav i { display: block; width: 78%; height: 8px; margin: 14px 0; border-radius: 10px; background: rgba(231,244,247,.7); } .project-screen-preview-content { display: grid; grid-template-rows: 38px 1fr; gap: 12px; padding: 14px; } .project-screen-preview-content header, .project-screen-preview-content aside, .project-screen-preview-content main { border: 1px solid #dee2e6; background: #fff; } .project-screen-preview-content section { display: grid; grid-template-columns: 34% 1fr; gap: 12px; } .project-screen-preview-content main { position: relative; overflow: hidden; background: #edf1ff; } .project-screen-preview-content main:before, .project-screen-preview-content main:after { content: ""; position: absolute; border-radius: 50%; background: #c9d6ff; } .project-screen-preview-content main:before { width: 28%; aspect-ratio: 1 / 1; right: 12%; top: 12%; } .project-screen-preview-content main:after { width: 55%; aspect-ratio: 1 / 1; right: 18%; bottom: -42%; } .project-screen-preview-guangyuan .project-screen-preview-nav { background: #295f70; } .project-screen-template-item { cursor: pointer; } .project-screen-template-item.added { cursor: not-allowed; opacity: .6; } .project-screen-template-preview { height: 120px; display: grid; place-items: center; background: #e9ecef; } .project-screen-template-preview > div { width: 82%; height: 85px; display: grid; grid-template-columns: 22% 1fr; border: 4px solid #ced4da; background: #4d7881; } .project-screen-template-preview > div:after { content: ""; margin: 7px; background: #f8f9fa; } .project-screen-view-page { height: 100vh; padding: 18px; color: #dce9ff; background: #07152e; } .project-screen-view-head { height: 55px; display: flex; justify-content: space-between; align-items: flex-start; } .project-screen-view-head strong, .project-screen-view-head span { display: block; } .project-screen-view-head span { margin-top: 3px; color: #83a4d7; font-size: 12px; } .project-screen-view-tabs { display: flex; gap: 8px; } .project-screen-view-tabs a { padding: 7px 12px; border: 1px solid #244b78; border-radius: 5px; color: #8fb4e6; } .project-screen-view-tabs a.active { color: #fff; border-color: #3c88e8; background: #153c6b; } .project-screen-live { height: calc(100% - 55px); padding: 16px; border: 1px solid #1d4f83; background: linear-gradient(135deg,#081a36,#0c2a4d); } .project-screen-live-title { margin-bottom: 15px; text-align: center; font-size: 22px; letter-spacing: 5px; } .project-screen-live-grid { height: calc(100% - 48px); display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; } .project-screen-live-grid section { padding: 14px; border: 1px solid #1b568f; background: rgba(8,33,65,.76); } .project-screen-live-grid h6 { color: #78bafa; } .project-screen-live-grid section div { height: calc(100% - 25px); background: linear-gradient(180deg,rgba(30,99,156,.22),rgba(9,42,77,.06)); } /* 标段概况:指标卡片与图表布局 */ /* Scoped to the tender overview; preserve the user's day/night display setting. */ .tender-overview #big-data{--ov-bg:#2c3237;--ov-card:#343a40;--ov-line:#48515a;--ov-text:#edf3fa;--ov-muted:#aab6c3;background:var(--ov-bg)} .tender-overview #big-data:has(.c-body-white){--ov-bg:#eef3f8;--ov-card:#fff;--ov-line:#dce5ee;--ov-text:#25394d;--ov-muted:#657b90} .tender-overview .c-body{background:var(--ov-bg)!important;color:var(--ov-text)} .tender-overview .main-height-one>.m-3,.tender-overview .main-height-two>.m-3{margin:20px!important} .tender-overview .overview-metrics{margin:0 0 18px!important} .tender-overview .overview-metrics>.col-12{padding:0} .tender-overview .overview-metrics>.col-12>.row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0} .tender-overview .overview-metrics .col-auto{padding:0;width:auto;min-width:0} .tender-overview .card{background:var(--ov-card);border:1px solid var(--ov-line);border-radius:6px;box-shadow:none;color:var(--ov-text)} .tender-overview .overview-metrics .card{height:100%;text-align:left!important;border-top:3px solid #469eff;background:linear-gradient(140deg,rgba(70,158,255,.10),transparent),var(--ov-card)} .tender-overview .overview-metrics .col-auto:nth-of-type(n+5) .card{border-top-color:#38bf82;background:linear-gradient(140deg,rgba(56,191,130,.09),transparent),var(--ov-card)} .tender-overview .overview-metrics .card-body{padding:16px;display:flex;flex-direction:column-reverse;gap:12px} .tender-overview .overview-metrics .card-title{font-size:clamp(17px,1.45vw,26px);font-weight:600;letter-spacing:-.5px;font-variant-numeric:tabular-nums;margin:0;overflow-wrap:anywhere} .tender-overview .overview-metrics .card-text{font-size:12px;margin:0;color:var(--ov-muted)!important} .tender-overview .card-big-title small{position:static;font-size:12px;margin-left:4px;color:#efb66d!important} .tender-overview .overview-progress{padding:16px;background:var(--ov-card);border:1px solid var(--ov-line);border-radius:6px} .tender-overview .overview-progress-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:12px;color:var(--ov-muted);flex-wrap:wrap} .tender-overview .overview-progress-label strong{color:var(--ov-text);font-size:14px;font-weight:500} .tender-overview .overview-dot{display:inline-block;width:7px;height:7px;margin:0 5px 1px 12px;border-radius:50%} .tender-overview .previous{background:#38bf82}.tender-overview .current{background:#469eff}.tender-overview .remaining{background:#718293} .tender-overview .progress{height:14px;border-radius:4px;background:#48515a} .tender-overview .progress .bg-red{background:#718293!important}.tender-overview .progress .bg-green{background:#38bf82!important}.tender-overview .progress .bg-blue{background:#469eff!important} .tender-overview .overview-charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr) minmax(0,1.15fr);gap:16px;margin:0} .tender-overview .overview-charts>.col-3,.tender-overview .overview-charts>.col-6{max-width:none;width:auto;padding:0;min-width:0} .tender-overview .overview-charts>.col-3{display:flex;flex-direction:column;gap:16px} .tender-overview .overview-charts>.col-3>.card{flex:1;margin:0!important} .tender-overview .overview-charts>.col-6>.card{height:100%;margin:0!important} .tender-overview .overview-charts>.col-6:nth-child(4){grid-column:span 2} .tender-overview .card-header{padding:16px;background:transparent;border-bottom:0} .tender-overview .card-header h6{border-left:3px solid #469eff;padding-left:10px;font-size:14px;font-weight:600} .tender-overview .overview-charts .card-body{padding:16px} .tender-overview #jlchart1,.tender-overview #jlchart2,.tender-overview #bgchart{height:145px!important;min-width:0} .tender-overview #jlchart3{height:375px!important} .tender-overview .panel-card-tabs{margin:0;gap:12px;flex-wrap:wrap;border:0} .tender-overview .panel-card-tabs .nav-link{padding:0 0 7px!important;font-size:13px;color:var(--ov-muted);border:0;border-bottom:2px solid transparent;background:transparent} .tender-overview .panel-card-tabs .nav-link.active{color:#67b7ff;border-bottom-color:#67b7ff;background:transparent} .tender-overview .border-secondary{border-color:var(--ov-line)!important} .tender-overview #big-data:fullscreen{overflow:auto;width:100%;height:100vh} @media(max-width:1450px){ .tender-overview .overview-charts{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)} .tender-overview .overview-charts>.col-3:nth-child(3){grid-column:span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))} .tender-overview .overview-charts>.col-6:nth-child(4){grid-column:auto} } @media(max-width:900px){ .tender-overview .overview-metrics>.col-12>.row{grid-template-columns:repeat(2,minmax(0,1fr))} .tender-overview .overview-charts{grid-template-columns:minmax(0,1fr)} .tender-overview .overview-charts>.col-3:nth-child(3){grid-column:auto;display:flex} .tender-overview .main-height-one>.m-3,.tender-overview .main-height-two>.m-3{margin:12px!important} } @media(min-width:1451px){ .tender-overview .overview-charts{grid-template-columns:repeat(12,minmax(0,1fr))} .tender-overview .overview-charts>.col-3:first-child{grid-column:span 3} .tender-overview .overview-charts>.col-6:nth-child(2){grid-column:span 5} .tender-overview .overview-charts>.col-3:nth-child(3){grid-column:span 4} .tender-overview .overview-charts>.col-6:nth-child(n+4){grid-column:span 6} } .tender-overview #big-data:fullscreen{overflow:hidden} .tender-overview #big-data:fullscreen .sjs-height-0{height:calc(100vh - 70px)!important;overflow:auto} /* Desktop overview fits the viewport, with both trend charts visible. */ @media(min-width:1451px) and (min-height:930px){ .tender-overview .sjs-height-0{display:flex;flex-direction:column;overflow:hidden;padding:12px;gap:12px;box-sizing:border-box} .tender-overview .main-height-one{flex:none} .tender-overview .main-height-one>.m-3,.tender-overview .main-height-two>.m-3{margin:0!important} .tender-overview .overview-metrics{margin-bottom:10px!important} .tender-overview .overview-metrics>.col-12>.row{gap:8px} .tender-overview .overview-metrics .card-body{padding:10px 14px;gap:6px} .tender-overview .overview-metrics .card-title{font-size:22px} .tender-overview .overview-progress{padding:10px 14px} .tender-overview .overview-progress-label{margin-bottom:7px} .tender-overview .progress{height:10px} .tender-overview .main-height-two{flex:1;min-height:0} .tender-overview .main-height-two>.m-3{height:100%} .tender-overview .overview-charts{height:100%;grid-template-rows:minmax(0,1.35fr) minmax(0,1fr);gap:12px} .tender-overview .overview-charts>.col-3{gap:12px;min-height:0} .tender-overview .overview-charts>.col-6{min-height:0} .tender-overview .overview-charts .card{min-height:0;display:flex;flex-direction:column} .tender-overview .overview-charts .card-header{flex:none;padding:10px 12px} .tender-overview .overview-charts .card-body{flex:1;min-height:0;padding:10px 12px} .tender-overview #jlchart1,.tender-overview #jlchart2,.tender-overview #jlchart3,.tender-overview #bgchart,.tender-overview #chartContainer3,.tender-overview #chartContainer4{height:100%!important} .tender-overview .overview-charts .tab-content,.tender-overview .overview-charts .tab-pane{height:100%} .tender-overview .overview-charts>.col-6:nth-child(2)>.card>div[style]{height:100%!important;min-height:0} .tender-overview .overview-charts>.col-6:nth-child(2) img{height:100%!important;object-fit:contain} .tender-overview #big-data:fullscreen #exitfull-div{height:34px!important} .tender-overview #big-data:fullscreen .sjs-height-0{height:calc(100vh - 34px)!important;overflow:hidden} } @media(min-width:1451px) and (min-height:930px){ .tender-overview .sjs-height-0{height:calc(100vh - 36px)!important} } /* 顶部金额整体卡片:与下方图表共用颜色及标题样式。 */ .tender-overview .overview-summary{background:linear-gradient(180deg,transparent,var(--ov-card)),linear-gradient(110deg,#654149 0%,#65503c 33%,#354f6b 67%,#36594d 100%);border:1px solid var(--ov-line);border-radius:6px;color:var(--ov-text);overflow:hidden} .tender-overview #big-data:has(.c-body-white) .overview-summary{background:linear-gradient(180deg,transparent,#fff),linear-gradient(110deg,#f9e6ea 0%,#faeddd 33%,#e1eefb 67%,#e1f2e9 100%)} .tender-overview .overview-summary-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:0} .tender-overview .overview-summary-heading h6{margin:0;border-left:3px solid #469eff;padding-left:10px;font-size:14px;font-weight:600} .tender-overview .overview-summary-heading>span{font-size:11px;color:var(--ov-muted)} .tender-overview .overview-payment-heading{display:flex;align-items:center;justify-content:space-between} .tender-overview .overview-payment-heading>span{font-size:12px;color:var(--ov-muted)} .tender-overview .overview-charts .overview-payment{display:flex;flex-direction:column;justify-content:space-around;gap:12px;min-height:145px} .tender-overview .overview-payment-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;color:var(--ov-muted)} .tender-overview .overview-payment-label strong{color:var(--ov-text);font-weight:500;font-variant-numeric:tabular-nums} .tender-overview .overview-payment-track{height:8px;border-radius:5px;background:var(--ov-line);overflow:hidden} .tender-overview .overview-payment-track>span{display:block;height:100%;border-radius:inherit} .tender-overview .overview-charts .overview-completion{display:flex;flex-direction:column;gap:4px;min-height:145px} .tender-overview .overview-completion-main{display:grid;grid-template-columns:36% 64%;align-items:center;flex:1;min-height:0} .tender-overview .overview-completion-legend{display:flex;flex-direction:column;gap:14px;font-size:12px;color:var(--ov-muted)} .tender-overview .overview-completion-legend>div{display:flex;align-items:center;gap:6px} .tender-overview .overview-completion-legend i{width:8px;height:8px;border-radius:2px;flex:none} .tender-overview .overview-completion-ring{position:relative;height:100%;min-height:110px;min-width:0} .tender-overview .overview-completion-ring #jlchart1{width:100%;height:calc(100% + 32px)!important;position:absolute;top:-16px;left:0} .tender-overview .overview-completion-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;pointer-events:none;text-align:center;white-space:nowrap} .tender-overview .overview-completion-center strong{font-size:var(--completion-value-size,16px);line-height:1.2;margin:0;font-weight:500;color:var(--ov-text);font-variant-numeric:tabular-nums} .tender-overview .overview-completion-center span,.tender-overview .overview-completion-amount{font-size:12px;color:var(--ov-muted)} .tender-overview .overview-completion-center span{font-size:var(--completion-label-size,10px);line-height:1.2;margin:0} .tender-overview .overview-completion-amount{flex:none} .tender-overview .overview-approval-money{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--ov-line);font-size:12px;line-height:1.4} .tender-overview .overview-approval-money>div{padding:0;max-width:none;width:auto;margin:0!important} .tender-overview .overview-approval-money>.col-7{color:var(--ov-muted)} .tender-overview .overview-approval-money>.col-5{color:var(--ov-text);font-weight:500;font-variant-numeric:tabular-nums} .tender-overview .overview-material-summary{grid-template-columns:minmax(0,1fr) minmax(140px,1fr)} .tender-overview .overview-material-values{display:flex;justify-content:flex-end;align-items:baseline;gap:6px} .tender-overview .overview-material-values>span{overflow-wrap:anywhere} /* 审批卡片共用底部对齐,嵌套的调差容器不额外占用留白。 */ @media(min-width:1451px) and (min-height:930px){ .tender-overview .overview-charts .card-body:has(>div>.overview-approval-money){display:flex;flex-direction:column} .tender-overview .overview-charts .card-body>div:has(>.overview-approval-money){display:flex;flex-direction:column;flex:1;min-height:0} .tender-overview .overview-charts #taizhangxiuding>.card-body{height:100%;box-sizing:border-box} .tender-overview .overview-charts .overview-approval-money{margin-top:auto;padding-top:10px;padding-bottom:6px} .tender-overview .overview-charts .card-body>div:has(>.overview-approval-money)>.row:not(.overview-approval-money){margin-bottom:10px} .tender-overview #big-data:fullscreen .card-body>div:has(>.overview-approval-money)>.btn-group{margin-top:auto!important;flex-shrink:0} .tender-overview #big-data:fullscreen .card-body>div:has(>.overview-approval-money)>.row:not(.overview-approval-money){margin-bottom:0;flex-shrink:0} } .tender-overview .overview-material-values>small{font-size:12px;font-weight:400;color:var(--ov-muted)} .tender-overview .overview-material-money{width:100%;table-layout:fixed;background:transparent;color:var(--ov-text);margin-top:4px;border:0;font-size:12px;line-height:1.4} .tender-overview .overview-material-money th,.tender-overview .overview-material-money td{border:0;padding:3px 8px;background:transparent;vertical-align:middle;overflow-wrap:anywhere} .tender-overview .overview-material-money th{color:var(--ov-muted);font-weight:400} .tender-overview .overview-material-money th:first-child{width:22%;padding-left:0;text-align:left} .tender-overview .overview-material-money thead th{text-align:right;padding-top:0;padding-bottom:3px;border-bottom:1px solid var(--ov-line);font-size:12px} .tender-overview .overview-material-money tr>:last-child{padding-right:0} .tender-overview .overview-material-money td{font-size:12px;font-weight:500;text-align:right;font-variant-numeric:tabular-nums} .tender-overview .overview-charts .card-body:has(>#taizhangshenpi.active), .tender-overview .overview-charts .card-body:has(>.tab-content>#taizhangshenpi.active){padding-top:0} .tender-overview .overview-change-counts{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));height:100%;min-height:120px} .tender-overview .overview-change-group{display:flex;align-items:flex-start;padding:4px 0 12px;min-height:0} .tender-overview .overview-change-group+.overview-change-group{border-top:1px solid var(--ov-line);align-items:center;padding:12px 0 4px} .tender-overview .overview-change-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%} .tender-overview .overview-change-item{display:flex;flex-direction:column;gap:5px;text-align:center;min-width:0} .tender-overview .overview-change-item>span{font-size:12px;line-height:1.3;font-weight:400;color:var(--ov-muted)} .tender-overview .overview-change-item>strong{font-size:22px;line-height:1.15;font-weight:400;font-variant-numeric:tabular-nums;color:var(--ov-text)} .tender-overview .overview-change-group:first-child .overview-change-item:nth-child(1)>span{color:#67b7ff} .tender-overview .overview-change-group:first-child .overview-change-item:nth-child(2)>span{color:#53cc98} .tender-overview .overview-change-group:first-child .overview-change-item:nth-child(3)>span{color:#ffb568} .tender-overview .overview-change-group:last-child .overview-change-item:nth-child(1)>span{color:#ad9aff} .tender-overview .overview-change-group:last-child .overview-change-item:nth-child(2)>span{color:#62cedb} .tender-overview .overview-change-group:last-child .overview-change-item:nth-child(3)>span{color:#f58091} .tender-overview #big-data:has(.c-body-white) .overview-change-group:first-child .overview-change-item:nth-child(1)>span{color:#176eb4} .tender-overview #big-data:has(.c-body-white) .overview-change-group:first-child .overview-change-item:nth-child(2)>span{color:#21815b} .tender-overview #big-data:has(.c-body-white) .overview-change-group:first-child .overview-change-item:nth-child(3)>span{color:#a45c16} .tender-overview #big-data:has(.c-body-white) .overview-change-group:last-child .overview-change-item:nth-child(1)>span{color:#7356b5} .tender-overview #big-data:has(.c-body-white) .overview-change-group:last-child .overview-change-item:nth-child(2)>span{color:#197c88} .tender-overview #big-data:has(.c-body-white) .overview-change-group:last-child .overview-change-item:nth-child(3)>span{color:#b44359} .tender-overview .overview-summary .overview-metrics{margin:0!important;padding:0} .tender-overview .overview-summary .overview-metrics>.col-12>.row{gap:0} .tender-overview .overview-summary .overview-metrics .col-auto{position:relative} .tender-overview .overview-summary .overview-metrics .col-auto:nth-of-type(n+5){border-top:0} .tender-overview .overview-summary .overview-metrics .card{border:0;border-radius:0;background:transparent!important;box-shadow:none} .tender-overview .overview-summary .overview-metrics .card-title{transform-origin:left center;transition:transform .2s ease} .tender-overview .overview-change-item>strong{transform-origin:center;transition:transform .2s ease} @media(hover:hover) and (pointer:fine){ .tender-overview .overview-summary .overview-metrics .card:hover .card-title{transform:scale(1.12)} .tender-overview .overview-change-item:hover>strong{transform:scale(1.12)} } @media(prefers-reduced-motion:reduce){ .tender-overview .overview-summary .overview-metrics .card-title,.tender-overview .overview-change-item>strong{transition:none} } .tender-overview .overview-summary .overview-metrics .card-body{padding:12px 16px;gap:7px} .tender-overview .overview-summary .overview-metrics .card-title{font-size:22px;font-weight:500} .tender-overview .overview-summary .overview-metrics .col-auto:nth-of-type(3) .card-title, .tender-overview .overview-summary .overview-metrics .col-auto:nth-of-type(6) .card-title{font-weight:600} .tender-overview .overview-summary .overview-progress{border:0;border-radius:0;padding:10px 16px;background:transparent} .tender-overview .overview-summary .overview-progress-label{align-items:center;margin-bottom:8px;gap:8px 16px} .tender-overview .overview-summary .overview-progress-label strong{font-size:12px;color:var(--ov-muted)} .tender-overview .overview-summary .overview-progress-label>div{display:flex;align-items:center;flex-wrap:wrap;gap:4px} .tender-overview .overview-summary .overview-dot{flex:none;margin:0 2px 0 12px} .tender-overview .overview-summary .overview-dot:first-child{margin-left:0} @media(min-width:1451px) and (min-height:930px){ .tender-overview .overview-summary .overview-metrics .card-body{padding:7px 16px;gap:4px} .tender-overview .overview-summary-heading{padding:7px 16px} .tender-overview .overview-summary .overview-progress{padding:8px 16px} } @media(max-width:900px){ .tender-overview .overview-summary .overview-progress{padding:10px 12px} .tender-overview .overview-summary .overview-metrics .col-auto:nth-of-type(n+3){border-top:0} .tender-overview .overview-summary .overview-metrics .col-auto:nth-of-type(odd):before{display:none} .tender-overview .overview-summary .overview-metrics .card-body{padding:12px;gap:6px} .tender-overview .overview-summary .overview-metrics .card-title{font-size:18px} } /* 计量与材料调差共用审批状态配色,保留原有流程形状。 */ .tender-overview .overview-audit-colors{--audit-pending:#3698ff;--audit-active:#ffa34b;--audit-done:#38bd7b;--audit-return:#f26576} .tender-overview .overview-audit-colors .btn-blueOne{--audit-fill:var(--audit-pending)} .tender-overview .overview-audit-colors .btn-yellow{--audit-fill:var(--audit-active)} .tender-overview .overview-audit-colors .btn-green{--audit-fill:var(--audit-done)} .tender-overview .overview-audit-colors .btn-red{--audit-fill:var(--audit-return)} .tender-overview .overview-audit-colors .btn-secondary{--audit-fill:var(--audit-pending)} .tender-overview .overview-audit-colors .btn{background-color:var(--audit-fill);border-color:var(--audit-fill);color:#fff} .tender-overview .overview-audit-colors .btn:hover,.tender-overview .overview-audit-colors .btn:active{background-color:var(--audit-fill);border-color:var(--audit-fill);box-shadow:none} .tender-overview .overview-audit-colors .text-blueOne{color:var(--audit-pending)} .tender-overview .overview-audit-colors .text-yellow{color:var(--audit-active)} .tender-overview .overview-audit-colors .text-green{color:var(--audit-done)} .tender-overview .overview-audit-colors .text-red{color:var(--audit-return)} /* 图表与审批卡片保持原底色。 */ @keyframes overview-audit-breathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}} .tender-overview .overview-audit-colors .overview-audit-running{animation:overview-audit-breathe 2.4s ease-in-out infinite} @media(prefers-reduced-motion:reduce){.tender-overview .overview-audit-colors .overview-audit-running{animation:none}} .tender-overview .overview-legend-highlight{display:flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:inherit;font:inherit} .tender-overview .overview-legend-highlight:hover{color:var(--ov-text)} .tender-overview .overview-charts>.col-3>.card, .tender-overview .overview-charts>.col-6>.card{background:var(--ov-card)!important;box-shadow:none} /* 广元项目投资大屏(含阶段进度弹窗) */ .gy-screen{--gy-bg:#2c3237;--gy-card:#343a40;--gy-line:#48515a;--gy-muted:#aab6c3;box-sizing:border-box;background:var(--gy-bg);color:#edf3fa;padding:16px;font-family:Arial,"Microsoft YaHei",sans-serif;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:auto} .gy-screen *{box-sizing:border-box}.gy-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px;padding:0 6px 16px}.gy-brand{display:flex;align-items:center;gap:12px}.gy-mark{font-size:30px;color:#58b4ff}.gy-brand strong{font-size:19px;letter-spacing:1px}.gy-brand small{display:block;color:var(--gy-muted);margin-top:8px;font-size:12px}.gy-demo{margin-left:10px;color:#d9b878;border:1px solid #766342;padding:2px 7px;border-radius:3px}.gy-nav{display:flex;gap:12px}.gy-screen button{font:inherit;cursor:pointer}.gy-nav button,.gy-fullscreen{background:transparent;color:#c9d4df;border:1px solid #58616a;padding:9px 18px;border-radius:4px;white-space:nowrap;font-size:13px}.gy-nav button.active{background:#1977cf;border-color:#278bf0;color:white}.gy-nav button:disabled{opacity:.5;cursor:not-allowed}.gy-fullscreen:hover{border-color:#58b4ff;color:#58b4ff}.gy-screen button:focus-visible{outline:2px solid #73c6ff;outline-offset:3px} .gy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(230px,25vh) minmax(290px,31vh) minmax(260px,28vh);gap:12px}.gy-card{background:var(--gy-card);padding:18px;min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid #424a52;border-radius:4px}.gy-summary,.gy-investment,.gy-building{grid-column:span 2}.gy-progress{grid-column:span 3}.gy-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:25px;margin-bottom:14px}.gy-title h2{font-size:16px;font-weight:600;margin:0;padding-left:10px;border-left:3px solid #469eff;white-space:nowrap}.gy-title>span{font-size:11px;color:var(--gy-muted);white-space:nowrap}.gy-chart{flex:1;min-height:140px;width:100%}.gy-scroll{overflow:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#626e7a transparent}.gy-scroll::-webkit-scrollbar{width:5px;height:5px}.gy-scroll::-webkit-scrollbar-thumb{background:#626e7a;border-radius:5px}.gy-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;flex:1}.gy-stat{border-top:3px solid var(--accent);background:linear-gradient(160deg,var(--tint),#39424a);padding:20px 16px;border-radius:4px;display:flex;flex-direction:column;justify-content:center}.gy-stat span{font-size:15px}.gy-stat strong{font-size:38px;margin-top:14px;font-weight:500}.gy-stat small{font-size:12px;margin-left:7px;color:#c8d2dc}.gy-caption{font-size:11px;color:var(--gy-muted);margin-top:12px}.gy-rank{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #46505a;font-size:12px}.gy-rank:last-child{border:0}.gy-rank-no{display:grid;place-items:center;background:#4b5660;width:23px;height:23px;border-radius:50%;font-size:11px}.gy-rank:nth-child(1) .gy-rank-no{background:#bf933d;color:#fff5d5}.gy-rank:nth-child(2) .gy-rank-no{background:#7e91a5}.gy-rank:nth-child(3) .gy-rank-no{background:#aa7955}.gy-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.gy-rank-value{font-variant-numeric:tabular-nums;color:#92caff}.gy-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.gy-table th{background:#3a536a;font-weight:400;color:#deebf8;padding:11px 9px;position:sticky;top:0;z-index:1;text-align:center}.gy-table td{padding:12px 9px;border-bottom:1px solid #48515a;text-align:right;font-variant-numeric:tabular-nums}.gy-table tbody tr:nth-child(even){background:#38414a}.gy-table th:nth-child(2),.gy-table td:nth-child(2){text-align:left}.gy-building .gy-table{table-layout:fixed;min-width:610px}.gy-building th:first-child{width:7%}.gy-building th:nth-child(2){width:34%}.gy-building th:nth-child(3),.gy-building th:nth-child(4){width:18%}.gy-building th:last-child{width:23%}.gy-meter-wrap{display:flex;align-items:center;gap:8px}.gy-meter{height:8px;background:#4b555f;flex:1;border-radius:10px;overflow:hidden}.gy-meter i{display:block;height:100%;border-radius:10px;background:#38bf82}.gy-meter-wrap span{width:42px;color:#75d8aa;font-size:11px}.gy-tabs{display:flex;gap:24px}.gy-tabs button{color:#b9c7d5;border:0;background:none;padding:0 0 7px;font-size:16px;border-bottom:2px solid transparent}.gy-tabs button.active{color:#67b7ff;border-bottom-color:#67b7ff}.gy-preview-table{min-width:1080px}.gy-preview-table th,.gy-preview-table td{border:1px solid #4a545e;text-align:center!important}.gy-preview-table thead tr:nth-child(2) th{top:35px}.gy-preview-table th:first-child{min-width:300px}.gy-preview-table td:first-child{text-align:left!important;max-width:300px}.gy-preview-table .gy-year td{background:#3b4650;color:#c6d6e6;padding:7px 12px}.gy-date{color:#67d6a2}.gy-event{display:flex;gap:16px;padding:13px 4px;border-bottom:1px solid #48515a;font-size:12px;line-height:1.7}.gy-event time{color:#8abbdf;flex-shrink:0}.gy-event strong{font-weight:400;color:#e6eff7}.gy-event small{display:block;color:#aebdcb}.gy-event-dot{color:#4dc894}.gy-message{font-size:12px;color:#edc785;text-align:right}.gy-screen:fullscreen,.gy-screen:-webkit-full-screen{width:100%;height:100vh;overflow:auto}.gy-screen:fullscreen .gy-grid{grid-template-rows:minmax(230px,25vh) minmax(290px,32vh) minmax(260px,29vh)}.gy-screen [hidden]{display:none!important} @media(min-width:1650px){.gy-title h2{font-size:18px}.gy-rank,.gy-table{font-size:13px}.gy-stat strong{font-size:44px}} @media(max-width:1200px){.gy-header{flex-wrap:wrap}.gy-nav{order:3;width:100%;justify-content:center}.gy-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.gy-card{min-height:270px}.gy-summary,.gy-progress,.gy-investment,.gy-building{grid-column:span 2}.gy-planned,.gy-finished{height:300px}.gy-ratio{height:300px}.gy-progress{height:330px}.gy-screen:fullscreen .gy-grid{grid-template-rows:auto}} @media(max-width:650px){.gy-screen{padding:10px}.gy-brand strong{font-size:15px}.gy-mark{display:none}.gy-nav{gap:5px}.gy-nav button{padding:8px 12px}.gy-grid{display:flex;flex-direction:column}.gy-card{padding:12px}.gy-stats{grid-template-columns:repeat(2,1fr)}.gy-stat{padding:14px}.gy-stat strong{font-size:30px}.gy-fullscreen{padding:8px}.gy-title h2{font-size:15px}} /* Fill the available screen; short windows scroll inside the dark container. */ /* Keep both header rows together, without collapsed-border gaps during scrolling. */ .gy-preview-table{border-collapse:separate;border-spacing:0;table-layout:fixed} .gy-preview-table th:first-child{min-width:0} .gy-preview-table thead tr:first-child th[rowspan]{width:300px} .gy-preview-table thead th{white-space:normal;overflow-wrap:break-word;padding:5px 9px;line-height:18px;vertical-align:middle} .gy-preview-table thead{position:sticky;top:0;z-index:2;background:#3a536a} .gy-preview-table thead th{position:static} .gy-preview-table th,.gy-preview-table td{border:0;border-right:1px solid #4a545e;border-bottom:1px solid #4a545e} .gy-preview-table tr>*:first-child{border-left:1px solid #4a545e} .gy-preview-table thead tr:first-child th{border-top:1px solid #4a545e} .gy-header,.gy-message{flex-shrink:0} @media(min-width:1201px){ .gy-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)} .gy-header .gy-nav{justify-self:center} .gy-header .gy-header-actions{justify-self:end} .gy-header .gy-brand,.gy-header .gy-brand>div{min-width:0;max-width:100%} .gy-header .gy-brand strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} } .gy-finished-page{display:grid;grid-template-rows:minmax(230px,1fr) minmax(550px,2.4fr);gap:12px;flex:1;min-height:804px} .gy-finished-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:12px;min-height:0} .gy-finished-detail{display:grid;grid-template-rows:minmax(230px,1fr) minmax(270px,1.2fr);gap:12px;min-width:0;min-height:0} @media(max-width:1000px){.gy-finished-page{flex:none;grid-template-rows:260px auto}.gy-finished-layout{grid-template-columns:1fr}.gy-finished-detail{grid-template-rows:auto 300px}} .gy-header-actions{display:flex;align-items:center;gap:12px} .gy-header-actions .project-screen-switcher>button{color:#c9d4df;border-color:#58616a;padding:9px 14px;font-size:13px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .gy-header-actions .dropdown-menu{background:#343a40;border-color:#58616a;max-height:60vh;overflow:auto;min-width:180px;max-width:320px} .gy-header-actions .dropdown-item{color:#c9d4df;white-space:normal;overflow-wrap:anywhere} .gy-header-actions .dropdown-item:hover,.gy-header-actions .dropdown-item:focus{background:#40566b;color:#fff} .gy-header-actions .dropdown-item.active{background:#1977cf;color:#fff} .gy-change-table{min-width:760px;table-layout:fixed} .gy-change-table th{white-space:normal;text-align:center!important} .gy-change-table th:first-child{width:17%} .gy-change-table td{text-align:right!important} .gy-change-table td:first-child{text-align:left!important;white-space:normal} .gy-change-negative{color:#ffc16b} #gy-building-page .gy-planned-detail{grid-template-rows:minmax(210px,1fr) minmax(270px,1.2fr) minmax(260px,1fr)} @media(max-width:1000px){#gy-building-page .gy-planned-detail{grid-template-rows:auto 300px 300px}} .gy-stage-dialog .modal-body{scrollbar-width:thin;scrollbar-color:#626e7a #343a40} .gy-stage-dialog .modal-body::-webkit-scrollbar{width:8px;height:8px} .gy-stage-dialog .modal-body::-webkit-scrollbar-track,.gy-stage-dialog .modal-body::-webkit-scrollbar-corner{background:#343a40} .gy-stage-dialog .modal-body::-webkit-scrollbar-thumb{background:#626e7a;border:2px solid #343a40;border-radius:8px} .gy-stage-dialog .modal-body::-webkit-scrollbar-thumb:hover{background:#91a4b6} @supports selector(::-webkit-scrollbar){ .gy-stage-dialog .modal-body{scrollbar-width:auto;scrollbar-color:auto} } .gy-stage-dialog #gy-dialog-project{font-size:18px;font-weight:600;line-height:1.6;color:#edf3fa;margin:0 0 18px;overflow-wrap:anywhere} .gy-stage-dialog .gy-table thead th{text-align:center!important} .gy-stage-dialog .gy-table tbody td{text-align:left!important} .gy-stage-dialog .gy-table tbody td:nth-child(2){text-align:center!important} .gy-planned-page{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:12px;flex:1;min-height:804px} .gy-planned-detail{display:grid;grid-template-rows:minmax(210px,1fr) minmax(270px,1.2fr) minmax(max-content,1fr);gap:12px;min-width:0;min-height:0} .gy-detail-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:12px;min-height:0} .gy-detail-text{font-size:14px;line-height:2;background:#303b47;padding:16px;overflow:auto;overflow-wrap:anywhere} .gy-detail-text strong{display:block;color:#84c4ff;margin-bottom:12px} .gy-list-heading{background:#3a536a;padding:12px;text-align:center;font-size:13px} .gy-folder-row{display:flex;align-items:center;gap:6px;padding:12px;color:#c4d4e5;background:#394550;border-bottom:1px solid #48515a} .gy-folder-toggle{display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:inherit;padding:0;width:18px;height:20px;flex-shrink:0} .gy-project-row{display:flex;align-items:flex-start;gap:10px;width:100%;border:0;border-bottom:1px solid #48515a;border-left:3px solid transparent;text-align:left;background:transparent;color:#a1cfff;padding:15px 12px 15px 24px;line-height:1.7;font-size:14px!important} .gy-project-row:hover{background:#3a4856}.gy-project-row.active{background:#334e68;border-left-color:#3698ff;color:#fff}.gy-tree-branch{color:#7893aa} .gy-detail-button{background:transparent;border:1px solid #56718b;border-radius:4px;color:#8ac8ff;padding:5px 10px;font-size:12px!important} .gy-stage-table{table-layout:fixed}.gy-stage-table td,.gy-stage-table th{text-align:center!important}.gy-stage-table button{border:0;background:none;color:inherit;padding:4px 12px;text-decoration:underline;text-underline-offset:4px}.gy-status-0{color:#67d6a2}.gy-status-1{color:#ffc16b}.gy-status-2{color:#73baff} .gy-stage-dialog .modal-dialog{width:90vw;max-width:900px}.gy-stage-dialog .modal-content{background:#343a40;color:#edf3fa;border:1px solid #627589;border-radius:6px}.gy-stage-dialog .modal-header{border-bottom-color:#48515a}.gy-stage-dialog .modal-body{max-height:70vh;overflow:auto}.gy-stage-dialog .close{color:#edf3fa;text-shadow:none}.gy-stage-dialog p{color:#aab6c3}.gy-stage-dialog table{min-width:600px}.gy-empty{padding:24px;text-align:center;color:#aab6c3} @media(max-width:1000px){.gy-planned-page{grid-template-columns:1fr;flex:none}.gy-project-list{height:350px}.gy-planned-detail{grid-template-rows:auto 300px auto}.gy-detail-top{min-height:250px}} @media(max-width:650px){.gy-detail-top{grid-template-columns:1fr}.gy-detail-text{max-height:240px}} .gy-grid{flex:1 0 auto} .gy-screen button:focus:not(:focus-visible){outline:none;box-shadow:none} .gy-screen .gy-tabs button:focus-visible{outline:none;box-shadow:none;color:#9bd2ff;border-bottom-color:#9bd2ff;text-decoration:underline;text-underline-offset:4px} @media(min-width:1201px){ .gy-screen .gy-grid{flex:1 0 804px;grid-template-rows:minmax(230px,25fr) minmax(290px,31fr) minmax(260px,28fr);min-height:804px} } button.gy-stat{appearance:none;border-right:0;border-bottom:0;border-left:0;color:inherit;font:inherit;text-align:left;align-items:flex-start;cursor:pointer;min-width:0} button.gy-stat:hover{filter:brightness(1.12)} button.gy-stat:focus-visible{outline:2px solid var(--accent);outline-offset:3px} .gy-screen,.gy-screen *{scrollbar-width:thin;scrollbar-color:transparent transparent} .gy-screen::-webkit-scrollbar,.gy-screen *::-webkit-scrollbar{width:5px;height:5px} .gy-screen::-webkit-scrollbar-thumb,.gy-screen *::-webkit-scrollbar-thumb{background:transparent;border-radius:5px} .gy-screen::-webkit-scrollbar-track,.gy-screen *::-webkit-scrollbar-track,.gy-screen::-webkit-scrollbar-corner,.gy-screen *::-webkit-scrollbar-corner{background:transparent} .gy-screen.gy-scrolling,.gy-screen .gy-scrolling{scrollbar-color:#626e7a transparent} .gy-screen.gy-scrolling::-webkit-scrollbar-thumb,.gy-screen .gy-scrolling::-webkit-scrollbar-thumb{background:#626e7a} .gy-preview-table th.gy-phase-boundary,.gy-preview-table td.gy-phase-boundary{box-shadow:inset 1px 0 0 #718393} .gy-preview-table thead tr:first-child th[rowspan]{position:sticky;left:0;z-index:3;background:#3a536a;box-shadow:2px 0 0 #586674} .gy-preview-table tbody tr:not(.gy-year)>td:first-child{position:sticky;left:0;z-index:1;background:var(--gy-card);box-shadow:2px 0 0 #586674} .gy-preview-table tbody tr:nth-child(even):not(.gy-year)>td:first-child{background:#38414a} .gy-screen::-webkit-scrollbar-thumb:horizontal,.gy-screen *::-webkit-scrollbar-thumb:horizontal{background:#626e7a} @supports selector(::-webkit-scrollbar){ .gy-screen,.gy-screen *{scrollbar-width:auto;scrollbar-color:auto} } #gy-preview::-webkit-scrollbar:horizontal{height:10px} #gy-preview::-webkit-scrollbar-thumb:horizontal{background:#718393;border:2px solid #343a40;border-radius:6px} #gy-preview::-webkit-scrollbar-thumb:horizontal:hover{background:#91a4b6} @supports selector(::-webkit-scrollbar){ #gy-preview{scrollbar-width:auto;scrollbar-color:auto} #gy-preview::-webkit-scrollbar{height:12px} } .filesjs-name-paste-modal .filesjs-name-paste-scroll{max-height:55vh;overflow:auto} .filesjs-name-paste-modal table{table-layout:fixed;width:100%} .filesjs-name-paste-modal th{position:sticky;top:0;background:#f4f6f8;z-index:1} .filesjs-name-paste-modal td{white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top} .filesjs-name-paste-modal .filesjs-name-paste-row{width:65px} .filesjs-name-paste-modal .filesjs-name-paste-status{width:150px} .filesjs-name-paste-modal .filesjs-name-paste-new{background:#eff8ff} .global-assistant { position: fixed; right: 24px; bottom: 24px; z-index: 2000; font-size: 14px; } .global-assistant button { outline: none; } .global-assistant-entry { display: flex; align-items: center; justify-content: center; gap: 7px; min-width: 76px; height: 44px; padding: 0 17px; border: 0; border-radius: 23px; color: #fff; background: #3f8fe8; box-shadow: 0 6px 20px rgba(39, 126, 220, .3); cursor: grab; touch-action: none; user-select: none; } .global-assistant-entry:hover { background: #2e7fd6; } .global-assistant-entry.dragging { cursor: grabbing; } .global-assistant-panel { display: none; flex-direction: column; width: 420px; height: min(650px, calc(100vh - 48px)); overflow: hidden; border: 1px solid #dfe5ec; border-radius: 12px; background: #fff; box-shadow: 0 12px 40px rgba(31, 45, 61, .22); } .global-assistant-panel.show { display: flex; } .global-assistant-header { display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: 10px 14px 10px 18px; color: #fff; background: linear-gradient(135deg, #3f8fe8, #69a8ee); } .global-assistant-header strong, .global-assistant-header small { display: block; } .global-assistant-header strong { font-size: 16px; } .global-assistant-header small { margin-top: 3px; color: rgba(255, 255, 255, .82); font-size: 12px; } .global-assistant-header-actions { display: flex; gap: 4px; } .global-assistant-header-actions button { width: 32px; height: 32px; border: 0; border-radius: 6px; color: #fff; background: transparent; cursor: pointer; } .global-assistant-header-actions button:hover { background: rgba(255, 255, 255, .16); } .global-assistant-messages { flex: 1; overflow-y: auto; padding: 18px 14px 8px; background: #f6f8fb; } .global-assistant-message { display: flex; margin-bottom: 14px; } .global-assistant-message.user { justify-content: flex-end; } .global-assistant-bubble { max-width: 88%; padding: 10px 12px; border-radius: 10px; color: #303844; line-height: 1.55; background: #fff; box-shadow: 0 1px 3px rgba(31, 45, 61, .08); white-space: pre-wrap; word-break: break-word; } .global-assistant-message.user .global-assistant-bubble { color: #fff; background: #3f8fe8; border-bottom-right-radius: 3px; } .global-assistant-message.assistant .global-assistant-bubble { border-bottom-left-radius: 3px; } .global-assistant-bubble .global-assistant-tender-notice { margin-top: 10px; font-size: 12px; color: #6b7280; white-space: pre-wrap; } .global-assistant-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #edf0f4; white-space: normal; } .global-assistant-summary > div { min-width: 0; padding: 7px; border-radius: 6px; background: #f5f8fc; } .global-assistant-summary span, .global-assistant-summary strong { display: block; } .global-assistant-summary span { color: #7a8491; font-size: 11px; } .global-assistant-summary strong { margin-top: 2px; color: #1f2733; font-size: 13px; } .global-assistant-results { max-height: 260px; margin-top: 10px; overflow-y: auto; border-top: 1px solid #edf0f4; white-space: normal; } .global-assistant-results > a, .global-assistant-result { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 2px; border-bottom: 1px solid #edf0f4; color: #303844; } .global-assistant-results a:hover { color: #397fc7; text-decoration: none; } .global-assistant-results > a > div, .global-assistant-result-info { min-width: 0; } .global-assistant-results strong, .global-assistant-results small { display: block; } .global-assistant-results strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; } .global-assistant-results small { margin-top: 2px; color: #8b95a1; font-size: 11px; } .global-assistant-results > a > span, .global-assistant-result-value { flex: none; color: #397fc7; font-size: 12px; } .global-assistant-result { flex-wrap: wrap; } .global-assistant-result-info { flex: 1; } .global-assistant-result-actions { display: flex; flex: none; gap: 0; margin-left: auto; } .global-assistant-result-actions a { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 4px; color: #397fc7; font-size: 12px; } .global-assistant-result-actions a:hover { background: #edf5fd; } .global-assistant-more { margin-top: 8px; color: #8b95a1; font-size: 12px; white-space: normal; } .global-assistant-suggestions { display: flex; gap: 6px; min-height: 39px; padding: 7px 12px 5px; overflow-x: auto; background: #fff; } .global-assistant-suggestions button { flex: none; padding: 4px 9px; border: 1px solid #cfe0f5; border-radius: 13px; color: #2868ad; font-size: 12px; background: #f7fbff; cursor: pointer; } .global-assistant-suggestions button:hover { border-color: #3f8fe8; } .global-assistant-form { display: flex; align-items: flex-end; gap: 8px; padding: 10px 12px 12px; border-top: 1px solid #e8edf3; background: #fff; } .global-assistant-input { flex: 1; min-height: 42px; max-height: 88px; padding: 9px 10px; resize: none; border: 1px solid #d6dde7; border-radius: 7px; color: #303844; line-height: 1.4; } .global-assistant-input:focus { border-color: #3f8fe8; box-shadow: 0 0 0 2px rgba(63, 143, 232, .12); } .global-assistant-send { flex: none; width: 42px; height: 42px; border: 0; border-radius: 7px; color: #fff; background: #3f8fe8; cursor: pointer; } .global-assistant-send:disabled { cursor: not-allowed; opacity: .55; } @media (max-width: 720px) { .global-assistant { display: none; } } .safe-inspection-need-pending .safe-inspection-need-options { visibility: hidden; } .safe-inspection-need-pending .safe-inspection-flow { display: none; } .safe-inspection-flow .flow-picker > .dropdown-menu { width: 220px; } .safe-inspection-flow .flow-title { padding: 5px 10px; border: 1px solid #d6d9dc; background: #e4e7ea; line-height: 18px; } .safe-inspection-flow .flow-layout { margin-right: 0; margin-left: 0; align-items: flex-start; } .safe-inspection-flow .flow-summary, .safe-inspection-flow .flow-details { min-width: 0; padding-right: 5px; padding-left: 5px; } .safe-inspection-flow .flow-summary-table { table-layout: fixed; } .safe-inspection-flow .flow-phase-label { width: 56px; } .safe-inspection-flow .flow-summary-table th, .safe-inspection-flow .flow-summary-table td { padding: 5px; border-color: #d6d9dc; background: #fff; line-height: 18px; overflow-wrap: break-word; } .safe-inspection-flow .flow-summary-table tbody + tbody { border-top: 1px solid #d6d9dc; } @media (min-width: 768px) { .safe-inspection-flow .flow-summary { flex: 0 0 30%; max-width: 30%; } .safe-inspection-flow .flow-details { flex: 0 0 70%; max-width: 70%; } } .safe-inspection-flow .flow-phase-section { margin-top: 20px; margin-bottom: 20px; } .safe-inspection-flow .flow-phase-title { margin-bottom: 12px; line-height: 20px; } .safe-inspection-flow .flow-phase-person { padding: 12px 18px; } .safe-inspection-flow .flow-person-names { min-width: 0; overflow-wrap: break-word; } .safe-inspection-flow .flow-timeline { margin: 0; } .safe-inspection-flow .flow-timeline .timeline-item-date { font-size: 12px; line-height: 18px; white-space: nowrap; } .safe-inspection-flow .flow-timeline-person .h6 { font-weight: 600; } .safe-inspection-flow .flow-opinion { min-height: 24px; padding: 3px 8px; white-space: pre-wrap; overflow-wrap: break-word; } @media (max-width: 767px) { .safe-inspection-flow .flow-phase-person { padding: 8px 12px; } .safe-inspection-flow .flow-timeline .card-body { padding-right: 8px !important; padding-left: 8px !important; } } #safe-flow-confirm #safe-flow-opinion { height: 130px; } .safe-inspection-rectification { table-layout: fixed; } .safe-inspection-rectification .rectification-label { width: 150px; } .safe-inspection-rectification .flow-rectification-item { min-height: 48px; } .safe-inspection-rectification .flow-rectification-date { width: 200px; max-width: 100%; } .safe-inspection-overview .card { border-radius: 4px; } .safe-inspection-overview .card-header, .safe-inspection-overview .card-footer { padding: 10px 15px; background: #f8f9fa; } .safe-inspection-overview .overview-rectifications { flex: 1; max-height: 360px; overflow: auto; } .safe-inspection-overview .overview-rectifications table { table-layout: fixed; } .safe-inspection-overview .overview-rectifications th { position: sticky; top: 0; z-index: 1; background: #e4e7ea; } .safe-inspection-overview .overview-rectifications td { vertical-align: middle; overflow-wrap: break-word; } .safe-inspection-overview .overview-inspection-column { width: 35%; } .safe-inspection-overview .overview-progress-column { width: 23%; } .safe-inspection-overview .overview-days-column { width: 17%; } .safe-inspection-overview .overview-pie { height: 300px; } .safe-inspection-overview .overview-trend { height: 350px; } .safe-inspection-overview .overview-status-links { gap: 8px; flex-wrap: wrap; } /* 质量巡检三阶段流程及概况 */ .quality-inspection-need-pending .quality-inspection-need-options { visibility: hidden; } .quality-inspection-need-pending .quality-inspection-flow { display: none; } .quality-inspection-flow .flow-picker > .dropdown-menu { width: 220px; } .quality-inspection-flow .flow-title { padding: 5px 10px; border: 1px solid #d6d9dc; background: #e4e7ea; line-height: 18px; } .quality-inspection-flow .flow-layout { margin-right: 0; margin-left: 0; align-items: flex-start; } .quality-inspection-flow .flow-summary, .quality-inspection-flow .flow-details { min-width: 0; padding-right: 5px; padding-left: 5px; } .quality-inspection-flow .flow-summary-table { table-layout: fixed; } .quality-inspection-flow .flow-phase-label { width: 56px; } .quality-inspection-flow .flow-summary-table th, .quality-inspection-flow .flow-summary-table td { padding: 5px; border-color: #d6d9dc; background: #fff; line-height: 18px; overflow-wrap: break-word; } .quality-inspection-flow .flow-summary-table tbody + tbody { border-top: 1px solid #d6d9dc; } @media (min-width: 768px) { .quality-inspection-flow .flow-summary { flex: 0 0 30%; max-width: 30%; } .quality-inspection-flow .flow-details { flex: 0 0 70%; max-width: 70%; } } .quality-inspection-flow .flow-phase-section { margin-top: 20px; margin-bottom: 20px; } .quality-inspection-flow .flow-phase-title { margin-bottom: 12px; line-height: 20px; } .quality-inspection-flow .flow-phase-person { padding: 12px 18px; } .quality-inspection-flow .flow-person-names { min-width: 0; overflow-wrap: break-word; } .quality-inspection-flow .flow-timeline { margin: 0; } .quality-inspection-flow .flow-timeline .timeline-item-date { font-size: 12px; line-height: 18px; white-space: nowrap; } .quality-inspection-flow .flow-timeline-person .h6 { font-weight: 600; } .quality-inspection-flow .flow-opinion { min-height: 24px; padding: 3px 8px; white-space: pre-wrap; overflow-wrap: break-word; } @media (max-width: 767px) { .quality-inspection-flow .flow-phase-person { padding: 8px 12px; } .quality-inspection-flow .flow-timeline .card-body { padding-right: 8px !important; padding-left: 8px !important; } } #quality-flow-confirm #quality-flow-opinion { height: 130px; } .quality-inspection-rectification { table-layout: fixed; } .quality-inspection-rectification .rectification-label { width: 150px; } .quality-inspection-rectification .flow-rectification-item { min-height: 48px; } .quality-inspection-rectification .flow-rectification-date { width: 200px; max-width: 100%; } .quality-inspection-overview .card { border-radius: 4px; } .quality-inspection-overview .card-header, .quality-inspection-overview .card-footer { padding: 10px 15px; background: #f8f9fa; } .quality-inspection-overview .overview-rectifications { flex: 1; max-height: 360px; overflow: auto; } .quality-inspection-overview .overview-rectifications table { table-layout: fixed; } .quality-inspection-overview .overview-rectifications th { position: sticky; top: 0; z-index: 1; background: #e4e7ea; } .quality-inspection-overview .overview-rectifications td { vertical-align: middle; overflow-wrap: break-word; } .quality-inspection-overview .overview-inspection-column { width: 35%; } .quality-inspection-overview .overview-progress-column { width: 23%; } .quality-inspection-overview .overview-days-column { width: 17%; } .quality-inspection-overview .overview-pie { height: 300px; } .quality-inspection-overview .overview-trend { height: 350px; } .quality-inspection-overview .overview-status-links { gap: 8px; flex-wrap: wrap; }