.fe-form { display: grid; gap: 8px; }
.fe-form [hidden] { display: none !important; }
.fe-head { margin: 0; font-weight: 700; }
.fe-f { display: grid; gap: 4px; margin: 0; padding: 0; border: 0; min-width: 0; }
.fe-f > label, .fe-f > legend { font-size: 13px; font-weight: 600; padding: 0; }
.fe-f input[type="text"], .fe-f select, .fe-f textarea { box-sizing: border-box; width: 100%; min-height: 44px; }
.fe-mo { grid-template-columns: 1fr 96px; column-gap: 8px; }
.fe-mo > legend { grid-column: 1 / -1; margin-bottom: 4px; }
.fe-check label { display: flex; align-items: center; gap: 8px; min-height: 32px; font-size: 14px; font-weight: 600; }
.fe-check input { width: 18px; height: 18px; }
.fe-help { margin: 0; font-size: 13px; line-height: 18px; }
.fe-err { position: static !important; margin: 0; font-size: 13px; line-height: 18px; }
.fe-sum { margin: 0; font-size: 14px; }
.fe-prev { margin: 0; min-height: 20px; font-size: 13.5px; line-height: 19px; color: #1f2937; font-variant-numeric: tabular-nums; }
.fe-note { margin: 0; font-size: 13px; color: #4a5568; }
.fe-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.fe-acts .btn { flex: 0 0 auto; width: auto; min-height: 44px; margin: 0; padding-left: 18px; padding-right: 18px; }
.fe-box { margin: 8px 0; }
.fe-empty { margin: 0; font-size: 14px; color: #4a5568; }
.fe-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.fe-item { padding: 8px 10px; border: 1px solid #e2e8f0; border-radius: 8px; }
.fe-item-t { display: block; font-size: 14px; line-height: 20px; }
.fe-item-b { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 2px; }
.fe-item-b .jcp-link { min-height: 32px; }
.fe-warn { margin: 4px 0 0; font-size: 13px; line-height: 18px; color: #8a4b00; }
.fe-edit { margin: 8px 0; padding: 12px; border: 1px solid #cbd5e0; border-radius: 10px; }
.fe-add { display: flex; flex-wrap: wrap; gap: 8px; }
.fe-add .btn { flex: 0 0 auto; width: auto; min-height: 44px; margin: 0; }
.fe-bar { margin: 8px 0 0; font-size: 13.5px; line-height: 20px; }
.fe-invite { margin: 0; color: #4a5568; }
.fe-bar-l { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.fe-bar-h { font-weight: 700; }
.fe-chip { padding: 2px 0; border: 0; background: none; font: inherit; color: #0b4aa2; text-align: left; text-decoration: underline; cursor: pointer; }
.fe-bar-t { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 2px; }
.fe-bar-t .jcp-link { min-height: 32px; }
.fe-bar-t .jcp-link[disabled] { opacity: .45; cursor: default; }
.im-paths { margin: 0 0 10px; }
.im-paths-h { margin: 0 0 6px; font-size: 14px; font-weight: 700; }
.im-paths-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.im-path { display: grid; gap: 2px; padding: 8px 10px; border: 1px solid #cbd5e0; border-radius: 10px; background: #fff; font: inherit; font-size: 13.5px; line-height: 19px; text-align: left; color: #2d3748; cursor: pointer; font-variant-numeric: tabular-nums; }
.im-path.is-on { border: 2px solid #0b4aa2; padding: 7px 9px; background: #eef4fc; }
.im-path-t { font-weight: 700; color: #003c87; }
.im-path:focus-visible { outline: 2px solid #0b4aa2; outline-offset: 2px; }
.im-paths-f { margin: 6px 0 0; font-size: 13px; line-height: 18px; color: #4a5568; }
.im-plant { margin-top: 10px; }
.im-years { margin: 0 0 var(--sp-5, 24px); }
.im-years[hidden] { display: none; }
#im-ic { box-sizing: border-box; width: 100%; max-width: 360px; font: inherit; }
.im-ex { white-space: nowrap; font-variant-numeric: tabular-nums; }
.fe-save { display: flex; flex-wrap: wrap; gap: 8px; }
.fe-save input { flex: 1 1 200px; min-height: 44px; max-width: 320px; }
.fe-save .btn { flex: 0 0 auto; width: auto; min-height: 44px; margin: 0; }
.fe-save-msg { margin: 6px 0 0; min-height: 20px; font-size: 14px; }
.fe-saved { margin: 8px 0 0; padding-left: 18px; }
.fe-saved li { margin: 2px 0; }
.fe-saved-d { color: #4a5568; font-size: 13px; }
.fe-saved-box { margin: 0 0 var(--sp-5, 24px); }
@media (max-width: 479.98px) { .im-paths-row { grid-template-columns: 1fr; } }
body.dark-mode .fe-item, body.dark-mode .fe-edit { border-color: #374151; }
body.dark-mode .fe-prev { color: #e5e7eb; }
body.dark-mode .fe-f input[type="text"], body.dark-mode .fe-f select, body.dark-mode .fe-f textarea, body.dark-mode .fe-save input, body.dark-mode #im-ic { background: #111827; border-color: #4b5563; color: #e5e7eb; }
body.dark-mode .fe-note, body.dark-mode .fe-empty, body.dark-mode .fe-invite, body.dark-mode .im-paths-f, body.dark-mode .fe-saved-d { color: #cbd5e1; }
body.dark-mode .fe-chip { color: #93c5fd; }
body.dark-mode .fe-warn { color: #fbbf24; }
body.dark-mode .im-path { background: #1f2937; border-color: #4b5563; color: #e5e7eb; }
body.dark-mode .im-path.is-on { background: #1e3a5f; border-color: #93c5fd; }
body.dark-mode .im-path-t { color: #93c5fd; }
@media print { .fe-add, .fe-bar-t, .fe-item-b, .im-paths, .fe-edit { display: none !important; } }
