:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182638;background:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}body{margin:0;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#13253b;color:#eaf0f8;padding:25px 16px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 36px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#3978d4;color:white;font-size:20px;font-weight:800}.brand strong{display:block;letter-spacing:1.3px;font-size:15px}.brand small{display:block;color:#a8b7ca;font-size:11px;margin-top:4px}.nav-label,.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.5px;color:#8da3bd}.nav-label{padding:0 12px 12px}.sidebar nav{display:grid;gap:5px}.nav-item{border:0;border-radius:8px;background:transparent;color:#c0ccda;text-align:left;padding:12px;display:flex;gap:12px;align-items:center;font:inherit;font-size:13px;cursor:pointer}.nav-item>span:first-of-type{flex:1}.nav-item:hover{background:#203751;color:white}.nav-item.active{background:#2b4a6c;color:#fff;box-shadow:inset 3px 0 #6ea7ff}.sidebar-bottom{margin-top:auto;border-top:1px solid #314359;padding:18px 7px 0;font-size:11px;color:#c2cedc;display:grid;grid-template-columns:9px 1fr;gap:5px 8px;align-items:center}.sidebar-bottom small{grid-column:2;color:#8296ad}.status-dot{width:8px;height:8px;border-radius:50%;background:#e4b45b}.main{margin-left:244px;padding:0 34px 22px;max-width:1800px}.topbar{height:67px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e8ef}.breadcrumb{font-size:12px;color:#78889a}.breadcrumb span{padding:0 10px;color:#b5bfca}.breadcrumb strong{color:#25364a}.top-meta{display:flex;align-items:center;gap:13px}.environment,.pill{display:inline-flex;align-items:center;border:1px solid #dce4ed;border-radius:20px;padding:5px 9px;color:#63748a;font-size:9px;font-weight:750;letter-spacing:.35px;background:#f9fbfd}.environment{color:#8c6221;background:#fff8e8;border-color:#f1dfb7}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#dfeaff;color:#2e5b9a;font-size:10px;font-weight:800}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:29px 0 23px}.eyebrow{margin:0 0 9px;color:#4778b7}h1{font-size:28px;letter-spacing:-.8px;margin:0;font-weight:720;color:#17283b}#page-description{margin:8px 0 0;color:#78889a;font-size:13px}.horizon{display:grid;gap:6px;min-width:205px}.horizon label{font-size:10px;font-weight:700;color:#6b7a8c}.horizon select{border:1px solid #d8e0e9;background:white;border-radius:7px;padding:10px 12px;color:#33465c;font:inherit;font-size:12px}.notice{display:flex;gap:12px;align-items:flex-start;background:#fff9ec;border:1px solid #f1e0b8;border-radius:10px;padding:14px 16px;margin-bottom:23px}.notice-icon{width:20px;height:20px;flex:0 0 20px;border-radius:50%;display:grid;place-items:center;background:#f4e2b8;color:#805b19;font-size:12px;font-weight:800}.notice>div{flex:1}.notice strong{font-size:12px;color:#6d521f}.notice p{font-size:11px;line-height:1.5;color:#8c754b;margin:4px 0 0}.notice .pill{white-space:nowrap;background:#fffdf7;border-color:#f0e4ca}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px}.section-heading h2{font-size:16px;margin:0;font-weight:700}.section-heading p,.panel-heading p{font-size:11px;color:#8491a1;margin:5px 0 0;line-height:1.5}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric{background:white;border:1px solid #e4e9f0;border-radius:10px;padding:18px;min-width:0}.metric>span{display:block;color:#66778b;font-size:11px;font-weight:600}.metric strong{display:block;font-size:29px;letter-spacing:-.7px;color:#1b2d42;margin:14px 0 8px}.metric small{font-size:10px;color:#8b98a7;line-height:1.4}.content-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr);gap:17px;margin-bottom:18px}.panel{min-width:0;background:#fff;border:1px solid #e3e9f0;border-radius:10px;padding:18px}.panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.panel-heading h3{margin:0;font-size:13px;font-weight:720}.panel-heading .pill{white-space:nowrap}.empty-state{min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px 15px}.empty-state.compact{min-height:125px}.empty-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#edf4ff;color:#477cc5;font-size:22px;margin-bottom:13px}.empty-state strong,.upload-area strong{font-size:12px;color:#415269}.empty-state p,.upload-area p{font-size:11px;line-height:1.6;color:#8a97a6;max-width:330px;margin:7px 0 0}.readiness{list-style:none;padding:6px 0 0;margin:0}.readiness li{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf0f4}.readiness li:last-child{border-bottom:0}.readiness-mark{width:25px;height:25px;display:grid;place-items:center;background:#f0f4f8;border-radius:7px;color:#60738a;font-size:10px}.readiness li div{flex:1;min-width:0}.readiness li strong,.readiness li small{display:block}.readiness li strong{font-size:11px;font-weight:650}.readiness li small{font-size:10px;color:#8b98a7;margin-top:4px}.quick-actions{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 27px}.primary-button,.secondary-button{border-radius:7px;padding:10px 14px;font:inherit;font-size:11px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.primary-button{border:1px solid #2868c2;background:#2868c2;color:white}.primary-button:hover{background:#1f58a8}.secondary-button{border:1px solid #d9e1ea;background:white;color:#3c526b}.secondary-button:hover{background:#f5f8fc}.view{display:none}.view.active{display:block}.section-panel{margin-bottom:18px}.table-wrap{overflow-x:auto;margin-top:15px}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;background:#f8fafc;color:#7a8999;font-size:10px;font-weight:700;padding:11px;border-bottom:1px solid #e8edf2}td{font-size:11px;padding:14px 11px;border-bottom:1px solid #edf0f4}.table-empty{text-align:center;color:#8a97a6;padding:25px}.upload-area{margin-top:18px;border:1px dashed #cdd9e7;border-radius:9px;background:#fafcff;min-height:215px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px;text-align:center}.upload-area .empty-icon{margin-bottom:10px}.file-button{margin-top:13px;position:relative}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-name{overflow-wrap:anywhere}.field-note{font-size:10px;line-height:1.6;color:#8491a1;margin-top:12px}.rule-list{padding-left:18px;margin:20px 0 5px;color:#607187;font-size:11px;line-height:1.9}.rule-list li{padding-left:3px;margin-bottom:7px}footer{border-top:1px solid #e3e8ef;padding-top:17px;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#7c8b9b}footer span{color:#9aa5b1}
@media(max-width:1100px){.main{padding:0 22px 20px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.sidebar{width:220px}.main{margin-left:220px}}
@media(max-width:680px){.sidebar{position:static;width:auto;padding:13px 12px}.brand{padding:0 4px 14px}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-label,.sidebar-bottom{display:none}.nav-item{padding:9px;font-size:11px}.main{margin:0;padding:0 14px 18px}.topbar{height:51px}.page-heading{align-items:flex-start;flex-direction:column;padding:22px 0 17px}.horizon{width:100%}.page-heading h1{font-size:24px}.notice{flex-wrap:wrap}.notice .pill{margin-left:32px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric{padding:13px}.metric strong{font-size:24px;margin:11px 0 6px}.panel{padding:14px}.content-grid{gap:12px}footer{flex-direction:column}footer span{line-height:1.5}}


/* Track A: operational source-record charts */
.source-bars{display:grid;gap:13px;margin-top:17px}
.source-bar-item{min-width:0}
.source-bar-caption{display:flex;justify-content:space-between;gap:12px;
  align-items:center;font-size:11px;color:#415269;margin-bottom:5px}
.source-bar-caption span{overflow-wrap:anywhere}
.source-bar-caption strong{font-size:11px;color:#25364a}
.source-bar-track{height:9px;background:#edf2f8;border-radius:6px;
  overflow:hidden}
.source-bar-fill{height:100%;background:#3978d4;border-radius:6px}
.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:680px){
  .metric-grid.three{grid-template-columns:1fr}
}

/* Patch 03 planning workspace */
.pw-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0}
#pw-controls textarea,#view-scenarios textarea{display:block;width:100%;min-height:100px;padding:12px;border:1px solid #d8e0e9;border-radius:7px;font:12px/1.5 monospace;resize:vertical}
#pw-start{padding:9px;border:1px solid #d8e0e9;border-radius:7px}
#pw-controls h3,#view-scenarios h3{margin-top:20px;font-size:13px}
#pw-controls .table-wrap,#pw-comparison .table-wrap,#pw-snapshots .table-wrap{max-height:340px;overflow:auto}

/* PAUMSMX 3.x — planning navigation stabilization */
.planning-tab-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 12px;
  padding: 8px;
  border-radius: 12px;
  background: rgba(128,128,128,.08);
}

.planning-tab {
  padding: 10px 16px;
  border: 1px solid rgba(128,128,128,.22);
  border-radius: 8px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-weight: 600;
}

.planning-tab.active {
  background: #2458a6;
  color: #fff;
  border-color: #2458a6;
}

#sd-workspace,
#sc-workspace,
#pw-auto-draft {
  min-width: 0;
  max-width: 100%;
}

#sd-workspace[hidden],
#sc-workspace[hidden],
#pw-auto-draft[hidden] {
  display: none !important;
}

#sd-projects,
#sd-reviews,
#sd-policies,
#sc-exceptions {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: auto;
  max-height: 540px;
  border: 1px solid rgba(128,128,128,.18);
  border-radius: 10px;
  margin-top: 12px;
}

#sd-projects table,
#sd-reviews table,
#sd-policies table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
}

#sd-projects th,
#sd-projects td,
#sd-reviews th,
#sd-reviews td,
#sd-policies th,
#sd-policies td {
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(128,128,128,.15);
  font-size: 13px;
}

#sd-projects th,
#sd-reviews th,
#sd-policies th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #26364c;
  color: #fff;
}

#sd-reviews input,
#sd-reviews select,
#sd-reviews textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 150px;
  max-width: 260px;
  font: inherit;
}

#sd-reviews textarea {
  min-height: 65px;
  resize: vertical;
}

#sd-workspace h4 {
  margin-top: 24px;
  margin-bottom: 8px;
}

#sd-workspace .table-wrap {
  min-width: 0;
}

@media (max-width: 900px) {
  .planning-tab-nav {
    gap: 5px;
  }

  .planning-tab {
    flex: 1 1 auto;
    font-size: 12px;
    padding: 9px;
  }
}

/* Structural containment after Sprint D HTML repair */
.main {
    min-width: 0;
    width: calc(100% - 244px);
    max-width: none;
}

@media (min-width: 681px) and (max-width: 1100px) {
    .main {
        width: calc(100% - 220px);
    }
}

@media (max-width: 680px) {
    .main {
        width: 100%;
    }
}

.main > #pw-auto-draft,
.main > #sc-workspace,
.main > #sd-workspace,
.main > .planning-tab-nav {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

#sd-projects,
#sd-reviews,
#sd-policies {
    max-width: 100%;
    overflow-x: auto;
}

/* Final sidebar/main width reconciliation */
@media (min-width: 1101px) {
  .main {
    margin-left: 244px;
    width: auto;
    max-width: calc(100% - 244px);
  }
}

@media (min-width: 681px) and (max-width: 1100px) {
  .main {
    margin-left: 220px;
    width: auto;
    max-width: calc(100% - 220px);
  }
}

@media (max-width: 680px) {
  .main {
    margin-left: 0;
    width: 100%;
    max-width: 100%;
  }
}
