/* Consistent line icons support labels, hierarchy and real workflow states. */
.ui-icon{display:inline-block;width:1.4em;height:1.4em;flex-shrink:0;vertical-align:middle}
.icon-heading{display:flex;align-items:flex-start;gap:.75rem;min-width:0;margin-bottom:.7rem}
.icon-heading>.ui-icon{width:1.6rem;height:1.6rem;margin-top:.2rem;color:var(--link)}
.icon-heading>h1,.icon-heading>h2,.icon-heading>h3{margin-bottom:0;min-width:0}
.icon-heading>span{min-width:0}
.icon-label{display:inline-flex;align-items:center;gap:.5rem;min-width:0;vertical-align:middle}
.icon-label>.ui-icon{width:1.25em;height:1.25em}
.visual-stage-mark{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0;color:var(--link)}
.visual-stage-mark>.ui-icon{width:1.5rem;height:1.5rem}
.visual-empty{display:block;border:1px dashed var(--control-line);border-radius:12px;padding:1.5rem;background:var(--surface);color:var(--muted)}
.visual-empty>.ui-icon{display:block;width:2rem;height:2rem;color:var(--muted);margin-bottom:.75rem}
.visual-empty h2,.visual-empty h3{color:var(--text)}
.visual-info-strip{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;background:var(--raised);border:1px solid var(--line);border-radius:10px;margin:1.25rem 0;min-width:0}
.visual-info-strip>.ui-icon{color:var(--link);margin-top:.15rem}
.visual-info-strip>div{min-width:0}
.visual-info-strip p:last-child{margin-bottom:0}
.visual-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;gap:1rem;margin:1.5rem 0}
.visual-flow>li{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);min-width:0}
.visual-flow>li>div{min-width:0}
.visual-flow strong{display:block;color:var(--text)}
.visual-flow p{font-size:.95rem;line-height:1.75;color:var(--muted);margin:.4rem 0 0}
.system-message{display:flex;align-items:flex-start;gap:.65rem}
.system-message>.ui-icon{margin-top:.1rem}
.system-message>span{min-width:0}
.staff-nav .icon-label{gap:.4rem}
.staff-nav a,.activity-tabs a{display:inline-flex;align-items:center;gap:.55rem}
.contact-methods a{gap:.45rem;min-width:0}
.application-section legend>.ui-icon{margin-inline-end:.5rem}
.outcome-document-icon>.ui-icon{width:64px;height:64px}
.project-route strong.icon-label,.benefit-route strong.icon-label,.learning-inputs strong.icon-label,.journey-list strong.icon-label{display:flex}
.fact-symbol{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--raised);color:var(--link);margin-bottom:1rem}
.fact-symbol>.ui-icon{width:24px;height:24px}
@media(max-width:700px){.visual-flow{grid-template-columns:1fr}.icon-heading{gap:.6rem}.visual-info-strip{padding:.85rem}}
@media(max-width:480px){.outcome-document-icon>.ui-icon{width:36px;height:36px}}
@media print{.icon-heading>.ui-icon,.visual-stage-mark>.ui-icon,.visual-empty>.ui-icon{display:none}}
