/* ================================================================
   style.css — dùng chung cho tất cả các trang
   Tokens màu, layout nền, header, menu, nút, footer.
   ================================================================ */
:root{
  --bg:#F5F5FA;--surface:#FFFFFF;--ink:#1A1A24;--muted:#6A6A7C;--line:#E7E7F0;
  --accent:#5546FF;--accent-press:#4536E0;--accent-soft:#ECE9FF;--accent-2:#FF4D8D;
  --ok:#1BA672;--radius:16px;--shadow:0 1px 2px rgba(26,26,36,.05);color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0E0E15;--surface:#17171F;--ink:#ECECF3;--muted:#9A9AAE;--line:#2A2A38;
    --accent:#7E72FF;--accent-press:#6D60FF;--accent-soft:#221E3E;--accent-2:#FF6BA0;
    --shadow:0 1px 2px rgba(0,0,0,.4);color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0E0E15;--surface:#17171F;--ink:#ECECF3;--muted:#9A9AAE;--line:#2A2A38;
  --accent:#7E72FF;--accent-press:#6D60FF;--accent-soft:#221E3E;--accent-2:#FF6BA0;
  --shadow:0 1px 2px rgba(0,0,0,.4);color-scheme:dark;
}

*{box-sizing:border-box}
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.55;}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
a{color:var(--accent)}

/* ---------- Header / nav ---------- */
header{position:sticky;top:env(safe-area-inset-top,0);z-index:40;
  background:color-mix(in srgb, var(--bg) 84%, transparent);
  backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--line);}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px;position:relative}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;
  letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));font-weight:800;font-size:16px;}
.brand small{font-weight:500;color:var(--muted);font-size:12.5px;letter-spacing:0}

.nav{display:flex;align-items:center;gap:2px;margin:0;padding:0}
.nav>li{list-style:none;position:relative}
.nav a,.nav .navbtn{display:inline-flex;align-items:center;gap:6px;color:var(--ink);
  text-decoration:none;font-weight:500;font-size:15px;padding:9px 14px;border-radius:9px;
  background:none;border:0;font-family:inherit;cursor:pointer;}
.nav a:hover,.nav .navbtn:hover{background:var(--accent-soft);color:var(--accent)}
.nav a.active{color:var(--accent);font-weight:600}
.nav .navbtn i.caret{font-size:11px;transition:transform .15s}
.has-dd.open .navbtn i.caret{transform:rotate(180deg)}

.dd{
  position:absolute;
  top: calc(100% + 0px);
  left:0;
  min-width:270px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 12px 30px rgba(26,26,36,.12);
  padding:7px;
  display:none;
  }
.has-dd:hover .dd,.has-dd.open .dd{display:block}
.dd a{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:9px;
  font-weight:500;font-size:14.5px}
.dd a i{width:20px;text-align:center;color:var(--accent)}

.burger{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;
  background:var(--surface);color:var(--ink);font-size:18px;cursor:pointer;place-items:center}

@media (max-width:860px){
  .burger{display:grid}
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
    gap:2px;background:var(--surface);border-bottom:1px solid var(--line);
    padding:10px 20px 16px;display:none;box-shadow:0 12px 24px rgba(26,26,36,.08)}
  .nav.open{display:flex}
  .nav a,.nav .navbtn{justify-content:space-between;width:100%;font-size:16px;padding:12px}
  .dd{position:static;display:none;min-width:0;border:0;box-shadow:none;padding:2px 0 6px 10px;
    background:none;border-left:2px solid var(--line);margin:0 0 4px 12px;border-radius:0}
  .has-dd:hover .dd{display:none}
  .has-dd.open .dd{display:block}
}

/* ---------- Nút dùng chung ---------- */
.btn{border:0;cursor:pointer;font:inherit;font-weight:600;font-size:14.5px;color:#fff;
  background:var(--accent);padding:11px 18px;border-radius:10px;
  transition:background .15s,transform .05s;white-space:nowrap;text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.btn:hover{background:var(--accent-press)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.6;cursor:default}

/* ---------- Chip icon dùng chung ---------- */
.chip{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  background:var(--accent-soft);color:var(--accent);font-size:20px;margin-bottom:15px;}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--line);background:var(--surface);margin-top:30px;padding: 0 10px;}
.fgrid{display:grid;gap:30px 40px;grid-template-columns:1.4fr 1fr 1fr;padding:44px 0 30px}
.fcol h5{font-size:13px;color:var(--muted);margin:0 0 14px;font-weight:600}
.fcol a{display:block;color:var(--ink);text-decoration:none;font-size:14px;padding:5px 0}
.fcol a:hover{color:var(--accent)}
.fabout p{color:var(--muted);font-size:14px;margin:12px 0 0;max-width:34ch}
.fbot{border-top:1px solid var(--line);padding:18px 0;display:flex;flex-wrap:wrap;gap:10px 18px;
  align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}
.note{font-size:12.5px;background:var(--accent-soft);color:var(--accent);padding:5px 11px;
  border-radius:999px;font-weight:500}
@media (max-width:720px){.fgrid{grid-template-columns:1fr 1fr}.fabout{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
  
 
 
 

/* Noti */
.fixedNoti {
    /* display: inline-block; */
    background: #72d987;
    padding: 11px 13px;
    border-radius: 5px 0 0px 5px;
    color: #397b50;
    min-width: 520px;
    border-left: 25px solid #2aa144;
    position: relative;
    opacity: 0;
    transition: all 1.3s;
    -webkit-transition: all 1.3s;
    margin: 10px 0;
    left: 220px;
}

.fixedNotis {
    position: fixed;
    bottom: 50px;
    right: 0;
    z-index: 999999;
}

.fixedNoti:before {
    font-family: Fontawesome;
    content: "\f00c";
    position: absolute;
    left: -19px;
    font-size: 14px;
    top: 13px;
    color: #fff;
}

.fixedNoti .fa-close {
    position: absolute;
    top: 14px;
    right: 5px;
    color: #1b6b2c;
    display: block;
    border: 1px solid #2aa144;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    text-align: center;
    line-height: 15px;
    font-size: 11px;
    cursor: pointer;
}

.fixedNoti .fa-close:hover {
    color: red;
}
.fixedNoti.failedNoti {
    background: #f3934f;
    border-left-color: #c77135;
    color: #4e3625;
}

.fixedNoti.failedNoti .fa-close {
    color: red;
    border-color: red;
}

.fixedNoti.failedNoti:before {
    content: "\f05e";
}
.fixedNoti.active {
    left: 0;
    opacity: 0.85;
}
/* #END Noti */
  
    
 

.open-loading-opacity, .opacity {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: #000000c4;
}


.open-loading img {width: 40px;height: 40px;position: fixed;top: 45%;top: calc( 50% - 20px );z-index: 9999;background: #ffffffdb;border-radius: 5px;display: block;padding: 10px;left: 45%;left: calc( 50% - 20px );}



.popup-title {
    background: #1ba8f3;
    padding: 0 0px;
    line-height: 35px;
    text-align: center;
    color: #fff;
    /* font-weight: bold; */
    text-transform: uppercase;
    position: relative;
}

img {
    max-width: 100%;
}



.popup-content {
    max-height: 95%;
    position: relative;
}


.popup {
    position: fixed;
    top: 50%;
    left: 50%;
    max-width: 95%;
    width: 90%;
    /* height: 60%; */
    z-index: 10000;
    background: #fff;
    box-sizing: border-box;
    -ms-transform: translateX(-50%) translateY(-50%);
    transform:translateX(-50%) translateY(-50%);
    max-height: 95%;
}
span.close-popup {
    position: absolute;
    right: 10px;
    top: 2px;
    cursor: pointer;
    color: #fff;
    z-index: 2;
    font-size: 1.5em;
}

span.close-popup:hover{
    color: #cd4040;
}

.hidden {
    visibility: hidden!important;
}





.ta-r {
    text-align:right;
}
.ta-c {
    text-align:center;
}
.ta-l {
    text-align:left;
}
img.filter-loading {
    display: block;
    width: 50px;
    margin: 20px auto;
}

.switch-input {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 15px;
}

.switch-input input {
    opacity: 0;
    width: 0;
    height: 0;
}

.switch-input .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.switch-input .slider:before {
    position: absolute;
    content: "";
    height: 11px;
    width: 11px;
    left: 3px;
    bottom: 2px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

.switch-input input:checked + .slider {
    background-color: #2196F3;
}

.switch-input input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}

.switch-input input:checked + .slider:before {
    -webkit-transform: translateX(13px);
    -ms-transform: translateX(13px);
    transform: translateX(13px);
}

/* Rounded sliders */
.switch-input .slider.round {
    border-radius: 34px;
}

.switch-input .slider.round:before {
    border-radius: 50%;
}



.text-price {
    color: #d85617;
}

.empty-noti {
    color: #e62e04;
    font-style: italic;
    padding: 20px;
    text-align: center;
    font-size: 14px;
}



/* The switch - the box around the slider */
.switch {
    position: relative;
    display: inline-block;
    width: 35px;
    height: 17px;
    top: 2px;
}

/* Hide default HTML checkbox */
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 10px;
    width: 10px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .slider {
    background-color: #2196F3;
}

input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(16px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 13px;
}

.slider.round:before {
    border-radius: 50%;
}
 

.navbar-logo img {
    width: 40px;
}

.home-item a {
    font-weight: bold;
    font-size: 1.2em;
}

.filter{
    width: 100%;
    padding: 10px;
    background: #e5e7e8;
    display: block;
}

.filter-item {
    width: 25%;
    margin: 3px 5px;
}

.filter .filter-item input, .filter .filter-item select {
    padding: 7px 10px;
    background: #fff;
    border: 1px solid #dcdcdc;
    border-radius: 3px;
    width: 100%;
    box-sizing: border-box;
}

.pcoded-content-hcv{
	padding:20px 15px;
}

.filter-item-submit button {
    width: 100%;
    display: block;
}
 
.locked {
    text-align: center;
    font-size: 25px;
    color: #d93333;
}

.locked p {
    font-size: 20px;
}

.locked p span {
    color: #ff5370;
    font-size: 1.2em;
}

.form-submiting p {
    font-size: 1.3em;
    color: #00bcd4;
}

.form-submiting{display:none}
.form-submiting.active{display:block}

.noneI{display:none!important}

.form-error-noti.active, .form-success-noti.active{
	display:block;
}

.form-error-noti li, .form-success-noti li{
	list-style: none;
}

.successNotis li, .failedNotis li{
	list-style:none;
}

.successNotis i, .failedNotis i{
	display:none;
}

.wrap-popup {
    display: none;
}

.wrap-popup.active {
    display: block;
}

.wrap-popup-confirm {
    text-align: center;
}

.popup-confirm-button {
    padding: 0;
    margin-bottom: 40px;
}

.popup-confirm-text span {
    font-weight: bold;
}

.popup-confirm-text {
    padding: 20px;
}

.popup-confirm-button .btn {
    margin: 0 10px;
}

.v-tasks {
    background: #f3f3f3;
    padding: 15px 20px;
    box-shadow: 0 0 10px 4px #dfdfdf;
    margin: 20px auto;
}

.v-tasks-title {
    font-weight: bold;
    font-size: 1.1em;
}

.v-task {
    background: #fff;
    padding: 10px 20px;
    margin: 15px 0;
    border-radius: 7px;
    position: relative;
}

.v-task-name {
    font-weight: bold;
}



.v-task-progress-name {
    width: 33.33%;
    text-align: center;
}

.v-task-progress-name:nth-of-type(1){
    text-align:left;
}

.v-task-progress-name:nth-of-type(3){
    text-align:right;
}

.v-task-progress-names {
    font-size: 0.8em;
    margin-top: 10px;
}

.v-task-progresss {
    height: 10px;
    background: #e1e1e1;
    border-radius: 10px;
    margin-top: 5px;
    border: 1px solid #d9d9d9;
}

.v-task-progress-success {
    background: #64d4e3;
    height: 100%;
}

.v-task-progress-error {
    height: 100%;
    background: #9f9f9f;
}

.v-task-name{
	cursor:pointer;
}

.wrap-popup-steps .popup {
    width: 90%;
    overflow: auto;
}

 
.step-success_status:before {
    font-family:"FontAwesome";
    content: "\f05a";
    color:#969696;
    font-size: 19px;
    margin-top: 20px;
    display: block;
}

.step-success_status-success:before {
   content: "\f05d";
    color:green;
}

.step-success_status-error:before {
   content: "\f2d4";
   color: #f98561;
}



.td-success_status {
    text-align: center;
    width: 113px;
}

.td-name h2 {
    font-size: 16px;
    font-weight: bold;
}

table.table-popup-steps td {
    padding: 7px 10px;
}

.table-popup-steps p {
    margin: 5px 0;
}
td {vertical-align: middle!important;}

.td-status_video {
    max-width: 300px;
    overflow: auto;
}

 .pcoded-header {
    border-top: 1px solid #e5e5e5;
}

.v-tasks {
    max-height: 310px;
    overflow: auto;
}

span.remove-task {
    font-style: italic;
    position: absolute;
    right: 8px;
    top: 5px;
    font-size: 0.8em;
    color: #742c08;
}

.page-html {
    display: block;
}

.page-html.active {
    display: block;
}

.new-button {
    width: 25%;
    text-align: right;
    float: right;
}

.new-button a {
    padding:  10px 20px;
    background: #d5b88f;
    border-radius: 5px;
    display: inline-block;
    margin-top: 2px;
    float: right;
    color: #fff;
}

.new-button a i {
    padding-right: 10px;
}

.new-button a:hover {
    background: #873422;
}
.new-form {
    width: 100%;
    background: #efefef;
    padding: 30px;
    border-radius: 5px;
}

.form-submit-wrap {
    /* width: 200px; */
}

textarea.form-control {
    min-height: 170px;
}

.form-skip_exist {
    margin: 50px 0;
}

td.td-ordering {
    max-width: 100px;
    text-align: center;
}

.pending {
    background: #ffecd4;
}

.cpr {
    text-align: center;
    font-size: 0.8em;
    background: #f3f3f3;
    padding: 5px 0;
    color: #a3a3a3;
}

input[type=checkbox]
{
  /* Double-sized Checkboxes */
  -ms-transform: scale(1.8); /* IE */
  -moz-transform: scale(1.8); /* FF */
  -webkit-transform: scale(1.8); /* Safari and Chrome */
  -o-transform: scale(1.8); /* Opera */
  transform: scale(1.8);
  padding: 10px;
  cursor:pointer;
}


.pinnedNotis {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 9;
    width: 290px;
    /* background: #a4ceff80; */
    /* border-radius: 0 5px 5px 0; */
}
 

.pinnedNotis .fa-close {
    position: absolute;
    top: 13px;
    right: 5px;
    cursor: pointer;
    color: #626262;
}

.pinnedNoti {
    position: relative;
    margin-top: 5px;
    background: #a4ceff80;
    border-radius: 0 5px 5px 0;
    padding: 10px;
}

.show-main-the {
    position: fixed;
    right: 20px;
    bottom: 20px;
    background: #00bcd4;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    color: #fff;
    border-radius: 5px;
    cursor: pointer;
    display: none;
}

.show-main-the.active {
    display: block;
}

span.close-popup-logs {
    position: absolute;
    right: 10px;
    cursor: pointer;
}

.wrap-popup-logs .popup-content{
	overflow:auto;
}

.log-item {
    padding: 10px 20px;
    border-bottom: 1px dotted silver;
}



.img-fluid {
    max-height: 50px;
}	

.rs-page-content {
    background: #fff;
    /* padding: 15px; */
}



.page-header.card {
    margin: 0;
    margin-bottom: 20px;
}

[type="submit"] { 
    width: 120px;
    padding: 5px;
	background:#4099ff;
}

 

.form-submiting, .form-success-noti {
    display: none;
}

.form-submiting.active {
    display: block;
}	

.cpr {
    text-align: center;
    font-size: 0.8em;
    background: #f3f3f3;
    padding: 5px 0;
    color: #a3a3a3;
}

.form-submit, .form-error-noti, .form-success-noti{
	display:none;
	margin: 10px 0;
}


.form-submit.active, .form-error-noti.active, .form-success-noti.active{
	display:block;
}

.tab-content{
	display:none;
}

.tab-content.active{
	display:block;
}

.need-active{
	display:none;
}

.need-active.active{
	display:block;
}

input[type="range"] {
    position: relative;
    top: 3px;
}

.popup-confirm-button {
    margin-top: 20px;
    text-align: center;
}