.btn{
  border:1px solid #e2e5e8;
  border-radius:var(--radius);
  background:#fff;
  color:#344054;
  min-height:32px;
  padding:6px 10px;
  font-size:13px;
  font-weight:550;
}

.btn:hover{
  border-color:#cfd3d7;
  background:#f5f6f7;
}

.btn.primary{
  border-color:var(--primary);
  background:var(--primary);
  color:#fff;
}

.btn.primary:hover{
  background:var(--primary-dark);
  color:#fff;
}

.btn.small{
  min-height:28px;
  padding:4px 8px;
  font-size:12px;
}

.btn:focus-visible,
.search:focus,
.select:focus,
.input:focus,
textarea:focus,
.awesomebar:focus-within{
  outline:2px solid rgba(69,74,80,.14);
  outline-offset:1px;
  border-color:#b9bec4;
}

.tag{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:3px 8px;
  white-space:nowrap;
  font-size:12px;
  font-weight:650;
}

.tag.green{background:var(--green-soft);color:var(--green)}
.tag.blue{background:var(--blue-soft);color:var(--blue)}
.tag.orange{background:var(--orange-soft);color:var(--orange)}
.tag.red{background:var(--red-soft);color:var(--red)}
.tag.violet{background:var(--violet-soft);color:var(--violet)}
.tag.cyan{background:var(--cyan-soft);color:var(--cyan)}
.tag.gray{background:#e9edf1;color:#596575}

.importance-badge{
  width:26px;
  height:26px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  color:#fff;
  font-size:12px;
  font-weight:850;
}

.importance-badge.level-1{background:var(--green)}
.importance-badge.level-2{background:var(--blue)}
.importance-badge.level-3{background:#c79a2b}
.importance-badge.level-4{background:var(--orange)}
.importance-badge.level-5{background:var(--red)}

.kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}

.kpi{
  background:#fff;
  border:0;
  border-radius:var(--radius);
  min-height:82px;
  padding:12px 13px;
  box-shadow:0 1px 1px rgba(31,39,46,.03);
}

.kpi-label{
  font-size:12px;
  color:var(--muted);
  font-weight:550;
}

.kpi-value{
  margin-top:6px;
  font-size:22px;
  font-weight:700;
  line-height:1.15;
  color:var(--ink);
}

.kpi-value.green{color:var(--green)}
.kpi-value.blue{color:var(--blue)}
.kpi-value.orange{color:var(--orange)}
.kpi-value.red{color:var(--red)}
.kpi-value.violet{color:var(--violet)}

.kpi-hint{
  margin-top:6px;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}

.panel{
  background:#fff;
  border:1px solid #c4c6cd;
  border-radius:var(--radius);
  box-shadow:none;
  overflow:hidden;
}

.panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:46px;
  padding:10px 12px;
  border-bottom:2px solid #c4c6cd;
  background:#fff;
}

.panel-title{
  min-width:0;
}

.panel-head h3{
  margin:0;
  font-size:15px;
  line-height:1.35;
  font-weight:650;
}

.panel-body{
  padding:12px;
}

.table-wrap{
  overflow:auto;
  max-height:600px;
  border:0;
  border-radius:4px;
}

table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  white-space:nowrap;
  font-size:13px;
}

th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f8f9fb;
  color:#596575;
  text-align:left;
  border-bottom:1px solid var(--line-soft);
  padding:9px 10px;
  font-weight:600;
}

td{
  border-bottom:1px solid var(--line-soft);
  padding:9px 10px;
  color:#344054;
  vertical-align:middle;
}

tbody tr:last-child td{
  border-bottom:0;
}

tbody tr:hover td{
  background:#fafbfc;
}

.empty{
  text-align:center;
  color:var(--muted);
  padding:22px 10px;
}

.toolbar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.search,
.select,
.input,
textarea{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  min-height:32px;
  padding:6px 9px;
  color:var(--ink);
}

.search{
  min-width:260px;
}

textarea{
  line-height:1.5;
}

.task-filter-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#fff;
  border:0;
  border-radius:var(--radius);
  box-shadow:0 1px 1px rgba(31,39,46,.03);
  padding:10px;
  margin-bottom:12px;
}

.segmented{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.segmented button{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  min-height:32px;
  padding:6px 10px;
  color:#344054;
  font-size:13px;
  font-weight:650;
}

.segmented button.active{
  border-color:#bfc5cb;
  background:#f0f1f3;
  color:var(--ink);
}

.date-input{
  width:126px;
}

.task-center-layout{
  grid-template-columns:minmax(0,1fr) 360px;
}

.foundation-entry-panel{
  display:grid;
  gap:0;
  background:#fff;
  border:0;
  border-radius:var(--radius);
  box-shadow:0 1px 1px rgba(31,39,46,.03);
  overflow:hidden;
  margin-bottom:12px;
}

.foundation-entry-group{
  padding:14px;
}

.foundation-entry-group.base{
  background:#f8f9fb;
}

.foundation-entry-group.doc{
  background:#fff;
}

.foundation-entry-title{
  color:#344054;
  font-size:13px;
  font-weight:600;
  margin-bottom:10px;
}

.foundation-entry-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.foundation-entry{
  position:relative;
  min-height:102px;
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:#fff;
  padding:12px;
  text-align:left;
  display:grid;
  gap:7px;
  align-content:start;
}

.foundation-entry:hover{
  border-color:#d3d7db;
  box-shadow:var(--shadow);
}

.foundation-entry.active{
  border-color:#d4d7da;
  box-shadow:inset 2px 0 0 #777c82;
}

.entry-name{
  color:var(--ink);
  font-weight:600;
  line-height:1.35;
}

.entry-desc{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.entry-count{
  justify-self:start;
  margin-top:2px;
  border-radius:999px;
  background:#eef1f4;
  color:#404b57;
  padding:3px 8px;
  font-size:12px;
  font-weight:600;
}

.foundation-entry.active .entry-count{
  background:#f0f1f3;
  color:var(--ink);
}

.foundation-divider{
  height:1px;
  background:var(--line);
}

.foundation-empty{
  background:#fff;
  border:1px dashed #b9c2ce;
  border-radius:var(--radius);
  color:var(--muted);
  padding:22px;
  text-align:center;
}

.foundation-layout{
  display:grid;
  gap:16px;
}

.foundation-section{
  display:grid;
  gap:12px;
}

.section-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  background:#fff;
  border:0;
  border-radius:var(--radius);
  padding:12px;
  box-shadow:0 1px 1px rgba(31,39,46,.03);
}

.section-title h3{
  margin:0;
  font-size:16px;
  font-weight:650;
}

.section-title p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

.module-desc{
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
  margin-bottom:10px;
}

.module-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.check-cell{
  width:42px;
  text-align:center;
}

.check-cell input{
  width:15px;
  height:15px;
}

.asset-task-page,
.asset-editor-page{
  display:grid;
  gap:12px;
}

.subpage-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  background:#fff;
  border:0;
  border-radius:var(--radius);
  box-shadow:0 1px 1px rgba(31,39,46,.03);
  padding:12px;
}

.subpage-head h3{
  margin:0;
  font-size:16px;
  font-weight:650;
  line-height:1.3;
}

.subpage-head p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.asset-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.summary-tile{
  border:0;
  border-radius:var(--radius);
  background:#fff;
  padding:10px;
  display:grid;
  gap:7px;
}

.summary-tile span{
  color:var(--muted);
  font-size:12px;
}

.summary-tile strong{
  color:var(--ink);
  font-size:14px;
  line-height:1.35;
}

.asset-task-layout{
  grid-template-columns:minmax(0,1fr) 440px;
}

.asset-editor-layout{
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
}

.asset-form-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.form-actions{
  margin-top:12px;
  justify-content:flex-end;
}

.owner-select{
  min-width:140px;
}

.plan-save-row{
  margin:10px 0 12px;
}

.manual-plan{
  border-top:1px solid var(--line-soft);
  padding-top:12px;
  display:grid;
  gap:10px;
}

.manual-plan-title{
  font-weight:600;
  color:var(--ink);
}

.compact-form{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.card-list{
  display:grid;
  gap:10px;
}

.dashboard-main{
  grid-template-columns:minmax(0,1fr) 350px;
}

.line-health-overview{
  display:grid;
  grid-template-columns:260px minmax(0,1fr) 360px;
  gap:16px;
  align-items:center;
}

.donut-card{
  display:grid;
  justify-items:center;
  gap:12px;
  border-right:1px solid var(--line-soft);
  padding-right:10px;
}

.donut-chart{
  width:170px;
  aspect-ratio:1;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:conic-gradient(var(--green) 0 var(--healthy-degree), #efc7c7 var(--healthy-degree) 360deg);
  position:relative;
}

.donut-chart::before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:999px;
  background:#fff;
  box-shadow:inset 0 0 0 1px var(--line-soft);
}

.donut-center{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  gap:4px;
}

.donut-center strong{
  font-size:26px;
  line-height:1;
  color:var(--ink);
}

.donut-center strong.green{color:var(--green)}
.donut-center strong.orange{color:var(--orange)}
.donut-center strong.red{color:var(--red)}

.donut-center span,
.donut-legend span{
  color:var(--muted);
  font-size:12px;
}

.donut-legend{
  display:grid;
  gap:6px;
  width:100%;
}

.donut-legend span{
  display:flex;
  align-items:center;
  gap:7px;
}

.donut-legend i,
.mini-heatmap span{
  display:inline-block;
  border-radius:999px;
}

.donut-legend i{
  width:9px;
  height:9px;
}

.donut-legend .ok,
.mini-heatmap .ok{background:var(--green)}
.donut-legend .warn,
.mini-heatmap .warn{background:var(--orange)}
.donut-legend .bad,
.mini-heatmap .bad{background:var(--red)}

.line-health-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.line-metric-card{
  min-height:108px;
  border:0;
  border-radius:var(--radius);
  background:#fbfcfd;
  padding:12px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  align-items:start;
}

.line-metric-card > span{
  width:38px;
  height:38px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#e6f0fa;
  color:var(--blue);
  font-weight:700;
}

.line-metric-card strong{
  display:block;
  font-size:22px;
  color:var(--ink);
}

.line-metric-card strong.green{color:var(--green)}
.line-metric-card strong.orange{color:var(--orange)}
.line-metric-card strong.red{color:var(--red)}

.line-metric-card small{
  display:block;
  margin-top:6px;
  color:var(--muted);
  line-height:1.45;
}

.line-health-side{
  display:grid;
  gap:12px;
}

.mini-heatmap{
  display:grid;
  grid-template-columns:repeat(25,1fr);
  gap:4px;
}

.mini-heatmap span{
  height:10px;
}

.line-problem-list{
  display:grid;
  gap:8px;
}

.line-problem-item{
  display:grid;
  grid-template-columns:minmax(90px,.6fr) minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  padding:8px 10px;
  background:#fff;
}

.line-problem-item strong{
  font-size:13px;
}

.line-problem-item span{
  color:var(--muted);
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.table-sub{
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
}

.line-score{
  display:grid;
  grid-template-columns:34px 92px;
  gap:8px;
  align-items:center;
}

.line-score strong{
  color:var(--ink);
}

.line-score strong.green{color:var(--green)}
.line-score strong.orange{color:var(--orange)}
.line-score strong.red{color:var(--red)}

.line-score span{
  height:8px;
  border-radius:999px;
  background:#e7ebef;
  overflow:hidden;
}

.line-score i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--orange),var(--blue));
}

.dashboard-stat{
  min-height:92px;
  display:grid;
  place-items:center;
  gap:5px;
}

.dashboard-stat b{
  font-size:32px;
  line-height:1;
  color:var(--ink);
}

.dashboard-stat b.green{color:var(--green)}
.dashboard-stat b.orange{color:var(--orange)}
.dashboard-stat b.red{color:var(--red)}

.dashboard-stat span{
  color:var(--muted);
  font-size:13px;
}

.ai-chat{
  min-height:450px;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto auto;
  gap:10px;
}

.chat-messages{
  min-height:300px;
  max-height:420px;
  overflow:auto;
  border:0;
  border-radius:var(--radius);
  background:#f7f8fa;
  padding:12px;
}

.chat-message{
  display:flex;
  margin-bottom:9px;
}

.chat-message.user{
  justify-content:flex-end;
}

.chat-message.assistant{
  justify-content:flex-start;
}

.chat-bubble{
  max-width:78%;
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:#fff;
  color:#344054;
  padding:9px 11px;
  font-size:13px;
  line-height:1.6;
  white-space:pre-line;
}

.chat-message.user .chat-bubble{
  border-color:#e1e3e6;
  background:#e9eaec;
  color:var(--ink);
}

.chat-prompts{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}

.chat-input-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}

.work-card{
  border:0;
  border-radius:var(--radius);
  background:#fff;
  padding:11px;
  display:grid;
  gap:9px;
}

.work-card.warn{
  border-left:2px solid #d3a76d;
  background:#fffaf3;
}

.work-card.danger{
  border-left:2px solid #d58d8d;
  background:#fff7f7;
}

.card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}

.card-title{
  font-weight:600;
  line-height:1.4;
}

.card-meta{
  font-size:12px;
  color:var(--muted);
  line-height:1.55;
}

.note{
  border:0;
  border-left:2px solid var(--blue);
  border-radius:var(--radius);
  background:#f7fbfe;
  padding:11px;
  color:#344054;
  line-height:1.65;
  font-size:13px;
}

.compact-list{
  display:grid;
  gap:8px;
}

.compact-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--line-soft);
  padding-bottom:8px;
  font-size:13px;
}

.compact-row:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.compact-row span{
  color:var(--muted);
}

.compact-row strong{
  text-align:right;
}

.meter{
  height:9px;
  background:#e7ebef;
  border-radius:999px;
  overflow:hidden;
}

.meter i{
  display:block;
  height:100%;
  background:linear-gradient(90deg,var(--blue),var(--green));
  border-radius:999px;
}

.score{
  display:flex;
  align-items:flex-end;
  gap:8px;
  margin-bottom:10px;
}

.score b{
  font-size:50px;
  line-height:1;
  color:var(--primary);
}

.score.green b{color:var(--green)}
.score.orange b{color:var(--orange)}
.score.red b{color:var(--red)}

.score span{
  font-size:13px;
  color:var(--muted);
  padding-bottom:7px;
}

.subtabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.subtabs button{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:7px 10px;
}

.subtabs button.active{
  border-color:#bfc5cb;
  background:#f0f1f3;
  color:var(--ink);
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}

.people-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:8px 0 34px}.people-page-head h2{margin:0;color:#191c20;font-size:34px;line-height:1.1;font-weight:600;letter-spacing:-.02em}.people-page-head p{margin:8px 0 0;color:#5c5f61;font-size:14px;line-height:1.5;max-width:760px}.people-page-actions{display:flex;gap:10px}.people-roster-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:44px;align-items:start}.people-architecture{background:#f3f3f9;border-radius:4px;padding:0 0 18px;min-height:360px}.people-architecture-head{display:flex;justify-content:space-between;align-items:center;padding:18px 18px 15px;border-bottom:1px solid #c4c6cd;color:#1a283a}.people-architecture-head strong{font-size:14px}.people-architecture-head span{font-size:12px;color:#5c5f61}.people-group-list{display:grid;gap:3px;padding:10px}.people-group-row{display:flex;justify-content:space-between;align-items:center;border:1px solid transparent;background:transparent;border-radius:3px;padding:11px 12px;color:#44474c;text-align:left;font-size:14px}.people-group-row:hover{background:#e7e8ee}.people-group-row.active{background:#1a283a;color:#fff}.people-group-row strong{font-variant-numeric:tabular-nums;font-weight:500}.people-architecture-footer{border-top:1px solid #c4c6cd;margin:16px 18px 0;padding-top:18px;display:grid;gap:16px}.people-manage-groups{width:100%;background:transparent;border-color:#c4c6cd;color:#1a283a}.people-leader-index{display:flex;justify-content:space-between;color:#5c5f61;font-size:12px}.people-leader-index strong.green{color:#4f946d}.people-leader-index strong.red{color:#ba1a1a}.people-roster{min-width:0}.people-roster-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.people-roster-toolbar h3{margin:0;font-size:22px;color:#191c20}.people-roster-toolbar span{display:block;margin-top:5px;color:#5c5f61;font-size:12px}.people-search{min-width:260px}.people-filter-bar{display:flex;gap:20px;align-items:flex-end;margin:-18px 0 26px;padding:14px 16px;background:#f3f3f9;border:1px solid #c4c6cd;border-radius:4px}.people-filter-bar label{display:grid;gap:5px;color:#44474c;font-size:12px;font-weight:600}.people-filter-bar span{color:#5c5f61;font-size:12px}.people-leader-bar{display:grid;grid-template-columns:44px minmax(150px,1fr) minmax(180px,1fr) auto;gap:13px;align-items:center;border-top:2px solid #1a283a;border-bottom:1px solid #c4c6cd;padding:14px 0;margin-bottom:8px}.leader-avatar,.person-avatar{display:grid;place-items:center;border-radius:10px;font-weight:700}.leader-avatar{width:44px;height:44px;background:#1a283a;color:#fff;font-size:14px}.leader-copy,.leader-duty{display:grid;gap:3px}.leader-copy span,.leader-duty span{color:#5c5f61;font-size:11px}.leader-copy strong,.leader-duty strong{color:#191c20;font-size:14px}.leader-copy small,.leader-duty small{color:#5c5f61;font-size:11px}.leader-duty small.orange{color:#f97316}.people-leader-list{display:flex;flex-wrap:wrap;gap:6px}.people-leader-chip{display:inline-flex;align-items:baseline;gap:6px;padding:4px 8px;background:#e7e8ee;border-radius:3px}.people-leader-chip b{font-size:13px;color:#1a283a}.people-leader-chip small{font-size:10px;color:#5c5f61}.people-leader-empty{color:#ba1a1a;font-size:13px}.people-list-head-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(260px,1.4fr) 135px 90px 100px;padding:10px 0;color:#44474c;border-bottom:2px solid #c4c6cd;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.people-roster-list{display:grid}.people-person-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(260px,1.4fr) 135px 90px 100px;align-items:center;min-height:96px;border-bottom:1px solid #c4c6cd}.people-person-row:hover{background:rgba(231,232,238,.35)}.person-identity{display:flex;align-items:center;gap:12px}.person-avatar{width:44px;height:44px;color:#fff;font-size:14px}.person-avatar.navy{background:#1a283a}.person-avatar.slate{background:#64748b}.person-identity>div:last-child,.person-meta{display:grid;gap:3px}.person-identity strong{font-size:16px;color:#191c20}.person-identity span,.person-identity small,.person-meta span,.person-meta small{font-size:12px;color:#5c5f61}.person-meta{padding-left:10px}.person-meta b{font-size:12px}.person-role{color:#5c5f61}.person-role.leader{color:#1a5dab}.person-chain{font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.person-status{display:grid;gap:4px;justify-items:start}.person-status small{font-size:10px}.person-actions{display:flex;gap:6px}.person-actions .btn{border:0;background:transparent;padding:4px;color:#1a283a}.person-actions .btn:last-child{color:#ba1a1a}.person-empty{padding:36px 0;color:#5c5f61;text-align:center}.people-editor-page{display:grid;gap:20px}.people-editor-shell{background:#fff;border-top:2px solid #1a283a;border-bottom:1px solid #c4c6cd;padding:18px 0}.people-editor-title{display:grid;gap:4px;margin:24px 0}.people-editor-title strong{font-size:22px}.people-editor-title span{color:#5c5f61;font-size:12px}.people-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.people-selected-group{display:flex;align-items:baseline;gap:10px;background:#f3f3f9;border:1px solid #c4c6cd;border-radius:4px;padding:12px;margin:18px 0}.people-selected-group span,.people-selected-group small{color:#5c5f61;font-size:12px}.people-selected-group strong{font-size:14px}.people-editor-note{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:12px 14px;background:#eef4ff;border-left:3px solid #1a5dab;color:#465465;font-size:12px;line-height:1.5}.people-editor-note strong{color:#1a283a;white-space:nowrap}.people-editor-actions{display:flex;justify-content:flex-end;margin-top:22px}

.people-group-row>span{display:grid;gap:2px}.people-group-row>span b{font-weight:600}.people-group-row>span small{font-size:10px;color:#7d8188}.people-group-row.active>span small{color:#c7d0dc}.people-editor-shell select[multiple]{min-height:112px}.people-editor-shell select[multiple] option{padding:5px 6px}.people-editor-note{max-width:100%}

.field{
  display:grid;
  gap:6px;
}

.field label{
  font-size:12px;
  color:#596575;
  font-weight:600;
}

.field textarea{
  min-height:84px;
  resize:vertical;
}

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

.phone{
  max-width:360px;
  margin:0 auto;
  border:1px solid #e1e4e7;
  border-radius:22px;
  background:#f1f2f3;
  padding:10px;
}

.phone-screen{
  min-height:560px;
  overflow:hidden;
  background:#f6f7f9;
  border-radius:15px;
}

.phone-head{
  background:#fff;
  padding:14px;
  border-bottom:1px solid #e5e9ee;
}

.phone-head b{
  display:block;
}

.phone-head span{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:4px;
}

.phone-body{
  display:grid;
  gap:10px;
  padding:12px;
}

.photo-slot{
  border:1px dashed #adb9b1;
  border-radius:var(--radius);
  background:#fff;
  min-height:112px;
  display:grid;
  place-items:center;
  text-align:center;
  color:#667085;
  font-size:13px;
  padding:12px;
}

.field-note{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#f8fafc;
  color:#344054;
  padding:12px;
  line-height:1.65;
  margin-bottom:10px;
}

.field-note.danger{
  border-color:#f2b8b8;
  background:#fff7f7;
  color:#a43d3d;
}

.photo-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.photo-thumb,
.photo-card{
  border:0;
  border-radius:var(--radius);
  background:#fff;
  padding:10px;
}

.photo-thumb{
  display:grid;
  gap:7px;
}

.photo-thumb strong{
  font-size:13px;
}

.photo-thumb span{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.photo-thumb.missing,
.photo-card.missing{
  border-color:#f0d1a8;
  background:#fffaf3;
}

.photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.photo-card{
  display:grid;
  gap:10px;
}

.photo-fake,
.photo-large{
  border-radius:var(--radius);
  border:1px solid #d9dfda;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:760;
  background:#65746b;
  position:relative;
  overflow:hidden;
}

.photo-fake{
  min-height:88px;
  font-size:13px;
}

.photo-large{
  min-height:198px;
}

.photo-fake::before,
.photo-large::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.2), transparent 45%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.12) 0 8px, transparent 8px 18px);
}

.photo-fake.scene-0,
.photo-large.scene-0{background:#2e6b4b}
.photo-fake.scene-1,
.photo-large.scene-1{background:#5b6b3b}
.photo-fake.scene-2,
.photo-large.scene-2{background:#7c5a35}
.photo-fake.scene-3,
.photo-large.scene-3{background:#5f536d}

.photo-thumb.missing .photo-fake,
.photo-card.missing .photo-large{
  background:#99a49d;
  color:#eef3ef;
}

.bar-list{
  display:grid;
  gap:10px;
}

.bar-row{
  display:grid;
  grid-template-columns:130px minmax(0,1fr) 90px;
  gap:10px;
  align-items:center;
  font-size:13px;
}

.bar-track{
  height:9px;
  background:#e7ebef;
  border-radius:99px;
  overflow:hidden;
}

.bar-track i{
  display:block;
  height:100%;
  background:var(--blue);
  border-radius:99px;
}

.toast{
  position:fixed;
  right:22px;
  bottom:20px;
  background:#1f272e;
  color:#fff;
  border-radius:var(--radius);
  padding:10px 13px;
  font-size:13px;
  box-shadow:0 5px 16px rgba(31,39,46,.12);
  opacity:0;
  transform:translateY(10px);
  transition:.18s ease;
  pointer-events:none;
}

.toast.show{
  opacity:1;
  transform:translateY(0);
}

.todo-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:12px;
  margin-bottom:12px;
}

.todo-role-note{
  display:flex;
  align-items:center;
  gap:9px;
  border:0;
  background:#fff;
  border-radius:var(--radius);
  padding:10px 12px;
  color:var(--muted);
  font-size:13px;
}

.role-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--blue);
  flex:0 0 auto;
}

.todo-filter{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  border:0;
  background:#fff;
  border-radius:var(--radius);
  padding:8px;
  margin-bottom:12px;
}

.todo-filter button{
  border:1px solid transparent;
  border-radius:var(--radius);
  background:transparent;
  color:var(--muted);
  padding:6px 9px;
  font-size:12px;
  font-weight:700;
}

.todo-filter button:hover,
.todo-filter button.active{
  background:#f0f3f6;
  border-color:#cfd7df;
  color:var(--ink);
}

.todo-item-title{
  display:grid;
  gap:4px;
}

.todo-item-title strong{
  color:var(--ink);
  font-size:13px;
}

.todo-item-title span{
  color:var(--muted);
  font-size:12px;
}

.role-avatar{
  width:28px;
  height:28px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  color:#fff;
  font-size:11px;
  font-weight:850;
}

.role-avatar.management{background:#4b5563}
.role-avatar.admin{background:var(--violet)}
.role-avatar.supervisor{background:var(--blue)}
.role-avatar.leader{background:var(--orange)}
.role-avatar.technician{background:var(--green)}
.role-avatar.warehouse{background:#a6742e}
.role-avatar.reviewer{background:var(--cyan)}

.spare-flow-summary{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
  padding:12px;
  border-bottom:1px solid var(--line-soft);
  background:#fafbfc;
}

.spare-flow-step{
  position:relative;
  min-height:62px;
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:#fff;
  padding:9px;
  display:grid;
  align-content:center;
  gap:4px;
}

.spare-flow-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:50%;
  right:-7px;
  width:7px;
  height:1px;
  background:#bbc4cd;
}

.spare-flow-step strong{
  font-size:18px;
  color:var(--ink);
}

.spare-flow-step span{
  color:var(--muted);
  font-size:11px;
  line-height:1.3;
}

.spare-flow-step.pending{border-top:2px solid var(--orange)}
.spare-flow-step.active{border-top:2px solid var(--blue)}
.spare-flow-step.done{border-top:2px solid var(--green)}
.spare-flow-step.closed{border-top:2px solid var(--gray)}

.spare-flow-filter{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
  margin-bottom:10px;
}

.spare-flow-filter button{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  color:var(--muted);
  padding:6px 9px;
  font-size:12px;
  font-weight:700;
}

.spare-flow-filter button.active{
  border-color:#bfc5cb;
  background:#f0f1f3;
  color:var(--ink);
}

.spare-flow-id{
  display:grid;
  gap:3px;
}

.spare-flow-id strong{color:var(--ink)}
.spare-flow-id span{color:var(--muted);font-size:12px}

@media(min-width:1181px) and (max-width:1320px){
  .line-health-overview{
    grid-template-columns:230px minmax(0,1fr);
  }

  .line-health-side{
    grid-column:1/-1;
    grid-template-columns:minmax(0,1fr) 360px auto;
    align-items:center;
  }
}

@media(max-width:1180px){
  .todo-summary{grid-template-columns:1fr}
  .spare-flow-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
  .spare-flow-step:not(:last-child)::after{display:none}
}

@media(max-width:680px){
  .spare-flow-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:1180px){
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid{grid-template-columns:1fr}
  .foundation-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-main{grid-template-columns:1fr}
  .line-health-overview{grid-template-columns:1fr}
  .donut-card{
    border-right:0;
    border-bottom:1px solid var(--line-soft);
    padding:0 0 12px;
  }
  .asset-task-layout,.asset-editor-layout{grid-template-columns:1fr}
  .task-center-layout{grid-template-columns:1fr}
  .task-filter-panel{display:grid}
  .asset-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .people-base-layout{grid-template-columns:1fr}
  .people-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .people-group-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .people-roster-layout{grid-template-columns:260px minmax(0,1fr);gap:24px}
  .people-list-head-row,.people-person-row{grid-template-columns:minmax(190px,1.2fr) minmax(170px,1fr) 100px 80px}
}

@media(max-width:680px){
  .kpis{grid-template-columns:1fr}
  .panel-head,.section-title,.module-toolbar,.subpage-head{
    display:grid;
    grid-template-columns:1fr;
  }
  .foundation-entry-grid{grid-template-columns:1fr}
  .asset-summary-grid{grid-template-columns:1fr}
  .asset-form-grid{grid-template-columns:1fr}
  .search{
    min-width:0;
    width:100%;
  }
  .bar-row{grid-template-columns:1fr}
  .chat-input-row{grid-template-columns:1fr}
  .chat-bubble{max-width:94%}
  .line-health-metrics{grid-template-columns:1fr}
  .line-problem-item{grid-template-columns:1fr}
  .mini-heatmap{grid-template-columns:repeat(10,1fr)}
  .photo-grid{grid-template-columns:1fr}
  .people-list-head{display:grid;align-items:stretch}
  .people-kpi-grid{grid-template-columns:1fr}
  .people-group-summary{grid-template-columns:1fr}
}

@media(max-width:820px){
  .people-page-head,.people-roster-toolbar{display:grid;align-items:stretch}
  .people-roster-layout{grid-template-columns:1fr}
  .people-list-head-row,.people-person-row{grid-template-columns:minmax(180px,1fr) 110px 70px}
  .people-list-head-row span:nth-child(2),.people-person-row .person-meta{display:none}
  .people-leader-bar{grid-template-columns:44px 1fr auto}
  .people-leader-bar .leader-duty{grid-column:2}
  .people-leader-bar>.btn{grid-column:3;grid-row:1/3}
  .people-form-grid{grid-template-columns:1fr}
}

/* People module: one clear action surface per workflow. */
.people-selected-group-head{border-top:2px solid #1a283a;border-bottom:1px solid #c4c6cd;padding:16px 0;margin-bottom:0;align-items:center}
.people-group-title-block{display:grid;gap:6px}.people-group-title-block>span{font-size:12px;color:#5c5f61}.people-group-title-line{display:flex;align-items:center;gap:9px}.people-group-title-line h3{margin:0;font-size:24px;color:#191c20}.people-nature-badge{padding:3px 7px;border-radius:3px;font-size:11px;font-weight:600}.people-nature-badge.work{background:#e8f3ed;color:#377d58}.people-nature-badge.manage{background:#e9eef8;color:#3d5f91}.people-header-actions{display:flex;gap:8px}.people-list-toolbar{display:flex;justify-content:flex-end;padding:14px 0 10px}.people-list-toolbar .people-search{min-width:280px}.people-contact{display:grid;gap:4px;padding-left:10px}.people-contact span,.people-contact small{font-size:12px;color:#5c5f61}.people-group-row{min-height:52px}.people-architecture-footer{margin-top:10px}.people-editor-shell .people-selected-group{margin-top:20px}
@media(max-width:1180px){.people-list-head-row,.people-person-row{grid-template-columns:minmax(190px,1.2fr) minmax(150px,1fr) 120px 80px 90px}}
@media(max-width:820px){.people-selected-group-head{display:grid;gap:14px;align-items:start}.people-header-actions{width:100%}.people-header-actions .btn{flex:1}.people-list-toolbar{justify-content:stretch}.people-list-toolbar .people-search{min-width:0;width:100%}.people-list-head-row,.people-person-row{grid-template-columns:minmax(180px,1fr) 90px 70px}.people-list-head-row span:nth-child(2),.people-person-row .people-contact,.people-list-head-row span:nth-child(3),.people-person-row .person-meta{display:none}}

/* People hierarchy: light selection, explicit leader/member sections, separate actions. */
.people-group-row.active{
  background:#e8edf7;
  color:#1a283a;
  border-left:3px solid #3778b8;
  padding-left:9px;
}
.people-group-row.active>span small{color:#64748b}
.people-sidebar-add{width:100%;background:#fff;border-color:#b9c0c9;color:#1a283a;text-align:left}
.people-sidebar-add:hover{background:#f0f3f8}
.people-section{margin-top:20px;border-top:1px solid #c4c6cd}
.people-section:first-of-type{margin-top:8px}
.people-section-head{display:flex;justify-content:space-between;align-items:end;padding:16px 0 10px}
.people-section-head h4{margin:0;color:#191c20;font-size:17px;font-weight:650}
.people-section-head span{display:block;margin-top:4px;color:#7d8188;font-size:12px}
.people-section-head>strong{color:#5c5f61;font-size:12px;font-weight:600}
.people-section .people-list-head-row{border-bottom:1px solid #d9dce2}
.people-section-members{margin-top:28px}
.people-empty-compact{padding:22px 0;text-align:left}
.people-person-row.is-group-leader{background:#fbfcfe}
.person-role-label{font-weight:600;color:#3d5f91!important}
.people-member-picker-shell{border-top:2px solid #1a283a}
.people-picker-head{display:flex;justify-content:space-between;gap:16px;align-items:end;padding:4px 0 14px;border-bottom:1px solid #c4c6cd}
.people-picker-head div{display:grid;gap:4px}
.people-picker-head strong{font-size:17px;color:#191c20}
.people-picker-head span{font-size:12px;color:#5c5f61}
.people-member-picker{display:grid}
.people-picker-row{display:grid;grid-template-columns:24px minmax(240px,1.3fr) 180px minmax(180px,1fr);gap:12px;align-items:center;padding:14px 2px;border-bottom:1px solid #e2e2e8;cursor:pointer}
.people-picker-row:hover{background:#f5f7fa}
.people-picker-row input{width:16px;height:16px;accent-color:#3778b8}
.people-picker-main{display:grid;gap:4px}
.people-picker-main strong{font-size:14px;color:#191c20}
.people-picker-main small,.people-picker-contact,.people-picker-groups{font-size:12px;color:#5c5f61}
.people-picker-groups{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:820px){
  .people-picker-head{display:grid;align-items:start}
  .people-picker-row{grid-template-columns:24px minmax(0,1fr);gap:8px}
  .people-picker-contact,.people-picker-groups{grid-column:2}
}
