input[type="text"], input[type="password"], input[type="number"], input[type="date"] { outline: none; width: 100%; height: 100%; line-height: 100%; background: transparent; box-sizing: border-box; color: #4e4f63; padding: 0 10px; border: 1px solid transparent; }
input[type="text"]:focus, input[type="password"]:focus, select:focus, textarea:focus { border: 1px solid #7ec3e9; box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.4); }
input.rejected, select.rejected { box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(255,0,0,.4); border: 1px solid red; }
input[type="text"]:disabled { background: #eee; }
select { outline: none; height: 30px; line-height: 30px; width: 100px; background: #fff; box-sizing: border-box; border: 1px solid #cdcdcd; color: #888; padding: 0 5px; }
select option { height: 30px; line-height: 30px; }
input[type="radio"] { line-height: 30px; }
input[type="radio" i]  { margin: 8px 5px; }
input[type="radio"]:checked+label { font-weight: bold; }
label { line-height: 30px; margin-right: 15px; }
textarea { width: 100%; height: 80px; outline: none; resize: none; color: #888; padding: 5px; box-sizing: border-box; border: 1px solid #dedede; }

.form { width: 100%; display: flex; flex-direction: column; padding-bottom: 20px; position: relative; }
.form-row { width: 100%; display: flex; align-items: center; margin-bottom: 20px; }
.form-tips { margin-left: 135px; margin-top: 7px; color: #aaa; }
.form-title{ width: 120px;  flex-shrink: 0; text-align: right; margin-right: 15px }
.form-input { width: 100%; max-width: 350px; /*height: 30px;*/ line-height: 30px; position: relative; }
.form-checkbox { width: 100%; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; }

.form-btns { width: 100%; display: flex; align-items: center; justify-content: center; column-gap: 20px; }
.form-btn { width: 200px; height: 50px; background: #fff; color: #77788b; border-radius: 10px; text-shadow: 2px 2px 4px #000000; letter-spacing: 2px; box-sizing: border-box; box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); display: flex; justify-content: center; align-items: center; cursor: pointer; }
.form-btn i { margin-right: 10px; }
.form-btn.small { width: 12vh; height: 4vh; background-size: 12vh 4vh; font-size: 0.85em; }
.form-btn.default { background: #fff; border: 1px solid rgba(129,129,177,.2); color:#77788b; text-shadow: none; }
.form-btn.submit { color: #fff; background: linear-gradient(to right, #48affc, #915afd); }
.form-btn.orange { color: #fff; background: linear-gradient(to right, #fec56e, #fa8d52); }

.form-select { width: 280px; height: 30px;  position: relative; }
.form-select-text { width: 100%; height: 100%; background: rgba(255,255,255,.8); color: #2b2b2b; display: flex; border: 1px solid #3898d5; box-sizing: border-box; }
.form-select-text span { width: 100%; height: 30px; line-height: 30px; padding: 0 10px; box-sizing: border-box; }
.form-select-text i { width: 30px; height: 30px; line-height: 30px; text-align: center; }
.form-options { width: 100%; padding: 0 10px; position: absolute; top: 35px; left: 0; border: 1px solid #3898d5; background: #fff; box-shadow: 5px 5px 10px rgba(0,0,0,0.7); box-sizing: border-box; z-index: 10000; display: none; }
.form-opt { width: 100%; height: 40px; line-height: 40px; color: #2b2b2b; padding: 0 10px; box-sizing: border-box; overflow: hidden; border-bottom: 1px dashed #3898d5; }
.form-opt:last-child { border-bottom: 0; }

.table { width: 100%; height: 100%; }
.table-head { width: 100%; height: 40px; display: flex; border-bottom: 1px solid #3cceff; }
.table-head .thead {  height: 40px; line-height: 40px; font-weight: bold; text-align: center; }
.table-body { width: 100%; height: calc(97% - 41px); padding-bottom: 3%; box-sizing: border-box; overflow-y: auto; }
table { width: 100%; border-collapse:collapse; }
table tr { border-bottom: 1px dashed rgba(255,255,255,0.5); box-sizing: border-box; }
/*table tr:nth-child(even) { background:rgba(255,255,255,.15); }*/
table td { height: 26px; line-height: 26px; padding: 4px 0; text-align: center; overflow: hidden; }
table td span { display: block; height: 30px; overflow: hidden; }
table td.left { text-align: left; padding-left: 7px; }
table td.state { font-size: 0.8em; }
table td.state1::before { content:"•"; font-size: 2em; color: #67fe64; }
table td.state2::before { content:"•"; font-size: 2em; color: #ff5959; }