/* NovaGate console visual system; loaded after feature layouts. */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap");

:root { font-size:14px; font-synthesis:none; --teal:#158575; }
button,input,textarea,select { font-family:inherit; }
.shell { grid-template-columns:minmax(0,1fr); }
.brand-inline { gap:12px; margin-right:22px; }
.brand-title { gap:10px; height:28px; }
.brand-inline strong { font-family:inherit; font-size:18px; letter-spacing:-.4px; font-weight:600; line-height:1; }
.brand-sep { color:#c1ccd2; font-size:13px; }
.brand-inline small { font-size:13px; letter-spacing:.01em; color:#70818c; margin:0; line-height:1; }
.brand-inline .brand-mark i { background:#60c9b6; border-radius:1.5px; }
.topbar { height:64px; padding:0; background:#fff; backdrop-filter:none; }
.topbar-inner { max-width:1570px; padding:0 36px; align-items:center; }
.crumb { font-size:12px; gap:10px; line-height:1; height:28px; align-items:center; }
.crumb strong { font-weight:500; color:#405562; line-height:1; }
.top-actions { gap:12px; align-items:center; height:36px; }
.quiet-button,.icon-button { border-color:transparent; font-size:12px; height:36px; }
#settingsButton { height:36px; border-radius:6px; font-size:12px; line-height:1; }
#settingsButton.active { border-color:var(--teal); color:var(--teal); background:#e8f5f1; }
.content { padding:28px 36px 32px; max-width:1570px; }
.site-footer-inner { max-width:1570px; padding:16px 36px 28px; font-size:12px; color:#8194a3; }
.page-head { margin-bottom:24px; align-items:center; }
.page-head .kicker { display:none; }
h1 { font-family:inherit; font-size:27px; font-weight:600; letter-spacing:-.7px; }
.page-head p { font-size:13px; line-height:1.7; margin-top:9px; }
.page-title-icon { background:#e8f5f1; color:var(--teal); border:0; border-radius:9px; box-shadow:none; }
.head-actions { flex-shrink:0; flex-wrap:wrap; }
.primary,.secondary { height:36px; border-radius:6px; font-size:12px; white-space:nowrap; }
.primary { background:var(--teal); border-color:var(--teal); }
.primary:hover { background:#116f62; border-color:#116f62; }
.secondary { color:#405562; border-color:#dfe6ea; }
.secondary:hover { background:#f6f8fa; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #4bb4a5; outline-offset:3px; }
input,select,textarea { accent-color:var(--teal); }
.panel,.scenario-card,.policy-card,.project-portfolio-card,.governance-launchpad a,.settings-grid a { border-radius:9px; box-shadow:none; }
.panel-head { min-height:57px; padding-inline:20px; }
.panel-head h2 { font-size:15px; font-weight:600; }
.panel-body { padding:20px; }
.project-portfolio { gap:18px; }
.project-portfolio-card { padding:22px; }
.project-portfolio-card:hover { transform:none; border-color:#8bc4b8; box-shadow:0 3px 12px #142b3c06; }
.project-portfolio-card h2 { font-size:17px; font-weight:600; }
.project-portfolio-card header small { font-family:inherit; font-size:11px; overflow-wrap:anywhere; }
.project-monogram,.scene-mark { flex-shrink:0; background:#e8f5f1; color:var(--teal); border:0; border-radius:8px; font-family:inherit; }
.project-scoreline { gap:8px; }
.project-scoreline strong { font-family:inherit; font-size:22px; font-weight:500; letter-spacing:-.6px; }
.project-portfolio-card footer { flex-wrap:wrap; gap:8px 14px; line-height:1.6; }
.project-portfolio-card footer b { color:var(--teal); white-space:nowrap; }
.portfolio-summary { background:transparent; border:0; box-shadow:none; gap:18px; }
.portfolio-summary > div { background:#fff; border:1px solid var(--line); border-radius:8px; padding:21px 23px; }
.portfolio-summary span { color:#70818c; letter-spacing:0; }
.portfolio-summary strong { color:#223d4c; font:500 32px/1.3 "DM Sans","PingFang SC",sans-serif; letter-spacing:-.7px; }
.portfolio-summary small { color:#70818c; font-size:11px; }
.portfolio-summary aside { background:#e8f5f1; border:1px solid #d7ece6; border-radius:8px; }
.portfolio-summary aside b { color:#237667; font-size:13px; }
.portfolio-summary aside p { color:#527b72; font-size:12px; }
.metric-strip,.project-kpis,.project-knowledge-summary { border:0; box-shadow:none; background:transparent; gap:16px; }
.metric-strip .metric,.project-kpis .metric,.project-knowledge-summary .metric { background:#fff; border:1px solid var(--line); border-radius:8px; }
.metric strong,.risk-board strong,.generation-ribbon strong,.rule-summary strong { font-family:inherit; font-weight:500; }
.project-tabs a.active { color:var(--teal); }
.project-tabs { overflow-x:auto; }
.governance-launchpad a:hover,.settings-grid a:hover { border-color:#8bc4b8; box-shadow:none; }
.settings-grid a { padding-bottom:48px; }
.settings-grid h2,.governance-launchpad h2 { font-size:15px; font-weight:600; }
.knowledge-flow,.generation-ribbon,.dlp-overview,.risk-board,.rule-summary,.report-ledger,.scenario-banner { border-radius:9px; border-top-width:1px; box-shadow:none; }
.knowledge-flow h2,.scenario-banner h2,.drawer-head h2,.step-intro strong { font-family:inherit; }
.knowledge-flow h2,.scenario-banner h2 { font-size:20px; }
.knowledge-scenes { border-radius:8px; }
.knowledge-scenes button { border-radius:6px; }
.knowledge-scenes button.active { background:#257e733d; color:#93e4d1; }
.knowledge-route span { border-radius:5px; background:#e8f5f1; color:#237667; }
.upload-note p { color:#527b72; }
.modal { border-radius:12px; max-height:calc(100dvh - 40px); overflow:auto; }
.modal-head h2 { font-size:18px; font-weight:600; }
.modal-head,.modal-foot { padding:18px 22px; }
.modal-foot { background:#f8fafb; }
.toast { border-radius:8px; border-left-color:#60c9b6; }
.pill { border-radius:5px; }
th { background:#f8fafb; }
@media (max-width:1100px) {
  .grid-even { grid-template-columns:minmax(0,1fr); }
}
@media (min-width:801px) and (max-width:1000px) {
  .project-portfolio { grid-template-columns:1fr; }
  .topbar-inner,.content,.site-footer-inner { padding-left:24px; padding-right:24px; }
}
@media (max-width:800px) {
  .topbar-inner { padding:0 16px; gap:8px; }
  .brand-sep,.brand-inline small { display:none; }
  .crumb span,.crumb b { display:none; }
  .quiet-button { display:none; }
  .content { padding:24px 16px; }
  .site-footer-inner { padding:14px 16px 22px; }
  .page-head { align-items:flex-start; }
  .top-actions { gap:6px; }
  .portfolio-summary { gap:12px; }
  .portfolio-summary > div { padding:18px; }
  .metric-strip .metric,.project-kpis .metric,.project-knowledge-summary .metric { border:1px solid var(--line); }
}
@media (max-width:480px) {
  h1 { font-size:24px; }
  .project-portfolio-card { padding:18px; }
  .project-portfolio-card h2 { font-size:16px; }
  .head-actions { width:100%; }
}
