.form label{
  display:block;
  font-weight:bold;
  font-size:12px;
  margin-bottom:6px
}

.state{
  background:#fff0c6;
  color:#8a6500;
  padding:8px 14px;
  border-radius:15px;
  font-weight:bold
}

label{
  font-weight:normal
}

.form input,.form select{
  border:1px solid #cfd5dc;
  border-radius:4px;
  padding:9px 10px;
  background:#fff
}

.panel{
  background:#fff;
  border:1px solid #d9dde2;
  border-radius:4px;
  box-shadow:0 1px 5px rgba(0,0,0,.05);
  padding:16px
}

.panel h3{
  margin-top:0;
  border-bottom:1px solid #e2e5e8;
  padding-bottom:10px;
  color:#344b67
}

.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}

.grid .full{
  grid-column:1/-1
}

.wizard{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  margin:4px 0 18px;
  background:#fff;
  border:1px solid #d9dde2;
  padding:16px 28px 25px;
  border-radius:4px
}

.wstep{
  width:95px;
  text-align:center;
  color:#8c96a1;
  position:relative
}
.wstep span{
  width:30px;
  height:30px;
  border-radius:50%;
  background:#e6eaee;
  display:grid;
  place-items:center;
  margin:auto;
  font-size:11px;
  font-weight:bold
}
.wstep b{
  position:absolute;
  top:36px;
  left:0;
  right:0;
  font-size:9px
}
.wstep.active{
  color:#168ac9
}
.wstep.active span{
  background:#168ac9;
  color:#fff
}
.wstep.done span{
  background:#dff4e5;
  color:#2d7744
}

.wizard>i{
  height:2px;
  background:#dfe4e8;
  flex:1;
  margin-top:14px;
  max-width:110px
}

.section-title{
  border-bottom:1px solid #e2e5e8;
  margin-bottom:16px;
  padding-bottom:9px
}
.section-title h3{
  border:0;
  padding:0;
  margin:0;
  color:#344b67 !important;
}
.section-title p{
  font-size:10px;
  color:#87929e;
  margin:4px 0 0;
}

.origin-options{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:17px;
}
.origin-card{
  border:1px solid #d7dde4;
  border-radius:5px;
  padding:14px;
  display:flex!important;
  gap:10px;
  align-items:flex-start;
  cursor:pointer;
  font-weight:normal!important
}
.origin-card:has(input:checked){
  border-color:#169bd5;
  background:#f2f9fd
}
.origin-card input{
  width:auto!important;
  margin-top:4px
}
.origin-icon{
  font-size:22px
}
.origin-card b,.origin-card small{
  display:block
}
.origin-card b{
  font-size:10px;color:#344b67
}
.origin-card small{
  font-size:9px;
  color:#7f8b98;
  line-height:1.4;
  margin-top:4px
}

.conditional-box{
  background:#f5f9fc;
  border:1px solid #d7e6f0;
  border-radius:4px;
  padding:14px;
  margin-bottom:15px
}

.hidden{
  display:none!important
}

.input-button{
  display:flex
}

.input-button input{
  border-radius:4px 0 0 4px!important
}

.input-button button{
  border:0;
  background:#168ac9;
  color:#fff;
  padding:0 15px;
  border-radius:0 4px 4px 0;
  cursor:pointer
}

.readonly-field{
  height:35px;
  border:1px solid #d8dee4;
  background:#f1f3f5;
  border-radius:4px;
  padding:9px;
  font-size:11px;
  color:#5f6c79
}

.base-fields{
  margin-top:8px
}

.workflow-preview{
  margin-top:16px;
  border:1px solid #dbe5eb;
  border-radius:5px;
  background:#f8fbfd;
  padding:12px
}

.workflow-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:11px
}

.workflow-head b{
  font-size:11px;
  color:#344d69
}

.workflow-head small{
  font-size:9px;
  color:#87929e
}

.route{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap
}

.route span{
  background:#fff;
  border:1px solid #bcd7e6;
  color:#36617c;
  padding:6px 9px;
  border-radius:14px;
  font-size:9px
}

.route i{
  font-style:normal;
  color:#9ba7b1
}

.actions button,.filter button,.pagehead button,.modalactions button{
  border:1px solid #bbb;
  border-radius:4px;
  padding:9px 15px;
  cursor:pointer
}

.actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  border-top:1px solid #e2e5e8;
  margin-top:18px;
  padding-top:14px
}

.new-process,.wizard-panel{
  max-width:1100px;
  margin:auto
}

.party-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px
}

.party-head b,.party-head small{
  display:block
}

.party-head small{
  font-size:9px;
  color:#89939f;
  margin-top:3px
}

.party-item-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.party-number {
    display: block !important;
    color: #344b67 !important;
    font-size: 14px !important;
    font-weight: bold !important;
    line-height: 1.4 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.panel button{
  border:1px solid #b9d9ec;
  background:#eef8fd;
  color:#177db0;
  border-radius:4px;
  padding:6px 10px;
  cursor:pointer;
  font-size:10px;
}


/* .party-grid .full,.grid .full{
  grid-column:1/-1
} */

.party-divider{
  height:1px;
  background:#e1e5e9;
  margin:20px 0
}

.party-grid > .field{
  width:90% !important;
  max-width:none;
}

.party-grid > .field select,
.party-grid > .field input{
  width:90% !important;
}

.party-grid .select2-container{
  width:95% !important;
}

/* Solo textarea ocupa toda la fila */
.party-grid > .textarea-field{
  grid-column:1 / -1;
  width:100%;
}

.form textarea{
  width:100%;
  border:1px solid #cfd5dc;
  border-radius:4px;
  padding:9px 10px;
  font-family:inherit
}

.party-grid > .textarea-field textarea{
  width:100% !important;
  box-sizing:border-box;
}

.upload-box{
  border:2px dashed #cfd8df;
  border-radius:5px;
  text-align:center;
  padding:25px;
  background:#fafcfd
}

.upload-box span,.upload-box b,.upload-box small{
  display:block
}

.upload-box span{
  font-size:28px
}

.upload-box small{
  font-size:9px;
  color:#8a95a1;
  margin:5px
}

.upload-box button{
  margin-top:8px;
  border:1px solid #169bd5;
  background:#fff;
  color:#168ac9;
  border-radius:4px;
  padding:7px 11px
}

.sample-file{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #e0e4e8;
  margin-top:12px;
  padding:10px;
  border-radius:4px
}

.sample-file>span{
  width:35px;
  height:35px;
  background:#fcebea;
  color:#c84d48;
  display:grid;
  place-items:center;
  font-size:9px;
  font-weight:bold
}

.sample-file>div{
  flex:1
}

.sample-file b,.sample-file small{
  display:block
}

.sample-file small{
  font-size:9px;
  color:#8a94a0;
  margin-top:3px
}

.sample-file button{
  border:0;
  background:transparent
}

.confirm-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}

.confirm-grid>div{
  border:1px solid #e0e4e8;
  background:#fafbfc;
  padding:12px;border-radius:4px
}

.confirm-grid small,.confirm-grid b{
  display:block
}

.confirm-grid small{
  font-size:9px;
  color:#8a94a0;
  margin-bottom:4px
}

.confirm-grid b{
  font-size:11px
}

.creation-note{
  background:#eef7fc;
  border-left:3px solid #169bd5;
  padding:11px;
  margin-top:14px;
  font-size:10px;
  color:#536575
}

@media(max-width:1100px){
  .origin-options{
    grid-template-columns:1fr
  }

  .wizard{
    overflow:auto
  }

  .confirm-grid{
    grid-template-columns:1fr
  }
}

.tabs{
  display:flex;
  background:#fff;
  border:1px solid #d9dde2;
  margin-top:0;
  margin-bottom:14px;
}

.tabs button{
  border:0;
  background:transparent;
  padding:12px 18px;
  cursor:pointer;
  color:#627082
}

.tabs button.active{
  color:#168ac9;
  border-bottom:3px solid #168ac9;
  font-weight:bold
}

.tabcontent{
  display:none;
  padding-top:12px
}

.tabcontent.active{
  display:block
}

.twocol{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin-bottom:14px;
}

.panel h3{
  margin-top:0;
  border-bottom:1px solid #e2e5e8;
  padding-bottom:10px;
  color:#344b67 !important;
  font-size:18px !important;
}

.info{
  display:grid;
  grid-template-columns:180px 1fr;
  padding:10px 0;
  border-bottom:1px solid #eceff1
}

.info b{
  font-size:11px;
  color:#607188
}

.info span{
  font-size:12px
}

.person{
  display:flex;
  gap:12px;
  padding:13px 0;
  border-bottom:1px solid #eceff1
}

.person>span{
  width:40px;
  height:40px;
  border-radius:50%;
  background:#e7f3fa;
  display:grid;
  place-items:center;
  font-weight:bold;
  color:#267bab
}

.person div small,.person div b,.person div em{
  display:block
}

.person div small{
  font-size:9px;
  color:#267bab;
  font-weight:bold
}

.person div small.red{
  color:#b04d4d
}

.person div em{
  font-size:10px;
  color:#7e8894;
  font-style:normal;
  margin-top:4px
}

.person span{
  color:#267bab !important;
  font-size:12px !important;
  visibility:visible !important;
  opacity:1 !important;
}

.person div b{
  display:block !important;
  color:#061a3a !important;
  font-size:12px !important;
  visibility:visible !important;
  opacity:1 !important;
}

.doc{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid #eceff1
}

.doc>span{
  width:36px;
  height:36px;
  background:#fcebea;
  color:#c84d48;
  display:grid;
  place-items:center;
  font-size:9px;
  font-weight:bold
}

.doc>div{
  flex:1
}
.doc b,.doc small{
  display:block
}

.doc small{
  font-size:9px;
  color:#8b95a0;
  margin-top:3px
}

.doc button{
  border:0;
  background:transparent
}

.muted{
  color:#7e8894;
  font-size:12px
}

.actiongrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px
}

.actiongrid button{
  background:#fff;
  border:1px solid #d7dce1;
  border-radius:4px;
  padding:15px;
  text-align:left;
  cursor:pointer
}

.actiongrid button>b,.actiongrid button>small{
  display:block
}

.actiongrid button>b{
  margin:7px 0 3px
}

.update-current{
  margin:14px 18px 0;
  background:#eef7fa;
  border-left:4px solid #337d9f;
  border-radius:4px;
  padding:10px;
}

.update-current span{
  display:block;
  color:#7d8d99;
  font-size:8px;
  text-transform:uppercase;
}

.update-current b{
  color:#2c6782;
  font-size:12px;
}

.update-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:14px 18px
}

.update-grid .field label{
  display:block;
  font-size:9px;
  color:#687987;
  margin-bottom:4px
}

.update-grid .field input,.update-grid .field select,.update-grid .field textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #ccd6dd;
  border-radius:4px;
  padding:8px;
  background:#fff;
  font-size:10px
}

.update-grid .field textarea{
  min-height:72px;
  resize:vertical
}

.update-grid .full{
  grid-column:1/-1
}

@media(max-width:760px){
  .update-grid{
    grid-template-columns:1fr;
  }
  .update-grid .full{
    grid-column:auto;
  }
}

.history-mini{
  padding:0 18px 14px
}

.history-mini h4{
  font-size:10px;
  color:#435b70;
  margin:4px 0 8px;
}

.history-mini table{
  width:100%;
  border-collapse:collapse;
  font-size:9px;
}

.history-mini th{
  background:#f5f7f9;
  color:#66798b;
  text-align:left;
  padding:7px
}

.history-mini td{
  padding:8px 7px;
  border-bottom:1px solid #edf0f2;
  color:#566674;
}

.pagehead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:14px;
}

.pagehead h2,.pagehead h3{
  margin:0;
}

.pagehead p{
  margin:4px 0 0;
  color:#7d8792;
  font-size:12px;
}

/* V2.5.5 - seguimiento documental sin flujo rígido */
.tracking-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.tracking-item{
  display:grid;
  grid-template-columns:64px 1fr;
  border:1px solid #dce4e9;
  border-radius:5px;
  background:#fff;
  overflow:hidden;
}

.tracking-date{
  background:#f5f8fa;
  border-right:1px solid #dce4e9;
  text-align:center;
  padding:10px 5px;
  color:#506779;
}

.tracking-date b{
  display:block;
  font-size:20px;
  line-height:20px;
  color:#247ca4;
}

.tracking-date span{
  display:block;
  font-size:9px;
  font-weight:bold;
  margin-top:3px;
}

.tracking-date small{
  font-size:8px;
  color:#8b99a4;
}

.tracking-body{
  padding:11px 13px;
}

.tracking-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}

.tracking-head>div{
  display:flex;
  align-items:center;
  gap:8px;
}

.tracking-head b{
  font-size:11px;
  color:#2f4c64;
}

.tracking-head>small{
  font-size:8px;
  color:#8996a0;
}

.tracking-body p{
  font-size:9px;
  line-height:1.5;
  color:#5f6f7c;
  margin:8px 0;
}

.tracking-meta{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  border-top:1px solid #edf0f2;
  padding-top:7px;
  color:#758692;
  font-size:8px;
}

.tag{
  padding:4px 8px;
  border-radius:10px;
  font-size:10px;
  font-weight:bold;
}

.amber{
  background:#fff0c6;
  color:#8a6500;
}

.green{
  background:#e5f6e9;
  color:#2e7545;
}

