/* Windows 98 silver/navy accents; typography inherits the host theme. */
.penny-dividend { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; margin: 1.5rem 0; padding: 1rem; background: #c0c0c0; color: #171717; border: 2px outset #eee; font: inherit; line-height: 1.5; overflow-wrap: anywhere; }
.penny-dividend *, .penny-dividend *::before, .penny-dividend *::after { box-sizing: border-box; }
.penny-dividend [hidden] { display: none !important; }
.penny-dividend h2 { background: #000080; color: #fff; margin: 0 0 1rem; padding: .4rem .6rem; font-size: 1.3em; line-height: 1.3; }
.penny-dividend h3 { font-size: 1.1em; margin: .3rem 0 1rem; }
.penny-dividend p { margin: .6rem 0; }
.penny-dividend fieldset { min-width: 0; margin: 1rem 0; padding: .75rem; border: 2px groove #eee; }
.penny-dividend legend { float: none; width: auto; max-width: 100%; padding: 0 .3rem; font-size: 1em; }
.penny-dividend .penny-dividend__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.penny-dividend .penny-dividend__field { min-width: 0; }
.penny-dividend label { display: block; font-weight: bold; margin-bottom: .3rem; }
.penny-dividend input, .penny-dividend select { width: 100%; min-width: 0; max-width: 100%; min-height: 44px; padding: .5rem; background: #fff; color: #111; border: 2px inset #ddd; border-radius: 0; font: inherit; }
.penny-dividend small { display: block; font-size: .88em; margin-top: .25rem; }
.penny-dividend button { min-height: 44px; max-width: 100%; padding: .5rem .7rem; background: #c0c0c0; color: #111; border: 2px outset #eee; border-radius: 0; font: inherit; white-space: normal; cursor: pointer; }
.penny-dividend button:active:not(:disabled) { border-style: inset; }
.penny-dividend fieldset:disabled button { cursor: not-allowed; color: #555; }
.penny-dividend .penny-dividend__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.penny-dividend :focus-visible { outline: 3px solid #000080; outline-offset: 2px; }
.penny-dividend [aria-invalid="true"] { border: 2px solid #a00000; }
.penny-dividend .penny-dividend__error { display: block; color: #870000; font-weight: bold; }
.penny-dividend .penny-dividend__error:empty { display: none; }
.penny-dividend .penny-dividend__result { min-width: 0; padding: .8rem; border: 2px inset #eee; background: #fff; }
.penny-dividend dl { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: .4rem .8rem; margin: 0; }
.penny-dividend dt { font-weight: normal; }
.penny-dividend dd { margin: 0; text-align: right; font-weight: bold; }
.penny-dividend .penny-dividend__table-scroll { max-width: 100%; overflow-x: auto; margin: 1rem 0; border: 1px solid #777; }
.penny-dividend table { width: 100%; min-width: 550px; margin: 0; border-collapse: collapse; font: inherit; color: #111; background: #fff; }
.penny-dividend caption { text-align: left; font-weight: bold; padding: .5rem; }
.penny-dividend th, .penny-dividend td { padding: .5rem; border: 1px solid #999; text-align: right; }
.penny-dividend thead th { background: #000080; color: #fff; }
.penny-dividend tbody th { background: #eee; }
.penny-dividend .penny-dividend__assumptions { margin-top: 1rem; }
.penny-dividend summary { cursor: pointer; min-height: 44px; font-weight: bold; }
.penny-dividend ul { padding-left: 1.4rem; }
@media (max-width: 600px) {
  .penny-dividend { padding: .6rem; }
  .penny-dividend fieldset { padding: .5rem; }
  .penny-dividend .penny-dividend__fields { grid-template-columns: minmax(0, 1fr); }
  .penny-dividend dl { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
  .penny-dividend dd { text-align: left; margin-bottom: .6rem; }
}
