/* OBOR homepage personalization: local view preferences, not data alteration. */
#portfolio-main > section[data-obor-section][hidden]{display:none!important}
.obor-workspace-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:42px;padding-top:8px;padding-bottom:5px}
.obor-workspace-mode{font-size:11px;letter-spacing:.045em;color:#687882}
.obor-workspace-customize{display:inline-flex;align-items:center;gap:9px;min-height:36px;background:#fff;border:1px solid #ccd6dc;border-radius:5px;color:#102c3d;font:650 12px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;padding:8px 12px;cursor:pointer}
.obor-workspace-customize:hover{border-color:#98533b;background:#fdf9f6}
.obor-workspace-customize:focus-visible,#obor-customize-dialog button:focus-visible,#obor-customize-dialog input:focus-visible,#obor-customize-dialog select:focus-visible{outline:3px solid #b66e4c;outline-offset:2px}
.obor-workspace-customize svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round}
#obor-customize-dialog{width:min(620px,calc(100% - 26px));max-height:calc(100dvh - 30px);margin:auto;padding:0;border:1px solid #cbd6da;border-radius:10px;background:#f8f9f7;color:#102131;box-shadow:0 25px 80px rgba(4,23,37,.35);overflow-y:auto}
#obor-customize-dialog:not([open]){display:none}
#obor-customize-dialog::backdrop{background:rgba(4,20,31,.65);backdrop-filter:blur(3px)}
.obor-customize-content{padding:clamp(19px,3.8vw,32px)}
.obor-customize-eyebrow{font-size:10px;font-weight:750;letter-spacing:.17em;color:#98533b;margin:0 0 8px}
.obor-customize-content h2{font-size:clamp(23px,3.3vw,29px);line-height:1.18;letter-spacing:-.03em;font-weight:650;margin:0 0 8px}
.obor-customize-lede{font-size:13px;color:#52626c;line-height:1.6;margin:0 0 22px}
.obor-customize-content h3{font-size:15px;font-weight:750;letter-spacing:-.01em;margin:0 0 5px}
.obor-customize-help{font-size:12px;color:#596872;line-height:1.5;margin:0 0 12px}
.obor-customize-list{list-style:none;margin:0 0 22px;padding:0;border-top:1px solid #d7dfe2}
.obor-customize-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #d7dfe2}
.obor-customize-switch{display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer;font-size:13px;font-weight:600}
.obor-customize-switch input{width:17px;height:17px;margin:0;accent-color:#153c51;flex:0 0 auto}
.obor-customize-moves{display:flex;gap:5px;flex:0 0 auto}
.obor-customize-move{width:34px;height:34px;border:1px solid #cbd6da;border-radius:4px;background:#fff;color:#274152;font-family:inherit;font-size:17px;font-weight:700;line-height:1;cursor:pointer}
.obor-customize-move:disabled{opacity:.35;cursor:default}
.obor-customize-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0 12px}
.obor-customize-filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;color:#374d5a}
.obor-customize-filters select{width:100%;min-height:40px;padding:8px;border:1px solid #cbd6da;border-radius:4px;background:white;color:#102131;font:inherit;font-weight:500;font-size:12px}
.obor-customize-filters select:disabled{color:#687882;background:#edf1f1}
.obor-customize-current{background:transparent;border:0;padding:5px 0;color:#24526c;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:12px;font-weight:650}
.obor-customize-current:disabled{color:#78878d;cursor:default;text-decoration:none}
.obor-customize-small{font-size:11px;line-height:1.5;color:#63717b;margin:8px 0 0}
.obor-customize-footer{border-top:1px solid #d7dfe2;margin-top:21px;padding-top:16px}
.obor-customize-feedback{font-size:11px;line-height:1.4;min-height:16px;color:#5a6972;margin:0 0 12px}
.obor-customize-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.obor-customize-actions button{min-height:42px;border-radius:5px;font:700 12px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;padding:10px 16px;cursor:pointer}
.obor-customize-reset{color:#173b4e;background:transparent;border:1px solid #b9c8d0}
.obor-customize-done{color:white;background:#102c3d;border:1px solid #102c3d;min-width:110px}
.obor-customize-done:hover{background:#1a4255}
@media(max-width:520px){
  .obor-workspace-toolbar{padding-top:8px;min-height:42px}
  .obor-workspace-mode{font-size:10px}
  .obor-customize-filters{grid-template-columns:1fr}
  .obor-customize-item{gap:8px}
  .obor-customize-switch{font-size:12px}
}
@media(prefers-reduced-motion:reduce){#obor-customize-dialog::backdrop{backdrop-filter:none}}


/* Level A: a genuine two-column composition at desktop widths, with compact
   research tiles in place of unreadably compressed instruments. Full modules
   retain their original markup, state, evidence context, and controls. */
#portfolio-main.obor-workspace-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:18px;
  row-gap:18px;
  align-items:start;
  width:min(calc(100% - 40px),var(--max));
  margin:0 auto;
}
#portfolio-main.obor-workspace-grid > section[data-obor-section]{
  grid-column:1 / -1;
  margin:0;
  width:100%;
  max-width:none;
  min-width:0;
}
#portfolio-main.obor-workspace-grid > section[data-obor-size="tile"]{
  grid-column:span 1;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  min-height:0!important;
}
#portfolio-main.obor-workspace-grid > section[data-obor-size="tile"] > :not(.obor-module-tile){
  display:none!important;
}
.obor-module-tile{display:none}
#portfolio-main.obor-workspace-grid > section[data-obor-size="tile"] > .obor-module-tile{
  display:flex;
  flex-direction:column;
  gap:0;
  width:100%;
  min-height:260px;
  padding:clamp(19px,2.6vw,26px);
  background:#fff;
  border:1px solid #d4dfe3;
  border-radius:9px;
  box-shadow:0 7px 18px rgba(16,33,49,.045);
  color:#102131;
  overflow-wrap:anywhere;
}
.obor-module-tile-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin:0 0 15px;
}
.obor-module-tile-ordinal{font-size:10px;font-weight:750;letter-spacing:.08em;color:#98533b}
.obor-module-tile-status{font-size:10px;font-weight:700;letter-spacing:.08em;color:#687a83}
.obor-module-tile h2{font-size:clamp(21px,2.7vw,27px);font-weight:650;letter-spacing:-.035em;line-height:1.2;margin:0 0 9px}
.obor-module-tile-description{font-size:13px;line-height:1.58;color:#526570;margin:0 0 17px}
.obor-module-tile-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:auto}
.obor-module-tile-expand{font:700 12px/1.3 Inter,ui-sans-serif,system-ui,sans-serif;min-height:41px;cursor:pointer;background:#133449;color:white;border:1px solid #133449;border-radius:5px;padding:9px 14px}
.obor-module-tile-expand:hover{background:#24546b}
.obor-module-tile-link{font-size:12px;font-weight:650;color:#17475e;text-decoration:underline;text-underline-offset:3px}
.obor-module-tile-note{font-size:11px;line-height:1.45;color:#667782;margin:15px 0 0;border-top:1px solid #e4e9eb;padding-top:11px}
.obor-module-tile-expand:focus-visible,.obor-module-tile-link:focus-visible{outline:3px solid #b66e4c;outline-offset:3px}
.obor-customize-item{flex-wrap:wrap}
.obor-customize-switch{flex:1 1 180px}
.obor-customize-size{display:flex;align-items:center;gap:7px;flex:0 1 175px;min-width:142px}
.obor-customize-size-label{font-size:11px;color:#586a73;font-weight:600}
.obor-customize-size select{
  flex:1;
  min-width:0;
  min-height:35px;
  padding:6px 8px;
  border:1px solid #cbd6da;
  border-radius:4px;
  background:#fff;
  color:#18384a;
  font:600 11px/1.25 Inter,ui-sans-serif,system-ui,sans-serif;
}
@media(max-width:840px){
  #portfolio-main.obor-workspace-grid{grid-template-columns:minmax(0,1fr);row-gap:13px}
  #portfolio-main.obor-workspace-grid > section[data-obor-size="tile"]{grid-column:1 / -1}
  #portfolio-main.obor-workspace-grid > section[data-obor-size="tile"] > .obor-module-tile{min-height:185px}
}
@media(max-width:520px){
  .obor-customize-size{flex:1 1 170px}
  .obor-customize-moves{margin-left:auto}
  #portfolio-main.obor-workspace-grid{width:min(calc(100% - 28px),var(--max))}
}
