﻿/*input focus的框線變細*/
.form-control:focus,
.form-control:focus-visible,
.form-select:focus,
.form-select:focus-visible,
.form-check:focus,
.form-check:focus-visible,
.form-check-input:focus,
.form-check-input:focus-visible { border-color: #86b7fe !important; box-shadow: 0 0 0 1px #86b7fe !important; outline: 0; }

/*btn-close*/
.btn-close:focus{box-shadow:none !important;outline:0}


/* 模組專用 Navbar 樣式 */
.module-navbar { background-color: #ffffff; margin: 0 10px;border-radius: 5px;box-shadow: 0 0 5px rgba(0, 0, 0, 0.15); padding: 0.5rem 0;border: 1px solid rgba(0,0,0,0.03);}
@media (min-width: 992px) {
	.nav-item.dropdown:hover .dropdown-menu { display: block; margin-top: 0; opacity: 1; visibility: visible; transform: translateY(0); }
	.dropdown-menu { display: block; opacity: 0; visibility: hidden; transform: translateY(10px); transition: all 0.2s ease; border: none; box-shadow: 0 10px 30px rgba(0,0,0,0.12); border-radius: 10px; }
}
.module-navbar .nav-link { color: #555; padding: 0.5rem 1rem !important; margin: 0 3px; border-radius: 5px; transition: background 0.2s;display: inline-flex; align-items: center;gap: 6px;  }
.module-navbar .nav-link:hover { background-color: #EAEBEF; color: #0d6efd;text-decoration:none; }
.module-navbar .nav-link.active { background-color: #0d6efd; color: #ffffff !important;  }
.module-navbar .nav-link svg { width: 1.6em; height: 1.6em; }


/*chosen*/
a.chosen-single{line-height:2.5em !important;height:2.5em !important}
.chosen-container-single .chosen-single div b{margin-top:4px !important;}
.search-choice-close{margin-top:4px !important;}
.search-choice{line-height:18px !important;}
.chosen-choices{line-height:2.5em !important;height:2.5em !important}

/*card row*/
.card-header{background-color:rgba(33,40,50,0.03);color:#0061f2}
.card-body .col-md-5 { flex: 0 0 auto !important; width: 41.66666667% !important; }
.card-body .col-md-3 { width: 25% !important; }
.card-body .col-md-4 { width: 33.33333333% !important; }

/*label.error*/
label.error { color: red; white-space: nowrap; display: inline-flex; align-items: center; line-height: 1; vertical-align: middle; margin-bottom: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='red' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z'/%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") !important; }
.invalid-feedback{font-size:1em !important;}
/*input error*/
.form-control.ui-state-highlight { border: 2px solid #ff4d4d !important; background: #fff5f5 !important; color: #d8000c !important; }

/* checkbox */
.form-check { display: flex; align-items: center;}
.form-check-input { margin-top: 2px;margin-right: 8px;}
.form-check-label{margin-top: 2px;}

/*form-select*/
.form-select{padding: .29rem 2.25rem .29rem .75rem !important;}

/*group button*/
.btn-group div.btn{margin:0}

/*jstree*/
.jstree-default .jstree-clicked{padding:0!important}
.jstree a{line-height:18px!important;height:20px !important;}

/*modal*/
.modal-title{color:#0061f2;font-size:1.2em}

/*datepicker*/
.datepicker svg{height:1.2em;width:1.2em}
.datepicker .input-group-text{padding:2px!important;}

/*input*/
input::placeholder { font-size: 0.8rem; font-weight: 400; line-height: 1.5; }

/*button group*/
.btn-group .btn { margin: 0; }
