.officer-page .subpage-title p{
  margin:12px 0 0;
  max-width:940px;
  color:#667180;
  font-weight:650;
  line-height:1.65;
}
.officer-shell{
  display:grid;
  gap:18px;
}
.officer-kpi-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.officer-kpi-row article,
.officer-panel{
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.officer-kpi-row article{
  padding:16px 18px;
}
.officer-kpi-row small,
.officer-panel-head small{
  display:block;
  color:#006bea;
  font-size:12px;
  font-weight:950;
  letter-spacing:.3px;
  text-transform:uppercase;
}
.officer-kpi-row strong{
  display:block;
  margin-top:5px;
  color:#07182d;
  font-size:30px;
  line-height:1;
}
.officer-kpi-row span{
  display:block;
  margin-top:7px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.officer-layout{
  display:grid;
  grid-template-columns:minmax(460px,.95fr) minmax(460px,1.05fr);
  gap:16px;
  align-items:start;
}
.officer-panel{
  min-width:0;
  padding:18px;
}
.officer-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.officer-panel-head h3{
  margin:4px 0 0;
  color:#111827;
  font-size:20px;
  line-height:1.25;
}
.officer-panel-head>span{
  display:inline-flex;
  align-items:center;
  height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#eef6ff;
  color:#1d4ed8;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.meeting-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.meeting-form-grid label{
  display:grid;
  gap:6px;
  min-width:0;
  color:#334155;
  font-size:12px;
  font-weight:950;
}
.meeting-form-grid input,
.meeting-form-grid select,
.meeting-form-grid textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d7dee8;
  border-radius:12px;
  background:#fff;
  color:#111827;
  font:inherit;
  font-size:14px;
  font-weight:750;
  outline:none;
}
.meeting-form-grid input,
.meeting-form-grid select{
  height:42px;
  padding:0 12px;
}
.meeting-form-grid textarea{
  min-height:142px;
  padding:12px;
  resize:vertical;
  line-height:1.55;
}
.meeting-form-grid input:focus,
.meeting-form-grid select:focus,
.meeting-form-grid textarea:focus{
  border-color:#006bea;
  box-shadow:0 0 0 3px rgba(0,107,234,.12);
}
.meeting-file-label,
.meeting-full{
  grid-column:1/-1;
}
.meeting-file-label small{
  color:#64748b;
  font-weight:750;
  line-height:1.45;
}
.meeting-actions,
.meeting-mini-actions,
.officer-filters{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.meeting-actions{
  justify-content:flex-end;
  margin-top:14px;
}
.meeting-status{
  margin-top:12px;
  min-height:20px;
  color:#64748b;
  font-size:13px;
  font-weight:850;
  line-height:1.45;
}
.meeting-progress{
  margin-top:12px;
  padding:12px;
  border:1px solid #dbeafe;
  border-radius:14px;
  background:#f8fbff;
}
.meeting-progress[hidden]{
  display:none;
}
.meeting-progress div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.meeting-progress strong{
  color:#006bea;
  white-space:nowrap;
}
.meeting-progress progress{
  width:100%;
  height:10px;
  overflow:hidden;
  border:0;
  border-radius:999px;
  background:#e2e8f0;
}
.meeting-progress progress::-webkit-progress-bar{
  background:#e2e8f0;
  border-radius:999px;
}
.meeting-progress progress::-webkit-progress-value{
  background:linear-gradient(90deg,#006bea,#10b981);
  border-radius:999px;
}
.meeting-progress progress::-moz-progress-bar{
  background:linear-gradient(90deg,#006bea,#10b981);
  border-radius:999px;
}
.meeting-status.ok{color:#047857}
.meeting-status.err{color:#b91c1c}
.meeting-status.warn{color:#b45309}
.meeting-mini-actions button,
.officer-filters button{
  height:32px;
  border:1px solid #dbe4f0;
  border-radius:999px;
  padding:0 11px;
  background:#f8fafc;
  color:#334155;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
}
.meeting-mini-actions button:hover,
.officer-filters button:hover,
.officer-filters button.active{
  background:#07182d;
  border-color:#07182d;
  color:#fff;
}
.meeting-result{
  min-height:410px;
}
.meeting-empty{
  display:grid;
  align-content:center;
  gap:8px;
  min-height:330px;
  border:1px dashed #cbd5e1;
  border-radius:14px;
  background:#f8fafc;
  padding:22px;
  text-align:center;
}
.meeting-empty strong{
  color:#111827;
  font-size:19px;
}
.meeting-empty p{
  margin:0;
  color:#64748b;
  font-weight:750;
  line-height:1.55;
}
.meeting-summary-grid{
  display:grid;
  gap:12px;
}
.meeting-summary-card{
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#f8fafc;
  padding:14px;
}
.meeting-summary-card h4{
  margin:0 0 8px;
  color:#111827;
  font-size:15px;
}
.meeting-summary-card p,
.meeting-summary-card li{
  color:#475569;
  font-size:13px;
  font-weight:750;
  line-height:1.6;
}
.meeting-summary-card pre{
  max-height:360px;
  overflow:auto;
  margin:0;
  color:#334155;
  white-space:pre-wrap;
  word-break:keep-all;
  font-family:inherit;
  font-size:13px;
  font-weight:750;
  line-height:1.65;
}
.meeting-transcript-card pre{
  max-height:520px;
}
.meeting-summary-card ul{
  margin:0;
  padding-left:18px;
}
.meeting-archive-list{
  display:grid;
  gap:10px;
}
.meeting-archive-empty{
  min-height:150px;
}
.meeting-archive-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#f8fafc;
  padding:12px;
}
.meeting-archive-item strong{
  display:block;
  color:#111827;
  font-size:14px;
  line-height:1.35;
}
.meeting-archive-item p{
  margin:4px 0 0;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  line-height:1.45;
}
.meeting-archive-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
}
.meeting-archive-actions button{
  height:31px;
  border:1px solid #dbe4f0;
  border-radius:999px;
  padding:0 10px;
  background:#fff;
  color:#334155;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
}
.meeting-archive-actions button:hover{
  background:#07182d;
  border-color:#07182d;
  color:#fff;
}
.meeting-archive-actions button.danger{
  border-color:#fecaca;
  background:#fff5f5;
  color:#b91c1c;
}
.meeting-archive-actions button.danger:hover{
  background:#b91c1c;
  border-color:#b91c1c;
  color:#fff;
}
.meeting-meta-line{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:4px;
}
.meeting-meta-line span,
.meeting-action-chip{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  border-radius:999px;
  background:#eef6ff;
  color:#1d4ed8;
  padding:0 10px;
  font-size:12px;
  font-weight:900;
}
.meeting-action-list{
  display:grid;
  gap:8px;
}
.meeting-action-row{
  display:grid;
  grid-template-columns:minmax(130px,.45fr) minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fff;
}
.meeting-action-row strong{
  color:#0f172a;
  font-size:13px;
}
.meeting-action-row span{
  color:#475569;
  font-size:13px;
  font-weight:750;
  line-height:1.45;
}
.officer-dashboard-panel{
  padding-bottom:20px;
}
.officer-home-strip{
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:#fff;
  padding:18px;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.officer-home-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.officer-home-role{
  display:grid;
  gap:7px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#f8fafc;
  padding:12px;
}
.officer-home-role strong{
  color:#0f172a;
  font-size:14px;
}
.officer-home-role small{
  display:block;
  margin-top:2px;
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.officer-home-role p{
  margin:0;
  color:#334155;
  font-size:12px;
  font-weight:750;
  line-height:1.45;
}
.officer-home-role a{
  justify-self:start;
  color:#006bea;
  font-size:12px;
  font-weight:950;
  text-decoration:none;
}
.officer-board{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.officer-card{
  display:grid;
  gap:10px;
  align-content:start;
  min-height:190px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#f8fafc;
  padding:14px;
}
.officer-card-head{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start;
}
.officer-card-head strong{
  color:#0f172a;
  font-size:15px;
  line-height:1.25;
}
.officer-card-head small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.officer-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  border-radius:999px;
  background:#07182d;
  color:#fff;
  font-size:12px;
  font-weight:950;
}
.officer-task-list{
  display:grid;
  gap:8px;
}
.officer-task{
  display:grid;
  gap:7px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fff;
  padding:10px;
}
.officer-task-title{
  color:#111827;
  font-size:13px;
  font-weight:900;
  line-height:1.45;
}
.officer-task-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.officer-task-meta span{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  border-radius:999px;
  background:#f1f5f9;
  color:#475569;
  padding:0 8px;
  font-size:11px;
  font-weight:850;
}
.officer-task-meta .urgent{background:#fef2f2;color:#b91c1c}
.officer-task-actions{
  display:flex;
  justify-content:flex-end;
}
.officer-task-actions button{
  border:0;
  border-radius:999px;
  background:#e2e8f0;
  color:#334155;
  padding:6px 9px;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.officer-readonly-chip{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  padding:0 9px;
  font-size:11px;
  font-weight:900;
}
.officer-task.done .officer-task-title{
  color:#94a3b8;
  text-decoration:line-through;
}
.officer-empty-small{
  color:#94a3b8;
  font-size:13px;
  font-weight:750;
  line-height:1.5;
}
html.theme-dark .officer-page .subpage-title p,
html.theme-dark .officer-kpi-row span,
html.theme-dark .meeting-status,
html.theme-dark .meeting-summary-card p,
html.theme-dark .meeting-summary-card li,
html.theme-dark .meeting-summary-card pre,
html.theme-dark .meeting-archive-item p,
html.theme-dark .officer-card-head small,
html.theme-dark .officer-task-meta span,
html.theme-dark .officer-readonly-chip,
html.theme-dark .officer-home-role small,
html.theme-dark .officer-home-role p,
html.theme-dark .meeting-empty p{
  color:var(--dark-sub)!important;
}
html.theme-dark .officer-kpi-row article,
html.theme-dark .officer-panel,
html.theme-dark .officer-home-strip,
html.theme-dark .meeting-progress,
html.theme-dark .meeting-action-row,
html.theme-dark .officer-task{
  color:var(--dark-text)!important;
  background:rgba(16,29,50,.96)!important;
  border-color:var(--dark-line)!important;
}
html.theme-dark .meeting-progress div{
  color:#cbd5e1;
}
html.theme-dark .meeting-progress progress,
html.theme-dark .meeting-progress progress::-webkit-progress-bar{
  background:#1f2937;
}
html.theme-dark .meeting-summary-card,
html.theme-dark .meeting-archive-item,
html.theme-dark .officer-card,
html.theme-dark .officer-home-role,
html.theme-dark .meeting-empty{
  background:rgba(10,20,37,.94)!important;
  border-color:var(--dark-line)!important;
}
html.theme-dark .officer-kpi-row strong,
html.theme-dark .officer-panel-head h3,
html.theme-dark .meeting-empty strong,
html.theme-dark .meeting-summary-card h4,
html.theme-dark .meeting-archive-item strong,
html.theme-dark .meeting-action-row strong,
html.theme-dark .officer-card-head strong,
html.theme-dark .officer-home-role strong,
html.theme-dark .officer-task-title{
  color:#f4f8ff!important;
}
html.theme-dark .meeting-form-grid input,
html.theme-dark .meeting-form-grid select,
html.theme-dark .meeting-form-grid textarea{
  color:var(--dark-text)!important;
  background:rgba(6,14,28,.96)!important;
  border-color:var(--dark-line)!important;
}
@media(max-width:1100px){
  .officer-layout,
  .officer-board,
  .officer-home-list,
  .officer-kpi-row{
    grid-template-columns:1fr;
  }
}
@media (min-width:1100px) and (max-width:1380px){
  #officerPage.active .officer-shell{
    padding-right:170px!important;
  }
  #officerPage.active .officer-layout{
    grid-template-columns:minmax(420px,.95fr) minmax(360px,1.05fr);
  }
  #officerPage.active .officer-board{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .meeting-archive-item{
    grid-template-columns:1fr;
  }
  .meeting-archive-actions{
    justify-content:flex-start;
  }
  .officer-panel{
    padding:14px;
    border-radius:16px;
  }
  .meeting-form-grid,
  .meeting-action-row{
    grid-template-columns:1fr;
  }
  .officer-panel-head{
    display:grid;
  }
}
