*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f3f6fa;color:#14233b}header{height:74px;background:#0b376d;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px}header strong{font-size:20px}button,input,select,textarea{font:inherit}button{cursor:pointer}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#06234a,#0d4f91)}.card{background:#fff;border:1px solid #dce5ef;border-radius:14px;padding:25px}.login .card{width:min(430px,92vw)}label{display:grid;gap:6px;font-size:12px;font-weight:700;margin-bottom:12px}input,select,textarea{padding:11px;border:1px solid #d7e1ec;border-radius:8px}textarea{min-height:90px}.primary,.secondary,.danger{border:0;border-radius:8px;padding:10px 14px;font-weight:800}.primary{background:#0b376d;color:#fff}.secondary{background:#e8eef6;color:#0b376d}.danger{background:#ffe8e8;color:#a51d1d}.shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 74px)}aside{background:#0a2d57;padding:20px 14px}.nav{width:100%;border:0;background:transparent;color:#cad8eb;padding:12px;text-align:left;border-radius:8px;margin-bottom:6px}.nav.active{background:#ffffff20;color:#fff}main{padding:28px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{background:#fff;border:1px solid #dce5ef;border-radius:12px;padding:20px}.metric strong{display:block;font-size:26px;margin-top:8px}.panel{background:#fff;border:1px solid #dce5ef;border-radius:12px;margin-top:18px;overflow:hidden}.panel h2{padding:18px;margin:0;border-bottom:1px solid #dce5ef}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid #e5ebf2;text-align:left;font-size:13px}th{background:#f8fafc;color:#66778f}.badge{padding:5px 8px;border-radius:999px;background:#e8eef6;font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{grid-column:1/-1}.view{display:none}.view.active{display:block}.modal{display:none;position:fixed;inset:0;background:#00152bcc;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modal .card{width:min(1100px,96vw);max-height:94vh;overflow:auto}.docs{display:grid;gap:9px}.doc{padding:12px;border:1px solid #dce5ef;border-radius:8px}.score{font-size:42px;font-weight:900;color:#0b376d}@media(max-width:850px){.shell{grid-template-columns:1fr}aside{display:flex;overflow:auto}.grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}}
.count-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#f5b700;color:#14233b;font-size:11px;font-weight:900;margin-left:6px}.unread-row{background:#fff8db}.messages{display:grid;gap:12px;margin:12px 0 20px}.message{border:1px solid #dce5ef;border-left:5px solid #8aa2bd;border-radius:10px;padding:14px;background:#f8fafc}.message.mine{border-left-color:#0b376d;background:#edf4fb}.message-head{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#66778f}.message h4{margin:8px 0}.message p{line-height:1.5}.request-meta{padding:9px;background:#fff6cf;border-radius:8px;margin:10px 0}.communication-form{display:grid;gap:10px;padding:16px;border:1px solid #dce5ef;border-radius:12px;background:#fff}.communication-form label{margin:0}.empty{padding:22px;color:#66778f}.modal a{color:#0b376d;font-weight:700}
body.modal-open{overflow:hidden}
.modal{z-index:9999}
.modal-card{position:relative}
.modal-toolbar{
  position:sticky;
  top:-25px;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:-25px -25px 18px;
  padding:16px 18px;
  background:#fff;
  border-bottom:1px solid #dce5ef;
  border-radius:14px 14px 0 0
}
.modal-close-x{
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:#e8eef6;
  color:#0b376d;
  font-size:28px;
  line-height:1;
  font-weight:700;
  cursor:pointer
}
.modal-close-x:hover,.modal-close-x:focus{background:#d7e3f1}



.privacy-warning{
  background:#fff6dc;
  border:1px solid #e6b64b;
  border-left:5px solid #c58a00;
  border-radius:10px;
  padding:14px 16px;
  color:#3e3010
}
.privacy-warning strong{display:block;color:#7a5200;margin-bottom:6px}
.privacy-warning p{margin:5px 0;font-size:13px;line-height:1.45}
.login-warning{margin:16px 0}
.privacy-ack{
  display:flex!important;
  align-items:flex-start;
  gap:9px;
  font-size:13px;
  line-height:1.4;
  margin:14px 0
}
.privacy-ack input{width:auto!important;margin-top:2px}
.privacy-inline{
  background:#f4f7fb;
  border-left:4px solid #0b376d;
  padding:10px 12px;
  border-radius:6px;
  font-size:13px
}
.detail-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:22px 0 16px;
  padding-bottom:10px;
  border-bottom:1px solid #d8e2ee
}
.detail-tab{
  border:0;
  background:#edf2f8;
  color:#18324f;
  padding:10px 14px;
  border-radius:8px;
  cursor:pointer;
  font-weight:700
}
.detail-tab.active{background:#0b376d;color:#fff}
.detail-panel{display:none}
.detail-panel.active{display:block}
.risk-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-radius:10px;
  margin:12px 0 18px;
  border:1px solid #dce5ef
}
.risk-card strong,.risk-card small{display:block}
.risk-card small{margin-top:3px}
.risk-dot{width:15px;height:15px;border-radius:999px;flex:0 0 auto}
.risk-card.green{background:#edf9f1}.risk-card.green .risk-dot{background:#198754}
.risk-card.yellow{background:#fff9df}.risk-card.yellow .risk-dot{background:#d3a000}
.risk-card.orange{background:#fff1e4}.risk-card.orange .risk-dot{background:#df6b00}
.risk-card.red{background:#fdecec}.risk-card.red .risk-dot{background:#c52b2b}
.checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px}
.check-item{
  display:grid;
  grid-template-columns:26px 1fr auto;
  align-items:center;
  gap:7px;
  padding:11px 12px;
  border:1px solid #dce5ef;
  border-radius:9px
}
.check-item small{font-size:11px}
.check-item.ok{background:#effaf2}.check-item.ok .check-icon{color:#198754}
.check-item.pending{background:#fff9df}.check-item.pending .check-icon{color:#b47b00}
.check-item.missing{background:#f7f8fa}.check-item.missing .check-icon{color:#6b7785}
.doc{
  display:grid!important;
  grid-template-columns:1fr auto auto;
  gap:12px;
  align-items:center
}
.document-upload,.committee-decision{display:grid;gap:10px;margin-top:15px}
.timeline{position:relative;margin-left:8px}
.timeline-item{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:9px;
  padding:0 0 18px
}
.timeline-dot{
  width:11px;
  height:11px;
  background:#0b376d;
  border-radius:999px;
  margin-top:5px;
  box-shadow:0 0 0 4px #dfe9f5
}
.timeline-item strong,.timeline-item small{display:block}
.timeline-item small{color:#69798a;font-size:12px;margin-top:2px}
.timeline-item p{margin:4px 0 0}

.process-start-card{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  flex-wrap:wrap;
  margin:14px 0 18px;
  padding:15px 17px;
  background:#f2f6fb;
  border:1px solid #d5e0ec;
  border-left:5px solid #0b376d;
  border-radius:10px
}
.process-start-card span,
.process-start-card small,
.process-start-card strong{display:block}
.process-start-card span{
  color:#52677d;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:700
}
.process-start-card strong{
  color:#102a4c;
  font-size:19px;
  margin:4px 0
}
.process-start-card small{color:#647487}
.process-start-edit{
  display:flex;
  align-items:flex-end;
  gap:9px;
  flex-wrap:wrap
}
.process-start-edit label{
  margin:0;
  min-width:235px
}
.process-start-edit input{margin-top:5px}

.advanced-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.panel-block,.assignment-card{background:#fff;border:1px solid #dbe4ee;border-radius:12px;padding:18px;margin:14px 0}
.assignment-card{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.assignment-card h2{width:100%;margin:0}
.task-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.task-form textarea{grid-column:1/-1}
.task-list,.session-list{display:grid;gap:10px}.session-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.task-card,.session-card{background:#fff;border:1px solid #dce5ef;border-radius:10px;padding:15px}
.task-card.alta{border-left:5px solid #c92b2b}.task-card.media{border-left:5px solid #d79a00}.task-card.baja{border-left:5px solid #2b72b8}
.task-card strong{display:block;margin:8px 0}.task-card button{margin:8px 6px 0 0}
@media(max-width:900px){.advanced-columns,.task-form{grid-template-columns:1fr}.task-form textarea{grid-column:auto}}

.load-error{
  padding:24px;
  border:1px solid #e3c2c2;
  border-left:5px solid #b3261e;
  border-radius:10px;
  background:#fff3f2;
}
.load-error h2{margin-top:0;color:#7d1d18}

.origin-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px
}
.origin-intro{
  margin:0;
  color:#52677d;
  line-height:1.5
}
.origin-header,.origin-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  padding:15px 17px;
  background:#f2f6fb;
  border:1px solid #d5e0ec;
  border-radius:10px
}
.origin-header span,.origin-header strong,.origin-footer strong,.origin-footer span{display:block}
.origin-header span{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#60758a;
  font-weight:700
}
.origin-header strong{font-size:20px;color:#0b376d;margin-top:3px}
.origin-header small,.origin-footer span{color:#647487}
.origin-section{
  margin:20px 0;
  padding:17px;
  border:1px solid #dce5ef;
  border-radius:11px;
  background:#fff
}
.origin-section h3{margin:0 0 13px;color:#0b376d}
.origin-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px
}
.origin-field{
  min-height:62px;
  padding:11px 12px;
  border:1px solid #e0e7ef;
  border-radius:8px;
  background:#fafbfd
}
.origin-field span,.origin-field strong{display:block}
.origin-field span{
  font-size:11px;
  color:#687b8e;
  text-transform:uppercase;
  letter-spacing:.035em;
  font-weight:700
}
.origin-field strong{
  margin-top:5px;
  color:#172b45;
  overflow-wrap:anywhere
}
@media(max-width:760px){
  .origin-grid{grid-template-columns:1fr}
  .origin-toolbar{display:block}
  .origin-toolbar button{margin-top:10px}
}

.institution-legal{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #dce5ef;
  color:#52677d;
  font-size:12px;
  line-height:1.45
}
.institution-legal strong,.institution-legal span{display:block}
.institution-legal strong{color:#17304e;margin-bottom:4px}
.legal-footer{
  margin-top:24px;
  padding:16px 24px;
  border-top:1px solid #d4deea;
  background:#f6f8fb;
  color:#52677d;
  font-size:12px;
  line-height:1.5
}
.legal-footer strong,.legal-footer span,.legal-footer small{display:block}
.legal-footer strong{color:#102a4c}
.legal-footer small{margin-top:4px}

.fixed-legal-footer{
  margin-top:32px;
  padding:0;
  background:#082f5b;
  color:#ffffff;
  border-top:5px solid #f2b705;
  box-shadow:0 -4px 14px rgba(0,0,0,.12)
}
.legal-footer-inner{
  max-width:1400px;
  margin:0 auto;
  padding:22px 28px;
  text-align:center;
  line-height:1.65
}
.fixed-legal-footer strong,
.fixed-legal-footer span,
.fixed-legal-footer a{
  display:block
}
.fixed-legal-footer strong{
  font-size:15px;
  letter-spacing:.02em;
  color:#ffffff
}
.fixed-legal-footer span{
  color:#e9f1fb;
  font-size:13px
}
.fixed-legal-footer a{
  margin-top:4px;
  color:#ffd862;
  font-weight:700;
  text-decoration:none
}
.fixed-legal-footer a:hover{
  text-decoration:underline
}
.login-legal{
  background:#eef4fb;
  border:1px solid #b9cbe0;
  border-left:5px solid #0b376d;
  border-radius:9px;
  padding:14px 16px;
  margin-top:18px;
  color:#23405f
}
.login-legal strong,
.login-legal span,
.login-legal a{
  display:block
}
.login-legal strong{
  color:#0b376d;
  margin-bottom:4px
}
.login-legal a{
  margin-top:4px;
  color:#0b5eaa;
  font-weight:700
}

.session-user{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.session-user-data{min-width:245px;padding:8px 13px;border-left:3px solid #f2b705;text-align:right}
.session-user-data strong,.session-user-data span{display:block}
.session-user-data strong{color:#fff;font-size:14px}
.session-user-data span{color:#d6e5f5;font-size:12px;line-height:1.35}
.broker-editor{margin-top:18px}
.broker-editor[hidden]{display:none!important}
.broker-editor-actions{display:flex;gap:10px;flex-wrap:wrap}
.edit-broker{white-space:nowrap}
@media(max-width:760px){
  .session-user{align-items:flex-end;flex-direction:column;gap:7px}
  .session-user-data{min-width:0;text-align:right}
}

.section-help{margin:-6px 0 18px;color:#607286;max-width:850px}
.role-broker{background:#e9f2ff;color:#155492}
.role-analyst{background:#fff1cf;color:#775600}
.role-committee{background:#e9f8ef;color:#176240}

.lifecycle-upload-notice,.upload-disabled-notice{display:grid;gap:4px;margin:16px 0 10px;padding:13px 15px;border-radius:9px}.lifecycle-upload-notice{background:#edf9f1;border:1px solid #acd7bb;border-left:5px solid #198754}.upload-disabled-notice{background:#fff6dc;border:1px solid #e6c36a;border-left:5px solid #c58a00}.lifecycle-upload-notice span,.upload-disabled-notice span{font-size:13px;line-height:1.4}
